Zephyrnet-logo

Hvordan «Grok»-data? | Quanta Magazine

Dato:

Introduksjon

Til tross for all deres glans, forblir kunstige nevrale nettverk like uutredelige som alltid. Etter hvert som disse nettverkene blir større, eksploderer evnene deres, men å tyde deres indre funksjoner har alltid vært nesten umulig. Forskere leter stadig etter all innsikt de kan finne i disse modellene.

For noen år siden oppdaget de en ny.

I januar 2022, forskere ved OpenAI, selskapet bak ChatGPT, rapportert at disse systemene, når de ved et uhell fikk gumle på data mye lenger enn vanlig, utviklet unike måter å løse problemer på. Vanligvis, når ingeniører bygger maskinlæringsmodeller ut av nevrale nettverk - sammensatt av beregningsenheter kalt kunstige nevroner - har de en tendens til å stoppe treningen på et bestemt tidspunkt, kalt overtilpasningsregimet. Dette er når nettverket i utgangspunktet begynner å huske treningsdataene sine og vil ofte ikke generalisere til ny, usett informasjon. Men da OpenAI-teamet ved et uhell trente et lite nettverk langt utover dette punktet, så det ut til å utvikle en forståelse av problemet som gikk utover bare å huske - det kunne plutselig få alle testdata.

Forskerne kalte fenomenet "grokking", et begrep laget av science-fiction-forfatteren Robert A. Heinlein for å bety å forstå noe "så grundig at observatøren blir en del av prosessen som blir observert." Det overtrente nevrale nettverket, designet for å utføre visse matematiske operasjoner, hadde lært den generelle strukturen til tallene og internalisert resultatet. Det hadde grokket og blitt løsningen.

"Dette [var] veldig spennende og tankevekkende," sa Mikhail Belkin fra University of California, San Diego, som studerer de teoretiske og empiriske egenskapene til nevrale nettverk. "Det ansporet til mye oppfølgingsarbeid."

Faktisk har andre replikert resultatene og til og med reversert dem. De siste papirene klargjorde ikke bare hva disse nevrale nettverkene gjør når de grokker, men ga også en ny linse for å undersøke innmaten deres. "Grokking-oppsettet er som en god modellorganisme for å forstå mange forskjellige aspekter ved dyp læring," sa Erik Michaud ved Massachusetts Institute of Technology.

Å kikke inn i denne organismen er til tider ganske avslørende. "Ikke bare kan du finne vakker struktur, men den vakre strukturen er viktig for å forstå hva som skjer internt," sa Neel Nanda, nå hos Google DeepMind i London.

Utover grensene

I bunn og grunn virker jobben til en maskinlæringsmodell enkel: Forvandle et gitt input til et ønsket output. Det er læringsalgoritmens jobb å se etter den best mulige funksjonen som kan gjøre det. Enhver gitt modell kan bare få tilgang til et begrenset sett med funksjoner, og det settet er ofte diktert av antallet parametere i modellen, som i tilfelle av nevrale nettverk er omtrent ekvivalent med antall forbindelser mellom kunstige nevroner.

Introduksjon

Når et nettverk trener, har det en tendens til å lære mer komplekse funksjoner, og avviket mellom forventet utgang og det faktiske begynner å falle for treningsdata. Enda bedre, dette avviket, kjent som tap, begynner også å gå ned for testdata, som er nye data som ikke brukes i trening. Men på et tidspunkt begynner modellen å overfitte, og mens tapet på treningsdata fortsetter å falle, begynner tapet av testdata å stige. Så, vanligvis, det er når forskere slutter å trene nettverket.

Det var den rådende visdommen da teamet ved OpenAI begynte å utforske hvordan et nevralt nettverk kunne gjøre matematikk. De brukte en liten transformator — en nettverksarkitektur som nylig har revolusjonert store språkmodeller — for å gjøre forskjellige typer modulær aritmetikk, der du arbeider med et begrenset sett tall som går tilbake på seg selv. Modulo 12, for eksempel, kan gjøres på en urskive: 11 + 2 = 1. Teamet viste nettverkseksempler på å legge til to tall, a og b, for å produsere en utgang, c, i modulo 97 (tilsvarer en urskive med 97 tall). De testet deretter transformatoren på usynlige kombinasjoner av a og b for å se om den kunne forutsi riktig c.

Som forventet, da nettverket gikk inn i overtilpasningsregimet, kom tapet på treningsdataene nær null (det hadde begynt å huske det det hadde sett), og tapet på testdataene begynte å stige. Det var ikke generaliserende. "Og så en dag var vi heldige," sa teamleder Alethea Power, talte i september 2022 på en konferanse i San Francisco. "Og med heldig mener jeg glemsom."

Teammedlemmet som trente nettverket dro på ferie og glemte å stoppe treningen. Ettersom denne versjonen av nettverket fortsatte å trene, ble den plutselig nøyaktig på usett data. Automatisk testing avslørte denne uventede nøyaktigheten for resten av teamet, og de innså snart at nettverket hadde funnet smarte måter å ordne tallene på a og b. Internt representerer nettverket tallene i et eller annet høydimensjonalt rom, men da forskerne projiserte disse tallene ned til 2D-rom og kartla dem, dannet tallene en sirkel.

Dette var forbløffende. Teamet fortalte aldri modellen at den gjorde modulo 97-matematikk, eller til og med hva modulo betydde - de viste den bare eksempler på aritmetikk. Modellen så ut til å ha snublet over en dypere, analytisk løsning - en ligning som generaliserte til alle kombinasjoner av a og b, selv utover treningsdataene. Nettverket hadde grokket, og nøyaktigheten på testdata skjøt opp til 100 %. "Dette er rart," sa Power til publikum.

Teamet verifiserte resultatene ved hjelp av forskjellige oppgaver og forskjellige nettverk. Oppdagelsen holdt mål.

Av klokker og pizzaer

Men hva var ligningen nettverket hadde funnet? OpenAI-avisen sa det ikke, men resultatet fanget Nandas oppmerksomhet. "Et av kjernemysteriene og de irriterende tingene med nevrale nettverk er at de er veldig gode på det de gjør, men at vi som standard ikke har noen anelse om hvordan de fungerer," sa Nanda, hvis arbeid fokuserer på omvendt utvikling av en utdannet nettverk for å finne ut hvilke algoritmer den har lært.

Nanda ble fascinert av OpenAI-oppdagelsen, og han bestemte seg for å plukke fra hverandre et nevralt nettverk som hadde grokket. Han designet en enda enklere versjon av OpenAI nevrale nettverk slik at han kunne undersøke modellens parametere nøye etter hvert som den lærte å gjøre modulær aritmetikk. Han så den samme oppførselen: overtilpasning som ga vei til generalisering og en brå forbedring i testnøyaktighet. Nettverket hans arrangerte også tall i en sirkel. Det tok litt innsats, men Nanda fant til slutt ut hvorfor.

Mens det representerte tallene på en sirkel, talte nettverket ikke bare av sifre som en barnehagebarn som så på en klokke: Det gjorde noen sofistikerte matematiske manipulasjoner. Ved å studere verdiene til nettverkets parametere, Nanda og kolleger avslørte at det var å legge til klokketallene ved å utføre "diskrete Fourier-transformasjoner" på dem - transformere tallene ved å bruke trigonometriske funksjoner som sinus og cosinus og deretter manipulere disse verdiene ved å bruke trigonometriske identiteter for å komme frem til løsningen. Dette var i hvert fall hva nettverket hans gjorde.

Når et team ved MIT fulgte opp på Nandas arbeid viste de at de grokking-nevrale nettverkene ikke alltid oppdager denne "klokke"-algoritmen. Noen ganger finner nettverkene i stedet det forskerne kaller "pizza"-algoritmen. Denne tilnærmingen forestiller en pizza delt i skiver og nummerert i rekkefølge. For å legge til to tall, forestill deg å tegne piler fra midten av pizzaen til de aktuelle tallene, og deretter beregne linjen som halverer vinkelen som dannes av de to første pilene. Denne linjen går gjennom midten av en del av pizzaen: Tallet på skiven er summen av de to tallene. Disse operasjonene kan også skrives ned i form av trigonometriske og algebraiske manipulasjoner av sinus og cosinus til a og b, og de er teoretisk sett like nøyaktige som klokken nærmer seg.

Introduksjon

"Både [klokken] og pizzaalgoritmer har denne sirkulære representasjonen," sa Ziming Liu, medlem av MIT-teamet. "Men … hvordan de utnytter disse sinusene og cosinusene er forskjellige. Det er derfor vi kaller dem forskjellige algoritmer.»

Og det var fortsatt ikke alt. Etter å ha trent en rekke nettverk for å gjøre modulo-matematikk, oppdaget Liu og kolleger at omtrent 40 % av algoritmene oppdaget av disse nettverkene var varianter av pizza- eller klokkealgoritmene. Teamet har ikke klart å tyde hva nettverkene gjør resten av tiden. For pizza- og klokkealgoritmene, "det hender bare at den finner noe vi mennesker kan tolke," sa Liu.

Og uansett hvilken algoritme et nettverk lærer når det oppstår et problem, er den enda kraftigere til generalisering enn forskere mistenkte. Når et team ved University of Maryland matet et enkelt nevralt nettverk treningsdata med tilfeldige feil, oppførte nettverket seg først som forventet: Overpass treningsdataene, feil og alt, og yter dårlig på ukorrupte testdata. Men når nettverket tok og begynte å svare riktig på testspørsmålene, kunne det gi riktige svar selv for feil oppføringer, glemme de lagrede feil svarene og generalisere selv til treningsdataene. "Grokking-oppgaven er faktisk ganske robust overfor denne typen korrupsjon," sa Darshil Doshi, en av avisens forfattere.

Kamp om kontroll

Som et resultat begynner forskere nå å forstå prosessen som fører frem til at et nettverk grokker dataene sine. Nanda ser den tilsynelatende ytre plutseligheten av grokking som resultatet av en gradvis intern overgang fra memorering til generalisering, som bruker to forskjellige algoritmer inne i det nevrale nettverket. Når et nettverk begynner å lære, sa han, finner det først ut den lettere memoreringsalgoritmen; men selv om algoritmen er enklere, krever den betydelige ressurser, siden nettverket trenger å huske hver forekomst av treningsdataene. Men selv når det huskes, begynner deler av det nevrale nettverket å danne kretser som implementerer den generelle løsningen. De to algoritmene konkurrerer om ressurser under trening, men generalisering vinner til slutt hvis nettverket trenes med en ekstra ingrediens kalt regularisering.

"Regularisering driver sakte løsningen mot generaliseringsløsningen," sa Liu. Dette er en prosess som reduserer modellens funksjonelle kapasitet — kompleksiteten til funksjonen som modellen kan lære. Ettersom regularisering beskjærer modellens kompleksitet, triumferer den generaliserende algoritmen, som er mindre kompleks, til slutt. "Generalisering er enklere for samme [nivå av] ytelse," sa Nanda. Til slutt forkaster det nevrale nettverket memoreringsalgoritmen.

Så mens den forsinkede evnen til å generalisere ser ut til å dukke opp plutselig, lærer nettverkets parametere internt stadig generaliseringsalgoritmen. Det er først når nettverket både har lært seg generaliseringsalgoritmen og fullstendig fjernet memoreringsalgoritmen at du får grokking. "Det er mulig for ting som virker plutselig å faktisk være gradvis under overflaten," sa Nanda - et problem som også har dukket opp i annen maskinlæringsforskning.

Til tross for disse gjennombruddene, er det viktig å huske at grokkingforskning fortsatt er i sin spede begynnelse. Så langt har forskere studert bare ekstremt små nettverk, og det er ikke klart om disse funnene vil holde med større, kraftigere nettverk. Belkin advarer også om at modulær aritmetikk er "en dråpe i havet" sammenlignet med alle de forskjellige oppgavene som utføres av dagens nevrale nettverk. Omvendt utvikling av et nevralt nettverks løsning for slik matematikk er kanskje ikke nok til å forstå de generelle prinsippene som driver disse nettverkene mot generalisering. "Det er flott å studere trærne," sa Belkin. "Men vi må også studere skogen."

Ikke desto mindre har evnen til å kikke inn i disse nettverkene og forstå dem analytisk enorme implikasjoner. For de fleste av oss er Fourier-transformasjoner og halverende sirkelbuer en veldig merkelig måte å gjøre modulo-addisjon på - menneskelige nevroner tenker bare ikke slik. "Men hvis du er bygget ut av lineær algebra, gir det faktisk mye mening å gjøre det slik," sa Nanda.

"Disse rare [kunstige] hjernene fungerer annerledes enn vår egen," sa han. «[De] har sine egne regler og struktur. Vi må lære å tenke hvordan et nevralt nettverk tenker."

spot_img

Siste etterretning

spot_img