Suurte keelemudelite (LLM) arhitektuur

Transformeri arhitektuur: Kaasaegsete LLM-ide alus

Transformeri arhitektuur kujutab endast fundamentaalset läbimurret loomuliku keele töötlemise valdkonnas ja moodustab kõigi kaasaegsete suurte keelemudelite (LLM) aluse. Erinevalt varasematest lähenemisviisidest, mis põhinesid rekurrentsetel (RNN) või konvolutsioonilistel (CNN) närvivõrkudel, kasutavad transformerid nn tähelepanu mehhanismi, mis võimaldab tõhusalt haarata pikaajalisi sõltuvusi tekstis ilma järjestikuse töötlemiseta. See arhitektuuriline alus on võtmetähtsusega keelemudelite tõhusa treenimisprotsessi jaoks.

Transformeri arhitektuuri võtmeomadus on selle paralleelsus - kõiki sisendjada tokeneid saab töödelda samaaegselt, mis kiirendab dramaatiliselt nii treenimist kui ka järeldamist. Standardne transformer koosneb kodeerijast (kodeeriv osa) ja dekooderist (dekodeeriv osa), kusjuures kaasaegsed LLM-id nagu GPT kasutavad peamiselt ainult dekoodri arhitektuuri, samas kui mudelid nagu BERT on ainult kodeerija arhitektuuriga. Mudelid nagu T5 või BART kasutavad täielikku kodeerija-dekoodri arhitektuuri.

Transformeri mudelite tehnilised spetsifikatsioonid

Kaasaegsed LLM-id nagu GPT-4, Claude või Llama 2 rakendavad sügavaid transformeri arhitektuure kümnete kuni sadade kihtidega. Iga kiht (layer) töötleb teavet mitmepealise tähelepanu mehhanismide ja edasisöödu närvivõrkude kaudu. Mudeli jõudlus määratakse suuresti parameetrite (kaalude) arvuga, mis ulatub väiksemate mudelite puhul ühikutest miljarditest kuni sadade miljardite või isegi triljoniteni suurimate süsteemide puhul.

Enesetähelepanu mehhanismid ja nende rakendamine

Enesetähelepanu (mõnikord nimetatakse ka skaleeritud punktkorrutise tähelepanuks) kujutab endast transformeri arhitektuuri võtmekomponenti. See mehhanism võimaldab mudelil hinnata suhteid ja sõltuvusi kõigi jada tokenite vahel ning dünaamiliselt määrata, millistele teksti osadele keskenduda konkreetse sõna või fraasi tõlgendamisel.

Tehnilisest seisukohast muudab enesetähelepanu iga tokeni kolmeks erinevaks vektoriks: päring (Q), võti (K) ja väärtus (V). Järgnev tähelepanu arvutus hõlmab maatriksite Q ja K korrutamist, tulemuse skaleerimist, softmax-funktsiooni rakendamist tähelepanu kaalude saamiseks ja lõpuks korrutamist maatriksiga V, et saada kontekstiga rikastatud esitus. Matemaatiliselt saab seda protsessi väljendada võrrandiga:

Tähelepanu(Q, K, V) = softmax(QKT / √dk)V

Mitmepealine tähelepanu

Kaasaegsed LLM-id kasutavad nn mitmepealist tähelepanu, mis võimaldab mudelil samaaegselt jälgida erinevat tüüpi suhteid tekstis. Näiteks üks tähelepanu pea võib jälgida süntaktilisi suhteid, samas kui teine keskendub semantilisele sarnasusele või koreferentsiaalsetele suhetele. Tähelepanu peade arv on oluline hüperparameeter, mis tavaliselt ulatub 12-st väiksemate mudelite puhul kuni 96 või enamani suurimate süsteemide puhul. Iga pea opereerib madalamas mõõtmes kui algne manustamisvektor, mis tagab arvutusliku tõhususe, säilitades samal ajal mudeli väljendusvõime.

Manustamise mõõtmed ja tokenite esitus

Manustamise mõõde kujutab endast võtmetähtsusega hüperparameetrit, mis määrab üksikute tokenite vektorilise esituse suuruse keelemudelis. Kaasaegsetes LLM-ides ulatub see väärtus tavaliselt 768-st väiksemate mudelite puhul kuni 12288 või enamani suurimate süsteemide puhul. Suurem manustamise mõõde võimaldab haarata peenemaid semantilisi nüansse ja keerukamaid lingvistilisi suhteid, kuid samal ajal suurendab see arvutuslikku keerukust ja mudeli parameetrite hulka.

Tokenite konverteerimise protsess manustamisteks hõlmab otsingutabelit (lookup table), kus igale võimalikule tokenile vastab unikaalne manustamisvektor. Neid algseid manustamisi rikastatakse täiendavalt positsioonilise teabega nn positsiooniliste manustamiste kaudu, mida saab rakendada kas õpitavate parameetritena või deterministlike sinusoidsete funktsioonide abil.

Manustamiste kontekstuaalne mahtuvus

LLM-ide manustamiste oluline aspekt on nende kontekstuaalne mahtuvus, st võime säilitada teavet tokenite vaheliste suhete kohta pikkade jadade lõikes. Kaasaegsed mudelid nagu GPT-4 või Claude 3 Opus saavutavad kontekstiaknaid suurusega 32K kuni 128K tokenit, mis võimaldab töödelda pikki dokumente, keerukaid vestlusi või keerukaid juhiseid. Positsiooniliste manustamiste korrektne rakendamine on kriitilise tähtsusega kontekstiakna tõhusaks skaleerimiseks, kusjuures täiustatud mudelid kasutavad tehnikaid nagu RoPE (Rotary Position Embedding) või ALiBi (Attention with Linear Biases), et parandada jõudlust pikkadel jadadel.

Edasisöödu närvivõrgud LLM-ides

Edasisöödu närvivõrgud (FFN) moodustavad iga transformeri kihi teise peamise komponendi, järgnedes enesetähelepanu mehhanismile. Kuigi tähelepanu haarab tokenite vahelisi suhteid, töötleb FFN teavet iga tokeni jaoks eraldi ja rakendab mittelineaarseid teisendusi, mis on mudeli väljendusvõime jaoks võtmetähtsusega.

Tüüpiline FFN-i rakendus transformeris hõlmab kahte lineaarset teisendust aktiveerimisfunktsiooniga (kõige sagedamini ReLU või GELU) nende vahel. Matemaatiliselt saab seda protsessi väljendada järgmiselt:

FFN(x) = Linear2(Aktiveerimine(Linear1(x)))

FFN-i parametriseerimine ja optimeerimine

Arhitektuuri seisukohast on FFN-i võtmeparameeter nn varjatud mõõde, mis määrab vahetulemuse suuruse pärast esimest lineaarset teisendust. See väärtus on tavaliselt 4 korda suurem kui manustamise mõõde, mis tagab piisava mahutavuse keerukate mustrite haaramiseks. Kaasaegsetes arhitektuurides nagu PaLM või Chinchilla katsetatakse alternatiivsete konfiguratsioonidega, sealhulgas SwiGLU või GeGLU aktiveerimistega ja ekspertide segude lähenemisviisidega, mis suurendavad veelgi FFN komponentide tõhusust.

FFN komponentide huvitav aspekt on see, et need moodustavad enamiku kaasaegsete LLM-ide parameetritest - tavaliselt 60-70% kõigist kaaludest. See muudab need peamisteks kandidaatideks optimeerimistehnikatele nagu kärpimine (ebavajalike kaalude eemaldamine), kvantimine või madala astmega lähendamine juhtudel, kui on vaja vähendada mudeli mälunõudeid.

Kvantimine ja muud optimeerimistehnikad

Kvantimine kujutab endast võtmetähtsusega optimeerimistehnikat, mis võimaldab vähendada LLM-ide mälunõudeid, säilitades samal ajal enamiku nende võimetest. Põhimõte seisneb mudeli parameetrite teisendamises kõrge täpsusega (tavaliselt 32-bitised ujukomaarvud) madalamale täpsusele (16-bitine, 8-bitine või isegi 4-bitine esitus). Korrektselt rakendatud kvantimine võib vähendada mudeli suurust kuni 8 korda minimaalse mõjuga vastuste kvaliteedile.

Kaasaegsed lähenemisviisid nagu GPTQ, AWQ või QLoRA rakendavad keerukaid kvantimisalgoritme, mis optimeerivad protsessi kaalude statistiliste omaduste ja nende tähtsuse alusel mudeli täpsuse jaoks. Treenimisjärgne kvantimine (PTQ) rakendab kompressiooni juba treenitud mudelile, samas kui kvantimiseteadlik treenimine (QAT) integreerib kvantimise aspektid otse treenimisprotsessi.

Muud optimeerimistehnikad

Lisaks kvantimisele kasutavad kaasaegsed LLM-id mitmeid muid optimeerimistehnikaid:

Mudeli kärpimine - vähem oluliste kaalude või tervete mudelikomponentide süstemaatiline eemaldamine nende mõju alusel lõpptulemusele

Teadmiste destilleerimine - väiksema "õpilas" mudeli treenimine nii, et see jäljendaks suurema "õpetaja" mudeli käitumist

Madala astmega kohandamine - valitud mudelikomponentide muutmine madala astmega maatriksite abil, mis võimaldab tõhusat peenhäälestust (fine-tuning) minimaalsete mälunõuetega

Hõre tähelepanu - tähelepanu mehhanismide rakendamine, mis ei pea hindama suhteid kõigi tokenite vahel, vaid keskenduvad ainult potentsiaalselt asjakohastele paaridele

Mudeli sharding ja hajutatud töötlemine

Mudeli sharding kujutab endast tehnikat suurte keelemudelite parameetrite ja arvutuste jaotamiseks mitmele arvutusseadmele (GPU/TPU), mis võimaldab tõhusat treenimist ja mudelite kasutuselevõttu, mis on liiga suured, et mahtuda ühe kiirendi mällu. Shardimiseks on neli peamist lähenemisviisi, millest igaühel on oma eelised ja piirangud.

Tensori paralleelsus jaotab üksikud maatriksid ja tensorid segmentideks, mida töödeldakse samaaegselt erinevatel seadmetel. See lähenemisviis minimeerib kommunikatsiooni üldkulusid, kuid nõuab kiirendite vahel kiiret ühendust.

Konveieri paralleelsus jaotab terved mudeli kihid erinevatele seadmetele, mis töötlevad andmeid järjestikku nagu konveier. See lähenemisviis kasutab mälu tõhusalt, kuid võib põhjustada seadmete ebaühtlast koormust.

Täiustatud jaotusstrateegiad

3D paralleelsus kombineerib tensori ja konveieri paralleelsust andmete paralleelsusega (erinevate partiide näidiste töötlemine erinevatel seadmetel), mis võimaldab maksimaalselt ära kasutada olemasolevaid arvutusressursse eriti suurte mudelite treenimisel.

ZeRO (Zero Redundancy Optimizer) kõrvaldab liiasuse optimeerija olekute, gradientide ja mudeli parameetrite salvestamisel üle GPU-de. ZeRO-3, kõige arenenum variant, jaotab üksikud mudeli parameetrid nii, et iga GPU salvestab ainult väikese osa kogu mudelist, mis võimaldab treenida mitmemiljardilisi mudeleid isegi suhteliselt piiratud riistvarasüsteemides.

Tõhusate sharding-strateegiate rakendamine nõuab spetsialiseeritud raamistikke nagu DeepSpeed, Megatron-LM või Mesh TensorFlow, mis automatiseerivad keerukaid jaotamise ja sünkroniseerimise aspekte. Need raamistikud rakendavad sageli täiendavaid optimeerimisi nagu gradientide kontrollpunktid, segatäpsusega treenimine või aktiveerimiste ümberarvutamine, et veelgi parandada tõhusust ja vähendada mälunõudeid.

Kaasaegsete keelemudelite arhitektuuride võrdlus

Arhitektuurilised erinevused kaasaegsete LLM-ide vahel mängivad võtmerolli nende võimekuses, tõhususes ja sobivuses erinevateks rakendusteks. Kuigi kõik kasutavad transformeri alust, esineb olulisi variatsioone üksikute komponentide rakendamisel, mis mõjutavad nende jõudlust ja omadusi.

GPT arhitektuur (Generative Pre-trained Transformer) kasutab ainult dekoodri lähenemist autoregressiivse teksti genereerimisega, mis muudab selle ideaalseks generatiivsete ülesannete jaoks. Uuemad versioonid nagu GPT-4 rakendavad täiustatud tehnikaid nii arhitektuuri tasemel (suurem kontekstiaken, multimodaalsed sisendid) kui ka treenimise tasemel (RLHF, konstitutsioonilised lähenemisviisid).

PaLM arhitektuur (Pathways Language Model) Google'ilt tõi sisse uuendusi nagu SwiGLU aktiveerimised, mitmepäringuline tähelepanu ja skaleeritud RoPE, mis võimaldas tõhusamat skaleerimist sadade miljardite parameetriteni. Gemini, PaLM-i järglane, integreeris multimodaalsed võimed veelgi otse mudeli arhitektuuri.

Spetsialiseeritud arhitektuurid ja uued lähenemisviisid

Ekspertide segud (MoE) nagu Mixtral kujutavad endast hübriidset lähenemist, kus iga tokenit töödeldakse ainult spetsialiseeritud "ekspert" võrkude alamhulga poolt. See tehnika võimaldab dramaatiliselt suurendada mudeli parameetrite arvu, säilitades samal ajal sarnase arvutusliku keerukuse järeldamise ajal.

Olekuruumi mudelid nagu Mamba kujutavad endast potentsiaalset alternatiivi transformeritele, mis kombineerib rekurrentsete ja konvolutsiooniliste lähenemisviiside eeliseid lineaarse skaleeritavusega jada pikkuse suhtes. Need mudelid on eriti paljulubavad väga pikkade kontekstide (100K+ tokenit) töötlemiseks.

Konkreetse rakenduse jaoks arhitektuuri valimisel tuleb arvestada kompromisse täpsuse, arvutusliku tõhususe, mälunõuete ja spetsiifiliste võimete nagu pikaajaline mälu või multimodaalne töötlemine vahel. Uusimad uuringud keskenduvad hübriidsetele lähenemisviisidele, mis kombineerivad erinevate arhitektuuride tugevaid külgi, ja tehnikatele nagu otsinguga täiendatud genereerimine (retrieval-augmented generation), mis laiendavad mudelite võimekust selgesõnalise juurdepääsuga välistele teadmistele.

GuideGlare Team
Explicaire'i tarkvaraekspertide meeskond

Selle artikli koostas Explicaire'i uurimis- ja arendusmeeskond, mis on spetsialiseerunud täiustatud tehnoloogiliste tarkvaralahenduste, sealhulgas tehisintellekti, rakendamisele ja integreerimisele äriprotsessidesse. Rohkem meie ettevõtte kohta.