Transformer architecture — Αρχιτεκτονική Transformer

From Systems analysis wiki
Jump to navigation Jump to search

Αρχιτεκτονική Transformer — είναι μια αρχιτεκτονική νευρωνικού δικτύου που παρουσιάστηκε το 2017 από ερευνητές της Google στο άρθρο «Attention Is All You Need»[1]. Επανάστατησε στον τομέα της επεξεργασίας φυσικής γλώσσας (NLP) και αποτέλεσε τη βάση για τα περισσότερα σύγχρονα μεγάλα γλωσσικά μοντέλα (LLM), όπως τα BERT, GPT και Gemini. Η βασική καινοτομία του Transformer είναι ο μηχανισμός αυτο-προσοχής (self‑attention), ο οποίος επιτρέπει στο μοντέλο να σταθμίζει τη σπουδαιότητα διαφορετικών τμημάτων των δεδομένων εισόδου και να επεξεργάζεται ακολουθίες παράλληλα, αποποιούμενο την αναδρομικότητα που χαρακτηρίζει τα RNN και LSTM.

Ιστορικό πλαίσιο και προϋποθέσεις

Πριν από το 2017, οι κυρίαρχες αρχιτεκτονικές για την επεξεργασία ακολουθιακών δεδομένων, όπως το κείμενο, ήταν τα αναδρομικά νευρωνικά δίκτυα (RNN) και η βελτιωμένη παραλλαγή τους — τα δίκτυα με μακροπρόθεσμη βραχυπρόθεσμη μνήμη (LSTM).

Προβλήματα RNN/LSTM που αντιμετωπίστηκαν από τον Transformer

  • Περιορισμοί σειριακής επεξεργασίας: Τα RNN και LSTM επεξεργάζονται δεδομένα token ανά token, γεγονός που αποκλείει την εντός ακολουθίας παραλληλοποίηση και επιβραδύνει την εκπαίδευση σε μεγάλους όγκους δεδομένων.
  • Πρόβλημα εξαφανιζόμενων και εκρηγνύμενων gradients: Σε μακριές ακολουθίες, τα gradients που διαδίδονται αντίστροφα μέσα από πολλά βήματα μπορεί είτε να μηδενιστούν είτε να αυξηθούν εκθετικά, δυσκολεύοντας την εκμάθηση μακροπρόθεσμων εξαρτήσεων.
  • Μακροπρόθεσμες εξαρτήσεις: Πληροφορίες από την αρχή μιας ακολουθίας μπορεί να χαθούν έως το τέλος της.

Η προσέγγιση του Transformer είναι η πλήρης εγκατάλειψη της αναδρομικότητας υπέρ του μηχανισμού προσοχής. Εξασφαλίζει σταθερό μήκος μονοπατιού εξαρτήσεων μεταξύ οποιωνδήποτε θέσεων (O(1)), διευκολύνοντας τη μοντελοποίηση απομακρυσμένων εξαρτήσεων, ενώ η βασική υλοποίηση του self‑attention έχει τετραγωνική υπολογιστική πολυπλοκότητα ως προς το μήκος της ακολουθίας (O(n2))[1][2]. Το πρόβλημα εξαφάνισης/έκρηξης των gradients δεν «εξαφανίζεται», αλλά μετριάζεται χάρη στις υπολειμματικές συνδέσεις, το LayerNorm και τον τρόπο εκπαίδευσης· στις σύγχρονες υλοποιήσεις χρησιμοποιείται συχνά η παραλλαγή Pre‑LayerNorm (Pre‑LN) ως πιο σταθερή κατά την εκπαίδευση[3].

Αρχιτεκτονική και βασικά συστατικά

Η αρχική αρχιτεκτονική Transformer αποτελείται από δύο κύρια μέρη: τον κωδικοποιητή (encoder) και τον αποκωδικοποιητή (decoder). Και τα δύο συστατικά αποτελούνται από στοίβες πανομοιότυπων στρωμάτων (N=6 στο αρχικό άρθρο)[1].

  • Δομή στρώματος encoder: (1) multi-head self-attention (MHA), (2) FFN ανά θέση· κάθε υποστρώμα περιβάλλεται από υπολειμματική σύνδεση και LayerNorm[1].
  • Δομή στρώματος decoder: (1) μεγεθυσμένο self‑attention (αιτιακή μάσκα απαγορεύει πρόσβαση σε μελλοντικές θέσεις), (2) cross‑attention προς τις εξόδους του encoder, (3) FFN — επίσης με υπολειμματικές συνδέσεις και LayerNorm[1].

Μηχανισμός προσοχής και Self‑Attention

Ο μηχανισμός προσοχής υπολογίζει σταθμισμένο άθροισμα των διανυσμάτων-τιμών (Value), όπου τα βάρη ορίζονται από τον βαθμό συμβατότητας των κλειδιών (Key) με τα ερωτήματα (Query). Στον Transformer χρησιμοποιείται κλιμακωτό εσωτερικό γινόμενο προσοχής (Scaled Dot‑Product Attention):

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

Όπου dk είναι η διάσταση των κλειδιών/ερωτημάτων· η διαίρεση με το dk αποτρέπει τον κορεσμό του softmax[1]. Όταν τα Q, K και V προέρχονται από την ίδια ακολουθία, ο μηχανισμός ονομάζεται self‑attention.

Multi‑Head Attention (πολυκέφαλη προσοχή)

Αντί για ένα σύνολο πινάκων (WQ,WK,WV) χρησιμοποιούνται h παράλληλες «κεφαλές», καθεμία από τις οποίες προβάλλει τα Q,K,V σε υποχώρους μικρότερης διάστασης, υπολογίζει ανεξάρτητα την προσοχή, και στη συνέχεια τα αποτελέσματα συνενώνονται και προβάλλονται[1]:

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

Παραλλαγές για επιτάχυνση της εξαγωγής συμπερασμάτων (inference):

  • MQA (Multi‑Query Attention): όλες οι κεφαλές μοιράζονται ένα κλειδί/τιμή → μειώνεται σημαντικά ο όγκος και η κίνηση του KV‑cache κατά την αποκωδικοποίηση[4].
  • GQA (Grouped‑Query Attention): συμβιβασμός μεταξύ MHA και MQA — ομάδες κεφαλών μοιράζονται K/V· η ποιότητα πλησιάζει το MHA με την ταχύτητα του MQA[5].

Positional Encoding (κωδικοποίηση θέσης)

Επειδή το self‑attention είναι αναλλοίωτο ως προς τη σειρά των token, στα embeddings εισόδου προστίθενται κωδικοποιήσεις θέσης.

  • Αρχικές ημιτονοειδείς κωδικοποιήσεις (PE) από[1]:
PE(pos,2i)=sin(pos/100002i/dmodel),PE(pos,2i+1)=cos(pos/100002i/dmodel).
  • Σύγχρονες σχετικές/περιστροφικές παραλλαγές:
    • RoPE (Rotary Position Embeddings) κωδικοποιεί σχετικές μετατοπίσεις μέσω περιστροφής των διανυσμάτων Q/K· εφαρμόζεται σε ορισμένα σύγχρονα LLM[6].
    • ALiBi εισάγει γραμμική ποινή στις βαθμολογίες προσοχής, βελτιώνοντας την εξαγωγή γενίκευσης σε μήκη μεγαλύτερα από αυτά της εκπαίδευσης[7].

FFN ανά θέση, υπολειμματικές συνδέσεις και κανονικοποίηση

Κάθε στρώμα encoder και decoder, εκτός από την προσοχή, περιέχει μια FFN ανά θέση:

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

Γύρω από κάθε υποστρώμα χρησιμοποιούνται υπολειμματικές συνδέσεις (residual connections) και Layer Normalization: LayerNorm(x+Sublayer(x)). Στο αρχικό άρθρο εφαρμόστηκε η παραλλαγή Post‑LN[1]· στα σύγχρονα LLM χρησιμοποιείται συχνά το Pre‑LN για καλύτερη σταθερότητα εκπαίδευσης και μικρότερη εξάρτηση από μακρά warm‑up[3].

Εξέλιξη και σύγχρονες παραλλαγές

Οι πρώτες μέθοδοι που βασίζονταν σε αναδρομικά νευρωνικά δίκτυα (RNN) και τις προηγμένες παραλλαγές τους, όπως τα LSTM, επεξεργάζονταν κείμενο σειριακά, ένα token τη φορά. Αν και αυτή η προσέγγιση ήταν διαισθητικά συμβατή με τη δομή της γλώσσας, δημιουργούσε σημαντικό περιορισμό: δυσκόλευε τους παράλληλους υπολογισμούς και περιέπλεκε τον εντοπισμό εξαρτήσεων μεταξύ στοιχείων που βρίσκονταν μακριά το ένα από το άλλο στο κείμενο. Το 2017, μια ομάδα ερευνητών από την Google παρουσίασε το άρθρο «Attention Is All You Need». Σε αυτό περιέγραψαν μια νέα αρχιτεκτονική — τον «Transformer». Αυτό το μοντέλο για πρώτη φορά εγκατέλειψε εντελώς τη χρήση αναδρομικών νευρωνικών δικτύων, αντικαθιστώντας τα με τον μηχανισμό «προσοχής» (attention). Η κύρια καινοτομία ήταν ότι ο μηχανισμός προσοχής επέτρεπε στον Transformer να αξιολογεί τη σπουδαιότητα κάθε λέξης στην ακολουθία εισόδου για τη δημιουργία της αντίστοιχης λέξης στην έξοδο. Επιπλέον, το μοντέλο μπορούσε να επεξεργάζεται όλες τις λέξεις ταυτόχρονα. Αυτή η ικανότητα παράλληλης επεξεργασίας κατέστησε δυνατή την εκπαίδευση πολύ μεγαλύτερων μοντέλων σε τεράστιους όγκους δεδομένων. Αποτέλεσμα αυτού ήταν η εμφάνιση των σύγχρονων μεγάλων γλωσσικών μοντέλων (LLM).

Η αρχιτεκτονική Transformer αποτέλεσε τη βάση για πληθώρα μοντέλων, τα οποία χωρίζονται σε τρεις κατηγορίες.

1. Μοντέλα μόνο-encoder (Encoder‑only)

  • Παράδειγμα: BERT (και RoBERTa, ALBERT)[8].
  • Αρχή: προ-εκπαίδευση με βάση την εργασία μεγεθυσμένης γλωσσικής μοντελοποίησης (MLM) με αμφίδρομο πλαίσιο.
  • Εφαρμογή: εργασίες κατανόησης (ταξινόμηση, NER κ.λπ.).

2. Μοντέλα μόνο-decoder (Decoder‑only)

  • Παράδειγμα: σειρά GPT (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
  • Αρχή: αιτιακή γλωσσική μοντελοποίηση (CLM) — πρόβλεψη του επόμενου token· εφαρμόζεται αιτιακή μάσκα στην προσοχή[1].
  • Εφαρμογή: δημιουργία κειμένου, διάλογοι, κώδικας.

3. Μοντέλα encoder‑decoder

  • Παράδειγμα: αρχικός Transformer, T5, BART[1][12].
  • Αρχή: ο encoder κατασκευάζει αναπαράσταση της εισόδου, ο decoder παράγει την έξοδο και χρησιμοποιεί cross‑attention στα χαρακτηριστικά του encoder[1].
  • Εφαρμογή: εργασίες seq2seq (μετάφραση, σύνοψη κ.ά.).

4. Πολυτροπικές και εναλλακτικές αρχιτεκτονικές

  • Vision Transformer (ViT) — προσαρμογή για εικόνες (διαχωρισμός σε patches)[13]· Swin Transformer — ιεραρχικό μοντέλο με shifted windows[14].
  • Εναλλακτικές για μακριές ακολουθίες:
    • Mamba — επιλεκτικά μοντέλα χώρου καταστάσεων (SSM) με γραμμική πολυπλοκότητα[15].
    • RWKV — αρχιτεκτονική τύπου RNN με παράλληλη εκπαίδευση και γραμμική πολυπλοκότητα inference[16].
    • Υβρίδια (π.χ. Jamba): εναλλάσσουν μπλοκ Transformer και Mamba· ορισμένες φορές συμπληρώνονται με MoE[17].

Τεχνικές εκπαίδευσης και βελτιστοποίησης

Η αποτελεσματικότητα του Transformer συνδέεται στενά με την τεχνική εκπαίδευσης και την υποδομή.

  • Στρατηγικές προ-εκπαίδευσης: CLM και MLM· επίσης αντιθετικοί και αποθορυβοποιητικοί στόχοι (ELECTRA, T5)[12].
  • Τεχνικές fine‑tuning:
    • Πλήρες fine‑tuning όλων των παραμέτρων.
    • Παραμετρικά αποδοτικό fine‑tuning (PEFT): LoRA εισάγει low-rank adapters με παγωμένα βασικά βάρη[18].
  • Ευθυγράμμιση συμπεριφοράς: RLHF — Reinforcement Learning από ανθρώπινη ανατροφοδότηση[19].
  • Βελτιστοποιήσεις συστήματος για inference: PagedAttention/vLLM αυξάνουν την απόδοση εξυπηρέτησης μέσω σελιδοποιημένης διαχείρισης του KV‑cache· ιδιαίτερα χρήσιμο για μακριές ακολουθίες και μεγάλες παρτίδες[20].

Σύνδεσμοι

  • The Illustrated Transformer — οπτική επεξήγηση της αρχιτεκτονικής Transformer

Βιβλιογραφία

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

Παραπομπές

  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.