Mesterséges Intelligencia
Dekóder-alapú nagy nyelvű modellek: teljes útmutató
Nagy nyelvi modellek Az LLM-ek forradalmasították a természetes nyelvi feldolgozás (NLP) területét azáltal, hogy figyelemre méltó képességeket mutattak be az emberhez hasonló szöveg létrehozásában, a kérdések megválaszolásában és a nyelvi feladatok széles skálájában való segítségnyújtásban. Ezeknek a nagy teljesítményű modelleknek a lényege a dekóder csak transzformátor architektúra, az eredeti transzformátor-architektúra egyik változata, amelyet az alapdokumentumban javasoltakCsak a figyelem kell” írta: Vaswani et al.
Ebben az átfogó útmutatóban a dekóder-alapú LLM-ek belső működését tárjuk fel, belemélyedve az alapvető építőelemekbe, az építészeti újításokba és a megvalósítás részleteibe, amelyek ezeket a modelleket az NLP-kutatás és -alkalmazások élvonalába juttatták.
A transzformátor architektúrája: felfrissülés
Mielőtt belemerülnénk a dekóder alapú LLM-ek sajátosságaiba, elengedhetetlen, hogy újra átnézzük a transzformátor architektúrát, azt az alapot, amelyre ezek a modellek épülnek. A transzformátor új megközelítést vezetett be a szekvenciamodellezésben, kizárólag a figyelemmechanizmusokra támaszkodva, hogy megragadja az adatok hosszú távú függőségét, anélkül, hogy ismétlődő vagy konvolúciós rétegekre lenne szükség.
Az eredeti transzformátor architektúra két fő összetevőből áll: egy kódolóból és egy dekódolóból. A kódoló feldolgozza a bemeneti szekvenciát, és kontextualizált reprezentációt generál, amelyet aztán a dekóder felhasznál a kimeneti szekvencia előállításához. Ezt az architektúrát eredetileg gépi fordítási feladatokra tervezték, ahol a kódoló a bemeneti mondatot a forrásnyelven dolgozza fel, a dekóder pedig a célnyelven generálja a megfelelő mondatot.
Önfigyelés: A Transformer sikerének kulcsa
A transzformátor az önfigyelem mechanizmus, egy hatékony technika, amely lehetővé teszi a modell számára, hogy a bemeneti szekvencia különböző helyeiről származó információkat mérlegelje és összesítse. A hagyományos sorozatmodellektől eltérően, amelyek szekvenciálisan dolgozzák fel a bemeneti tokeneket, az önfigyelés lehetővé teszi a modell számára, hogy bármilyen tokenpár közötti függőséget rögzítsen, függetlenül azok pozíciójától a sorozatban.
Az önfigyelem művelet három fő lépésre bontható:
- Lekérdezés, kulcs és érték előrejelzések: A bemeneti szekvencia három különálló ábrázolásban van kivetítve: lekérdezések (Q), kulcsok (K), és értékek (V). Ezeket a vetületeket úgy kapjuk meg, hogy a bemenetet megszorozzuk a tanult súlymátrixokkal.
- Figyelempontszám számítás: A bemeneti szekvencia minden pozíciójához a figyelem pontszámát úgy számítják ki, hogy a megfelelő lekérdezési vektor és az összes kulcsvektor közötti pontszorzatot veszik. Ezek a pontszámok az egyes pozíciók relevanciáját mutatják az aktuális feldolgozás alatt álló pozíció szempontjából.
- Az értékek súlyozott összege: A figyelempontszámokat egy softmax függvény segítségével normalizálják, és az eredményül kapott figyelemsúlyokat az értékvektorok súlyozott összegének kiszámítására használják, így az aktuális pozíció kimeneti reprezentációját állítják elő.
A többfejű figyelem, az önfigyelem mechanizmus egyik változata, lehetővé teszi a modell számára, hogy különböző típusú kapcsolatokat rögzítsen azáltal, hogy több „figyelempontszámot” számít ki.fejek” párhuzamosan, mindegyik saját lekérdezés-, kulcs- és értékkivetítésekkel.
Építészeti változatok és konfigurációk
Míg a dekóder alapú LLM-ek alapelvei konzisztensek maradnak, a kutatók különféle architektúraváltozatokat és konfigurációkat vizsgáltak a teljesítmény, a hatékonyság és az általánosítási képességek javítása érdekében. Ebben a részben elmélyülünk a különböző építészeti lehetőségekben és azok következményeiben.
Építészeti típusok
A dekóder alapú LLM-ek nagyjából három fő típusba sorolhatók: kódoló-dekódoló, ok-okozati dekódoló és előtag-dekódoló. Mindegyik architektúratípus eltérő figyelemmintákat mutat.
Kódoló-dekódoló architektúra
A vanilla Transformer modellen alapuló kódoló-dekódoló architektúra két kötegből áll: egy kódolóból és egy dekódolóból. A kódoló halmozott többfejű önfigyelő rétegeket használ a bemeneti szekvencia kódolásához és látens reprezentációk generálásához. A dekódoló ezután keresztfigyelést hajt végre ezeken a reprezentációkban, hogy létrehozza a célszekvenciát. Bár hatékony a különböző NLP feladatokban, kevés LLM, mint pl Flan-T5, alkalmazza ezt az architektúrát.
Oksági dekóder architektúra
Az ok-okozati dekóder architektúrája egy egyirányú figyelemmaszkot tartalmaz, amely lehetővé teszi, hogy minden bemeneti token csak a múltbeli tokenekre és önmagára figyeljen. A bemeneti és kimeneti tokenek feldolgozása ugyanazon a dekódolón belül történik. Nevezetes modellek, mint pl GPT-1A , a GPT-2 és a GPT-3 erre az architektúrára épül, a GPT-3 pedig figyelemre méltó kontextuson belüli tanulási képességeket mutat be. Sok LLM, köztük az OPT, a BLOOM és a Gopher, széles körben alkalmazza az oksági dekódolókat.
Prefix dekóder architektúra
A nem ok-okozati dekóderként is ismert előtag-dekódoló architektúra módosítja az ok-okozati dekódolók maszkolási mechanizmusát, hogy lehetővé tegye a kétirányú figyelmet az előtagok felett, és az egyirányú figyelmet a generált tokeneken. A kódoló-dekódoló architektúrához hasonlóan az előtag-dekódolók is kétirányú kódolással tudják kódolni az előtag-szekvenciát, és megosztott paraméterek használatával autoregresszíven előre jelezhetik a kimeneti tokeneket. Az előtag-dekódereken alapuló LLM-ek közé tartozik a GLM130B és az U-PaLM.
Mindhárom architektúratípus bővíthető a szakértői keverék (KM) skálázási technika, amely ritkán aktiválja a neurális hálózatok súlyainak egy részét minden bemenethez. Ezt a megközelítést olyan modelleknél alkalmazták, mint a Switch Transformer és a GLaM, a szakértők számának vagy a teljes paraméterméretnek a növekedése jelentős teljesítményjavulást mutat.
Csak dekóderrel használható transzformátor: Az autoregresszív természet felkarolása
Míg az eredeti transzformátor architektúrát szekvencia-sorrendi feladatokra, például gépi fordításra tervezték, sok NLP-feladat, mint például a nyelvi modellezés és a szöveggenerálás, autoregresszív problémaként fogalmazható meg, ahol a modell egyszerre egy tokent generál, a feltételek függvényében. korábban generált tokenek.
Adja meg a csak dekóderhez használható transzformátort, a transzformátor architektúra egyszerűsített változatát, amely csak a dekóder összetevőt tartja meg. Ez az architektúra különösen jól használható autoregresszív feladatokhoz, mivel egyesével állítja elő a kimeneti tokeneket, felhasználva a korábban generált tokeneket bemeneti kontextusként.
A fő különbség a csak dekódoló transzformátor és az eredeti transzformátor dekódoló között az önfigyelő mechanizmusban rejlik. A csak dekóderre vonatkozó beállításban az önfigyelem műveletet úgy módosítják, hogy a modell ne vegye figyelembe a jövőbeli tokeneket, ezt a tulajdonságot oksági viszonyként ismerik. Ezt a „masked self-attention” nevű technikával érik el, ahol a jövőbeli pozícióknak megfelelő figyelempontszámokat negatív végtelenre állítják, hatékonyan elfedve azokat a softmax normalizálási lépés során.
Dekóder-alapú LLM-ek építészeti összetevői
Míg az önfigyelem és a maszkolt önfigyelem alapelvei ugyanazok maradnak, a modern dekóder-alapú LLM-ek számos építészeti újítást vezettek be a teljesítmény, a hatékonyság és az általánosítási képességek javítása érdekében. Nézzünk meg néhány kulcsfontosságú összetevőt és technikát, amelyeket a legmodernebb LLM-ekben alkalmaznak.
Bemeneti ábrázolás
A bemeneti szekvencia feldolgozása előtt a dekóder alapú LLM-ek tokenizálási és beágyazási technikákat alkalmaznak, hogy a nyers szöveget a modellnek megfelelő numerikus reprezentációvá alakítsák.
tokenizálás: A tokenizálási folyamat a bemeneti szöveget tokenek sorozatává alakítja, amelyek lehetnek szavak, részszavak vagy akár egyedi karakterek is, az alkalmazott tokenizálási stratégiától függően. Az LLM-ek népszerű tokenizálási technikái közé tartozik a Byte-Pair Encoding (BPE), a SentencePiece és a WordPiece. Ezek a módszerek egyensúlyt teremtenek a szókincs mérete és az ábrázolás részletessége között, lehetővé téve a modell számára, hogy hatékonyan kezelje a ritka vagy a szókincsen kívüli szavakat.
Token beágyazások: A tokenizálás után minden token egy sűrű vektoros reprezentációra van leképezve, amelyet token beágyazásnak neveznek. Ezeket a beágyazásokat a betanítási folyamat során tanulják meg, és rögzítik a tokenek közötti szemantikai és szintaktikai kapcsolatokat.
Pozíciós beágyazások: A transzformátormodellek a teljes bemeneti szekvenciát egyidejűleg dolgozzák fel, és hiányzik az ismétlődő modellekben jelen lévő token pozíciók inherens fogalma. A helyzetinformáció beépítése érdekében helyzeti beágyazásokat adnak a token-beágyazásokhoz, lehetővé téve a modell számára, hogy különbséget tudjon tenni a tokenek között a sorozatban elfoglalt helyzetük alapján. A korai LLM-ek szinuszos függvényeken alapuló rögzített helyzetű beágyazásokat használtak, míg az újabb modellek a tanulható pozicionális beágyazásokat vagy az alternatív pozíciókódolási technikákat, például a forgó pozíciós beágyazásokat vizsgálták.
Többfejű figyelemfelkeltő blokkok
A dekóder alapú LLM-ek alapvető építőkövei a többfejű figyelemrétegek, amelyek a korábban leírt maszkolt önfigyelem műveletet hajtják végre. Ezek a rétegek többször egymásra vannak rakva, és mindegyik réteg az előző réteg kimenetét veszi figyelembe, lehetővé téve a modell számára, hogy egyre bonyolultabb függőségeket és reprezentációkat rögzítsen.
Figyelem fejek: Minden többfejű figyelemréteg több „figyelemfejből” áll, amelyek mindegyike saját lekérdezés-, kulcs- és értékprojekciókkal rendelkezik. Ez lehetővé teszi a modell számára, hogy a bemenet különböző aspektusait egyszerre vegye figyelembe, különféle kapcsolatokat és mintákat rögzítve.
Maradék kapcsolatok és rétegnormalizálás: A mélyhálózatok képzésének megkönnyítése és az eltűnő gradiens probléma enyhítése érdekében a dekóder alapú LLM-ek maradék kapcsolatokat és rétegnormalizációs technikákat alkalmaznak. A fennmaradó kapcsolatok hozzáadják a réteg bemenetét a kimenetéhez, lehetővé téve a színátmenetek könnyebb áramlását a visszaterjesztés során. A rétegnormalizálás segít stabilizálni az aktiválásokat és a gradienseket, tovább javítva az edzés stabilitását és teljesítményét.
Feed-Forward Layers
A többfejes figyelemrétegek mellett a dekóder alapú LLM-ek előrecsatolt rétegeket is tartalmaznak, amelyek egy egyszerű előrecsatolt neurális hálózatot alkalmaznak a szekvencia minden pozíciójához. Ezek a rétegek nemlinearitást vezetnek be, és lehetővé teszik a modell számára, hogy bonyolultabb reprezentációkat tanuljon meg.
Aktiválási funkciók: Az aktiválási funkció kiválasztása az előrecsatolt rétegekben jelentősen befolyásolhatja a modell teljesítményét. Míg a korábbi LLM-ek a széles körben használt ReLU aktiválásra támaszkodtak, a legújabb modellek olyan kifinomultabb aktiválási funkciókat alkalmaztak, mint a Gaussian Error Linear Unit (GELU) vagy a SwiGLU aktiválás, amelyek jobb teljesítményt mutattak.
Ritka figyelem és hatékony transzformátorok
Míg az önfigyelő mechanizmus erőteljes, a szekvencia hosszát tekintve másodfokú számítási összetettséggel rendelkezik, ami számításilag költségessé teszi a hosszú sorozatok esetében. Ennek a kihívásnak a megoldására számos technikát javasoltak az önfigyelem számítási és memóriaigényének csökkentésére, lehetővé téve a hosszabb sorozatok hatékony feldolgozását.
Gyér figyelem: A ritka figyelem technikák, mint amilyen a GPT-3 modellben is alkalmazott, szelektíven foglalkoznak a pozíciók egy részhalmazával a beviteli szekvenciában, ahelyett, hogy minden pozícióra figyelempontszámokat számítanának ki. Ez jelentősen csökkentheti a számítási bonyolultságot, miközben fenntartja az ésszerű teljesítményt.
Tolóablak Figyelem: A Mistral 7B modellben bevezetett, csúszóablak figyelem (SWA) egy egyszerű, de hatékony technika, amely az egyes tokenek figyelmi idejét egy rögzített ablakméretre korlátozza. Ez a megközelítés kihasználja a transzformátorrétegek azon képességét, hogy több rétegen keresztül továbbítsák az információkat, hatékonyan növelve a figyelemidőt a teljes önfigyelés négyzetes bonyolultsága nélkül.
Gördülő puffer gyorsítótár: A memóriaigény további csökkentése érdekében, különösen a hosszú sorozatok esetén, a Mistral 7B modell gördülő puffer gyorsítótárat alkalmaz. Ez a technika tárolja és újrafelhasználja a kiszámított kulcs- és értékvektorokat egy rögzített ablakmérethez, elkerülve a redundáns számításokat és minimalizálva a memóriahasználatot.
Csoportos lekérdezés Figyelem: A LLaMA 2 modellben bevezetett csoportos lekérdezési figyelem (GQA) a több lekérdezésből álló figyelemmechanizmus egy változata, amely csoportokra osztja a figyelemfelkeltő fejeket, és mindegyik csoportnak közös kulcs- és értékmátrixa van. Ez a megközelítés egyensúlyt teremt a többszörös lekérdezéses figyelem hatékonysága és a szokásos önfigyelem teljesítménye között, javítva a következtetési időket, miközben megőrzi a jó minőségű eredményeket.