L2 · Decode algorithm
Đề xuất token trước, rồi để mô hình chính xác minh
Kỹ thuật tăng tốc decode bằng cách dùng mô hình nhỏ đoán trước một cụm token rồi để mô hình chính kiểm tra trong một lượt.
1Định nghĩa
Speculative decoding là kỹ thuật giảm số vòng lặp tuần tự ở pha decode mà không làm thay đổi chất lượng đầu ra của mô hình chính (target model). Nó tận dụng thực tế là GPU thường dư thừa năng lực tính toán khi chỉ xử lý 1 token nhưng lại tốn nguyên một lượt đọc trọng số từ bộ nhớ.
Thay vì để mô hình lớn tự nhích từng bước, một cơ chế nháp nhẹ hơn (drafter hoặc MTP head) đoán nhanh một chuỗi ngắn K token ứng viên. Mô hình chính sau đó kiểm tra toàn bộ K token này song song trong một lượt chạy duy nhất: những token khớp phân phối xác suất được nhận ngay, vị trí sai đầu tiên được sửa lại từ điểm số của mô hình chính và phần KV cache dư thừa phía sau sẽ bị cắt bỏ.
Ví dụ đời thường: Speculative decoding giống như cách làm việc giữa một trợ lý tốc ký và một luật sư trưởng. Thay vì luật sư trưởng tự gõ từng chữ rất tốn thời gian, trợ lý viết nháp nhanh trước một cụm 4–5 từ; luật sư trưởng chỉ cần liếc mắt một lượt là duyệt luôn cả cụm từ đúng hoặc sửa ngay tại chữ đầu tiên chưa chuẩn, giúp tốc độ soạn văn bản tăng vọt mà chất lượng vẫn do luật sư trưởng quyết định.
2Luồng
- Tạo ứng viên
Đề xuất vài token theo context.
- Mô hình chính xác minh
Tính các distributions cần kiểm tra.
- Chấp nhận và sửa state
Giữ phần hợp lệ; xử lý phần bị từ chối.
- Xuất token và lặp
Cập nhật context cho lượt đề xuất sau.
Mã Mermaid
flowchart TD
step1["Tạo ứng viên"]
step2["Mô hình chính xác minh"]
step3["Chấp nhận và sửa state"]
step4["Xuất token và lặp"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
TensorRT-LLM cung cấp các đường speculative decoding. Chọn số token dự thảo và cơ chế đề xuất bằng workload thực tế, tính cả tài nguyên của drafter.
Muốn giữ đúng distribution của mô hình chính, cần thuật toán accept/reject tương ứng; không thể tùy tiện nhận mọi token chỉ vì chúng có vẻ hợp lý.
4Profiling
- Token được chấp nhận mỗi lượt
Đo số token output hữu ích trên một lượt xác minh, kèm thời gian đề xuất.
- Hiệu quả toàn dịch vụ
So latency và tổng tài nguyên bật/tắt cơ chế, giữ chất lượng, prompt và tải tương đươ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ụ
Sinh văn bản dễ đoán
Nếu drafter thường trùng target, một lượt xác minh có thể chấp nhận nhiều token.
Prompt khó với drafter
Nhiều ứng viên bị loại; overhead có thể khiến việc sinh chậm hơn decode thường.
6Thuật ngữ
- Draft model / drafter
- Mô hình hoặc cơ chế đề xuất token, thường rẻ hơn mô hình chính.
- Acceptance rate
- Tỷ lệ token đề xuất được chấp nhận sau khi xác minh.
Glossary (5)
- Cache
- Bộ nhớ giữ kết quả có thể dùng lại; trong attention thường giữ key/value vectors.
- Runtime
- Phần mềm quản lý việc thực thi, buffers và phụ thuộc giữa phép toán.
- Latency
- Thời gian chờ để nhận một kết quả hoặc một bước kết quả.
- Overhead
- Chi phí phụ như điều phối, chuyển đổi hoặc phát lệnh ngoài phép tính chính.
- Context
- Chuỗi token trước vị trí hiện tại mà model được phép sử dụng.