OpenArchLabOpen Architecture — From Models to Systems

E · Training Architecture

Decoder-only · học và sinh token kế tiếp

Kiến trúc tự hồi quy chỉ nhìn ngữ cảnh phía trước (causal mask) để dự đoán và sinh nối tiếp từng token — nền tảng của hầu hết LLM hiện nay.

LESSON ID arch-decoder GROUP Bản đồ nền tảng LLM
Mục lục bài học

1Định nghĩa

Mô hình Decoder-only (như họ GPT, Llama, Qwen, Claude) là kiến trúc tiêu chuẩn của các mô hình sinh văn bản hiện đại. Điểm cốt lõi của nó là mặt nạ nhân quả (causal mask) trong khối Attention: mỗi vị trí token chỉ được phép đọc thông tin từ chính nó và các token đứng trước, tuyệt đối không được nhìn trước phần tương lai.

Thiết kế một chiều này giúp quá trình huấn luyện và suy luận khớp hoàn toàn với nhau: lúc huấn luyện, cả câu mẫu được đưa vào tính song song để đoán token kế tiếp tại mọi vị trí (next-token target); lúc phục vụ suy luận, mô hình chạy prefill trên prompt rồi bước vào vòng lặp decode tự hồi quy kết hợp KV cache để sinh từng token mới.

Ví dụ đời thường: Mô hình Decoder-only giống như một nhà văn đang ngồi gõ từng chữ của cuốn tiểu thuyết mới: tại mỗi thời điểm, nhà văn chỉ có thể đọc lại những dòng mình đã viết phía trước (mặt nạ một chiều causal mask) để nghĩ ra từ tiếp theo, chứ không thể nhìn thấy những câu ở trang sau khi chúng chưa được viết ra.

2Luồng

Sơ đồ luồng (4 bước)
  1. Tạo input và target lệch một vị trí

    Token hiện tại là input; token kế tiếp là nhãn cần dự đoán.

  2. Tính biểu diễn không nhìn tương lai

    Embedding qua các lớp decoder với causal mask tạo logits.

  3. Huấn luyện từ các vị trí có nhãn

    Loss, gradients và optimizer điều chỉnh cùng bộ trọng số.

  4. Inference từ prompt

    Prefill xử lý prompt, sau đó decode đưa token mới trở lại vòng lặp.

Mã Mermaid
flowchart TD
  step1["Tạo input và target lệch một vị trí"]
  step2["Tính biểu diễn không nhìn tương lai"]
  step3["Huấn luyện từ các vị trí có nhãn"]
  step4["Inference từ prompt"]
  step1 --> step2
  step2 --> step3
  step3 --> step4

Các mũi tên biểu diễn quan hệ dữ liệu hoặc quyết định thiết kế. Chọn từng nút để đọc bài liên quan; mở sơ đồ Markdown / Mermaid bên dưới để sao chép.

3Giải pháp

Trong serving, dùng cache key/value hợp lệ để tránh tính lại phần lịch sử ở mỗi bước. Prefill và decode có shapes khác nhau nên có thể cần kernel hoặc batching khác nhau.

Nếu train hội thoại và chỉ tính loss trên câu trả lời, prompt vẫn được đọc làm ngữ cảnh. Điều này đổi vị trí được chấm điểm, không thêm encoder thứ hai hoặc router chuyên gia.

4Profiling

  • Tính đúng mask và cache

    Thay token tương lai rồi xác nhận logits của vị trí trước không đổi; so decode có cache với tính lại full context.

  • Chất lượng và hai pha inference

    Đo loss trên dữ liệu giữ riêng; đo thời gian đến token đầu và thời gian mỗi token tiếp theo riêng.

Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.

5Ví dụ

Demo simple và dialogue

Cả hai dùng một decoder layer. Input “xin ” của simple dự đoán phần tiếp tục; dialogue dùng mẫu User/Assistant, nhưng vẫn sinh từng ký tự theo cùng cơ chế.

Llama 3.1

Meta công bố dòng này dùng decoder-only Transformer Dense. Cấu trúc cùng họ với demo, nhưng kích thước, tokenizer và chi tiết từng khối khác rất nhiều.

6Thuật ngữ

Autoregressive
Tự hồi quy: kết quả mới được tạo dựa trên phần chuỗi đã có, rồi trở thành đầu vào cho bước sau.
Causal mask
Quy tắc chặn thông tin từ token tương lai; khi packing còn phải tôn trọng ranh giới mẫu.
Glossary (6)
Tokenizer
Bộ chuyển đổi văn bản và chuỗi mã token theo bảng từ vựng.
Cache
Bộ nhớ giữ kết quả có thể dùng lại; trong attention thường giữ key/value vectors.
Logits
Điểm số chưa chuẩn hóa cho các token ứng viên trước khi chọn token.
Kernel
Hàm tính toán chạy trên thiết bị; thường xử lý nhiều phần tử song song.
Forward pass
Tính kết quả model từ đầu vào theo weights hiện tại.
Context
Chuỗi token trước vị trí hiện tại mà model được phép sử dụng.

7Bài liên quan

8Nguồn