Làm Cùng Long.
Quay lại Kho ghi chú
AI · 14 phút đọc ·

Knowledge Distillation là gì? Mô hình lớn dạy mô hình nhỏ

Trả lời nhanh: Knowledge Distillation là gì? Đây là kỹ thuật huấn luyện một mô hình student nhỏ học từ đầu ra hoặc biểu diễn của mô hình teacher lớn. Student không phải bản nén trực tiếp của teacher mà là mô hình mới. Mục tiêu là giữ chất lượng cần thiết trong khi giảm độ trễ, bộ nhớ và chi phí chạy AI.

Cập nhật lần cuối: 20/08/2026

Một mô hình lớn có thể giải bài toán rất tốt nhưng quá đắt để phục vụ hàng triệu request, chạy trên điện thoại hoặc đáp ứng giới hạn độ trễ của sản phẩm. Cách trực giác là cắt bớt tham số. Knowledge Distillation đi theo một hướng khác: dùng mô hình mạnh làm giáo viên để huấn luyện một mô hình nhỏ hơn.

Điểm quan trọng nằm ở thứ mô hình teacher truyền lại. Nó không chỉ nói “đáp án đúng là A”. Phân phối xác suất của teacher còn hé lộ A gần B đến mức nào, C sai rõ ra sao và những ví dụ nào khiến mô hình do dự. Tín hiệu này thường giàu hơn nhãn cứng trong tập dữ liệu.

Knowledge Distillation vì vậy là bài toán thiết kế mục tiêu học, không chỉ là thủ thuật giảm kích thước file model.

Knowledge Distillation là gì?

Knowledge Distillation là phương pháp chuyển hành vi hoặc tri thức có ích từ một mô hình teacher sang mô hình student bằng cách huấn luyện student khớp với tín hiệu do teacher tạo ra, thường kết hợp với nhãn thật.

Khái niệm teacher-student được phổ biến rộng rãi bởi bài báo năm 2015 của Geoffrey Hinton, Oriol Vinyals và Jeff Dean. Nhóm tác giả mô tả cách chuyển tri thức từ một mô hình hoặc ensemble cồng kềnh sang một mô hình dễ triển khai hơn.

Ba thành phần cơ bản là:

  1. Teacher: mô hình lớn, ensemble hoặc hệ thống có chất lượng cao.
  2. Student: mô hình nhỏ hơn, kiến trúc có thể khác teacher.
  3. Distillation objective: hàm mất mát khiến student học cả nhãn thật lẫn tín hiệu của teacher.

Sau quá trình huấn luyện, student có thể chạy độc lập. Không cần gọi teacher ở mọi request production.

Vì sao soft labels chứa nhiều tri thức hơn hard labels?

Giả sử ảnh là một chiếc xe tải. Nhãn cứng chỉ cho biết:

truck = 1
car = 0
bicycle = 0
dog = 0

Teacher có thể trả phân phối:

truck = 0.70
car = 0.20
bicycle = 0.07
dog = 0.03

Phân phối này cho student biết “xe tải” giống “ô tô” hơn “chó”. Mối quan hệ giữa các lớp thường được gọi là phần tri thức tối mà nhãn one-hot không thể hiện.

Với bài toán ngôn ngữ, ý tưởng tương tự xuất hiện ở phân phối token, điểm xếp hạng, chuỗi suy luận đã xử lý an toàn hoặc câu trả lời do teacher sinh ra. Teacher không chỉ cung cấp đáp án cuối mà còn định hình không gian hành vi student cần bắt chước.

Temperature trong Knowledge Distillation dùng để làm gì?

Logit là điểm số thô trước softmax. Nếu đưa trực tiếp qua softmax, lớp thắng có thể chiếm gần toàn bộ xác suất và các lớp còn lại rất nhỏ. Temperature, ký hiệu T, làm phân phối mềm hơn:

p_i = exp(z_i / T) / sum_j exp(z_j / T)

Trong đó:

  • z_i là logit của lớp i;
  • T = 1 là softmax thông thường;
  • T > 1 làm phân phối phẳng hơn;
  • phân phối mềm giúp lộ quan hệ tương đối giữa các lớp.

Teacher và student được so sánh ở cùng temperature. Khi suy luận production, student thường quay về temperature phù hợp với nhiệm vụ, không nhất thiết dùng nhiệt độ huấn luyện.

Temperature không có một giá trị tốt cho mọi bài toán. Nó là hyperparameter cần chọn bằng validation set.

Hàm loss kết hợp hoạt động như thế nào?

Một objective phổ biến kết hợp hai tín hiệu:

L = alpha * L_hard + (1 - alpha) * T^2 * L_soft

Trong đó:

  • L_hard đo sai khác giữa dự đoán student và nhãn thật;
  • L_soft thường đo sai khác giữa phân phối teacher và student;
  • alpha cân bằng hai nguồn giám sát;
  • T^2 giúp hiệu chỉnh độ lớn gradient khi dùng temperature.

Nếu chỉ học teacher, student có thể sao chép cả lỗi và thiên lệch. Nếu chỉ học nhãn cứng, ta bỏ qua tín hiệu giàu thông tin teacher tạo ra. Tỷ lệ phối hợp nên được quyết định bằng mục tiêu sản phẩm và đánh giá riêng cho từng nhóm dữ liệu.

Knowledge Distillation khác quantization và pruning thế nào?

Ba kỹ thuật đều có thể giảm chi phí nhưng tác động khác nhau.

Kỹ thuậtLàm gì?Kết quả
Knowledge DistillationHuấn luyện student học từ teacherMột mô hình mới
QuantizationGiảm độ chính xác số của trọng số hoặc activationPhiên bản biểu diễn gọn hơn của model
PruningLoại bỏ trọng số, neuron hoặc cấu trúc ít quan trọngModel thưa hoặc nhỏ hơn
Low-rank factorizationXấp xỉ ma trận lớn bằng các ma trận hạng thấpGiảm phép tính và tham số

Các kỹ thuật có thể kết hợp. Ta có thể chưng cất một student rồi quantize student. Tuy nhiên, mỗi bước phải được đánh giá lại vì suy giảm chất lượng có thể cộng dồn.

Có những loại Knowledge Distillation nào?

Response-based distillation

Student học từ đầu ra cuối của teacher như logits, xác suất, token distribution, score hoặc câu trả lời. Đây là kiểu dễ triển khai khi chỉ truy cập được API teacher.

Phù hợp khi: teacher là black box, nhiệm vụ rõ và có tập prompt đại diện.

Giới hạn: student không thấy biểu diễn bên trong và có thể học cả thói quen trình bày không mong muốn.

Feature-based distillation

Student học từ hidden states, attention maps hoặc feature map trung gian. Cần quyền truy cập sâu hơn vào teacher và cơ chế nối hai không gian biểu diễn khi kích thước khác nhau.

Phù hợp khi: sở hữu cả teacher lẫn student và muốn truyền cấu trúc biểu diễn.

Giới hạn: ghép layer, chiều tensor và kiến trúc có thể phức tạp.

Relation-based distillation

Student học quan hệ giữa mẫu, token, feature hoặc layer thay vì sao chép từng activation. Ví dụ, khoảng cách giữa các embedding của những ví dụ tương tự nên được bảo toàn.

Self-distillation

Teacher và student có thể cùng kiến trúc, hoặc một phiên bản checkpoint tốt hơn dạy phiên bản khác. Mục tiêu không luôn là giảm kích thước; distillation đôi khi đóng vai trò regularization.

Online và mutual distillation

Nhiều mô hình học đồng thời và trao đổi tín hiệu thay vì teacher được huấn luyện cố định từ trước. Hướng này linh hoạt nhưng khó vận hành, tái lập và kiểm soát hơn.

Knowledge Distillation cho LLM khác gì phân loại ảnh?

Với LLM, không gian đầu ra là chuỗi token khổng lồ. Việc lưu toàn bộ logit cho mọi token có thể rất tốn dung lượng. Nhiều quy trình thực tế dùng một hoặc nhiều dạng dữ liệu sau:

  • prompt và response do teacher tạo;
  • preference pair để student học xếp hạng;
  • logits hoặc top-k token khi có quyền truy cập;
  • tool-use trajectory;
  • câu trả lời đã được kiểm chứng;
  • dữ liệu tổng hợp bao phủ tình huống hiếm;
  • phản hồi về format, safety và style.

Cần phân biệt distillation với fine-tuning bằng dữ liệu tổng hợp. Nếu student chỉ học trên response teacher như nhãn mới, đây là một dạng response distillation theo nghĩa rộng. Nếu loss trực tiếp khớp phân phối token của teacher, tín hiệu distillation đầy đủ hơn.

Agentic distillation là gì?

Trong agent workflow, thứ cần chuyển không chỉ là câu trả lời mà còn là chính sách hành động:

  1. khi nào cần gọi tool;
  2. chọn tool nào;
  3. điền tham số ra sao;
  4. kiểm tra kết quả thế nào;
  5. khi nào dừng hoặc yêu cầu con người;

Một trajectory tốt có thể trở thành dữ liệu huấn luyện. Nhưng log hành động thường chứa dữ liệu nhạy cảm, credential, lỗi tình cờ hoặc quyết định không an toàn. Quy trình phải lọc, ẩn danh và xác minh trước khi sử dụng.

Khi nào nên dùng Knowledge Distillation?

Distillation đáng cân nhắc khi có đồng thời ba điều kiện:

  • teacher đạt chất lượng cao hơn rõ rệt trên nhiệm vụ mục tiêu;
  • production có giới hạn chi phí, bộ nhớ hoặc độ trễ;
  • có dữ liệu đại diện cùng bộ đánh giá đáng tin cậy.

Các use case thường gặp:

Use caseLợi ích kỳ vọng
Mô hình chạy trên thiết bịGiảm bộ nhớ và độ trễ
Phân loại request số lượng lớnHạ chi phí mỗi lần suy luận
Moderation tầng đầuStudent xử lý trường hợp rõ, teacher xử lý ca khó
Reranking hoặc routingDùng model nhỏ cho quyết định thường xuyên
Trợ lý theo domain hẹpTập trung năng lực vào phạm vi nhiệm vụ
Agent workflow lặp lạiHọc chính sách tool-use có cấu trúc

Distillation ít phù hợp khi yêu cầu thay đổi liên tục, dữ liệu quá ít, teacher không đáng tin, hoặc nhiệm vụ cần tri thức mở ngoài phân phối huấn luyện.

Quy trình 8 bước chưng cất một mô hình

Bước 1: Định nghĩa mục tiêu deployment

Ghi rõ latency, throughput, RAM/VRAM, kích thước binary, chi phí mỗi 1.000 request và chất lượng tối thiểu. Nếu không có ràng buộc cụ thể, không biết student “đủ nhỏ” hay “đủ tốt” là gì.

Bước 2: Chọn teacher theo nhiệm vụ

Teacher tốt nhất không nhất thiết là model lớn nhất. Nó phải ổn định, có quyền sử dụng phù hợp, đáp ứng domain và đạt kết quả tốt trên eval set của chính bạn.

Bước 3: Chọn kiến trúc student

Quyết định số tham số, context window, tokenizer, phần cứng đích và khả năng hỗ trợ tool hoặc output có cấu trúc. Student phải phù hợp môi trường chạy, không chỉ dễ huấn luyện.

Bước 4: Xây tập dữ liệu đại diện

Bao phủ dữ liệu phổ biến, long-tail, tiếng Việt, lỗi chính tả, prompt độc hại, tình huống thiếu thông tin và ca cần từ chối. Tách train, validation, test để tránh tự đánh giá trên dữ liệu đã học.

Bước 5: Sinh và kiểm soát tín hiệu teacher

Lưu model version, prompt template, sampling config và provenance. Lọc PII, secret, nội dung vi phạm quyền và output không đạt chất lượng. Không mặc định teacher luôn đúng.

Bước 6: Huấn luyện với loss phù hợp

Thử các tổ hợp hard label, soft label, temperature và alpha. Với feature distillation, xác định layer mapping và projection. Theo dõi train loss nhưng chọn model bằng validation metric gắn với sản phẩm.

Bước 7: Đánh giá cả chất lượng lẫn hệ thống

Đo accuracy, F1, win rate hoặc task success cùng latency p95, throughput, memory và chi phí. Chạy safety, bias, robustness và out-of-distribution eval riêng.

Bước 8: Canary và theo dõi drift

Triển khai một phần traffic, log có kiểm soát, so sánh với baseline và định nghĩa rollback. Khi dữ liệu hoặc teacher thay đổi, student có thể cần chưng cất lại.

Nên đánh giá student bằng chỉ số nào?

Một bộ scorecard nên có bốn lớp:

1. Task quality

  • accuracy, precision, recall hoặc F1;
  • pass@k cho code;
  • exact match hoặc semantic match;
  • tỷ lệ hoàn thành tác vụ;
  • chất lượng theo đánh giá con người.

2. System performance

  • latency p50, p95 và p99;
  • token mỗi giây;
  • peak RAM hoặc VRAM;
  • throughput ở concurrency thật;
  • chi phí trên đơn vị công việc.

3. Safety và reliability

  • tỷ lệ từ chối đúng và sai;
  • prompt injection resistance;
  • hallucination theo domain;
  • format compliance;
  • độ ổn định qua nhiều lần chạy.

4. Segment quality

Không chỉ xem một điểm trung bình. Tách theo ngôn ngữ, độ dài, nhóm người dùng, intent, độ khó và tình huống hiếm. Student có thể giữ trung bình tốt nhưng suy giảm ở phân khúc quan trọng.

Những thất bại phổ biến khi distillation

Student quá nhỏ so với nhiệm vụ

Nếu capacity không đủ, student không thể hấp thụ hành vi teacher dù dữ liệu tốt. Loss giảm không có nghĩa năng lực tổng quát đủ.

Teacher tạo dữ liệu một màu

Sampling quá bảo thủ làm dataset thiếu đa dạng. Sampling quá cao làm tăng nhiễu. Nên có nhiều template, difficulty và cơ chế kiểm chứng.

Chỉ đo độ giống teacher

Teacher có thể sai. Student cần được so với ground truth, tiêu chí sản phẩm và safety policy, không chỉ với output teacher.

Rò rỉ dữ liệu kiểm thử

Nếu teacher sinh dữ liệu dựa trên test set hoặc benchmark công khai đã thấy, điểm student không phản ánh khả năng thực tế.

Bỏ qua quyền và provenance

Input, output, model license và điều khoản API đều có thể đặt giới hạn cho việc dùng dữ liệu huấn luyện. Cần lưu nguồn và rà soát trước khi scale.

Tiết kiệm inference nhưng tốn quá nhiều training

Distillation chỉ có lợi kinh tế nếu chi phí tạo dữ liệu, train, đánh giá và bảo trì được bù bởi lưu lượng production hoặc giá trị deployment.

Cách tính bài toán kinh tế ở mức đơn giản

Có thể bắt đầu bằng công thức:

Điểm hòa vốn = Chi phí distillation / Tiết kiệm trên mỗi request

Trong chi phí distillation, tính cả:

  • gọi teacher hoặc chạy teacher;
  • chuẩn bị và kiểm tra dữ liệu;
  • compute huấn luyện;
  • thời gian kỹ sư;
  • eval, security review và deployment;
  • retraining khi dữ liệu drift.

Trong tiết kiệm, không chỉ tính giá inference. Student nhanh hơn có thể giảm số GPU, tăng trải nghiệm và cho phép chạy on-device. Ngược lại, nếu model nhỏ làm giảm conversion hoặc tăng lỗi support, mức tiết kiệm compute có thể không còn ý nghĩa.

Knowledge Distillation trong AI Agency nên áp dụng ra sao?

Với AI Agency, không nên bắt đầu bằng việc tự huấn luyện model. Thứ tự hợp lý hơn là:

  1. chứng minh workflow mang lại giá trị bằng model có sẵn;
  2. chuẩn hóa prompt, tool, dữ liệu và eval;
  3. đo phần request lặp lại, ổn định và tốn chi phí;
  4. cân nhắc router, cache hoặc model nhỏ có sẵn;
  5. chỉ distill khi volume và lợi ích đủ lớn.

Distillation là bước tối ưu sau khi quy trình đã hiểu rõ. Nếu workflow chưa ổn định, student chỉ học lại sự hỗn loạn của hệ thống hiện tại.

FAQ - Câu hỏi thường gặp

Knowledge Distillation là gì trong một câu?

Knowledge Distillation là cách huấn luyện một mô hình student học hành vi từ mô hình teacher lớn hơn để đạt cân bằng tốt hơn giữa chất lượng và chi phí triển khai.

Student có phải bản sao thu nhỏ của teacher không?

Không. Student là mô hình được huấn luyện riêng, có thể dùng kiến trúc khác. Nó học tín hiệu của teacher nhưng không mặc định giữ toàn bộ năng lực.

Có cần quyền truy cập trọng số teacher không?

Không phải lúc nào cũng cần. Response-based distillation có thể dùng output API. Feature-based hoặc logit distillation sâu hơn thường cần quyền truy cập nội bộ.

Distillation có làm student tốt hơn teacher không?

Có thể tốt hơn trên một metric hoặc domain hẹp nhờ dữ liệu, regularization và mục tiêu phù hợp, nhưng không nên xem đây là kết quả mặc định. Cần đánh giá độc lập.

Fine-tuning và distillation khác nhau thế nào?

Fine-tuning điều chỉnh model bằng dữ liệu nhiệm vụ. Distillation nhấn mạnh tín hiệu từ teacher. Một quy trình có thể vừa fine-tune vừa distill nếu dữ liệu gồm nhãn thật và output teacher.

Có thể distill một LLM qua API không?

Về kỹ thuật có thể dùng response để huấn luyện student, nhưng phải kiểm tra điều khoản dịch vụ, quyền đối với dữ liệu, privacy và provenance. Không nên tự giả định output nào cũng được phép dùng để train.

Tóm lại

Knowledge Distillation biến năng lực của mô hình lớn thành tín hiệu huấn luyện cho mô hình nhỏ hơn. Giá trị của kỹ thuật này không nằm ở việc “copy trí thông minh”, mà ở khả năng tập trung student vào một phân phối nhiệm vụ cụ thể với ràng buộc deployment rõ ràng.

Muốn triển khai hiệu quả, hãy nhớ:

  1. chọn teacher bằng eval của riêng bạn;
  2. giữ cả nhãn thật và kiểm chứng độc lập;
  3. đo chất lượng theo phân khúc, không chỉ điểm trung bình;
  4. tính tổng chi phí vòng đời, không chỉ giá inference;
  5. kiểm soát dữ liệu, quyền sử dụng và safety trước khi huấn luyện.

Để hiểu hạ tầng tính toán phía sau, đọc TPU của Google là gì?. Nếu quan tâm mô hình có thể tùy chỉnh sâu, xem thêm Inkling là gì?. Khi student được dùng trong agent, checklist Rủi ro AI Agent giúp mở rộng phần đánh giá an toàn.

Nguồn tham khảo

Đọc tiếp