Tekoäly
OLMo: Kielen mallien tieteen parantaminen
Kielen mallien kehitys ja edistys viime vuosina on jättänyt jälkensä lähes jokaisella alalla, ei vain NLP-tutkimuksessa, vaan myös kaupallisissa tarjouksissa ja todellisissa sovelluksissa. Kielen mallien kaupallinen kysyntä on kuitenkin rajoittanut yhteisön kasvua, sillä useimmat valmiit ja kykenevät mallit ovat suljettuja omistajien käyttöliittymien takana, mikä tekee kehittäjien vaikeaksi päästä käsiksi mallien koulutusarkkitehtuuriin, tietoihin ja kehitysprosesseihin. On nyt kiistatonta, että nämä koulutus- ja rakenteelliset yksityiskohdat ovat olennaisia tutkimuksille, mukaan lukien pääsy mahdollisiin riskeihin ja harhaanjohtajiin, mikä luo vaatimuksen tutkimusyhteisölle saada oikeasti avoin ja voimakas kielen malli.
Tätä vaatimusta vastaamaan kehittäjät ovat luoneet OLMo:n, joka on valmiin tason, oikeasti avoimen kielen mallin kehyksen. Tämä kehyksen sallii tutkijoille käyttää OLMo:a kielen mallien rakentamiseen ja tutkimiseen. Toisin kuin useimmat valmiit kielen mallit, jotka ovat julkaisseet vain käyttöliittymäkoodin ja mallipainot, OLMo-kehyksen on oikeasti avoin lähdekoodi, jossa on julkisesti saatavilla arviointikoodi, koulutusmenetelmät ja koulutusdata. OLMo:n ensisijainen tavoite on antaa voimaa ja edistää avoimen tutkimusyhteisön ja kielen mallien jatkuvaan kehitykseen.
Tässä artikkelissa tarkastelemme OLMo-kehystä yksityiskohtaisesti, tutkimalla sen arkkitehtuuria, menetelmiä ja suorituskykyä verrattuna nykyisiin valmiisiin kehyksiin. Joten, aloitetaan.
OLMo: Kielen mallien tieteen parantaminen
Kielen malli on ollut viime vuosien ajan kiinnostavin ilmiö, ei vain tekoäly- ja koneoppimisyhteisössä, vaan myös koko teknologia-alalla, sen ihmismaisen suorituskyvyn ansiosta todellisissa tehtävissä. ChatGPT on esimerkki kielen mallien mahdollisuuksista, ja suurten teknologia-alan toimijoiden tutkii kielen mallien integroimista tuotteisiinsa.
NLP eli luonnollisen kielen prosessointi on yksi ala, joka on laajasti käyttänyt kielen malleja viime vuosina. Kuitenkin, siitä lähtien, kun teollisuus alkoi käyttää ihmisten annotointia suuntaamiseen ja suureen mittakaavaan koulutukseen, kielen mallit ovat kokeneet nopean parannuksen kaupallisen käytännöllisyydessä, mikä on johtanut siihen, että useimmat valmiit kielen mallit ja NLP-kehykset ovat rajoitetusti saatavilla, eikä kehittäjillä ole pääsyä tärkeisiin yksityiskohtiin.
OLMo, joka on valmiin tason, oikeasti avoin kielen malli, tarjoaa kehittäjille kehyksen kielen mallien rakentamiseen, tutkimiseen ja kehittämiseen. Se myös antaa tutkijoille pääsyn koulutus- ja arviointikoodiin, koulutusmenetelmiin, koulutusdataan, koulutuslokeihin ja välimallin valvontapisteisiin. Nykyiset valmiit mallit ovat eri tavoin avoimia, mutta OLMo-malli on julkaissut koko kehyksensä koulutuksesta dataan ja arviointityökaluihin, mikä kaventaa suorituskyvyn eroa verrattuna valmiisiin malleihin, kuten LLaMA2-malliin.
Koulutuksen ja mallinrakennuksen osalta OLMo-kehyksen sisältää koulutuskoodin, täydelliset mallipainot, poistot, koulutuslokit ja koulutusmittaukset liittymäkoodina, sekä Weights & Biases -lokit. Analyysiin ja tietojen rakentamiseen OLMo-kehyksen sisältää täydellisen koulutusdatan, jota on käytetty AI2:n Dolma- ja WIMBD-malleissa, sekä koodin, joka tuottaa koulutusdatan. Arviointitarkoituksiin OLMo-kehyksen sisältää AI2:n Catwalk-mallin alirakenteen arviointiin ja Paloma-mallin hämmästyksen perusteiseen arviointiin.
OLMo: Malli ja Arkkitehtuuri
OLMo-malli käyttää dekooderi-vain transformer-arkkitehtuuria, joka perustuu Neural Information Processing Systemsiin, ja tarjoaa kaksi mallia, joissa on 1 miljardi ja 7 miljardiä parametrejä, ja 65 miljardin parametrin malli on parhaillaan kehityksessä.

OLMo-kehyksen arkkitehtuuri tarjoaa useita parannuksia muihin kehyksiin, mukaan lukien perus-transformer-komponentin arkkitehtuuriin, kuten viimeisimpiin valmiisiin kielen malleihin, kuten OpenLM, Falcon, LLaMA ja PaLM. Seuraava kuva vertaa OLMo-mallia 7 miljardin parametrin kanssa muihin vastaaviin LLM-malleihin.

OLMo-kehyksen valitsee hyperparametrit optimoimalla mallin koulutusnopeutta laitteistolle samalla minimoiden hitaan divergenssin ja tappiohyppäyksen riskiä. OLMo-kehyksen toteuttaa seuraavat muutokset, jotka erottavat sen perus-transformer-arkkitehtuurista:
Ei Harhaanjohtajia
Toisin kuin Falcon, PaLM, LLaMA ja muut kielen mallit, OLMo-kehyksen ei sisällä mitään harhaanjohtajia arkkitehtuuriinsa koulutusvakauden parantamiseksi.
Ei-Parametrinen Kerrosnormi
OLMo-kehyksen toteuttaa ei-parametrinen kerrosnormin arkkitehtuuriinsa. Ei-parametrinen kerrosnormi ei tarjoa affiinimuunnosta normissa, eli se ei tarjoa mukautuvaa voimakkuutta tai harhaanjohtajaa. Ei-parametrinen kerrosnormi tarjoaa myös enemmän turvallisuutta kuin parametrinen kerrosnormi ja se on nopeampi.
SwiGLU Aktivaatiofunktio
Kuten useimmat kielen mallit, kuten PaLM ja LLaMA, OLMo-kehyksen sisältää SwiGLU-aktivaatiofunktion arkkitehtuuriinsa ReLU-aktivaatiofunktion sijaan, ja lisää piilossa olevan aktivaation koon lähimpään moninkleen 128:aan parantamaan läpimenoa.
RoPE tai Pyöreät Positiiviset Upotukset
OLMo-mallit seuraavat LLaMA- ja PaLM-malleja ja vaihtavat absoluuttiset positiiviset upotukset RoPE- tai pyöreisiin positiivisiin upotuksiin.
Esikoulutus Dolman Kanssa
Vaikka kehittäjillä on nyt parannettu pääsy malliparametreihin, esikoulutusdataa ei vielä ole julkaistu avoimesti. Tämä on este tutkimukselle, sillä esikoulutusdataa ei ole saatavilla suljettujen mallien eikä avoimien mallien kanssa, eikä teknisiä dokumentteja, jotka kattavat tämän datan, ole saatavilla. OLMo-kehyksen on rakennettu ja julkaistu esikoulutusdata, Dolma, avoimen tutkimuksen mahdollistamiseksi kielen mallien esikoulutuksessa. Dolma-data on monilähde- ja monimuotoinen kokoelma yli 3 biljoonaa tokenia yli 5 miljardia asiakirjaa, jotka on kerätty 7 eri lähteestä, jotka ovat yleisesti käytettyjä voimakkaiden suurten kielen mallien esikoulutuksessa ja ovat saatavilla yleisölle.

Dolma-data on rakennettu viiden komponentin putkistolla: kielensuodatus, laatusuodatus, sisällön suodatus, monilähteen sekoitus, deduplikaatio ja tokenisointi. OLMo on myös julkaissut Dolma-raportin, joka tarjoaa enemmän näkemyksiä suunnitteluperiaatteista ja rakennusyksityiskohtia sekä tarkemman sisällön yhteenvedon. Malli myös avaa korkean suorituskyvyn datan kuratointityökalun, jotta voidaan helposti ja nopeasti kuratoida esikoulutusdatakokoelmia. Arviointi seuraa kaksivaiheista strategiaa, jossa aloitetaan online-arviointi päätöksenteon aikana mallin koulutuksessa ja lopullinen offline-arviointi mallin valvontapisteistä. Offline-arviointiin OLMo käyttää Catwalk-kehystä, joka on julkaistu arviointityökalu, jolla on pääsy laajaan valikoimaan tietoja ja tehtävän muotoja.
OLMo suorittaa useita arviointimittoja mallin arkkitehtuurista, alkuarvonmäärityksestä, optimoijista, oppimissuunnitelmanopeudesta ja datan sekoituksesta mallin koulutuksen aikana. Kehittäjät kutsuvat tätä OLMo:n “online-arviointiin”, joka on silmukkainen toiminto joka 1000 koulutusaskelta (~4B koulutustokenia) antamaan varhaisen ja jatkuvaan signaalin mallin laadusta. Arviointien asettaminen riippuu suurelta osin keskeisistä tehtävistä ja kokeen asetuksista, joita käytetään offline-arviointiin.
OLMo Koulutus
On tärkeää huomata, että OLMo-kehyksen mallit on koulutettu ZeRO-optimointistrategian avulla, jota tarjoaa FSDP-kehyksen kautta PyTorchin avulla, ja tämä vähentää merkittävästi GPU-muistin kulutusta jakamalla mallipainot GPU:iden kesken. Tämän ansiosta 7B-asteella koulutus voidaan tehdä mikro-erän kokoisen 4096 tokenin kanssa GPU:lla. OLMo-1B- ja -7B-mallien koulutuskehyksen käyttää globaalisti vakioita eräkokoa noin 4M tokenia (2048 instanssia, joissa on 2048 tokenin pituus). OLMo-65B-mallin (joka on parhaillaan koulutuksessa) kehittäjät käyttävät eräkokoa, joka alkaa noin 2M tokenista (1024 instanssia), ja kaksinkertaistuu joka 100B tokenin jälkeen, kunnes saavutetaan noin 16M tokenia (8192 instanssia).
Läpimenoa parantamaan käytetään sekoitettua tarkkuuden koulutusta (Micikevicius et al., 2017) FSDP:n sisäänrakennettujen asetusten ja PyTorchin amp-moduulin avulla. Jälkimmäinen varmistaa, että tietyt operaatiot, kuten softmax, aina suoritetaan täydellisessä tarkkuudessa vakauden parantamiseksi, kun taas kaikki muut operaatiot suoritetaan puolitarkkuudessa bfloat16-muodossa. Meidän asetuksissamme shakattujen mallipainojen ja optimoijan tilan, jotka ovat paikallisia kullekin GPU:lle, pidetään täydellisessä tarkkuudessa. Painot transformerin sisällä muunnetaan bfloat16-muotoon vain silloin, kun täysikokoiset parametri ovat materialisoituneet kullekin GPU:lle eteen- ja taaksepäin suoritettaessa. Gradientit vähennetään täydellisessä tarkkuudessa GPU:iden välillä.
Optimoija
OLMo-kehyksen käyttää AdamW-optimointia seuraavilla hyperparametreillä.

Kaikissa mallikokoissa oppimissuunnitelmanopeus lämpenee lineaarisesti ensimmäisten 5000 askelen aikana (~21B tokenia) maksimiarvoon, ja sitten se laskee lineaarisesti kääntäen suhteessa askelnumeron neliöjuureen minimioppimissuunnitelmanopeuteen. Lämpenemisen jälkeen malli leikkaa gradientit siten, että parametrigradienttien yhteinen l-normi ei ylitä 1,0. Seuraava taulukko esittää vertailun optimoijien asetuksista 7B-asteella muihin viimeaikaisiin LMiin, jotka käyttävät myös AdamW:ta.

Koulutusdata
Koulutus käyttää koulutusinstanssien tokenisointia sanalla ja BPE-tokenisointia lauseen paloittelumallille lisäämällä erityisen EOS-merkin kunkin asiakirjan loppuun, ja sitten ryhmitellään peräkkäiset 2048 tokenin palat muodostamaan koulutusinstansseja. Koulutusinstanssit sekoitetaan täsmälleen samalla tavalla kullekin koulutussuoritolle. Koulutusdatan järjestys ja tarkka koostumus koulutuserästä voidaan rekonstruoida julkaistujen OLMo-mallien artefakteista. Kaikki julkaistut OLMo-mallit on koulutettu vähintään 2T tokeniin (yksi epochi koulutusdataan), ja jotkut on koulutettu pidemmälle toisen epochin aikana datan eri sekoituksella.
Tulokset
OLMo-7B-mallin arviointipiste on koulutettu 2,46T tokeniin Dolma-datassa edellä mainitun lineaarisen oppimissuunnitelmanopeuden laskun kanssa. Tämän pisteiden jatkokoulutus 1000 askelta lineaarisesti laskettavalla oppimissuunnitelmanopeudella nollaan parantaa mallin suorituskykyä hämmästyksen ja lopputehtävän arviointisarjojen osalta. Lopullisessa arviointissa kehittäjät vertasivat OLMo:a muihin julkaistuihin malleihin – LLaMA-7B, LLaMA2-7B, Pythia-6,9B, Falcon-7B ja RPJ-INCITE-7B.
Alirakenteen Arviointi
Perusrakenteen arviointisarja on yhteenvetelty seuraavassa taulukossa.

Suoritamme nollasuuruisen arviointia luokittelumetodilla kaikissa tapauksissa. Tässä lähestymistavassa ehdokas tekstin täydentämiset (esim. eri valinnat) luokitellaan todennäköisyyden mukaan (yleensä normalisoitu jollain normalisointifaktorilla), ja ilmoitetaan ennusteen tarkkuus.
Kun Catwalk käyttää useita tyypillisiä todennäköisyyden normalisointimenetelmiä, kuten tokenin mukaista normalisointia ja merkin mukaista normalisointia, normalisointistrategiat valitaan erikseen kullekin tietojoukolle ja sisältävät vastauksen ehdottoman todennäköisyyden. Konkreettisesti tämä tarkoittaa, että ei tehdä normalisointia arc- ja openbookqa-tehtävissä, tokenin mukaista normalisointia hellaswag-, piqa- ja winogrande-tehtävissä, ja ei normalisointia boolq-, copa- ja sciq-tehtävissä (eli tehtävissä, jotka ovat lähellä yksittäisen tokenin ennustamista).

Seuraava kuva näyttää tarkkuuden edistymisen yhdeksän perustehtävän osalta. Voidaan päätellä, että on yleisesti kasvava suunta tarkkuusluvussa kaikissa tehtävissä, lukuun ottamatta OBQA:ta, kun OLMo-7B on koulutettu edelleen enemmän tokenien kanssa. Terävä ylöspäin osoittava liike useiden tehtävien tarkkuudessa viimeisen ja toiseksi viimeisen askelen välillä osoittaa hyödyn lineaarisesti vähentämällä LR:ää nollaan viimeisen 1000 koulutusaskelen aikana. Esimerkiksi intrinsic-arvioinnissa Paloma esittää useita analyysejä, joista tarkastellaan suorituskykyä kussakin aihealueessa erikseen ja yhteenvetona useiden aihealueiden yhdistelmistä.

Lopputajat
Tässä artikkelissa olemme puhuneet OLMo:sta, joka on valmiin tason, oikeasti avoin kielen malli, joka tarjoaa kehittäjille kehyksen kielen mallien rakentamiseen, tutkimiseen ja kehittämiseen, sekä antaa tutkijoille pääsyn koulutus- ja arviointikoodiin, koulutusmenetelmiin, koulutusdataan, koulutuslokeihin ja välimallin valvontapisteisiin. Nykyiset valmiit mallit ovat eri tavoin avoimia, mutta OLMo-malli on julkaissut koko kehyksensä koulutuksesta dataan ja arviointityökaluihin, mikä kaventaa suorituskyvyn eroa verrattuna valmiisiin malleihin, kuten LLaMA2-malliin.












