Knowledge Distillation — Model lớn dạy model nhỏ, nén intelligence
Cách chuyển giao 'bí mật' từ LLM 100B xuống model 7B bằng soft targets: giảm 90% kích thước mà giữ 95% khả năng suy luận.
Giải pháp để chạy AI trên điện thoại không phải là huấn luyện model nhỏ từ đầu với dữ liệu khổng lồ. Cách khôn ngoan hơn — và đang được DeepSeek, Google, Apple sử dụng — là để model khổng lồ "truyền nghề" cho model nhỏ qua phân phối xác suất mềm, dạy cả cách thầy suy nghĩ lẫn câu trả lời đúng.
Vấn đề
Model lớn quá nặng, model nhỏ quá ngây thơ.
Một LLM 100B parameters đạt accuracy cao nhưng cần 200GB VRAM và latency không thể chấp nhận trên edge. Ngược lại, train model 7B từ đầu với hard labels (one-hot encoding: 0 cho sai, 1 cho đúng) cho kết quả kém — supervision quá thưa thớt, chỉ cung cấp log₂(N) bits thông tin mỗi sample. Học sinh không biết "con chó giống mèo hơn ô tô", chỉ biết "đây là chó".
Cách cũ là quantization (nén weights) hoặc pruning (cắt bớt connections), nhưng đây là "nén khô" — giảm kích thước nhưng không chuyển giao khả năng reasoning. Cần một cơ chế "nén ướt": truyền intelligence từ teacher sang student, biến kiến thức tác giả thành kỹ năng học trò.
Ý tưởng cốt lõi
Dark knowledge trong những câu trả lời sai.
Khi teacher đoán một con vật là [0.7 chó, 0.2 mèo, 0.05 cáo, 0.05 xe], thông tin quý giá không nằm ở 0.7, mà nằm ở tỷ lệ 4:1 giữa mèo và xe. Điều này tiết lộ cấu trúc không gian ngữ nghĩa: chó gần mèo, xa xe. Knowledge Distillation (KD) ép student học cả những "bóng đổ" này thay vì chỉ nhớ đáp án.
Cơ chế then chốt là temperature scaling: thay vì dùng softmax "cứng" (argmax), ta chia logits cho T (thường 2–10) trước khi exponentiate. Điều này làm phẳng phân phối, tăng entropy, để student thấy rõ quan hệ tương đối giữa tất cả classes — kể cả những cái sai. Student học không chỉ cái gì đúng, mà còn mức độ đúng của các phương án khác.
Aha moment: Học từ hard labels như đọc đáp án trong sách; học từ soft targets như nghe giảng viên giải thích tại sao đáp án B gần đúng hơn C. Student nhận được gấp 10 lần thông tin từ cùng một câu hỏi.
Tại sao nó hoạt động
KD hoạt động vì tính tuyến tính của gradient và tính trơn của loss landscape.
Khi minimize KL divergence giữa phân phối teacher P và student Q:
Hệ số T² bù đắp cho việc gradient bị chia nhỏ khi T lớn. Temperature cao tạo ra "hint landscape" — bề mặt loss mượt mà với các đường dốc chỉ rõ hướng tối ưu, thay vì các vách đá dốc đứng của hard labels.
Tại sao wrong answers giúp ích? Trong classification, các classes không độc lập — chúng tạo thành một đồ thị ngữ nghĩa. Khi student biết "chó (0.7) > mèo (0.2) > xe (0.05)", nó học được metric learning ngầm: khoảng cách cosine giữa các vector embedding. Đây là regularization mạnh hơn dropout hay label smoothing thông thường.
Về mặt thực hiện, KD thường kết hợp:
- Response-based: Match output distribution (soft targets)
- Feature-based: Match hidden states ở tầng giữa (attention maps, feature maps)
- Relation-based: Match quan hệ giữa các sample trong batch
Trong Reasoning Distillation hiện đại (DeepSeek-R1), teacher còn truyền cả Chain-of-Thought — không chỉ kết quả mà còn quá trình suy luận, biến implicit algorithm thành explicit program cho student.
Ý nghĩa thực tế
Hiệu suất nén kinh ngạc. DeepSeek-R1 (2025) đã distill khả năng reasoning từ model lớn xuống Qwen 7B/14B, đạt hiệu suất gần GPT-4o-mini với 1/10 chi phí inference. Trước đó, MobileBERT và DistilBERT đã chứng minh có thể giảm 40% parameters BERT mà giữ 97% accuracy GLUE.
Đánh đổi và giới hạn:
| Phương pháp | Giảm kích thước | Tốc độ inference | Accuracy | Hạn chế |
|---|---|---|---|---|
| KD từ 100B → 7B | ~93% | ~10× nhanh hơn | ~95% teacher | Cần data từ teacher, không tạo capability mới |
| Quantization (INT4) | ~75% | 2-3× nhanh hơn | 98-99% FP16 | Chỉ nén weights, không nén reasoning |
| Pruning | 50-90% | Variable | 90-95% | Có thể làm mất khả năng long-tail |
Khi nào KD thất bại:
- Teacher-student gap quá lớn (>100× parameters): Cần "teacher assistant" trung gian
- Domain shift nghiêm trọng: Student không thể học concepts nằm ngoài capacity architecture (ví dụ: 2-layer BERT không thể học reasoning đa bước phức tạp dù teacher là GPT-4)
- Risk của "distillation collapse": Student overfit vào teacher outputs thay vì generalize, thừa hưởng cả hallucinations của teacher
Ví dụ production:
- Apple dùng KD để chạy foundation models trên iPhone (distill từ server xuống on-device)
- Fireworks AI cung cấp Distil-Llama series cho edge deployment
- Hệ thống ASR (Automatic Speech Recognition) dùng KD để chạy real-time trên mobile
Đào sâu hơn
Paper gốc:
- Distilling the Knowledge in a Neural Network (Hinton et al., 2015) — Khởi nguồn KD với temperature scaling
- A Comprehensive Survey on Knowledge Distillation (2025) — Taxonomy hiện đại bao gồm LLM-specific methods
- Artificially Boosting Benchmark Results through Knowledge Distillation (2024) — Cảnh báo về aggressive distillation
Cùng cụm — Training Efficiency:
- PEFT Overview — Các phương pháp fine-tune hiệu quả tham số (LoRA, Adapters) thường kết hợp với KD
- QLoRA — Quantize 4-bit khi train student, tối ưu memory cho cả teacher và student trên cùng GPU
- DPO — Alignment không cần reward model, có thể áp dụng KD để tạo preference data
- Gradient Accumulation — Giả lập batch lớn khi train student với teacher lớn trên VRAM hạn chế
Đọc tiếp — Scaling & Parallelism:
- Tensor Parallelism — Chia teacher model ra nhiều GPU để generate soft labels khi teacher quá lớn
- Pipeline Parallelism — Pipeline mini-batch qua các layer của teacher để tạo training data hiệu quả
- ZeRO — Shard optimizer states khi train student lớn trên cluster
Gradient Accumulation — Giả lập batch lớn khi GPU nhỏ
Kỹ thuật giả lập batch size khổng lồ để train LLM ổn định mà không cần GPU khổng lồ. Giải mã cách 'chia nhỏ để trị' giúp fine-tune trên laptop.
Flash Attention — Cùng phép toán, nhanh 3x nhờ tiling trên SRAM
Flash Attention giải quyết bottleneck bộ nhớ O(n²) của Attention bằng cách tính toán trên SRAM thay vì HBM, giúp LLM xử lý context dài nhanh gấp 3 lần mà không làm mất độ chính xác.