Αρχιτεκτονική Transformer και Μηχανισμός Attention: Τεχνική Ανάλυση
Εισαχθείσα από τη Google στο άρθρο του 2017 "Attention Is All You Need," η αρχιτεκτονική Transformer αποτελεί τη ραχοκοκαλιά της σύγχρονης τεχνητής νοημοσύνης. Όλα τα μεγάλα Language Models όπως GPT, Claude και Gemini βασίζονται σε αυτή την αρχιτεκτονική.
Πριν τους Transformers: Περιορισμοί RNN και LSTM
Πριν από την εποχή των transformers, τα NLP tasks βασίζονταν σε Recurrent Neural Networks (RNN) και Long Short-Term Memory (LSTM) δίκτυα:
Προβλήματα RNN/LSTM:
- Απαίτηση σειριακής επεξεργασίας → Η παραλληλοποίηση είναι αδύνατη.
- Gradient vanishing/exploding σε μεγάλες ακολουθίες.
- Δυσκολία στην εκμάθηση μακρινών εξαρτήσεων.
- Πολύ μεγάλοι χρόνοι εκπαίδευσης.
Μηχανισμός Self-Attention
Το self-attention είναι ένας μηχανισμός που υπολογίζει τη σχέση μεταξύ κάθε στοιχείου σε μια ακολουθία και όλων των υπόλοιπων.
Μαθηματική Διατύπωση
Attention(Q, K, V) = softmax(QK^T / √d_k) × V
Παράμετροι:
- Q (Query): Το διάνυσμα ερώτησης.
- K (Key): Το διάνυσμα κλειδιού προς αντιστοίχιση.
- V (Value): Το διάνυσμα πληροφορίας.
- d_k: Η διάσταση του Key vector.
Βήμα-Βήμα Υπολογισμός
- Projection: Input → πίνακες Q, K, V
1Q = X × W_Q 2K = X × W_K 3V = X × W_V
- Attention Scores: Dot product των Q και K
scores = Q × K^T
- Scaling: Διαίρεση με √d_k για σταθερότητα του gradient
scaled_scores = scores / √d_k
- Softmax: Μετατροπή σε πιθανότητα
attention_weights = softmax(scaled_scores)
- Weighted Sum: Πολλαπλασιασμός με το Value
output = attention_weights × V
Multi-Head Attention
Αντί για ένα μόνο attention head, χρησιμοποιούνται πολλαπλά παράλληλα attention heads:
1MultiHead(Q, K, V) = Concat(head_1, ..., head_h) × W_O 2 3where head_i = Attention(QW_Q^i, KW_K^i, VW_V^i)
Πλεονεκτήματα Multi-Head Attention
- Μάθηση σε διαφορετικούς χώρους αναπαράστασης.
- Συλλογή διαφορετικών τύπων συμφραζόμενων σχέσεων.
- Πλουσιότερη εξαγωγή χαρακτηριστικών.
Τυπικές Διαμορφώσεις:
- GPT-3: 96 attention heads, d_model = 12288.
- GPT-4: Εκτιμώμενα 120+ heads.
Positional Encoding
Επειδή οι Transformers επεξεργάζονται δεδομένα παράλληλα, προστίθεται positional information για να διατηρηθεί η σειριακή πληροφορία:
Sinusoidal Positional Encoding
PE(pos, 2i) = sin(pos / 10000^(2i/d_model)) PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
Rotary Positional Embedding (RoPE)
Μια πιο εξελιγμένη μέθοδος που χρησιμοποιείται σε σύγχρονα μοντέλα:
f(x, pos) = x × e^(i × pos × θ)
Πλεονεκτήματα RoPE:
- Φυσική κωδικοποίηση σχετικής θέσης.
- Καλύτερη ικανότητα εξωtrapolation για μεγαλύτερες ακολουθίες.
- Χρησιμοποιείται στα GPT-NeoX, LLaMA και Mistral.
Feed-Forward Network
Ένα MLP layer που ακολουθεί κάθε attention layer:
FFN(x) = GELU(xW_1 + b_1)W_2 + b_2
Τυπικές Διαστάσεις:
- d_model = 4096.
- d_ff = 4 × d_model = 16384.
Συναρτήσεις Ενεργοποίησης
- ReLU: Κλασική και απλή.
- GELU: Προτιμάται στα GPT-type μοντέλα.
- SwiGLU: Χρησιμοποιείται στα LLaMA και PaLM μοντέλα.
Layer Normalization
Κρίσιμη για τη σταθερότητα της εκπαίδευσης:
Pre-LN vs Post-LN
Post-LN (Αρχικό):
x = x + Attention(LayerNorm(x))
Pre-LN (Σύγχρονο):
x = LayerNorm(x + Attention(x))
Το Pre-LN παρέχει πιο σταθερή εκπαίδευση και έχει γίνει το σύγχρονο industry standard.
Αρχιτεκτονικές Encoder vs Decoder
Encoder-Only (τύπου BERT)
- Bidirectional attention.
- Χρησιμοποιείται για Classification, NER και semantic similarity.
- Masked Language Modeling.
Decoder-Only (τύπου GPT)
- Causal/autoregressive attention.
- Χρησιμοποιείται για text generation και chat.
- Πρόβλεψη επόμενου token.
Encoder-Decoder (T5, BART)
- Sequence-to-sequence tasks.
- Μετάφραση και σύνοψη.
Causal Masking
Masking μελλοντικών tokens σε decoder μοντέλα:
mask = triu(ones(seq_len, seq_len), diagonal=1) masked_scores = scores + mask × (-inf)
Αυτό εξασφαλίζει ότι το μοντέλο βλέπει μόνο προηγούμενα tokens κατά τη δημιουργία κειμένου.
Βελτιστοποίηση KV-Cache
Για την αποφυγή περιττών υπολογισμών κατά το inference:
1Step 1: Calculate K_1, V_1 → save to cache 2Step 2: Calculate K_2, V_2 → K = [K_1, K_2], V = [V_1, V_2] 3Step n: Calculate only for the new token, retrieve old values from cache
Εξοικονόμηση Μνήμης: O(n²) → O(n) για τα βήματα επεξεργασίας.
Flash Attention
Μια υλοποίηση attention με αποδοτική χρήση μνήμης:
Προβλήματα του Standard Attention:
- Χρήση μνήμης O(n²).
- Εμφραξη HBM (high bandwidth memory).
Λύση Flash Attention:
- Tiling: Διαχωρισμός του attention σε blocks.
- Online Softmax: Προοδευτικός υπολογισμός.
- I/O Aware: Βελτιστοποίηση της ιεραρχίας μνήμης της GPU.
Αποτέλεσμα: 2-4x ταχύτερη εκτέλεση, 5-20% εξοικονόμηση μνήμης.
Παραλλαγές Sparse Attention
Μείωση της πολυπλοκότητας του attention για μεγάλα context:
Local Attention
Εστίαση μόνο στα κοντινά tokens.
Dilated Attention
Εφαρμογή attention σε συγκεκριμένα διαστήματα.
Longformer Pattern
Συνδυασμός Local + Global attention.
Σύγχρονες Παραλλαγές Transformer
| Model | Feature | Context Length |
|---|---|---|
| GPT-4 | MoE, long context | 128K |
| Claude 3 | Constitutional AI | 200K |
| Gemini 1.5 | Sparse MoE | 1M |
| Mistral | Sliding window | 32K |
Συμπέρασμα
Η αρχιτεκτονική Transformer αποτελεί το θεμελιώδες δομικό στοιχείο της σύγχρονης AI. Ο μηχανισμός self-attention, η δυνατότητα παράλληλης επεξεργασίας και η ικανότητα εκμάθησης εξαρτήσεων μεγάλης εμβέλειας έχουν καταστήσει αυτή την αρχιτεκτονική επαναστατική.
Στη Veni AI αξιοποιούμε αποτελεσματικά μοντέλα βασισμένα σε transformers στις enterprise λύσεις μας. Επικοινωνήστε μαζί μας για τεχνική συμβουλευτική.
