Tổng kết: Transformer & attention
Ghép lại bức tranh: từ giới hạn của model đọc tuần tự đến attention, transformer block, decoder-only LLM và scaling laws — kèm self-assessment theo learning outcomes.
TL;DR: Module 4 mở hộp đen mà Module 3 để lại: model "nhìn" context bằng cách nào. Câu trả lời là attention, một phép tra cứu có trọng số qua query/key/value, chạy song song trên nhiều head để bắt nhiều kiểu quan hệ, ghép cùng FFN và residual thành một transformer block, xếp chồng N lớp. Causal mask biến kiến trúc đó thành LLM sinh văn bản: train song song mọi vị trí, inference vẫn sinh từng token. Scaling laws cho biết thêm params/data/compute thì loss đổi theo quy luật nào. Đây là trang để bookmark.
Đã đi qua những gì
Mạch module là một chuỗi nhân quả. Model đọc tuần tự nén mọi thứ vào một trạng thái cố định nên phai phụ thuộc xa và không song song được. Attention cho mỗi token nhìn thẳng mọi token khác, nhiều head cho nhiều tiêu chí nhìn cùng lúc, transformer block gắn thêm vị trí, FFN, residual rồi xếp chồng. Causal mask biến khối đó thành LLM train song song được, còn scaling laws cho biết nên đổ compute vào đâu. Bài 07 bắt bạn đọc lại tất cả trên một model card.
🗺️ Cheat sheet
| Concept | Khi nào cần nhớ | Pitfall |
|---|---|---|
| Model đọc tuần tự (RNN-style) | Giải thích vì sao transformer ra đời | Tưởng chỉ cần tăng kích thước hidden state là hết nghẽn |
| Attention (query/key/value) | Giải thích cơ chế mọi LLM hiện đại dùng để "nhìn" context | Tưởng attention chọn cứng một token như lookup từ điển, thay vì trọng số mềm trên toàn bộ |
| Softmax trọng số attention | Nhớ tổng trọng số attention luôn cộng đúng 100% | Nghĩ trọng số cao nghĩa là model "hiểu nghĩa" như con người, không phải tương quan thống kê |
| Multi-head attention | Giải thích vì sao cần nhiều head thay vì một | Tưởng nhiều head là chạy lại cùng phép tính "cho chắc", hoặc càng nhiều head càng tốt |
| Positional encoding | Giải thích vì sao self-attention cần thêm thông tin vị trí | Tưởng self-attention tự biết token nào đứng trước, đứng sau |
| Transformer block (attention + FFN + residual) | Trace một token qua kiến trúc | Bỏ quên residual, không giải thích được vì sao xếp sâu mà gradient vẫn truyền được |
| Causal mask | Giải thích vì sao train song song được mà inference vẫn tuần tự | Nghĩ mask chỉ cần lúc inference, quên nó quan trọng nhất lúc train |
| Decoder-only / next-token loop | Ước lượng độ trễ theo số token output | Nghĩ sinh được nhiều token cùng lúc như lúc train song song |
| Scaling laws (Kaplan) | Dự đoán xu hướng loss khi tăng compute | Coi là công thức chính xác cho mọi kiến trúc, thay vì xu hướng thực nghiệm |
| Chinchilla / compute-optimal | Cân đối compute giữa params và số token train | Dồn hết compute vào params; nhầm undertrained với overfitting |
📖 Glossary module
| Thuật ngữ | Định nghĩa 1 câu |
|---|---|
| Hidden state | Trạng thái ẩn kích thước cố định mà model đọc tuần tự dùng để nén toàn bộ lịch sử đã đọc |
| Vanishing gradient | Gradient co dần khi truyền ngược qua nhiều bước, làm model tuần tự khó học phụ thuộc xa |
| Attention | Phép tra cứu mềm có trọng số: mỗi token phát query, so với key của token khác, nhận value theo tỉ trọng |
| Query | Vector "câu hỏi" một token phát ra để tìm token liên quan |
| Key | Vector "bảng tên" mỗi token mang, để query của token khác so vào |
| Value | Vector nội dung một token đóng góp, được cộng vào output theo trọng số attention |
| Softmax | Hàm biến điểm khớp query-key thành trọng số attention, tổng luôn bằng 1 |
| Multi-head attention | Chạy nhiều attention head song song, mỗi head có bộ chiếu Q/K/V riêng |
| Head | Một bản attention độc lập trong multi-head attention, học một tiêu chí khớp riêng qua train |
| Positional encoding | Thông tin vị trí đưa vào embedding (bản gốc cộng một lần trước block đầu, RoPE áp lại ở mỗi layer) |
| Self-attention | Attention giữa các token trong cùng một chuỗi, để mỗi token thu thông tin từ token khác |
| Feed-forward network (FFN) | Tầng xử lý từng token độc lập trong transformer block, sau self-attention |
| Residual connection | Đường tắt cộng input gốc vào output của một tầng, giữ gradient chảy được khi xếp sâu |
| Transformer block | Một lớp gồm self-attention, FFN và residual connection bọc quanh cả hai |
| Decoder-only | Kiến trúc LLM chỉ dùng phần decoder của transformer, xếp chồng nhiều block với self-attention có causal mask |
| Causal mask | Ràng buộc mỗi token chỉ được nhìn các token đứng trước nó trong self-attention |
| Autoregressive | Cơ chế sinh văn bản: token vừa sinh ra trở thành một phần input của bước kế tiếp |
| KV cache | Bộ nhớ lưu key/value của các token đã xử lý để bước sinh sau khỏi tính lại |
| Scaling laws | Quy luật thực nghiệm mô tả loss giảm trơn khi tăng params, data hoặc compute |
| Compute-optimal (Chinchilla) | Tỉ lệ params/số token train cho loss thấp nhất với một compute budget cho trước |
| Undertrained | Model quá to so với số token nó được train, loss còn cao hơn một model nhỏ hơn train đủ token |
| Emergent abilities | Khả năng dường như chỉ xuất hiện rõ ở quy mô đủ lớn; tính "đột ngột" của nó vẫn đang được tranh luận |
⚠️ Pitfall tổng hợp — đọc từ con số trên model card
Mỗi bài đã có pitfall riêng. Bảng dưới gom lại theo góc của người đọc model card: thấy con số nào, dễ suy ra sai điều gì.
| Thấy trên model card | Dễ suy ra | Thực ra | Bài |
|---|---|---|---|
| Hidden size lớn (RNN cũ) | "Đủ nhớ cả tài liệu dài" | Vẫn nén vào kích thước cố định, chỉ hoãn chuyện phai | 01 |
heads = 64 | "Gấp đôi 32 head là hiểu gấp đôi" | Giữ d_model thì mỗi head còn ít chiều hơn | 03 |
| "RoPE" thay vì positional encoding | "Model này không cần vị trí" | Vẫn cần, chỉ đưa vào ở chỗ khác (mỗi layer) | 04 |
context window 128k | "Nhớ tốt gấp 16 lần" | Chỉ nhìn được xa hơn; compute attention tăng theo bình phương | 07 |
params rất lớn, số token train ít | "To hơn thì tốt hơn" | Có thể undertrained; so với số token train | 06 |
✅ Self-assessment
Bạn đã đạt module này nếu trả lời được:
- Bạn giải thích được vì sao model đọc tuần tự nghẽn ở phụ thuộc xa và không song song hoá được khi train, và attention gỡ hai giới hạn đó bằng cách nào chưa?
- Bạn giải thích được vai trò của query, key, value trong một attention head, và vì sao chạy nhiều head song song lại bắt được nhiều kiểu quan hệ khác nhau chưa?
- Bạn lần được đường đi của một token qua một transformer block (từ positional encoding, qua self-attention, FFN, tới residual) và vì sao xếp chồng N lớp lại có ý nghĩa chưa?
- Nếu chưa: đọc lại bài 04 mục 3–7.
- Bạn lần được vòng lặp next-token của một decoder-only LLM, và giải thích được vì sao causal mask cho phép train song song trong khi inference vẫn phải sinh từng token một chưa?
- Nếu chưa: đọc lại bài 05 mục 2–4.
- Bạn dự đoán được hệ quả định tính khi tăng params, data, compute theo scaling laws chưa?
- Nếu chưa: đọc lại bài 06 mục 2–5.
- Bạn tự đọc và phân tích được một sơ đồ kiến trúc hoặc model card LLM bằng đúng vốn từ transformer vừa học trong module này chưa?
- Nếu chưa: làm lại bài 07 phần "Phần việc của bạn" trước khi xem lời giải.
🚀 What's next
Module 4 mở hộp đen "model nhìn context bằng cách nào": bạn biết attention hoạt động ra sao, nhưng embedding (vector nghĩa mà query/key/value được suy ra từ đó) vẫn là khái niệm mượn tạm. Module 5 — Embedding, tìm kiếm & RAG đi vào đúng khái niệm đó: embedding biến văn bản thành vector nghĩa thế nào, cosine similarity đo "gần" ra sao, chunking cắt tài liệu trước khi tìm, và RAG ghép retrieve với generate để AI trả lời dựa trên tài liệu của bạn thay vì chỉ dựa vào thứ đã học sẵn.
Sau đó, Module 6 — Tầng quyết định của engineer (prompt principles, fine-tune, agents, eval, cost/privacy trước khi ship) dùng lại đúng các khái niệm attention và context ở đây khi bàn về giới hạn của prompt và agent.
Xem tiếp: Tổng quan: Embedding, tìm kiếm & RAG
📚 Tài liệu mở rộng
- Paper — attention gắn vào RNN (tiền thân): Bahdanau, Cho & Bengio — Neural Machine Translation by Jointly Learning to Align and Translate (arXiv:1409.0473)
- Paper — kiến trúc transformer gốc: Vaswani et al. — Attention Is All You Need (arXiv:1706.03762)
- Paper — LLM decoder-only quy mô lớn (GPT): Brown et al. — Language Models are Few-Shot Learners (arXiv:2005.14165)
- Paper — scaling laws gốc: Kaplan et al. — Scaling Laws for Neural Language Models (arXiv:2001.08361)
- Paper — Chinchilla, compute-optimal: Hoffmann et al. — Training Compute-Optimal Large Language Models (arXiv:2203.15556)
Bài này có giúp bạn hiểu bản chất không?
Bài này đáng gửi cho bạn học cùng?
Copy link đã gắn nguồn — dán group, chat, hoặc LinkedIn.
Mini-challenge: đọc sơ đồ kiến trúc LLM
Bài tiếp Embedding, tìm kiếm & RAGTổng quan: Embedding, tìm kiếm & RAG
Thảo luận & góp ý
Hỏi đáp về bài này