Nội dung bài viết
© 2025 AI VIET NAM. All rights reserved.
Tác giả: AI VIET NAM (AI VIET NAM)
Keywords: knowledge distillation, teacher student, nén mô hình, soft labels, deep learning
Khi bắt đầu bước vào các bài toán Deep Learning, mô hình thường rất lớn: nhiều tham số, nhiều tầng, tốn tài nguyên và khó triển khai lên môi trường thực tế. Đây là lý do nhiều người tìm hiểu về Knowledge Distillation nhưng lại gặp khó vì khái niệm Teacher – Student nghe có vẻ trừu tượng.
Knowledge Distillation là kỹ thuật nén mô hình bằng cách “truyền” tri thức từ một mô hình lớn (Teacher) sang một mô hình nhỏ hơn (Student). Điểm trọng tâm không nằm ở việc sao chép tham số, mà nằm ở việc mô hình Student học từ:
Trong distillation, người ta thường dùng nhiệt độ (temperature) để làm mềm phân phối xác suất. Khi phân phối mềm hơn, Student dễ quan sát quan hệ giữa các lớp.
Hai thành phần được kết hợp lại bằng hệ số trọng số.
Giả sử có một mô hình phân loại ảnh 100 triệu tham số dùng rất tốt nhưng khó triển khai lên một thiết bị biên như camera thông minh.
Teacher dự đoán cho ảnh mèo:
Nếu chỉ dùng nhãn “mèo”, Student chỉ biết đúng – sai. Nếu dùng soft labels, Student hiểu rằng mèo và hổ có nét tương đồng, thay vì học quá cứng nhắc. Kết quả: Student nhỏ hơn, nhanh hơn nhưng vẫn giữ được phần lớn chất lượng.
Trong dự án thực tế, Knowledge Distillation thường được dùng khi:
Quy trình phổ biến khi làm dự án:
Kỹ thuật này nối giữa Machine Learning và Deep Learning, thường xuất hiện sau khi đã có nền tảng từ các nhóm kiến thức như:
Bạn có thể thử với một bài toán nhỏ như phân loại ảnh bằng CNN nhỏ và một mô hình Teacher lớn hơn để quan sát cách Student dần tiệm cận chất lượng. Việc thử nghiệm từng thiết lập nhiệt độ và trọng số loss sẽ giúp hiểu rõ hơn bản chất truyền tri thức.
1. Knowledge Distillation có luôn giúp mô hình nhỏ đạt hiệu suất như mô hình lớn không? Không, nhưng thường giúp cải thiện đáng kể so với việc huấn luyện Student từ đầu.
2. Có cần giữ lại mô hình Teacher sau khi distill không? Không bắt buộc, nhưng thường được lưu để tái huấn luyện hoặc đánh giá.
3. Distillation có áp dụng được cho dữ liệu văn bản không? Có, được dùng nhiều trong NLP như nén Transformer hoặc BERT.
4. Có thể distill giữa hai mô hình có kiến trúc hoàn toàn khác nhau không? Có, chỉ cần Student học từ phân phối xác suất của Teacher.
Q1. Con số 0 thì học nổi không? Ans: Chỉ cần bạn có thời gian học. Điều quan trọng nhất không phải giỏi hay không, mà là có học đều mỗi ngày. Kiến thức – tài liệu – môi trường đã có team lo. Nếu bạn không có thời gian thì nên cân nhắc.
Q2. Ai dạy AIO? Ans: Đội admin dạy toàn bộ. Admin trực tiếp hướng dẫn và hỗ trợ mọi câu hỏi của bạn trong suốt quá trình học.
Q3. Admin có “xịn” không? Ans: Admin đều là người làm nghề thật, mỗi người một cách dạy. Quan trọng là bạn cảm thấy hợp cách truyền đạt. Admin không dám nói xịn, chỉ dạy bằng hết sức.
Q4. AIO có gì khác những nơi khác? Ans: AIO không phải trung tâm. Đây là dự án học tập cộng đồng, được cải tiến qua từng khóa. Tinh thần của AIO: Cùng nhau học – cùng nhau khổ – cùng nhau lớn. Nếu hợp tinh thần đó, bạn sẽ thấy phù hợp.