Citat:
Ursprungligen postat av
Ola Schubert
Tack för den intressanta länken! Men jag skulle vilja ta upp en annan aspekt av AI-utvecklingen:
LLM-Transformers modellerna har, redan idag, en, Iof flyktig och begränsad, Meta-kognetion. Mycket troligt har detta uppnåtts genom uppmärksamhetshuvuden finns både i början och slutet av nätverket. Så att modellerna kan granska sin out-put, innan, den skickas till användare. Om det behövs justeringar så skickas svaret tillbaka in i nätverket för ombearbetning. Detta är, förstås, inte tillräckligt för att åstadkomma meta-kognetion på mänsklig nivå, men ett steg på vägen i väntan på t. ex SNN lösningar, (Spiking Neural Network). För tillfället bör vi inte underskatta de förbättringar som kan göras med nuvarande teknik, inklusive optimering av uppmärksamhetsmekanismer och utveckling av bättre minnesfunktioner. Även fast ren uppskalning, med dagens teknik, är för tok för ineffektiv i längden.
Nej det kan de inte, var får du allt ifrån?
uppmärksamhetshuvuden eller attention-heads som du pratar om gör enbart en sak och det är att vikta token mot varandra, dvs det är vad som får arkitekturen att förstå kontext. det finns ingen "cirkulation av data" överhuvudtaget i en transformer allt är feed forward.
Och var ifrån har du fått att det finns attention heads i början och slutet på "nätverket"... En attention head är ett nätverk i sig, ett litet och det sitter i "början" på en transformer, sedan skickas det in i ett större feedforward nätverk. Detta är ett lager, en modell består av flera lager så varje lager ser ut så men lager kommunicerar inte sins emellan överhuvudtaget (jag menar alltså ett senare lager kommunicerar inte med tidigare lager, däremot får lager 2 resultatet av lager 1s output, det är helt sekventiellt) utan det är "viskningsleken" precis som att du skulle höra någonting sedan viska det till en annan person, som i sin tur viskar vidare. Dvs det finns ingen cirkulation av data från ett "senare" lager till något tidigare någonstans i modellen annat än att varje output skickas in i nätverket efter det presenterats till användaren. Själva valet av "token" sker sist i nätverket och innan dess är det bara embedding vektorer som skickas mellan lagren.
Alltså för att försöka beskriva hela processen så tydligt det går.
Är att skriver du frågan (nu exkluderar jag helt systempromptar osv som du inte ser, men som skickas dolt till modellen)
Ola: "Vem är du?"
Nätverket får in "Vem är du?" och första token som kommer ut är "Jag"
Sedan skickas "Vem är du? Jag" och nästa iteration kommer "är" ut,
"Vem är du? Jag är" nästa token blir "ChatGPT".
Det är inget som är dolt för dig som användare överhuvudtaget, utan det är precis vad du ser och anledningen till att ChatGPT skriver "ord för ord".
Det du inte ser är att det är en stor mängd dold text som berättar massa saker för modellen hur den ska bete sig, vad dagens datum är, vilken knowledge cutoff den har, hur den ska använda externa verktyg och när den ska använda detta osv.