Transformer Mimarisi

From Systems analysis Wiki
Jump to navigation Jump to search

Transformer Mimarisi — 2017 yılında Google araştırmacıları tarafından «Attention Is All You Need» adlı makalede[1] tanıtılan bir sinir ağı mimarisidir. Bu mimari, doğal dil işleme (NLP) alanında devrim yaratmış ve BERT, GPT ile Gemini gibi modern büyük dil modellerinin (LLM) büyük çoğunluğunun temelini oluşturmuştur. Transformer'ın temel yeniliği, modelin girdi verilerinin farklı bölümlerinin önemini ağırlıklandırmasına ve RNN ile LSTM'ye özgü yinelemeli yapıdan vazgeçerek dizileri paralel olarak işlemesine olanak tanıyan öz-dikkat (self‑attention) mekanizmasıdır.

Tarihsel Bağlam ve Ön Koşullar

2017 yılından önce, metin gibi sıralı verileri işlemek için baskın mimariler yinelemeli sinir ağları (RNN) ve bunların geliştirilmiş versiyonu olan uzun kısa süreli bellek (LSTM) ağlarıydı.

RNN/LSTM'nin Transformer Tarafından Ele Alınan Sorunları

  • Sıralı işlemenin kısıtlamaları: RNN ve LSTM verileri token token işler; bu durum dizi içi paralelizmi engeller ve büyük veri hacimlerinde eğitimi yavaşlatır.
  • Kaybolan ve patlayan gradyan sorunu: Uzun dizilerde çok sayıda adım boyunca geri yayılan gradyanlar ya sönümlenebilir ya da büyüyebilir; bu da uzun vadeli bağımlılıkların öğrenilmesini zorlaştırır.
  • Uzun vadeli bağımlılıklar: Dizinin başındaki bilgi, sonuna gelindiğinde kaybolabilir.

Transformer'ın yaklaşımı, dikkat mekanizması lehine yinelemelilikten tam anlamıyla vazgeçmektir. Bu yaklaşım, herhangi iki konum arasında (O(1)) sabit uzunlukta bağımlılık yolu sağlar; bu da uzak mesafeli bağımlılıkların modellenmesini kolaylaştırır; bununla birlikte öz-dikkat mekanizmasının temel uygulaması dizi uzunluğuna göre ikinci dereceden hesaplama karmaşıklığına sahiptir (O(n2))[1][2]. Gradyan sönümleme/patlama sorunu «ortadan kalkmaz», artık kalıntı bağlantılar (residual connections), LayerNorm ve eğitim düzeni sayesinde hafifletilir; modern uygulamalarda eğitim sırasında daha kararlı bir davranış sergilediği için çoğunlukla Pre‑LayerNorm (Pre‑LN) varyantı tercih edilir[3].

Mimari ve Temel Bileşenler

Orijinal Transformer mimarisi iki ana bölümden oluşur: kodlayıcı (encoder) ve çözücü (decoder). Her iki bileşen de özdeş katmanlardan oluşan yığınlardır (orijinal makalede N=6)[1].

  • Kodlayıcı katman yapısı: (1) çok başlıklı öz-dikkat (MHA), (2) konuma özgü eleman bazlı FFN; her alt katman artık kalıntı bağlantı ve LayerNorm ile sarılıdır[1].
  • Çözücü katman yapısı: (1) maskelenmiş öz-dikkat (nedensel maske, gelecekteki konumlara erişimi engeller), (2) kodlayıcı çıktılarına cross‑attention, (3) FFN — kalıntı bağlantılar ve LayerNorm ile birlikte[1].

Dikkat Mekanizması ve Self‑Attention

Dikkat mekanizması, ağırlıkların Anahtar (Key) ile Sorgu (Query) arasındaki uyumluluk derecesiyle belirlendiği Değer (Value) vektörlerinin ağırlıklı toplamını hesaplar. Transformer'da ölçeklendirilmiş nokta çarpımı dikkati (Scaled Dot‑Product Attention) kullanılır:

Attention(Q,K,V)=softmax(QKdk)V

Burada dk, anahtar/sorgularının boyutudur; dk'ya bölme işlemi softmax'ın doygunlaşmasını önler[1]. Q, K ve V aynı diziden türetildiğinde bu mekanizma öz-dikkat (self‑attention) olarak adlandırılır.

Multi‑Head Attention - Çok Başlıklı Dikkat

Tek bir (WQ,WK,WV) matris kümesi yerine, her biri Q,K,V'yi daha küçük boyutlu alt uzaylara yansıtan, bağımsız olarak dikkat hesaplayan ve sonuçları birleştirerek yeniden yansıtan h paralel «baş» kullanılır[1]:

MultiHead(Q,K,V)=Concat(head1,,headh)WO,где headi=Attention(QWiQ,KWiK,VWiV).

Çıkarım sürecini hızlandırmaya yönelik varyantlar:

  • MQA (Multi‑Query Attention): tüm başlar tek bir anahtar/değer paylaşır → kod çözme sırasında KV önbelleğinin boyutu ve trafiği önemli ölçüde azalır[4].
  • GQA (Grouped‑Query Attention): MHA ile MQA arasında bir denge — birkaç baş grubu K/V paylaşır; MQA hızıyla MHA'ya yakın kalite elde edilir[5].

Konumsal Kodlama (Positional Encoding)

Öz-dikkat token sırasına karşı değişmez olduğundan, girdi embedding'lerine konumsal kodlamalar eklenir.

  • [1]'deki orijinal sinüzoidal kodlamalar (PE):
PE(pos,2i)=sin(pos/100002i/dmodel),PE(pos,2i+1)=cos(pos/100002i/dmodel).
  • Modern göreli/dönel varyantlar:
    • RoPE (Rotary Position Embeddings), göreli kaymalar Q/K vektörlerinin döndürülmesiyle kodlanır; bir dizi modern LLM'de kullanılır[6].
    • ALiBi, dikkat puanlarına doğrusal bir ceza ekler; bu sayede eğitim sırasında görülenden daha uzun dizilere ekstrapolasyon iyileşir[7].

Eleman Bazlı FFN, Kalıntı Bağlantılar ve Normalizasyon

Her kodlayıcı ve çözücü katmanı, dikkat mekanizmasına ek olarak konuma özgü eleman bazlı FFN içerir:

FFN(x)=max(0,xW1+b1)W2+b2.

Her alt katmanın etrafında artık bağlantılar (residual connections) ve Layer Normalization kullanılır: LayerNorm(x+Sublayer(x)). Orijinal çalışmada Post‑LN varyantı kullanılmıştır[1]; modern LLM'lerde ise daha iyi eğitim kararlılığı ve daha az uzun ısınma süresine bağımlılık sağladığı için genellikle Pre‑LN tercih edilir[3].

Evrim ve Modern Varyantlar

Yinelemeli sinir ağlarına (RNN) ve LSTM gibi gelişmiş varyantlarına dayanan erken yöntemler, metni sıralı biçimde, her seferinde bir token olarak işliyordu. Bu yaklaşım, dil yapısıyla sezgisel olarak örtüşse de ciddi bir kısıtlama yaratıyordu: paralel hesaplamayı zorlaştırıyor ve metinde birbirinden uzak konumdaki öğeler arasındaki bağımlılıkların saptanmasını güçleştiriyordu. 2017 yılında Google'dan bir araştırmacı grubu «Attention Is All You Need» başlıklı makaleyi yayımladı. Bu makalede «Transformer» adı verilen yeni bir mimari tanımladılar. Bu model, yinelemeli sinir ağlarının kullanımından tamamen vazgeçen ve bunların yerine «dikkat» (attention) mekanizmasını koyan ilk mimari oldu. Temel yenilik, dikkat mekanizmasının Transformer'ın her girdi dizisindeki kelimenin önemini, karşılık gelen çıktı kelimesini üretmek amacıyla değerlendirmesine olanak tanımasıydı; üstelik model tüm kelimeleri aynı anda işleyebiliyordu. Bu paralel işleme yeteneği, çok daha büyük modellerin devasa veri kümeleri üzerinde eğitilmesini mümkün kıldı. Sonuç olarak modern büyük dil modelleri (LLM) ortaya çıktı.

Transformer mimarisi, genel olarak üç sınıfa ayrılan çok sayıda modele temel oluşturmuştur.

1. Yalnızca Kodlayıcı Modeller (Encoder‑only)

  • Örnek: BERT (ve RoBERTa, ALBERT)[8].
  • İlke: çift yönlü bağlamla maskelenmiş dil modelleme (MLM) görevi üzerinde ön eğitim.
  • Kullanım alanı: anlama görevleri (sınıflandırma, NER vb.).

2. Yalnızca Çözücü Modeller (Decoder‑only)

  • Örnek: GPT serisi (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
  • İlke: nedensel dil modelleme (CLM) — bir sonraki token'ın tahmin edilmesi; dikkate nedensel maske uygulanır[1].
  • Kullanım alanı: metin üretme, diyalog, kod.

3. Kodlayıcı‑Çözücü Modeller (Encoder‑decoder)

  • Örnek: orijinal Transformer, T5, BART[1][12].
  • İlke: kodlayıcı girdi temsilini oluşturur, çözücü çıktı üretir ve kodlayıcı özelliklerine cross‑attention uygular[1].
  • Kullanım alanı: seq2seq görevleri (çeviri, özetleme vb.).

4. Çok Modlu ve Alternatif Mimariler

  • Vision Transformer (ViT) — görüntülere uyarlama (yamalara bölme)[13]; Swin Transformershifted windows ile hiyerarşik model[14].
  • Uzun diziler için alternatifler:
    • Mamba — doğrusal karmaşıklıklı seçici durum uzayı modelleri (SSM)[15].
    • RWKV — paralel eğitim ve doğrusal çıkarım karmaşıklığına sahip RNN benzeri mimari[16].
    • Hibrit modeller (örn. Jamba): Transformer ve Mamba bloklarını birbirini izleyerek kullanır; bazen MoE ile tamamlanır[17].

Eğitim Teknikleri ve Optimizasyon

Transformer'ın verimliliği, eğitim tekniği ve altyapıyla yakından ilişkilidir.

  • Ön eğitim stratejileri: CLM ve MLM; ayrıca karşıtsal ve gürültü giderme hedefleri (ELECTRA, T5)[12].
  • Fine‑tuning teknikleri:
    • Tüm parametreler üzerinde tam fine‑tuning.
    • Parametrik açıdan verimli fine‑tuning (PEFT): LoRA, temel ağırlıklar dondurulmuş halde düşük sıralı adaptörler ekler[18].
  • Davranış hizalama: RLHF — insan geri bildirimine dayalı pekiştirmeli öğrenme[19].
  • Çıkarım sistemi optimizasyonları: PagedAttention/vLLM, KV önbelleğinin sayfalı yönetimi aracılığıyla servis aktarım hızını artırır; özellikle uzun dizilerde ve büyük toplu işlemlerde faydalıdır[20].

Dış bağlantılar

  • The Illustrated Transformer — Transformer mimarisinin görsel açıklaması

Literatür

  • 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.

Notlar

  1. 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.
  2. Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
  3. 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
  4. Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
  5. 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.
  6. Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
  7. Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
  8. Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  9. Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
  10. Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
  11. Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
  12. 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.
  13. 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.
  14. Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
  15. Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
  16. Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
  17. Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
  18. Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
  19. Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
  20. Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.