Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

Knowledge Distillation

Khám phá cách Knowledge Distillation nén các mô hình AI để suy luận nhanh hơn, cải thiện độ chính xác và nâng cao hiệu quả triển khai trên các thiết bị biên.

Chắt lọc Kiến thức là một chiến lược tối ưu hóa mô hình tinh vi trong học máy , trong đó một mô hình "học sinh" nhỏ gọn được huấn luyện để tái tạo hiệu suất và hành vi của một mô hình "giáo viên" lớn hơn, phức tạp hơn. Mục tiêu chính là chuyển giao khả năng khái quát hóa và "kiến thức" từ mạng giáo viên nặng sang mạng học sinh nhẹ hơn. Quy trình này cho phép triển khai các mô hình có độ chính xác cao trên phần cứng hạn chế về tài nguyên, chẳng hạn như các thiết bị điện toán biên , mà không bị giảm đáng kể độ chính xác thường đi kèm với các kiến trúc nhỏ hơn. Bằng cách nén thông tin, các nhà phát triển có thể đạt được độ trễ suy luận nhanh hơn và giảm mức sử dụng bộ nhớ trong khi vẫn duy trì khả năng dự đoán mạnh mẽ.

Cách Knowledge Distillation Hoạt Động

Quá trình này dựa trên khái niệm "nhãn mềm". Trong học có giám sát tiêu chuẩn, các mô hình được huấn luyện dựa trên "nhãn cứng" từ dữ liệu huấn luyện (ví dụ: một hình ảnh có 100% là "mèo" và 0% là "chó"). Tuy nhiên, một mô hình giáo viên được huấn luyện trước sẽ tạo ra các phân phối xác suất, được gọi là nhãn mềm, trên tất cả các lớp. Ví dụ, giáo viên có thể dự đoán một hình ảnh có 90% là mèo, 9% là chó và 1% là ô tô. Các nhãn mềm này chứa thông tin phong phú về mối quan hệ giữa các lớp—cho thấy con mèo cụ thể trông giống chó.

Trong quá trình chưng cất, mô hình học viên được huấn luyện để giảm thiểu sự khác biệt giữa dự đoán của nó và nhãn mềm của giáo viên, thường sử dụng một hàm mất mát cụ thể như phân kỳ Kullback-Leibler. Điều này cho phép học viên tìm hiểu "kiến thức tối" hoặc cấu trúc tinh tế của dữ liệu mà giáo viên đã khám phá. Để có được hiểu biết nền tảng, các nhà nghiên cứu thường tham khảo bài báo quan trọng của Geoffrey Hinton về chủ đề này.

Trong khi các thư viện thường xử lý các phép tính mất mát phức tạp nội bộ, việc khởi tạo một mô hình học viên để huấn luyện là bước thực tế đầu tiên. Sau đây là cách bạn có thể tải một mô hình học viên nhẹ như YOLO11 sử dụng ultralytics bưu kiện:

from ultralytics import YOLO

# Load a lightweight student model (YOLO11n)
# 'n' stands for nano, the smallest and fastest version
student_model = YOLO("yolo11n.pt")

# Train the student model on a dataset
# In a distillation workflow, this training would be guided by a teacher model's outputs
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)

Các Ứng dụng Thực tế

Việc chắt lọc kiến thức đóng vai trò then chốt trong các ngành công nghiệp mà hiệu quả cũng quan trọng như độ chính xác.

  • Thị giác Máy tính Di động: Trong các tình huống đòi hỏi suy luận thời gian thực , chẳng hạn như máy bay không người lái tự động hoặc ứng dụng thực tế tăng cường trên điện thoại thông minh, việc triển khai các mô hình lớn là không khả thi. Các kỹ sư chắt lọc các mô hình phát hiện vật thể lớn thành các phiên bản hiệu quả như YOLO11n. Điều này đảm bảo ứng dụng chạy mượt mà trên các bộ xử lý di động như Qualcomm Snapdragon mà không làm hao pin, đồng thời vẫn nhận dạng chính xác các vật thể.
  • Xử lý Ngôn ngữ Tự nhiên (NLP): Các Mô hình Ngôn ngữ Lớn (LLM) thường quá cồng kềnh để triển khai trực tiếp. Phương pháp chưng cất được sử dụng để tạo ra các phiên bản nhỏ hơn, nhanh hơn—chẳng hạn như DistilBERT—mà vẫn giữ được hầu hết khả năng mô hình hóa ngôn ngữ của các phiên bản lớn hơn. Điều này cho phép trợ lý giọng nói và chatbot hoạt động với độ trễ thấp hơn, mang lại trải nghiệm người dùng tốt hơn.

Phân biệt các thuật ngữ tối ưu hóa liên quan

Điều quan trọng là phải phân biệt phương pháp Chắt lọc kiến thức với các kỹ thuật khác được sử dụng để cải thiện hiệu quả mô hình vì chúng hoạt động theo các nguyên tắc khác nhau.

  • Cắt tỉa Mô hình : Kỹ thuật này liên quan đến việc loại bỏ vật lý các nơ-ron hoặc kết nối dư thừa (trọng số) khỏi mạng lưới đã được huấn luyện hiện có để giảm kích thước của nó. Không giống như phương pháp chưng cất, tức là huấn luyện kiến trúc học viên mới từ đầu, cắt tỉa sẽ sửa đổi cấu trúc của mô hình ban đầu.
  • Lượng tử hóa mô hình : Lượng tử hóa làm giảm độ chính xác của trọng số số của mô hình, ví dụ, chuyển đổi số dấu phẩy động 32 bit thành số nguyên 8 bit. Điều này làm giảm kích thước mô hình và tăng tốc tính toán trên phần cứng như TPU nhưng không nhất thiết thay đổi kiến trúc mạng.
  • Học chuyển giao : Phương pháp này bao gồm việc sử dụng một mô hình đã được đào tạo trước và tinh chỉnh nó trên một tập dữ liệu mới cho một nhiệm vụ khác. Mặc dù cả hai đều liên quan đến việc chuyển giao kiến thức, học chuyển giao tập trung vào việc thích ứng với lĩnh vực (ví dụ: ImageNet đối với chụp X-quang y tế), trong khi chưng cất tập trung vào việc nén cùng một kiến thức nhiệm vụ từ một mô hình lớn thành một mô hình nhỏ hơn.

Bằng cách kết hợp các kỹ thuật này—ví dụ, tinh lọc giáo viên thành học sinh, sau đó áp dụng lượng tử hóa—các nhà phát triển có thể tối đa hóa hiệu suất trên các hệ thống nhúng .

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay