Zephyrnet-logotyp

Hur "Grok" maskiner data? | Quanta Magazine

Datum:

Beskrivning

Trots all sin briljans förblir artificiella neurala nätverk lika outgrundliga som någonsin. När dessa nätverk blir större exploderar deras förmågor, men att dechiffrera deras inre funktioner har alltid varit nästan omöjligt. Forskare letar ständigt efter alla insikter de kan hitta i dessa modeller.

För några år sedan upptäckte de en ny.

I januari 2022, forskare vid OpenAI, företaget bakom ChatGPT, rapporterade att dessa system, när de av misstag fick mumsa på data mycket längre än vanligt, utvecklade unika sätt att lösa problem. Vanligtvis när ingenjörer bygger maskininlärningsmodeller av neurala nätverk - sammansatta av beräkningsenheter som kallas artificiella neuroner - tenderar de att stoppa träningen vid en viss punkt, kallad överanpassningsregimen. Det är då nätverket i princip börjar memorera sina träningsdata och ofta inte generaliserar till ny, osynlig information. Men när OpenAI-teamet av misstag tränade ett litet nätverk långt bortom denna punkt, verkade det utveckla en förståelse för problemet som gick utöver att bara memorera - det kunde plötsligt överträffa alla testdata.

Forskarna kallade fenomenet "grokking", en term som myntats av science fiction-författaren Robert A. Heinlein för att betyda att förstå något "så grundligt att betraktaren blir en del av processen som observeras." Det övertränade neurala nätverket, designat för att utföra vissa matematiska operationer, hade lärt sig talens allmänna struktur och internaliserat resultatet. Det hade grucklat och blivit lösningen.

"Detta [var] väldigt spännande och tankeväckande," sa Mikhail Belkin från University of California, San Diego, som studerar de teoretiska och empiriska egenskaperna hos neurala nätverk. "Det ledde till mycket uppföljningsarbete."

Faktum är att andra har replikerat resultaten och till och med omvänt dem. De senaste artiklarna klargjorde inte bara vad dessa neurala nätverk gör när de grokar utan gav också en ny lins för att undersöka deras inre. "Grokking-inställningen är som en bra modellorganism för att förstå många olika aspekter av djupinlärning," sa Erik Michaud från Massachusetts Institute of Technology.

Att titta in i denna organism är ibland ganska avslöjande. "Du kan inte bara hitta vacker struktur, utan den vackra strukturen är viktig för att förstå vad som händer internt," sa Neel Nanda, nu på Google DeepMind i London.

Utöver gränserna

I grund och botten verkar jobbet med en maskininlärningsmodell enkel: Förvandla en given input till en önskad output. Det är inlärningsalgoritmens uppgift att leta efter den bästa möjliga funktionen som kan göra det. Varje given modell kan bara komma åt en begränsad uppsättning funktioner, och den uppsättningen dikteras ofta av antalet parametrar i modellen, vilket i fallet med neurala nätverk är ungefär lika med antalet kopplingar mellan artificiella neuroner.

Beskrivning

När ett nätverk tränar tenderar det att lära sig mer komplexa funktioner, och diskrepansen mellan den förväntade uteffekten och den faktiska börjar falla för träningsdata. Ännu bättre, denna avvikelse, känd som förlust, börjar också minska för testdata, vilket är ny data som inte används i träning. Men någon gång börjar modellen överanpassas, och medan förlusten på träningsdata fortsätter att sjunka, börjar testdatans förlust att öka. Så, vanligtvis, det är då forskare slutar träna nätverket.

Det var den rådande visdomen när teamet på OpenAI började utforska hur ett neuralt nätverk kunde göra matematik. De använde en liten transformator — en nätverksarkitektur som nyligen revolutionerat stora språkmodeller — för att göra olika typer av modulära aritmetik, där du arbetar med en begränsad uppsättning nummer som loopar tillbaka på sig själva. Modulo 12, till exempel, kan göras på en urtavla: 11 + 2 = 1. Teamet visade nätverksexemplen på att lägga till två siffror, a och b, för att producera en utgång, c, i modulo 97 (motsvarande en urtavla med 97 siffror). De testade sedan transformatorn på osynliga kombinationer av a och b för att se om det kunde förutsäga korrekt c.

Som väntat, när nätverket gick in i överanpassningsregimen, kom förlusten på träningsdata nära noll (det hade börjat memorera vad det hade sett), och förlusten på testdata började klättra. Det var inte generaliserande. "Och så en dag hade vi tur," sa teamledaren Alethea Power, talar i september 2022 på en konferens i San Francisco. "Och med tur menar jag glömsk."

Teammedlemmen som tränade nätverket åkte på semester och glömde att stoppa träningen. När den här versionen av nätverket fortsatte att träna blev det plötsligt korrekt på osynliga data. Automatisk testning avslöjade denna oväntade noggrannhet för resten av teamet, och de insåg snart att nätverket hade hittat smarta sätt att ordna siffrorna a och b. Internt representerar nätverket siffrorna i något högdimensionellt utrymme, men när forskarna projicerade dessa siffror ner till 2D-rymden och kartlade dem bildade talen en cirkel.

Detta var häpnadsväckande. Teamet berättade aldrig för modellen att den gjorde modulo 97-matematik, eller ens vad modulo betydde - de visade bara exempel på aritmetik. Modellen verkade ha snubblat över någon djupare, analytisk lösning - en ekvation som generaliserade till alla kombinationer av a och b, även bortom träningsdata. Nätverket hade krånglat och noggrannheten på testdata sköt upp till 100 %. "Det här är konstigt," sa Power till sin publik.

Teamet verifierade resultaten med hjälp av olika uppgifter och olika nätverk. Upptäckten höll i sig.

Av klockor och pizzor

Men vilken ekvation hade nätverket hittat? Det stod inget i OpenAI-tidningen, men resultatet fångade Nandas uppmärksamhet. "Ett av kärnmysterierna och de irriterande sakerna med neurala nätverk är att de är väldigt bra på vad de gör, men att vi som standard inte har någon aning om hur de fungerar", säger Nanda, vars arbete fokuserar på omvänd konstruktion av en utbildad nätverk för att ta reda på vilka algoritmer den lärde sig.

Nanda var fascinerad av OpenAI-upptäckten, och han bestämde sig för att plocka isär ett neuralt nätverk som hade grucklat. Han designade en ännu enklare version av det neurala nätverket OpenAI så att han noggrant kunde undersöka modellens parametrar när den lärde sig att göra modulär aritmetik. Han såg samma beteende: överanpassning som gav vika för generalisering och en abrupt förbättring av testnoggrannheten. Hans nätverk arrangerade också nummer i en cirkel. Det tog lite ansträngning, men Nanda förstod så småningom varför.

Medan det representerade siffrorna på en cirkel, räknade nätverket inte bara bort siffror som en dagis som tittade på en klocka: det gjorde några sofistikerade matematiska manipulationer. Genom att studera värdena för nätverkets parametrar, Nanda och kollegor avslöjade att det var att lägga till klocktalen genom att utföra "diskreta Fourier-transformationer" på dem - transformera talen med trigonometriska funktioner som sinus och cosinus och sedan manipulera dessa värden med trigonometriska identiteter för att komma fram till lösningen. Åtminstone var detta vad hans speciella nätverk gjorde.

När ett team på MIT följde upp på Nandas arbete visade de att de grokkinga neurala nätverken inte alltid upptäcker denna "klock"-algoritm. Ibland hittar nätverken istället vad forskarna kallar "pizza"-algoritmen. Detta tillvägagångssätt föreställer sig en pizza delad i skivor och numrerad i ordning. För att lägga till två siffror, föreställ dig att du ritar pilar från mitten av pizzan till siffrorna i fråga, och beräknar sedan linjen som halverar vinkeln som bildas av de två första pilarna. Denna linje går genom mitten av någon skiva av pizzan: Skivans nummer är summan av de två talen. Dessa operationer kan också skrivas ner i termer av trigonometriska och algebraiska manipulationer av sinus och cosinus för a och b, och de är teoretiskt lika exakta som klockan närmar sig.

Beskrivning

"Både [klockan] och pizzaalgoritmer har denna cirkulära representation," sa Ziming Liu, en medlem av MIT-teamet. "Men ... hur de utnyttjar dessa sinus och cosinus är olika. Det är därför vi kallar dem olika algoritmer.”

Och det var fortfarande inte allt. Efter att ha tränat många nätverk för att göra modulo-matte, upptäckte Liu och kollegor att cirka 40 % av de algoritmer som upptäckts av dessa nätverk var varianter av pizza- eller klockalgoritmerna. Teamet har inte kunnat tyda vad nätverken gör resten av tiden. För pizza- och klockalgoritmerna, "det händer bara att den hittar något som vi människor kan tolka", sa Liu.

Och oavsett vilken algoritm ett nätverk lär sig när det uppstår ett problem, är det ännu mer kraftfullt vid generalisering än forskare misstänkte. När ett team vid University of Maryland matas ett enkelt neuralt nätverk träningsdata med slumpmässiga fel, betedde sig nätverket först som förväntat: Överanpassa träningsdata, fel och allt och prestera dåligt på oförstörda testdata. Men när nätverket väl grabbade och började svara korrekt på testfrågorna, kunde det producera korrekta svar även för fel poster, glömma de memorerade felaktiga svaren och generalisera även till träningsdata. "Grokking-uppgiften är faktiskt ganska robust mot den här typen av korruption," sa Darshil Doshi, en av tidningens författare.

Kampen om kontrollen

Som ett resultat av detta börjar forskare nu förstå processen som leder fram till att ett nätverk samlar sina data. Nanda ser den uppenbara yttre plötsligheten av grokking som resultatet av en gradvis intern övergång från memorering till generalisering, som använder två olika algoritmer inuti det neurala nätverket. När ett nätverk börjar lära sig, sa han, räknar det först ut den enklare memoreringsalgoritmen; men även om algoritmen är enklare kräver den avsevärda resurser, eftersom nätverket behöver memorera varje instans av träningsdata. Men även när det memorerar börjar delar av det neurala nätverket bilda kretsar som implementerar den allmänna lösningen. De två algoritmerna tävlar om resurser under träning, men generalisering vinner till slut om nätverket tränas med en extra ingrediens som kallas regularisering.

"Regularisering driver lösningen långsamt mot generaliseringslösningen", sa Liu. Detta är en process som minskar modellens funktionella kapacitet — komplexiteten i funktionen som modellen kan lära sig. När regulariseringen beskär modellens komplexitet, segrar den generaliserande algoritmen, som är mindre komplex, så småningom. "Generalisering är enklare för samma [nivå av] prestanda", sa Nanda. Slutligen kasserar det neurala nätverket memoreringsalgoritmen.

Så även om den fördröjda förmågan att generalisera plötsligt verkar dyka upp, lär sig nätverkets parametrar internt stadigt den generaliserande algoritmen. Det är först när nätverket både har lärt sig generaliseringsalgoritmen och helt tagit bort memoriseringsalgoritmen som du får gruff. "Det är möjligt att saker som verkar plötsligt faktiskt sker gradvis under ytan," sa Nanda - en fråga som också har kommit upp i annan forskning om maskininlärning.

Trots dessa genombrott är det viktigt att komma ihåg att grokkingforskningen fortfarande är i sin linda. Hittills har forskare endast studerat extremt små nätverk, och det är inte klart om dessa fynd kommer att hålla med större, kraftfullare nätverk. Belkin varnar också för att modulär aritmetik är "en droppe i havet" jämfört med alla olika uppgifter som utförs av dagens neurala nätverk. Omvänd konstruktion av ett neuralt nätverks lösning för sådan matematik kanske inte räcker för att förstå de allmänna principerna som driver dessa nätverk mot generalisering. "Det är fantastiskt att studera träden," sa Belkin. "Men vi måste också studera skogen."

Ändå har förmågan att titta in i dessa nätverk och förstå dem analytiskt enorma konsekvenser. För de flesta av oss är Fourier-transformationer och halverande cirkelbågar ett väldigt konstigt sätt att göra modulo-addition – mänskliga neuroner tänker helt enkelt inte så. "Men om du är byggd av linjär algebra, är det faktiskt mycket vettigt att göra det så här," sa Nanda.

"Dessa konstiga [konstgjorda] hjärnor fungerar annorlunda än våra egna," sa han. "[De] har sina egna regler och struktur. Vi måste lära oss att tänka hur ett neuralt nätverk tänker."

plats_img

Senaste intelligens

plats_img