stub NLP tõus koos transformermudelitega | T5, BERTi ja GPT põhjalik analüüs – Unite.AI
Ühenda meile

Tehisintellekt

NLP tõus koos transformermudelitega | T5, BERTi ja GPT põhjalik analüüs

mm

avaldatud

 on

Juhend NLP kohta

Natural Language Processing (NLP) on viimastel aastatel kogenud mõningaid mõjukamaid läbimurdeid, peamiselt tänu trafo arhitektuurile. Need läbimurded pole mitte ainult suurendanud masinate võimet mõista ja genereerida inimkeelt, vaid on muutnud ka paljude rakenduste maastiku, alates otsingumootoritest kuni vestluse AI-ni.

Trafode tähtsuse täielikuks mõistmiseks peame esmalt vaatama tagasi eelkäijatele ja ehitusplokkidele, mis panid aluse sellele revolutsioonilisele arhitektuurile.

Varased NLP-tehnikad: alused enne transformereid

Wordi manused: One-Hotist Word2Vec-ni

Traditsioonilistes NLP-lähenemistes oli sõnade esitus sageli sõnasõnaline ja sellel puudus igasugune semantiline või süntaktiline mõistmine. One-hot-kodeering on selle piirangu suurepärane näide.

Ühekuumkodeering on protsess, mille käigus kategoorilised muutujad teisendatakse binaarseks vektoresitluseks, kus ainult üks bitt on "kuum" (seatud väärtusele 1), samas kui kõik teised on "külmad" (seadistatud väärtusele 0). NLP kontekstis on iga sõna sõnavaras esindatud ühekordsete vektoritega, kus iga vektor on sõnavara suurus ja iga sõna on esindatud vektoriga, mille kõik 0-d ja üks 1 sellele sõnale vastavas indeksis. sõnavara loend.

One-Hot kodeeringu näide

Oletame, et meil on väike sõnavara, milles on vaid viis sõna: ["kuningas", "kuninganna", "mees", "naine", "laps"]. Iga sõna ühekordsed kodeerimisvektorid näeksid välja järgmised:

  • "kuningas" -> [1, 0, 0, 0, 0]
  • "kuninganna" -> [0, 1, 0, 0, 0]
  • "mees" -> [0, 0, 1, 0, 0]
  • "naine" -> [0, 0, 0, 1, 0]
  • "laps" -> [0, 0, 0, 0, 1]

Matemaatiline esitus

Kui tähistame kui meie sõnavara suurus ja sõnavara i-nda sõna ühe kuuma vektoresitlusena, matemaatilise esitusena oleks:

kus i-s positsioon on 1 ja kõik muud positsioonid on 0.

One-hot-kodeeringu peamine negatiivne külg on see, et see käsitleb iga sõna isoleeritud üksusena, millel puudub seos teiste sõnadega. Selle tulemuseks on hõredad ja suuremõõtmelised vektorid, mis ei hõivata sõnade semantilist ega süntaktilist teavet.

Sõnade manustamise, eriti Word2Vec, kasutuselevõtt oli NLP-s pöördeline hetk. Word2013Vec, mille töötas välja 2. aastal Tomas Mikolovi juhitud Google'i meeskond, esindas sõnu tihedas vektorruumis, jäädvustades nende kontekstipõhiseid süntaktilisi ja semantilisi sõnasuhteid suurtes tekstikorpustes.

Erinevalt ühe kuumuse kodeerimisest toodab Word2Vec tihedaid vektoreid, millel on tavaliselt sadu mõõtmeid. Sõnadel, mis esinevad sarnastes kontekstides, nagu "kuningas" ja "kuninganna", on vektoresitus, mis on vektorruumis üksteisele lähemal.

Näiteks oletame, et oleme välja õpetanud Word2Vec mudeli ja esindame nüüd sõnu hüpoteetilises 3-mõõtmelises ruumis. Manused (mis on tavaliselt rohkem kui 3D, kuid lihtsuse huvides on siin vähendatud) võivad välja näha umbes sellised:

  • "kuningas" -> [0.2, 0.1, 0.9]
  • "kuninganna" -> [0.21, 0.13, 0.85]
  • "mees" -> [0.4, 0.3, 0.2]
  • "naine" -> [0.41, 0.33, 0.27]
  • "laps" -> [0.5, 0.5, 0.1]

Kuigi need arvud on väljamõeldud, näitavad need, kuidas sarnastel sõnadel on sarnased vektorid.

Matemaatiline esitus

Kui kujutame sõna Word2Vec manustamist kui , ja meie manustamisruumil on mõõtmed siis võib esitada järgmiselt:

Semantilised suhted

Word2Vec suudab jäädvustada isegi keerulisi seoseid, näiteks analoogiaid. Näiteks kuulus suhe, mille Word2Vec manustamine on tabanud, on järgmine:

vektor(“kuningas”) – vektor(“mees”) + vektor(“naine”)≈vektor(“kuninganna”)

See on võimalik, kuna Word2Vec kohandab treeningu ajal sõnavektoreid nii, et korpuses ühist konteksti jagavad sõnad asetsevad vektorruumis tihedalt.

Word2Vec kasutab sõnade hajutatud esituse loomiseks kahte peamist arhitektuuri: Continuous Bag-of-Words (CBOW) ja Skip-Gram. CBOW ennustab sihtsõna ümbritsevate kontekstisõnade põhjal, Skip-Gram aga vastupidi, ennustades kontekstisõnu sihtsõnast. See võimaldas masinatel hakata mõistma sõnakasutust ja tähendust nüansirikkamalt.

Järjestuste modelleerimine: RNN-id ja LSTM-id

Valdkonna edenedes nihkus fookus tekstijadade mõistmisele, mis oli ülioluline selliste ülesannete puhul nagu masintõlge, teksti kokkuvõte ja tundeanalüüs. Korduvad närvivõrgud (RNN-id) said nende rakenduste nurgakiviks tänu nende võimele töödelda järjestikuseid andmeid, säilitades mäluvormi.

Kuid RNN-id ei olnud piiranguteta. Nad võitlesid pikaajaliste sõltuvustega kaduva gradiendi probleemi tõttu, kus teave läheb pikkade jadade käigus kaduma, muutes kaugete sündmuste vaheliste seoste õppimise keeruliseks.

Pika lühiajalise mälu võrgud (LSTM-id), mille tutvustas Sepp Hochreiter ja Jürgen Schmidhuber 1997. aastal, käsitles seda probleemi keerukama arhitektuuriga. LSTM-idel on väravad, mis juhivad teabe liikumist: sisendvärav, unustamisvärav ja väljundvärav. Need väravad määravad kindlaks, millist teavet salvestatakse, värskendatakse või ära visatakse, võimaldades võrgul säilitada pikaajalisi sõltuvusi ja parandada oluliselt paljude NLP-ülesannete jõudlust.

Transformeri arhitektuur

NLP maastik läbis dramaatilise muutuse, kui Vaswani jt maamärki käsitlevas dokumendis "Tähelepanu on kõik, mida vajate" tutvustas trafo mudelit. 2017. aastal. Trafo arhitektuur erineb RNN-ide ja LSTM-ide järjestikusest töötlemisest ning kasutab sisendandmete erinevate osade mõju kaalumiseks selle asemel mehhanismi, mida nimetatakse enesetähelepanuks.

Trafo põhiidee seisneb selles, et see suudab töödelda kogu sisendandmeid korraga, mitte järjestikku. See võimaldab palju rohkem paralleelsust ja selle tulemusena treeningkiirust oluliselt suurendada. Enesetähelepanu mehhanism võimaldab mudelil keskenduda selle töötlemisel teksti erinevatele osadele, mis on konteksti ja sõnadevaheliste suhete mõistmiseks ülioluline, olenemata nende asukohast tekstis.

Transformaatorite kodeerija ja dekooder:

Algses Transformeri mudelis, nagu on kirjeldatud dokumendis "Tähelepanu on kõik, mida vajate” autor Vaswani jt, on arhitektuur jagatud kaheks põhiosaks: kodeerijaks ja dekoodriks. Mõlemad osad koosnevad kihtidest, millel on sama üldine struktuur, kuid millel on erinev eesmärk.

Kodeerija:

  • Roll: kodeerija ülesanne on töödelda sisendandmeid ja luua esitus, mis fikseerib elementidevahelised seosed (nagu sõnad lauses). See trafo osa ei tekita uut sisu; see lihtsalt muudab sisendi olekusse, mida dekooder saab kasutada.
  • Funktsionaalsus: igal kodeerijakihil on enesetähelepanu mehhanismid ja edasisuunalised närvivõrgud. Enesetähelepanu mehhanism võimaldab kodeerija igal positsioonil jälgida kõiki kodeerija eelmise kihi positsioone – seega saab see õppida iga sõna konteksti.
  • Kontekstipõhised manused: kodeerija väljund on vektorite jada, mis esindavad sisendjada suuremõõtmelises ruumis. Neid vektoreid nimetatakse sageli kontekstuaalseteks manusteks, kuna need ei kodeeri mitte ainult üksikuid sõnu, vaid ka nende konteksti lauses.

Dekooder:

  • Roll: Dekoodri ülesanne on genereerida väljundandmeid järjestikku, üks osa korraga, lähtudes kodeerijalt saadud sisendist ja sellest, mida ta seni on genereerinud. See on mõeldud selliste ülesannete jaoks nagu teksti genereerimine, kus genereerimise järjekord on ülioluline.
  • Funktsionaalsus: Dekoodri kihid sisaldavad ka enesetähelepanu mehhanisme, kuid need on maskeeritud, et takistada positsioonidel järgnevate positsioonide järgimist. See tagab, et konkreetse positsiooni ennustus saab sõltuda ainult teadaolevatest väljunditest seda eelnevates positsioonides. Lisaks sisaldavad dekoodri kihid teist tähelepanumehhanismi, mis hoolitseb kodeerija väljundi eest, integreerides konteksti sisendist genereerimisprotsessi.
  • Järjestikuse genereerimise võimalused: See viitab dekoodri võimele genereerida jada üks element korraga, tuginedes sellele, mida ta juba on loonud. Näiteks teksti genereerimisel ennustab dekooder järgmise sõna kodeerija pakutava konteksti ja juba genereeritud sõnade jada põhjal.

Kõik need kodeerija ja dekoodri alamkihid on mudeli keeruliste NLP-ülesannete käsitlemise jaoks üliolulised. Eelkõige võimaldab mitmepealine tähelepanumehhanism mudelil keskenduda valikuliselt jada erinevatele osadele, pakkudes kontekstist rikkalikku arusaamist.

Populaarsed mudelid, mis kasutavad trafosid

Pärast trafomudeli esialgset edu tekkis plahvatuslikult selle arhitektuurile ehitatud uusi mudeleid, millest igaühel olid oma uuendused ja optimeerimised erinevate ülesannete jaoks:

BERT (transformerite kahesuunalised kodeerijad): Google'i 2018. aastal tutvustatud BERT muutis pöörde viisi, kuidas kontekstuaalne teave integreeritakse keeleesitustesse. Varjatud keelemudeli ja järgmise lause ennustamisega suurel tekstikorpusel eelkoolituse abil jäädvustab BERT rikkalikke kahesuunalisi kontekste ja on saavutanud tipptasemel tulemusi paljude NLP-ülesannete osas.

BERT

BERT

T5 (tekstist tekstiks edastuse transformer): tutvustas Google 2020. aastal, T5 raamib kõik NLP ülesanded ümber teksti-teksti probleemina, kasutades ühtset tekstipõhist vormingut. See lähenemine lihtsustab mudeli rakendamist mitmesugustele ülesannetele, sealhulgas tõlkimine, kokkuvõte ja küsimustele vastamine.

t5 Arhitektuur

T5 arhitektuur

GPT (generatiivne eelkoolitatud transformer): Arendatud OpenAI, GPT mudelite sari sai alguse GPT-1-st ja jõudis GPT-4 tasemeni 2023. aastaks. Need mudelid on eelkoolitatud, kasutades järelevalveta õppimist tohutul hulgal tekstiandmetel ja viimistletud erinevate ülesannete jaoks. Nende võime luua sidusat ja kontekstuaalselt asjakohast teksti on muutnud need nii akadeemilistes kui ka ärilistes AI-rakendustes väga mõjukaks.

GPT

GPT arhitektuur

Siin on T5, BERT ja GPT mudelite põhjalikum võrdlus erinevates mõõtmetes:

1. Tokeniseerimine ja sõnavara

  • BERT: kasutab WordPiece'i märgistamist, mille sõnavara suurus on umbes 30,000 XNUMX märgist.
  • GPT: kasutab suure sõnavaraga baitpaari kodeeringut (BPE) (nt GPT-3 sõnavara maht on 175,000 XNUMX).
  • T5: kasutab SentencePiece märgistamist, mis käsitleb teksti toorena ja ei nõua eelnevalt segmenteeritud sõnu.

2. Eelkoolituse eesmärgid

  • BERT: maskeeritud keele modelleerimine (MLM) ja järgmise lause ennustamine (NSP).
  • GPT: põhjusliku keele modelleerimine (CLM), kus iga märk ennustab järjestuses järgmist märgi.
  • T5: kasutab müra summutavat eesmärki, kus juhuslikud tekstivahemikud asendatakse kontrollmärgiga ja mudel õpib originaalteksti rekonstrueerima.

3. Sisestuse esitus

  • BERT: Märk, Segment ja Positsiooniline manustamine on sisendi esindamiseks kombineeritud.
  • GPT: Token ja positsiooniline manustamine on kombineeritud (segmendi manustused puuduvad, kuna see pole mõeldud lausepaari ülesannete jaoks).
  • T5: ainult märgi manustamised, millele on tähelepanutoimingute ajal lisatud suhtelised asukohakodeeringud.

4. Tähelepanu mehhanism

  • BERT: kasutab absoluutset asukohakodeeringut ja võimaldab igal märgil jälgida kõiki vasakul ja paremal asuvaid märke (kahesuunaline tähelepanu).
  • GPT: kasutab ka absoluutset asukohakodeeringut, kuid piirab tähelepanu ainult eelmistele märkidele (ühesuunaline tähelepanu).
  • T5: rakendab trafo varianti, mis kasutab positsioonilise manustamise asemel suhtelisi positsiooninihkeid.

5. Mudelarhitektuur

  • BERT: ainult kodeerija arhitektuur mitme kihiga trafoplokkidest.
  • GPT: ainult dekoodri arhitektuur, samuti mitme kihiga, kuid loodud generatiivseteks ülesanneteks.
  • T5: kodeerija-dekoodri arhitektuur, kus nii kodeerija kui ka dekooder koosnevad trafokihtidest.

6. Peenhäälestuslähenemine

  • BERT: kohandab eelkoolitatud mudeli lõplikke peidetud olekuid allavoolu ülesannete jaoks koos täiendavate väljundkihtidega vastavalt vajadusele.
  • GPT: lisab trafo peale lineaarse kihi ja peenhäälestab allavoolu ülesannet, kasutades sama põhjusliku keele modelleerimise eesmärki.
  • T5: teisendab kõik ülesanded tekstist tekstiks vormingusse, kus mudel on peenhäälestatud, et genereerida sisendjadast sihtjada.

7. Treeningu andmed ja ulatus

  • BERT: Koolitatud BooksCorpuse ja ingliskeelse Vikipeedia alal.
  • GPT: GPT-2 ja GPT-3 on koolitatud erinevate Internetist eraldatud andmekogumite põhjal, kusjuures GPT-3 on koolitatud veelgi suuremal korpusel, mida nimetatakse Common Crawliks.
  • T5: Koolitatud Colossal Clean Crawled Corpusel, mis on Common Crawli suur ja puhas versioon.

8. Konteksti ja kahesuunalisuse käsitlemine

  • BERT: loodud mõistma konteksti korraga mõlemas suunas.
  • GPT: koolitatud mõistma konteksti edasisuunas (vasakult paremale).
  • T5: oskab modelleerida kahesuunalist konteksti kodeerijas ja ühesuunalist konteksti dekoodris, mis sobib järjestusülesannete jaoks.

9. Kohandatavus alljärgnevate ülesannetega

  • BERT: nõuab iga allavoolu ülesande jaoks ülesandepõhiseid peakihte ja peenhäälestamist.
  • GPT: on oma olemuselt generatiivne ja teda võidakse kutsuda täitma ülesandeid minimaalsete muudatustega selle struktuuris.
  • T5: käsitleb iga ülesannet "tekst-teksti" probleemina, muutes selle oma olemuselt paindlikuks ja kohandatavaks uute ülesannetega.

10. Tõlgendatavus ja seletatavus

  • BERT: Kahesuunaline olemus pakub rikkalikke kontekstuaalseid manuseid, kuid seda võib olla raskem tõlgendada.
  • GPT: ühesuunalist konteksti võib olla lihtsam jälgida, kuid sellel puudub kahesuunalise konteksti sügavus.
  • T5: Kodeerija-dekoodri raamistik eraldab töötlemisetapid selgelt, kuid selle generatiivse olemuse tõttu võib olla keeruline analüüsida.

Transformerite mõju NLP-le

Transformaatorid on NLP valdkonnas revolutsiooniliselt muutnud, võimaldades mudelitel paralleelselt töödelda andmejadasid, mis suurendas järsult suurte närvivõrkude treenimise kiirust ja tõhusust. Nad tutvustasid enesetähelepanu mehhanismi, mis võimaldab mudelitel kaaluda sisendandmete iga osa olulisust, sõltumata järjestuse kaugusest. See tõi kaasa enneolematuid täiustusi paljudes NLP ülesannetes, sealhulgas, kuid mitte ainult, tõlkimine, küsimustele vastamine ja teksti kokkuvõte.

Teadusuuringud nihutavad jätkuvalt piire, mida trafopõhised mudelid võivad saavutada. GPT-4 ja selle kaasaegsed pole mitte ainult suurema mastaabiga, vaid ka tõhusamad ja võimekamad tänu arhitektuuri ja koolitusmeetodite edusammudele. Sellised tehnikad nagu mõne võttega õpe, kus mudelid täidavad ülesandeid minimaalsete näidetega, ja meetodid tõhusamaks ülekandeõppeks on praeguste uuringute esirinnas.

Sellised keelemudelid nagu trafodel põhinevad mudelid õpivad andmetest, mis võivad sisaldada eelarvamusi. Teadlased ja praktikud töötavad aktiivselt nende eelarvamuste tuvastamise, mõistmise ja leevendamise nimel. Tehnikad ulatuvad kureeritud treeningandmete kogumistest õiglusele ja neutraalsusele suunatud treeningujärgsete kohandusteni.

Olen viimased viis aastat veetnud masinõppe ja süvaõppe põnevasse maailma sukeldudes. Minu kirg ja teadmised on pannud mind panustama enam kui 50 erinevasse tarkvaratehnoloogia projekti, keskendudes eelkõige AI/ML-ile. Minu jätkuv uudishimu on tõmmanud mind ka loomuliku keele töötlemise poole, valdkonda, mida ma innukalt edasi uurin.