AI Core cho lập trình viên/Tổng quan: Transformer & attention
28/54
Bài 28 / 54~5 phútTransformer & attentionMiễn phí lượt xem

Tổng quan: Transformer & attention

Bản đồ module: từ nỗi đau của model đọc tuần tự, qua attention và transformer block, đến decoder-only LLM và scaling laws — đủ để đọc sơ đồ kiến trúc, không cần PhD.

TL;DR: Module này trả lời một câu hỏi: bên trong một LLM, chuyện gì thật sự xảy ra khi nó "đọc" câu của bạn? Đường đi có sáu chặng nối tiếp nhau. Model đọc tuần tự kiểu cũ bị nghẽn ở phụ thuộc xa và không song song hoá được khi train — đó là nỗi đau attention ra đời để giải quyết, bằng phép tra cứu query/key/value cho mỗi token tự "hỏi" các token khác. Nhiều head chạy song song bắt nhiều kiểu quan hệ khác nhau, rồi ghép cùng feed-forward network và residual connection thành một transformer block, xếp chồng N lớp. Causal mask biến kiến trúc đó thành decoder-only LLM: train song song mọi vị trí, nhưng inference vẫn sinh từng token một. Cuối module, scaling laws cho biết thêm params/data/compute đổi loss theo quy luật nào — và bạn tự đọc được một sơ đồ kiến trúc LLM thật.

Vì sao module này tồn tại?

Ở Module 3 (Cỗ máy LLM), bạn đã trace được vòng lặp sinh văn bản — tokenize, nhìn context, dự đoán phân phối xác suất, sample, decode — nhưng bước "nhìn context" ở đó được coi như hộp đen: model cứ thế "biết" token nào trong câu liên quan đến token nào. Module này mở đúng cái hộp đen đó.

Trước 2017, mở hộp đen này ra sẽ thấy một model đọc tuần tự (RNN-style): đọc từng token, nén lịch sử vào một trạng thái ẩn kích thước cố định. Cách đó có hai nỗi đau nặng — phụ thuộc ở xa bị phai dần, và train không song song hoá được vì bước t phải chờ bước t-1. Paper "Attention Is All You Need" (Vaswani et al., 2017) giải quyết cả hai bằng một cơ chế duy nhất: attention. Từ đó, GPT, Claude, Llama, Gemini — mọi LLM bạn đang dùng — đều là biến thể của cùng một kiến trúc: transformer.

Học xong module này, một sơ đồ kiến trúc hay một dòng trong model card ("32 layers, 32 heads, context 8K") không còn là chữ trang trí — bạn đọc ra được nó đang mô tả cơ chế nào, và vì sao đổi một con số trong đó (tăng heads, tăng layers, tăng params) lại đổi hành vi model theo hướng có thể dự đoán trước.

Sau module này bạn sẽ

  • Explain vì sao kiến trúc đọc tuần tự nghẽn với phụ thuộc xa và không song song hoá được khi train, và attention giải quyết nỗi đau đó thế nào
  • Explain vai trò query/key/value trong một head attention và vì sao nhiều head song song bắt được nhiều kiểu quan hệ
  • Trace đường đi của một token qua transformer block: positional encoding → self-attention → FFN → residual, xếp chồng N lớp
  • Trace vòng lặp next-token của decoder-only LLM: causal mask cho phép train song song, inference sinh từng token
  • Predict hệ quả định tính của scaling laws khi tăng params, data, compute
  • Analyze sơ đồ kiến trúc và model card của một LLM thật bằng vốn từ transformer

Lộ trình module

Bản đồ module ba chặng: nỗi đau đọc tuần tự cùng lời giải attention và multi-head; ghép thành transformer block rồi causal mask thành LLM; quy mô với scaling laws, mini-challenge và tổng kết

Sáu bài concept (01–06) xếp theo đúng một mạch truyện, không hoán đổi được. Bài 01 dựng lại đúng hai nỗi đau của model đọc tuần tự — đây là động lực, không phải kiến thức nền để học thuộc, vì mọi cơ chế sau đó tồn tại chỉ để giải quyết hai nỗi đau này. Bài 02 giới thiệu attention như một phép tra cứu mềm: query/key/value. Bài 03 chỉ ra một head attention chỉ bắt được một kiểu quan hệ, nên cần nhiều head song song — đây là chỗ "nhiều góc nhìn" của multi-head trở nên cần thiết chứ không phải tuỳ chọn.

Bài 04 ghép attention (đã học) với positional encoding và FFN thành một transformer block hoàn chỉnh, rồi xếp chồng N lớp — tới hết bài này, bạn có toàn bộ kiến trúc transformer gốc. Bài 05 rẽ sang câu hỏi: kiến trúc đó biến thành LLM sinh văn bản (kiểu GPT) thế nào? Câu trả lời là causal mask — một ràng buộc nhỏ khiến train song song được nhưng inference vẫn tuần tự, nối thẳng lại với vòng lặp next-token bạn đã học ở Module 3. Bài 06 lùi ra xa hơn: khi kiến trúc này được scale lên (nhiều params hơn, nhiều data hơn, nhiều compute hơn), loss đổi theo quy luật nào — scaling laws, đọc định tính, không cần công thức.

Bài 07 — mini-challenge — không dạy khái niệm mới. Nó đưa một model card LLM thật, buộc bạn tự chỉ ra khối transformer, giải nghĩa layers/heads/params/context bằng đúng vốn từ vừa học, trước khi xem lời giải. Bài 08 ghép bảy mảnh thành một sơ đồ end-to-end và self-assessment theo đúng sáu learning outcome ở trên.

Yêu cầu trước khi bắt đầu

  • Nên học xong Module 2 (Não nhân tạo vừa đủ) và Module 3 (Cỗ máy LLM) trước khi vào module này — attention là câu trả lời cho câu hỏi Module 3 để ngỏ ("model nhìn context bằng cách nào"), và trọng số/neuron ở Module 2 là nền để hiểu "học được" nghĩa là gì.
  • Nếu nhảy thẳng vào đây, ba điều tối thiểu cần biết trước khi đọc bài 01:
    • Token là đơn vị nhỏ nhất model xử lý (không phải ký tự, không hẳn là từ) — mỗi token được model biểu diễn bằng một vector số gọi là embedding.
    • Model dự đoán một phân phối xác suất cho token kế tiếp rồi sample ra một token, lặp lại vòng đó để sinh cả câu — đây chính là vòng lặp mà causal mask ở bài 05 giải thích cơ chế train.
    • Weight (trọng số) là con số được học qua train, không phải luật viết tay — "học" nghĩa là chỉnh dần các trọng số này.
  • Không cần biết code ML, không cần Python. Pseudocode trong bài đọc được bằng logic lập trình thông thường.

Time budget

BàiChủ đềThời lượng
00Tổng quan (bài này)~5 phút
01Nỗi đau của model đọc tuần tự~12 phút
02Attention — tra cứu có trọng số (Q/K/V)~13 phút
03Multi-head — nhiều góc nhìn~11 phút
04Transformer block~13 phút
05Từ transformer đến LLM (causal mask)~13 phút
06Scaling laws định tính~12 phút
07Mini-challenge — đọc sơ đồ kiến trúc~15 phút
08Tổng kết & cheat sheet~6 phút
Tổng~1 giờ 40 phút

Cách học module này hiệu quả

  • Đừng học bài 03 tách khỏi bài 02. Multi-head chỉ có nghĩa khi bạn đã thấy rõ giới hạn của một head đơn (bài 02) — học ngược thứ tự sẽ thấy "nhiều head" là chi tiết kỹ thuật vô cớ thay vì lời giải cho một giới hạn cụ thể.
  • Bài 05 nối thẳng lại với Module 3. Nếu vòng lặp next-token (tokenize → context → dự đoán → sample) ở Module 3 bài 01 đã mờ, đọc lại nó trước khi vào bài 05 — causal mask chỉ trọn nghĩa khi đặt cạnh vòng lặp đó.
  • Làm nghiêm túc mọi bước "Đoán trước". Phần lớn bài trong module dừng lại bắt bạn tự dự đoán trước khi đọc giải thích cơ chế — đây là cách kiểm tra bạn hiểu cơ chế hay chỉ nhớ tên gọi.
  • Bài 07 là lúc kiểm tra thật. Nếu không giải nghĩa được một mục trong model card, quay lại đúng bài tương ứng (02/03/04/05) đọc lại phần cơ chế trước khi xem lời giải, đừng đoán tiếp.

Bài tiếp theo: Nỗi đau của model đọc tuần tự

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.

Bài này có giúp bạn hiểu bản chất không?

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

Chưa có câu hỏi

Đặt câu hỏi

Có gì chưa rõ trong bài? Đặt câu hỏi đầu tiên — câu trả lời từ cộng đồng giúp bạn (và người sau).

Đặt câu hỏi đầu tiên

Bài tiếp theo

Nỗi đau của model đọc tuần tự trước khi có transformer