Transformer architektúra
A Transformer architektúra egy neurális hálózati architektúra, amelyet 2017-ben mutattak be a Google kutatói az „Attention Is All You Need" című cikkben[1]. Forradalmasította a természetes nyelvfeldolgozás (NLP) területét, és a legtöbb modern nagy nyelvi modell (LLM) – például a BERT, a GPT és a Gemini – alapjává vált. A Transformer kulcsinnovációja a önfigyelem (self‑attention) mechanizmusa, amely lehetővé teszi a modell számára, hogy mérlegelje a bemeneti adatok különböző részeinek fontosságát, és párhuzamosan dolgozza fel a sorozatokat, elhagyva az RNN-ekre és LSTM-ekre jellemző rekurzivitást.
Történeti háttér és előzmények
2017 előtt a szekvenciális adatok – például szöveg – feldolgozásának domináns architektúrái a rekurrens neurális hálózatok (RNN) és azok fejlettebb változatai, a hosszú rövid távú memóriahálózatok (LSTM) voltak.
Az RNN/LSTM problémái, amelyeket a Transformer megold
- A szekvenciális feldolgozás korlátai: Az RNN-ek és az LSTM-ek tokenenként dolgozzák fel az adatokat, ami kizárja a sorozaton belüli párhuzamosítást, és lelassítja a tanítást nagy adatmennyiségek esetén.
- Az eltűnő és robbanó gradiensek problémája: Hosszú sorozatoknál a sok lépésen visszaterjedő gradiensek vagy elhalnak, vagy megnőnek, ami megnehezíti a hosszú távú függőségek megtanulását.
- Hosszú távú függőségek: A sorozat elejéről származó információ elveszhet a sorozat végére.
A Transformer megközelítése a rekurzivitás teljes elhagyása a figyelemmechanizmus javára. Biztosítja a függőségi úthossz konstans értékét bármely két pozíció között (), ami megkönnyíti a távoli függőségek modellezését, miközben az önfigyelem alapimplementációja négyzetes számítási komplexitással rendelkezik a sorozat hossza tekintetében ()[1][2]. A gradiensek eltűnésének/robbanásának problémája nem „tűnik el", hanem enyhítésre kerül a reziduális kapcsolatok, a LayerNorm és a tanítási mód révén; a modern implementációkban gyakran alkalmazzák a Pre‑LayerNorm (Pre‑LN) változatot, amely stabilabb tanítást tesz lehetővé[3].
Architektúra és kulcskomponensek
Az eredeti Transformer architektúra két fő részből áll: az enkóderből és a dekóderből. Mindkét komponens azonos rétegek egymásra épített csoportja ( az eredeti cikkben)[1].
- Az enkódеrréteg szerkezete: (1) többfejű önfigyelem (MHA), (2) pozíciónként alkalmazott FFN; minden alréteg reziduális kapcsolattal és LayerNorm-mal van körülvéve[1].
- A dekóderréteg szerkezete: (1) maszkolt önfigyelem (a kauzális maszk tiltja a jövőbeli pozíciókhoz való hozzáférést), (2) cross‑attention az enkóder kimeneteihez, (3) FFN – szintén reziduálisokkal és LayerNorm-mal[1].
A figyelemmechanizmus és a Self‑Attention
A figyelemmechanizmus az értékvektorok (Value) súlyozott összegzését számítja ki, ahol a súlyokat a kulcsok (Key) és a lekérdezések (Query) közötti kompatibilitás foka határozza meg. A Transformerben skálázott skaláris szorzatú figyelmet (Scaled Dot‑Product Attention) alkalmaznak:
Ahol a kulcsok/lekérdezések dimenziószáma; az -val való osztás megakadályozza a softmax telítődését[1]. Ha , és ugyanabból a sorozatból származik, a mechanizmust önfigyelem (self‑attention) névvel illetik.
Multi‑Head Attention (többfejű figyelem)
Egy mátrixkészlet helyett párhuzamos „fejet" alkalmaznak, amelyek mindegyike -t kisebb dimenziójú alterekbe vetíti, önállóan számítja a figyelmet, majd az eredményeket összefűzik és vetítik[1]:
- Failed to parse (syntax error): {\displaystyle \mathrm{MultiHead}(Q,K,V)=\mathrm{Concat}( ext{head}_1,\dots, ext{head}_h)W^O,\quad ext{где } ext{head}_i=\mathrm{Attention}(QW_i^Q,KW_i^K,VW_i^V).}
Változatok a gyorsabb inferencia érdekében:
- MQA (Multi‑Query Attention): minden fej egyetlen kulcs/értéket oszt meg → jelentősen csökkenti a KV-gyorsítótár méretét és adatforgalmát dekódoláskor[4].
- GQA (Grouped‑Query Attention): kompromisszum az MHA és az MQA között – a fejek csoportjai osztják meg a K/V-t; a minőség közel van az MHA-hoz, a sebesség pedig az MQA-hoz[5].
Pozicionális kódolás (Positional Encoding)
Mivel a self‑attention invariáns a tokenek sorrendjére, a bemeneti embeddingekhez pozicionális kódolásokat adnak hozzá.
- Az eredeti szinuszoidális kódolások (PE) a[1]-ből:
- Modern relatív/rotációs változatok:
Pozíciónkénti FFN, reziduálisok és normalizáció
Minden enkóder- és dekóderréteg a figyelmen kívül tartalmaz egy pozíciónként alkalmazott FFN-t:
Minden alréteg körül reziduális kapcsolatokat (residual connections) és Layer Normalization-t alkalmaznak: . Az eredetiben a Post‑LN változatot alkalmazták[1]; a modern LLM-ekben gyakran használják a Pre‑LN-t a jobb tanítási stabilitás és a kisebb warm‑up-függőség érdekében[3].
Evolúció és modern változatok
A rekurrens neurális hálózatokon (RNN) és azok fejlett változatain, például az LSTM-en alapuló korai módszerek szekvenciálisan, egyszerre egy tokent dolgoztak fel. Bár ez a megközelítés intuitívan megfelelt a nyelv szerkezetének, jelentős korlátot jelentett: megnehezítette a párhuzamos számításokat, és bonyolítottá tette a szövegben egymástól távol lévő elemek közötti függőségek felismerését. 2017-ben a Google kutatóinak egy csoportja bemutatta az „Attention Is All You Need" című cikket, amelyben egy új architektúrát – a Transformert – írtak le. Ez a modell először mondott le teljesen a rekurrens neurális hálózatok használatáról, helyettük a „figyelem" (attention) mechanizmusát alkalmazva. A fő újítás abban állt, hogy a figyelemmechanizmus lehetővé tette a Transformer számára, hogy értékelje a bemeneti sorozat minden szavának fontosságát a megfelelő kimeneti szó generálásához, miközben a modell az összes szót egyszerre dolgozta fel. Ez a párhuzamos feldolgozási képesség tette lehetővé jóval nagyobb modellek tanítását hatalmas adatmennyiségeken. Ennek eredményeként születtek meg a modern nagy nyelvi modellek (LLM).
A Transformer architektúra számos modell alapjává vált, amelyek három fő osztályba sorolhatók.
1. Csak enkóderes modellek (Encoder‑only)
- Példa: BERT (és RoBERTa, ALBERT)[8].
- Elv: előtanítás maszkolt nyelvi modellezési (MLM) feladattal, kétirányú kontextussal.
- Alkalmazás: megértési feladatok (osztályozás, NER stb.).
2. Csak dekóderes modellek (Decoder‑only)
- Példa: GPT sorozat (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
- Elv: kauzális nyelvi modellezés (CLM) – a következő token előrejelzése; a figyelemre kauzális maszkot alkalmaznak[1].
- Alkalmazás: szöveggenerálás, párbeszédek, kód.
3. Enkóder‑dekóderes modellek (Encoder‑decoder)
- Példa: az eredeti Transformer, T5, BART[1][12].
- Elv: az enkóder felépíti a bemenet reprezentációját, a dekóder generálja a kimenetet, és cross‑attention-t alkalmaz az enkóder jellemzőihez[1].
- Alkalmazás: seq2seq-feladatok (fordítás, összefoglalás stb.).
4. Multimodális és alternatív architektúrák
- Vision Transformer (ViT) – képekre való adaptáció (patch-ekre bontás)[13]; Swin Transformer – hierarchikus modell shifted windows megközelítéssel[14].
- Hosszú sorozatokra szánt alternatívák:
Tanítási és optimalizálási technikák
A Transformer hatékonysága szorosan összefügg a tanítási technikával és az infrastruktúrával.
- Előtanítási stratégiák: CLM és MLM; valamint kontrasztív és zajtalanítási célok (ELECTRA, T5)[12].
- Fine-tuning technikák:
- Teljes fine-tuning az összes paraméteren.
- Paraméterhatékony fine-tuning (PEFT): a LoRA alacsony rangú adaptereket vezet be a befagyasztott alapsúlyok mellett[18].
- Viselkedési igazítás: RLHF – megerősítéses tanulás emberi visszajelzés alapján[19].
- Rendszerszintű inferencia-optimalizációk: a PagedAttention/vLLM növeli a kiszolgálás átviteli sebességét a KV-gyorsítótár lapozásos kezelésével; különösen hasznos hosszú sorozatoknál és nagy batch-ek esetén[20].
Hivatkozások
- The Illustrated Transformer – a Transformer architektúra vizuális magyarázata
Irodalom
- Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI Technical Report.
- Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. arXiv:1910.10683.
- Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.
- Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. arXiv:2103.14030.
- Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (MQA). arXiv:1911.02150.
- Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). arXiv:2309.06180.
- Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
Megjegyzések
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- ↑ Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- ↑ 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
- ↑ Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- ↑ Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- ↑ Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- ↑ Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- ↑ Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
- ↑ Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- ↑ Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- ↑ 12.0 12.1 Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. arXiv:1910.10683.
- ↑ Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR. arXiv:2010.11929.
- ↑ Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
- ↑ Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- ↑ Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- ↑ Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- ↑ Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- ↑ Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
- ↑ Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.