AI Core cho lập trình viên
36/54
Bài 36 / 54~6 phútTransformer & attentionMiễn phí… lượt xem

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

ConceptKhi nào cần nhớPitfall
Model đọc tuần tự (RNN-style)Giải thích vì sao transformer ra đờiTưở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" contextTưở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ố attentionNhớ 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 attentionGiải thích vì sao cần nhiều head thay vì mộtTưở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 encodingGiả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úcBỏ quên residual, không giải thích được vì sao xếp sâu mà gradient vẫn truyền được
Causal maskGiả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 outputNghĩ 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 computeCoi 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-optimalCân đối compute giữa params và số token trainDồ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 stateTrạ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 gradientGradient 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
AttentionPhé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
QueryVector "câu hỏi" một token phát ra để tìm token liên quan
KeyVector "bảng tên" mỗi token mang, để query của token khác so vào
ValueVector nội dung một token đóng góp, được cộng vào output theo trọng số attention
SoftmaxHàm biến điểm khớp query-key thành trọng số attention, tổng luôn bằng 1
Multi-head attentionChạy nhiều attention head song song, mỗi head có bộ chiếu Q/K/V riêng
HeadMộ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 encodingThô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-attentionAttention 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 blockMột lớp gồm self-attention, FFN và residual connection bọc quanh cả hai
Decoder-onlyKiế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 maskRàng buộc mỗi token chỉ được nhìn các token đứng trước nó trong self-attention
AutoregressiveCơ 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 cacheBộ nhớ lưu key/value của các token đã xử lý để bước sinh sau khỏi tính lại
Scaling lawsQuy 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
UndertrainedModel 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 abilitiesKhả 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 cardDễ suy raThực raBà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 phai01
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ơn03
"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ương07
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 train06

✅ 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?
    • Nếu chưa: đọc lại bài 01 mục 2–3 và bài 02 mục 2–3.
  • 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

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.

Thảo luận & góp ý

Hỏi đáp về bài này

Bài tiếp theo

Tổng quan: Embedding, tìm kiếm & RAG