Nagy nyelvi modellek
Nagy nyelvi modell (large language model, LLM) — a gépi tanulás egy olyan modelltípusa, amelyet mély neurális hálózattal valósítanak meg, nagy számú paraméterrel (általában milliárdos vagy annál nagyobb nagyságrendben), és nagy mennyiségű szöveges adaton tanítanak be. A „nagy" jelző ebben az összefüggésben egyszerre vonatkozik a paraméterek méretarányára és a tanítókorpusz terjedelmére, amely a modern rendszerekben eléri a több petabájtot és a billiónyi tokent. Az LLM-modellek tanítása elsősorban ön- vagy félig önfelügyelt (self-/semi-supervised) módszerrel történik: a modell a sorozat következő tokenjét jósolja meg, ezáltal elsajátítja a nyelv statisztikai törvényszerűségeit. A paraméterek, az adatok és a számítási lépések növelése kiszámítható minőségjavulást eredményez, amelyet a scaling laws támaszt alá.
A BERT (2017) megjelenése, és különösen a GPT-3 (2020) óta az LLM-alapú megközelítés vált meghatározóvá a természetes nyelvfeldolgozásban. A modern modellek (GPT-4o, Claude 3, Gemini 1.5, LLaMA 3 stb.) különleges beállítás nélkül képesek szövegeket és programkódot írni, fordítani, összefoglalni, kérdésekre válaszolni és következtetési láncokat felépíteni; a multimodális változatok képeket, hangot és videót is elemeznek. Az alkalmazott feladathoz való alkalmazkodás fine-tuning segítségével vagy prompt engineering, illetve in-context learning révén valósul meg. Az LLM-ek teljesítményük mellett öröklik a forrásadatok torzításait és hibáit, hajlamosak a „hallucinációra", és nagy számítási erőforrásokat igényelnek; ezért a kutatások ma a viselkedés összehangolására, a korpuszok szűrésére és az energiahatékony architektúrákra összpontosulnak.
Architektúra
A modern LLM-ek szinte kivétel nélkül a Transformer (transzformer) architektúrát alkalmazzák – ez egy önfigyelmi mechanizmussal (self-attention) rendelkező hálózat. A transzformer modellt először az Attention is All You Need című cikkben ismertette a Google fejlesztőcsapata 2017-ben.
A Transformer architektúra szekvenciák feldolgozására szolgáló alapvető neurális hálózati séma, amely két logikai modulból áll: enkóderből (kódolja a bemenetet) és dekóderből (előállítja a kimenetet). A modell bemenete egy sorozat, amelyből vektoros reprezentáció (embedding) készül, majd pozicionális kódolás vektora adódik hozzá, ezután az elemek – sorrendtől független módon – az enkódáló komponensbe kerülnek (párhuzamos feldolgozás), majd a dekódáló komponens bemenetére kerül a sorozat egy része és az enkódáló kimenete. Eredményként egy új kimeneti sorozat jön létre.
A transzformer enkódáló komponense több azonos enkóder-rétegből áll; a dekódáló komponens hasonlóképpen épül fel. Maga a transzformer figyelmi modellek sorozata, amelyek az eredeti vektorsorozatot egy új sorozattá alakítják át, ahol minden elem figyelembe veszi a többi kontextusát. Az enkóder a bemeneti adatok rejtett reprezentációit állítja elő, megőrizve az elemek közötti kapcsolatokra vonatkozó információt. A dekóder a rejtett reprezentációk alapján új embedding-sorozatot hoz létre a kimeneti tokenek számára. Ezekből az embeddingekből a nyelvi modell segítségével generálódnak a végső kimeneti elemek.
Mivel a transzformereket eredetileg olyan feladatokra fejlesztették, mint a gépi fordítás, architektúrájuk tartalmaz enkódert (amely a bemeneti szöveget dolgozza fel, például a forrásmondat) és dekódert (amely a kimenetet állítja elő, például a fordítást). Sok nyelvi modellben azonban csak a dekódáló részt alkalmazzák, autoregresszív módban.
A transzformereket három fő konfigurációban alkalmazzák, amelyek mindegyike eltérő módon használja az enkódert és a dekódert, és más-más feladatkörre irányul:
- Enkóder-transzformerek (kétirányú) szándékosan elrejtett szövegrészletek visszaállítását tanulják meg, ezért jól alkalmazhatók „megértési" feladatokra – osztályozásra, tények kinyerésére, szemantikus keresésre.
- Dekóder-transzformerek (autoregresszív) a következő token előrejelzésére optimalizáltak, és ott alkalmazzák őket, ahol folyamatos kimenet szükséges: párbeszédes ügynökök, kódkiegészítés, kreatív generálás.
- Teljes „enkóder + dekóder" sémák ötvözik mindkét megközelítést: az enkóder az egész bemeneti szöveg reprezentációját építi fel, a dekóder pedig erre támaszkodva lépésről lépésre állítja elő az eredményt. Ez a konfiguráció gépi fordításhoz, összefoglaláshoz és kérdés-válasz rendszerekhez a leghatékonyabb.
Tokenizáció
A tokenizáció a szövegfeldolgozás kulcsfontosságú kezdeti lépése a nagy nyelvi modellekben. Ebben a fázisban a szimbólumok folyamatos sorozatát különálló egységekre – tokenekre – bontják. A tokenizáció feladata a szimbólumsorozat strukturált elemek sorozatává alakítása, amelyek biztosítják a neurális hálózat hatékony működését.
Nyelvészeti szempontból a tokenizáció bizonyos mértékig megfeleltethetné a nyelv minimális, önálló jelentéssel vagy funkcionális szereppel bíró egységeinek – például szavaknak, morfémáknak vagy töredékeiknek – elkülönítési folyamatával. Ugyanakkor a token sokszor csupán statisztikailag gyakran előforduló szimbólumsorozat, ezért fontos, hogy ne becsüljük túl az összes token nyelvészeti értelmességét. Az alkalmazott sémától függően token lehet: teljes szó, részszó, egyedi karakter vagy jelölőcímke (például a sorozat elejét és végét jelző markerek).
A tokenizáció lehetővé teszi:
- a szókincs méretének kezelhető korlátok közé szorítását;
- a ritka és új szavak helyes kezelését;
- a szöveg egyértelmű leképezését numerikus azonosítók sorozatára.
A szöveg felosztásához részszavas algoritmusokat alkalmaznak; a legelterjedtebbek a Byte Pair Encoding (BPE), a WordPiece és az UnigramLM. Mindegyik a korpusz leggyakoribb töredékeiből épít szótárt, és azt alkalmazza bármely bemeneti szöveg egymást követő szegmentálásához.
A tokenizációs lépés után a szöveg minden egységét – a tokent – a neurális hálózat számára értelmezhető numerikus reprezentációvá alakítják. Ez a folyamat több egymást követő lépésből áll:
- Tokenek azonosítóvá alakítása: Minden token egyedi numerikus indexhez rendelődik az előre felépített tokenszótár alapján. A szöveges tokeneket egyedi numerikus azonosítóikkal (ID) helyettesítik. Minden ID a token sorszáma az előre felépített szótárban, ami lehetővé teszi, hogy a neurális hálózat számokkal dolgozzon szavak helyett.
- Azonosítók embeddingekké alakítása: Minden token-azonosítóhoz kikeresik vagy kiszámítják a megfelelő, rögzített dimenziójú vektort – az embeddinget (embedding). Ez a többdimenziós numerikus reprezentáció felváltja az azonosítót, és már tartalmaz információt a token jelentéséről és kontextuális tulajdonságairól. Minden embedding azonos hosszúságú a feldolgozás megkönnyítése érdekében.
- Pozicionális kódolások hozzáadása: Mivel a Transformer architektúra önmagában nem veszi figyelembe az elemek sorrendjét, az embeddingekhez pozicionális kódolásokat (positional encodings) adnak hozzá, amelyek információt nyújtanak a token sorozatbeli pozíciójáról. Más szóval, ennek köszönhetően a modell „tudja", hogy melyik token áll az első, második, harmadik helyen és így tovább a mondatban.
- Bemeneti mátrixok kialakítása: A kimenet egy
[длина последовательности × размерность эмбеддинга]méretű mátrix, amely a szöveg kezdeti reprezentációjaként szolgál, és a neurális hálózat, különösen a Transformer önfigyelmi (self-attention) blokkjainak bemenetére kerül. A mátrix minden sora egy tokennek felel meg, a benne lévő vektor pedig hordozza mind a token szemantikai értékét (embedding), mind a szövegbeli pozíciójára vonatkozó információt (pozicionális kódolás).
Текст → Токены → Идентификаторы → Эмбеддинги + Позиционные кодировки → Вход в модель
A figyelmi mechanizmus
A figyelmi mechanizmus (attention mechanism) a Transformer architektúra kulcsfontosságú komponense, amely lehetővé teszi, hogy a tokenek közötti függőségeket a sorozatban elfoglalt távolságuktól függetlenül figyelembe vegyék. Miután a bemeneti szöveg vektorok sorozatává alakult, ez a sorozat a transzformer központi elemébe – a figyelmi blokkba (attention block) – kerül.
A figyelmi mechanizmus azt a módot jelenti, ahogyan a neurális hálózat meghatározza, hogy a bemeneti adatok mely részeire kell nagyobb figyelmet fordítani a sorozat egyes elemeinek feldolgozásakor. Ennek köszönhetően a szöveg egyes töredékeinek vektorai kölcsönhatásba léphetnek egymással, gazdagodnak az információval, és frissítik értékeiket a környező kontextus figyelembevételével. Ezáltal a modell képes hatékonyan megragadni mind a lokális, mind a távolabbi függőségeket a tokenek között, ami lényegesen javítja a komplex szövegstruktúrák értelmezési képességét.
A természetes nyelvben egy szó vagy kifejezés jelentése nem önmagában ragadható meg – a kontextustól, azaz a szövegkörnyezetben lévő többi szótól és szerkezettől függ. A neurális hálózatokban a szöveg vektoros reprezentációkon – embeddingeken – keresztül kódolódik, amelyek numerikusan tükrözik a tokenek lexikai és szintaktikai tulajdonságait. Közvetlen figyelmi mechanizmus nélkül (mint a Transformerben) a kontextusinformáció vagy elveszne nagy távolságokon (mint az egyszerű modellekben), vagy szekvenciálisan terjedne tovább, ami kevésbé hatékony a távolabbi kapcsolatok megragadásában. A természetes nyelvben azonban egy szó vagy szintaktikai szerkezet jelentése dinamikus, és értelmezésének a kontextustól függően kell alkalmazkodnia. A figyelmi mechanizmus a vektoros reprezentációk kontextualizálását végzi, ami azt jelenti (vagy egyszerűen :):
- Minden token „kiértékeli" saját fontosságát a mondat többi tokenjéhez képest.
- A frissítési folyamat során a vektoros reprezentációk kölcsönös információval gazdagodnak, tükrözve a szintaktikai függőségeket, szemantikai szerepeket és pragmatikai kontextust.
Ennek az információcserének eredményeként a frissített vektorok nemcsak a token saját jelentését kezdik kódolni, hanem grammatikai kapcsolatait (szintaxis), a leírt helyzetben betöltött szerepét (szemantika) és általános kontextusban való értelmét (pragmatika) is.
Входные векторы токенов (с позициями) → Механизм Внимания (Взаимодействие векторов) → Контекстуализированные векторы токенов (Векторы обогащенные информацией о связях с другими токенами)
A figyelmi mechanizmus technikai megvalósítása
A figyelmi mechanizmus belső felépítése több kulcsfontosságú számítási lépést és komponenst tartalmaz. Minden bemeneti vektorhoz három vektort generálnak: Lekérdezés (Query), Kulcs (Key) és Érték (Value). Ezek kölcsönhatása alapján számítják ki a figyelmi súlyokat, amelyeket aztán a frissített, kontextualizált vektoros reprezentációk előállítására használnak. Elterjedt megközelítés a többfejű architektúra (Multi-Head Attention) alkalmazása az információ párhuzamos feldolgozásához.
Lekérdezés (Query), Kulcs (Key), Érték (Value)
A figyelmi mechanizmus számításának alapja minden bemeneti vektor (amely a token embeddingje és pozicionális kódolása összegeként áll elő) három különböző vektoros reprezentációvá való átalakítása: Lekérdezés (Query, Q), Kulcs (Key, K) és Érték (Value, V).
Konceptuálisan ez a három vektor a következő szerepeket tölti be a figyelmi mechanizmusban:
- Lekérdezés (Query): Az aktuális token vektorát jelenti, amely megindítja a releváns információ keresésének folyamatát a sorozatban. Tekinthető „kérdésként" vagy „szondaként", amelyet a többi token aktuálishoz viszonyított fontosságának értékelésére használnak.
- Kulcs (Key): Azonosítóként vagy „címkeként" funkcionál, amely az egyes tokenek tartalmának egy aspektusát írja le. Az aktuális token Lekérdezés (Q) vektorát összehasonlítják a sorozat összes Kulcs (K) vektorával (beleértve a sajátját is), hogy meghatározzák az egyezés vagy relevancia mértékét.
- Érték (Value): Tartalmazza az egyes tokenekhez rendelt tényleges információt vagy reprezentációt, amelyet továbbítanak. Miután a Lekérdezések és Kulcsok kölcsönhatása alapján kiszámítják a figyelmi súlyokat, ezeket a súlyokat az Érték vektorokra alkalmazzák, hogy kialakítsák a végső súlyozott reprezentációt, amely az adott tokenre vonatkozó figyelmi mechanizmus kimenetét képezi.
Nagy nyelvi modellek tanítása
Az LLM-ek tanítása jellemzően két fázisban zajlik:
- Előtanítás (Pretraining) Ebben a fázisban a modell nagy, jelöletlen szövegkorpuszon tanul önfelügyelt tanulási módszerrel (self-supervised learning). A feladat a sorozat következő tokenjének előrejelzéséből (autoregresszió) vagy a rejtett részletek visszaállításából (maszkolásos tanítás) áll. Az előtanítás lehetővé teszi, hogy a modell elsajátítsa a nyelv kiterjedt statisztikai törvényszerűségeit, a grammatikát, a világgal kapcsolatos tényeket és az alapvető következtetési formákat.
- Finomhangolás (Fine-tuning) Az előtanítás után a modellt speciális adatokon tanítják tovább meghatározott feladatok elvégzésére, például válaszgenerálásra, szövegosztályozásra vagy utasítások végrehajtására. A modern megközelítések közé tartozik:
- Felügyelt finomhangolás jelölt adathalmazokon (supervised fine-tuning).
- Emberi visszajelzéssel megerősített tanulás (RLHF, reinforcement learning from human feedback) a modell viselkedésének a minőségi, biztonsági és hasznosságra vonatkozó célmutatókhoz való igazítása céljából.
Problémák és korlátok
A lenyűgöző előrehaladás ellenére a modern nagy nyelvi modellek (LLM) számos problémával és korláttal rendelkeznek:
I. Számítási és Architektúrális Korlátok
- Magas számítási költségek: Az LLM-ek tanítása és üzemeltetése jelentős számítási kapacitást, időt és energiát igényel, ami magas gazdasági és környezeti költségekkel jár. Emellett a generálás autoregresszív jellege (a tokenek szekvenciális létrehozása) korlátozza a párhuzamosíthatóságot, és lassítja a következtetési sebességet a nem autoregresszív megközelítésekhez képest.
- Kontextushossz korlátja: A Transformer architektúra számítási költsége és memóriaigénye a sorozat hosszának négyzetével arányosan nő. Ez arra kényszerít, hogy rögzített korlátot (kontextusablakot) állítsanak be a modell által egyszerre feldolgozható szöveg mennyiségére, ami hosszú dokumentumok csonkolásához és az ablakon kívül eső információ elvesztéséhez vezet.
II. A Generálás Megbízhatóságának és Pontosságának Problémái
- Hallucinációk: Tényszerűen hibás, de meggyőzően hangzó információ generálása. Ez összefügg azzal, hogy a modell nem rendelkezik valódi világmegértéssel, statisztikai adatmintázatokra támaszkodik, és képtelen a generált állítások ellenőrzésére.
- Hibaterjedés (Error Propagation): Az a folyamat, amelynek során a generálás korai szakaszaiban elkövetett hibák felerősödnek, és növekvő pontatlanságokhoz vezetnek a következő lépésekben, csökkentve a szöveg általános minőségét és koherenciáját.
- Korlátozott kompozicionalitás: Nehézségek többlépéses logikai következtetést vagy pontos számításokat igénylő feladatoknál (például többjegyű számok szorzása, rejtvények megoldása). A modellek pontossága az ilyen feladatokon a generálás autoregresszív jellege miatt meredeken csökken a nehézség növekedésével.
- Ismétlések: Hajlam a szavak vagy mondatfrázisok felesleges ismétlésére, ami csökkenti a szöveg informatív értékét és olvashatóságát. Az edzési sajátosságokhoz és a dekódolási algoritmusokhoz (a következő token kiválasztásához) kapcsolódik.
- Fordított átok (Reversal Curse): A modell képtelensége arra, hogy automatikusan általánosítsa az ismereteket fordított irányban: ha az „A az B" állításon tanult, a modell gyakran nem tudja levezetni, hogy „B az A".
- A „kreativitás-pontosság" kompromisszum: Szükség van az egyensúly megteremtésére a változatos, eredeti válaszok generálása és a ténybeli pontosság fenntartása között. Az egyik szempontot javítani sokszor a másik rovására megy, például a magas kreativitás összefügghet a hallucinációk növekedésével.
III. Interakció és Irányíthatóság Problémái:
- Alacsony irányíthatóság: A generált szöveg stílusának, hangnemének, tartalmának vagy összetett utasítások követésének pontos szabályozásának nehézsége. Az irányíthatóság erősen függ a bemeneti utasítások (promptok) minőségétől és a finomhangolási módszerektől (fine-tuning).
- Megfogalmazásérzékenység: A bemeneti kérésben (promptban) bekövetkező kisebb változások lényegesen eltérő válaszokhoz vezethetnek, még akkor is, ha a kérés szemantikája megmarad. Ez megnehezíti a stabil és kiszámítható eredmények elérését.
IV. Etikai és Társadalmi Szempontok:
- Az elfogultság és az igazságosság problémái: A modellek reprodukálhatják és felerősíthetik a tanítási adatokban meglévő társadalmi sztereotípiákat, elfogultságot vagy toxicitást. A modellek méltányosságának és biztonságának biztosítása összetett feladat.
- Az összehangolás problémája (LLM Alignment): Általánosabb probléma, amely magában foglalja az előző pontot. Ez a modell viselkedésének az emberi értékekkel, szándékokkal és etikai normákkal való összhangba hozásának feladata. Magában foglalja az elfogultság, a hallucinációk és a káros tartalmak generálása elleni küzdelmet, valamint az irányíthatóság javítását.
- A rosszindulatú felhasználás kockázatai: Az LLM-ek felhasználásának lehetősége dezinformáció létrehozására és tömeges terjesztésére, adathalászatra, spamre, kártékony kód generálására vagy meggyőző hamis szövegek előállítására, ami veszélyeket jelent az információs és személyes biztonságra, és aláássa a társadalmi bizalmat.
Hivatkozások:
- „Nagy nyelvi modell" // Vikipédia (Orosz verzió)
- Large Language Model // Wikipedia (English version)
- Grand Modèle de Langage // Wikipédia (Version française)
- Sprachmodell // Wikipedia (Deutsche version)
- Naveed H. et al. // A Comprehensive Overview of Large Language Models // arXiv:2307.06435, 2023
Irodalom
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Brown, T. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
- Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
- Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
- Bubeck, S. et al. (2023). Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712.
- OpenAI. (2023). GPT-4 Technical Report. arXiv:2303.08774.
- Touvron, H. et al. (2024). The Llama 3 Herd of Models. arXiv:2407.21783.