E · Training Architecture
Causal encoder–decoder · kiến trúc DeepSeek-V4.1
Kiến trúc Causal Encoder–Decoder (như DeepSeek-V4.1 Flash) tách chồng lớp thành khối mã hóa nhân quả một chiều và khối giải mã dùng chung bộ nhớ KV toàn cục.
1Định nghĩa
Causal Encoder–Decoder là biến thể lai giữa kiến trúc Decoder-only và Encoder–Decoder truyền thống. Khác với Encoder hai chiều của BERT/T5 không thể sinh văn bản nối tiếp, khối Encoder ở đây vẫn dùng mặt nạ nhân quả (causal mask) (chỉ đọc từ trái sang phải), sau đó kết quả ở tầng cuối của Encoder được chiếu thành một bộ KV cache toàn cục duy nhất để toàn bộ các lớp của khối Decoder phía sau cùng đọc chung.
Nhờ chia sẻ bộ nhớ KV toàn cục từ đầu ra Encoder thay vì bắt mỗi lớp Decoder tự lưu một bản KV đầy đủ riêng, kiến trúc này cắt giảm đáng kể lượng bộ nhớ HBM và băng thông đọc ở pha decode. Các lớp Decoder chỉ cần giữ trạng thái cửa sổ trượt cục bộ (local window) hoặc kết hợp với các lớp nén ngữ cảnh (CSA).
Ví dụ đời thường: Causal Encoder–Decoder giống như quy trình làm việc của một đoàn làm phim: tổ biên kịch (Causal Encoder) đọc kịch bản từ đầu đến cuối và dựng sẵn một bảng phân cảnh tổng thể duy nhất treo giữa phòng (global KV cache dùng chung), sau đó tất cả các tổ quay phim ở chặng sau (các lớp Decoder) đều cùng nhìn vào tấm bảng chung đó thay vì mỗi tổ phải tự vẽ lại một bảng phân cảnh riêng.
2Luồng
- Encoder xử lý prefix
Tạo final hidden và global memory theo causal order.
- Decoder đọc KV dùng chung
Tuân thủ projections và sparse reuse của checkpoint.
- Decode / replay / verify
Quản lý local states, draft và acceptance.
Mã Mermaid
flowchart TD
step1["Encoder xử lý prefix"]
step2["Decoder đọc KV dùng chung"]
step3["Decode / replay / verify"]
step1 --> step2
step2 --> step3 Luồng mô tả cơ chế hoặc quy trình kiểm tra. Các ví dụ số là giả định giáo dục; demo Atlas không chạy kiến trúc production này.
3Giải pháp
Model card tách backbone 552B với 8B active prefill / 16B decode và Engram tables 196B. Không báo 552B là tổng gồm tất cả tables hoặc xem active bằng nhau ở hai pha.
Card công bố 20 encoder + 20 decoder layers. Đếm tensor/cache theo vai trò từng layer; đừng nhân 40 lần một GQA cache đồng nhất. KV FP4 cần scales/packing và kernel hỗ trợ.
Prefix reuse phải giữ cả dependency encoder→decoder và local replay semantics. Dùng adapter/weights khác làm cache cũ không hợp lệ.
4Profiling
- Pha prefill vs decode
Đo FLOPs, weights touched, TTFT/TPOT và cache tensors riêng từng pha.
- Replay parity
So logits với chạy tuần tự đầy đủ; đo replay length và cold/warm prefix latency.
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ụ
Khác T5
T5 encoder có thể đọc cả source sẵn có. Encoder causal của V4.1 phải tránh rò token tương lai khi huấn luyện/sinh; mask là một phần contract.
Không cộng sai tham số
Báo backbone và lookup tables trong hai cột, nêu cách đếm unique weights. Active 8B/16B không phải memory để chứa checkpoint.
6Thuật ngữ
- Causal encoder
- Encoder không dùng token tương lai; không tự tương đương T5 source encoder.
- Bounded replay
- Tái tính recent window để khôi phục local state với chi phí giới hạn.
Glossary (9)
- Tensor
- Mảng số nhiều chiều, như một vector, ma trận hoặc nhóm ma trận.
- Model weights
- Các tham số số học được học và lưu trong checkpoint.
- Checkpoint
- Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
- Prefix
- Phần đầu của một chuỗi token; cache reuse cần phần đầu tương thích.
- 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.
- Mask
- Quy tắc vị trí nào được nhìn nhau hoặc được tính vào loss.
- Latency
- Thời gian chờ để nhận một kết quả hoặc một bước kết quả.