1. Mixture of Experts (MoE)
Toán học:
-
Đầu vào sẽ được đưa qua một tập các chuyên gia (experts)
-
Một gating function chọn ra top-k chuyên gia hoạt động (thường dùng softmax hoặc top-k hard routing).
-
Đầu ra:
Ưu điểm:
- Giảm chi phí tính toán vì chỉ một vài expert được kích hoạt.
- Mở rộng mô hình dễ dàng mà không tăng chi phí inference tuyến tính.
Nhược điểm:
- Gating function khó huấn luyện (không trơn nếu hard routing).
- Cần kỹ thuật phân bố tải (load balancing).
Ví dụ:
- GShard, Switch Transformer.
Usecase:
- Mô hình ngôn ngữ lớn (LLMs) như Google’s Switch Transformer, Mistral Mixture-of-Experts.
2. Grouped Query Attention (GQA)
Toán học:
Thông thường:
Trong GQA:
-
Các nhóm Query chia sẻ Key/Value:
Ưu điểm:
- Tiết kiệm bộ nhớ.
- Nhanh hơn nhiều trong inference.
Nhược điểm:
- Mất đi một chút biểu diễn chi tiết vì chia sẻ Key/Value.
Ví dụ:
- Trong mô hình như LLaMA v2.
Usecase:
- Triển khai attention hiệu quả hơn trên GPU cho LLMs lớn.
3. Flash Attention
Toán học:
-
Sử dụng sắp xếp lại thuật toán Attention để tránh sinh ra ma trận attention full-size.
-
Tính attention theo block và sử dụng:
nhưng được thực hiện theo từng block trong GPU SRAM để tiết kiệm RAM và tăng throughput.
Ưu điểm:
- Giảm O(n²) memory xuống gần O(n).
- Rất nhanh và tiết kiệm RAM.
Nhược điểm:
- Cần phần cứng phù hợp (GPU).
- Code phức tạp hơn.
Ví dụ:
- FlashAttention v1, v2 trong PyTorch, Triton.
Usecase:
- Training và inference LLMs cực lớn như GPT-4, Claude, LLaMA.
4. Rotary Positional Embedding (RoPE)
Toán học:
-
Dùng embedding quay tuần tự:
-
Cụ thể, mỗi cặp chiều của vector được quay theo góc:
Ưu điểm:
- Giữ được tính tương đối giữa token.
- Dễ mở rộng về chiều dài sequence.
Nhược điểm:
- Không có trực giác dễ hiểu như sinusoidal position embedding.
Ví dụ:
- LLaMA, GPTNeoX.
Usecase:
- Các transformer decoder khi cần positional embedding tốt hơn sinusoidal.
5. YaRN (Yet another RoPE eNhancement)
Toán học:
-
Kéo giãn hoặc nén tần số trong Rotary Positional Embedding để hỗ trợ long-context extrapolation:
Ưu điểm:
- Giữ được khả năng học tốt trong vùng dài hơn mà mô hình chưa từng thấy.
Nhược điểm:
- Không phải tất cả mô hình đều tương thích sẵn.
- Cần điều chỉnh hyperparameters.
Ví dụ:
- Mistral + YaRN để có thể xử lý 128K tokens.
Usecase:
- Long-context reasoning như tài liệu dài, phân tích pháp lý, lịch sử cuộc chat.
6. Byte Pair Encoding (BPE)
Toán học:
-
Khởi đầu: tách mỗi từ thành ký tự.
-
Lặp lại:
- Tìm cặp ký tự phổ biến nhất (A, B).
- Gộp A+B thành một token mới.
-
Dừng khi đủ số token cần thiết.
Ưu điểm:
- Linh hoạt hơn từ đơn.
- Giảm từ vựng OOV (out of vocab).
Nhược điểm:
- Cắt token không phù hợp với ngữ nghĩa.
- Tạo token dài bất hợp lý với ngôn ngữ không Latin.
Ví dụ:
- Từ "lower" → ['l', 'o', 'w', 'e', 'r'] → ['lo', 'w', 'er'] sau BPE.
Usecase:
- Tất cả các LLM hiện nay (GPT, LLaMA, T5) dùng BPE hoặc biến thể như SentencePiece, Unigram LM.
Tổng kết: So sánh nhanh
Kỹ thuật | Ưu điểm chính | Nhược điểm chính | Usecase tiêu biểu |
---|---|---|---|
Mixture of Experts (MoE) | Mô hình lớn nhưng hiệu quả | Gating khó, không đồng đều | GPT-MoE, Switch Transformer |
Grouped Query Attention | Giảm tính toán & RAM | Mất biểu diễn chi tiết | LLaMA v2 |
Flash Attention | Nhanh, tiết kiệm GPU | Phụ thuộc phần cứng | GPT-4, Claude, LLaMA |
Rotary Pos Embedding | Giữ quan hệ tương đối, mở rộng dài | Trực giác thấp | LLaMA, GPTNeoX |
YaRN | Hỗ trợ input dài hơn | Cần tinh chỉnh | Long-context reasoning |
Byte Pair Encoding | Giảm OOV, từ điển nhỏ | Token hóa ngữ nghĩa không đều | Tất cả mô hình LLM |