6B · LM Head & DSpark
6B · LM head và DSpark · vẽ token nháp trước khi verify
Khối cuối gộp hidden của các lớp DSpark target, LM head cho ra logits tổng hợp, DSpark vẽ khối token nháp bằng MarkovHead và confidence là xác suất của token nháp trước bước verify bằng forward thật.
1Định nghĩa
DSpark là cơ chế dự đoán tự chủ ở phần chân của DeepSeek-V4.1-Flash: một bộ vẽ nhỏ (MarkovHead) vẽ trước một khối token nháp, rồi mô hình thật verify một lượt để giữ token hợp lệ; mỗi token vẽ ra có confidence là xác suất của token đó theo phân phối draft. Đây là mở rộng của hướng sinh song song qua đầu dự đoán đa token và cùng cơ chế draft-then-verify như bài speculative decoding đã trình bày.
Về cơ chế, đầu vào của DSpark là hidden của một nhóm lớp (DSPARK_TARGET_LAYERS; trong lab là lớp 3 và 4, trộn 0.5/0.5); bộ vẽ MarkovHead vẽ khối token nháp, ví dụ khối 3 token. Confidence từng token là xác suất của token nháp trong phân phối draft: trong lab các token nháp 2, 1, 6 có confidence 0.167, 0.234, 0.173. Token nháp chưa qua verify với forward thật của mô hình, nên confidence chỉ minh họa phần vẽ chứ không chứng minh được bao nhiêu token giữ lại; kết quả chi tiết được đọc ở bước 6B của Bài Lab tổng hợp DeepSeek-V4.1-Flash. Khối vẽ đọc hidden đã ghi sẵn nên chỉ dùng thêm một phần nhỏ ngân sách cache đã cộng trong bài ngân sách KV FP4.
Ví dụ đời thường: DSpark giống trợ lý viết nháp cho chủ bút: trợ lý phác ba câu trước, chủ bút đọc một lượt và có thể giữ cả ba câu hoặc chỉ chỉnh lại câu sai; người quyết cuối cùng luôn là chủ bút (forward thật), không phải trợ lý (bộ vẽ). Giới hạn của phép so: nếu trợ lý vẽ sai nhiều, phải vẽ lại nhiều lần và hiệu năng giảm; lợi nhuận chỉ đến khi phần lớn token nháp được giữ lại sau verify.
2Luồng
Cách đọc hình (Cột 4, khối 6B trên đỉnh): từ 5A đi lên đỉnh Cột 4, gộp hc_pre qua RMSNorm ra thanh Logits [B, V], đồng thời trích lớp đích L37..39 qua 3 lớp MTP DSpark vẽ 5 token nháp [tok, noise×4] kèm Markov Head (256) và Confidence σ(h); xem bước [6B] trong Bài Lab tổng hợp ở Tab 02.
- 6B · Đầu vào là nhiều làn hidden
Gộp hidden của các lớp DSpark target (lớp 3, 4 trong lab, trộn 0.5/0.5) làm đầu vào cho bộ vẽ.
- 6B · Vẽ khối token nháp
MarkovHead vẽ một khối 3 token từ phân phối draft; mỗi token có confidence là xác suất vẽ của nó.
- 6B · Verify bằng forward thật
Token nháp đi qua forward thật của mô hình; token hợp lệ được giữ, token sai bị vẽ lại; cơ chế cùng họ với MTP.
Mã Mermaid
flowchart TD
step1["6B · Đầu vào là nhiều làn hidden"]
step2["6B · Vẽ khối token nháp"]
step3["6B · Verify bằng forward thật"]
step1 --> step2
step2 --> step3 3Giải pháp
Bài toán cần giải: sinh token theo từng bước khiến mỗi token cần một lượt forward lớn; cần vẽ được nhiều token cùng lúc nhưng không làm sai kết quả cuối. DSpark trả lời bằng cách kết hợp vẽ khối và verify; sau bài này, bạn cần tự kể được: gộp hidden từ lớp nào, MarkovHead vẽ bao nhiêu token, confidence được tính thế nào, và token nào được giữ sau verify.
Gộp hidden của các lớp target: DSpark không vẽ từ hidden của một lớp duy nhất mà gộp hidden của DSPARK_TARGET_LAYERS (trong lab là lớp 3 và 4, trộn 0.5/0.5); nhờ đó bộ vẽ nhìn thấy ngữ cảnh từ nhiều lớp. Gộp này không thêm byte cache; nó chỉ là đầu vào của khối vẽ.
MarkovHead vẽ khối: bộ vẽ sinh token kế tiếp theo phân phối draft; trong lab khối nháp dài 3 token với confidence [0.167, 0.234, 0.173] cho token 2, 1, 6. Đây là phần dự đoán tạm thời; kết quả cần verify bằng forward thật trước khi giữ lại.
Verify giữ token hợp lệ: forward thật của mô hình lớn chạy cho khối nháp cùng lúc; token hợp lệ theo dự đoán của mô hình lớn được giữ lại, token sai bị vẽ lại từ vị trí đó. Lợi ích hiệu năng tăng khi càng nhiều token nháp được giữ, vì nhiều token được xác nhận chỉ với một lượt forward. Chú ý: verify cũng phải giữ tính nhân quả, vì token nháp còn chưa được giữ không thể được các token sau (kể cả phần nén KV như bài CSA2) đọc.
Confidence không phải chất lượng sau verify: confidence của token vẽ là xác suất từ phân phối draft, không phải xác suất token được giữ sau verify. Lab cho thấy token 2 với confidence 0.167, token 1 với 0.234, token 6 với 0.173; cả ba dưới 0.25 là dấu hiệu trọng số chưa học, không phải nhận xét về ngôn ngữ. Muốn thấy logits và bảng token nháp in rõ, mở bước 6B của Bài Lab tổng hợp DeepSeek-V4.1-Flash.
4Profiling
- Parity logits dùng cùng một hidden
Kiểm tính đúng trước: chạy forward thật cho cùng một hidden hai lần, sai khác logits giữa hai lượt phải bằng 0 trong ngưỡng đã chọn (ví dụ 1e-9). Cũng kiểm hidden gộp 0.5/0.5 của hai lớp target đúng bằng trung bình hai phần riêng, không bị trộn lệch vì thứ tự cộng.
- Tỉ lệ token nháp được giữ qua verify
Đo số token được giữ trong khối khi đối chiếu với dự đoán của mô hình lớn, chia cho độ dài khối (trong lab là 3); ghi riêng confidence mỗi token để thấy mức confidence của bộ vẽ có dự đoán tỉ lệ giữ hay không; chưa đo thì không kết luận về chất lượng vẽ.
- Chi phí verify trên thời gian decode
Đo thời gian verify của khối k token so với k lần decode một token riêng, trên cùng bộ nhớ cache đã dùng; token bị vẽ lại phải tính lại từ vị trí đó, không đếm phần đã giữ từ trước.
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ụ
Bước 1 · Dự đoán tổng confidence của khối nháp
Input: khối nháp dài 3 token với confidence lần lượt 0.167, 0.234, 0.173. Trước khi tính, hãy dự đoán: tổng ba confidence có vượt 1 không, và vì sao? Đáp án ở Bước 2; có thể đối chiếu bảng token nháp in rõ ở 6B của [bài lab tổng hợp](/courses/deepseek-v4-1-flash/dsv41-lab/dsv41-end-to-end-lab/).
Bước 2 · Cộng confidence và phân phối draft
Tính: 0.167 + 0.234 + 0.173 = 0.574, không vượt 1 vì mỗi confidence là xác suất riêng của token vẽ theo phân phối draft, không phải xác suất đồng thời của cả khối. Token có confidence cao nhất là token 1 với 0.234. Tự kiểm tra: nếu phân phối draft đều trên 3 token, mỗi confidence nên gần 1/3 ≈ 0.333; trong lab confidence thấp hơn vì weights chưa học bị nghiêng về một số token.
Tự kiểm tra · Token nào được giữ sau verify
Giả sử forward thật của mô hình lớn xác nhận 2 trong 3 token của khối nháp, còn token cuối bị vẽ lại. Tự kiểm tra: số token được giữ là 2, tỉ lệ 2/3 ≈ 0.667; token bị vẽ lại được sinh lại từ vị trí sau token thứ hai, và mô hình lớn chỉ chạy một lượt forward cho cả khối thay vì ba lần decode riêng. Lưu ý: confidence cao hơn không bảo đảm token được giữ; việc giữ lại cần đối chiếu với dự đoán của mô hình lớn, không theo giá trị xác suất draft; bảng đối chiếu in rõ ở 6B của [bài lab tổng hợp](/courses/deepseek-v4-1-flash/dsv41-lab/dsv41-end-to-end-lab/).
6Thuật ngữ
- LM head
- Phép chiếu từ hidden state sang logits theo kích thước từ vựng; đầu ra tổng hợp dùng để chọn token kế và làm tham chiếu khi verify.
- DSpark
- Cơ chế dự đoán tự chủ: vẽ trước một khối token nháp từ phân phối draft, rồi verify bằng forward thật của mô hình để giữ token hợp lệ và bỏ token sai.
- MarkovHead
- Bộ vẽ token nháp của DSpark; đọc hidden đã gộp của các lớp DSpark target (trong lab là lớp 3 và 4, trộn 0.5/0.5) để sinh phân phối nháp.
- Confidence
- Xác suất của token nháp vừa vẽ ra theo phân phối draft; là bằng chứng của bộ vẽ, chưa qua bước verify của mô hình lớn nên chỉ mang ý nghĩa minh họa.
Glossary (4)
- Token nháp
- Token được vẽ từ bộ sinh nhỏ trước khi được mô hình lớn xác nhận; hợp lệ thì giữ, sai thì vẽ lại từ đó.
- Phân phối draft
- Phân phối xác suất của bộ vẽ dùng để chọn token nháp; confidence mỗi token được tính từ phân phối này.
- Verify
- Chạy forward thật của mô hình lớn trên khối token nháp; token mà mô hình lớn cũng dự đoán được giữ, token còn lại được vẽ lại từ vị trí đó.
- DSPARK_TARGET_LAYERS
- Danh sách lớp cung cấp hidden để gộp cho bộ vẽ; trong lab là lớp 3 và 4 với hai trọng số 0.5/0.5.
