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

Tìm hiểu cách thức chắt lọc kiến ​​thức chuyển giao trí tuệ từ những người thầy giàu kinh nghiệm đến những học trò nhỏ gọn. Tối ưu hóa Ultralytics YOLO26 giúp triển khai nhanh chóng và hiệu quả tại biên mạng.

Chắt lọc tri thức là một kỹ thuật tinh vi trong học máy , trong đó một mạng nơ-ron nhỏ gọn, được gọi là "học sinh", được huấn luyện để tái tạo hành vi và hiệu suất của một mạng lớn hơn, phức tạp hơn, được gọi là "giáo viên". Mục tiêu chính của quá trình này là tối ưu hóa mô hình , cho phép các nhà phát triển chuyển khả năng dự đoán của các kiến ​​trúc nặng nề thành các mô hình nhẹ phù hợp để triển khai trên phần cứng có tài nguyên hạn chế. Bằng cách nắm bắt thông tin phong phú được mã hóa trong các dự đoán của giáo viên, mô hình học sinh thường đạt được độ chính xác cao hơn đáng kể so với khi nó chỉ được huấn luyện trên dữ liệu thô, giúp thu hẹp khoảng cách giữa hiệu suất cao và hiệu quả.

Cơ chế chuyển giao kiến ​​thức

Trong học có giám sát truyền thống, các mô hình được huấn luyện bằng cách sử dụng "nhãn cứng" từ dữ liệu huấn luyện , trong đó một hình ảnh được phân loại rõ ràng (ví dụ: 100% "chó" và 0% "mèo"). Tuy nhiên, một mô hình giáo viên được huấn luyện trước sẽ tạo ra đầu ra thông qua hàm softmax , gán xác suất cho tất cả các lớp. Các phân bố xác suất này được gọi là "nhãn mềm" hoặc "kiến thức ẩn".

Ví dụ, nếu một mô hình giáo viên phân tích hình ảnh một con sói, nó có thể dự đoán 90% là sói, 9% là chó và 1% là mèo. Phân bố này cho thấy sói có những đặc điểm hình ảnh chung với chó, một ngữ cảnh mà nhãn cứng bỏ qua. Trong quá trình chưng cất, học sinh giảm thiểu một hàm mất mát , chẳng hạn như độ phân kỳ Kullback-Leibler , để điều chỉnh các dự đoán của nó sao cho phù hợp với nhãn mềm của giáo viên. Phương pháp này, được phổ biến bởi nghiên cứu của Geoffrey Hinton , giúp học sinh khái quát hóa tốt hơn và giảm hiện tượng quá khớp trên các tập dữ liệu nhỏ hơn.

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

Chắt lọc tri thức đóng vai trò then chốt trong các ngành công nghiệp nơi nguồn lực tính toán khan hiếm nhưng hiệu năng cao là điều không thể thiếu.

  • Trí tuệ nhân tạo biên và thị giác di động: Việc thực hiện các tác vụ phát hiện đối tượng phức tạp trên điện thoại thông minh hoặc thiết bị IoT đòi hỏi các mô hình có độ trễ suy luận thấp. Các kỹ sư thu gọn các mạng lưới khổng lồ thành các kiến ​​trúc thân thiện với thiết bị di động như YOLO26 (cụ thể là các biến thể nano hoặc nhỏ). Điều này cho phép các ứng dụng thời gian thực như nhận dạng khuôn mặt hoặc bộ lọc thực tế tăng cường hoạt động mượt mà mà không làm hao pin .
  • Xử lý ngôn ngữ tự nhiên (NLP): Các mô hình ngôn ngữ lớn hiện đại (LLM) yêu cầu các cụm GPU khổng lồ để hoạt động. Quá trình chưng cất cho phép các nhà phát triển tạo ra các phiên bản nhỏ hơn, nhanh hơn của các mô hình này mà vẫn giữ được các khả năng mô hình hóa ngôn ngữ cốt lõi. Điều này giúp việc triển khai chatbot và trợ lý ảo phản hồi nhanh trên phần cứng tiêu dùng thông thường hoặc các phiên bản đám mây đơn giản hơn trở nên khả thi.

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ưng cất tri thức với các chiến lược nén dữ liệu khác, vì chúng sửa đổi mô hình theo những cách hoàn toàn khác nhau.

  • Học chuyển giao (Transfer Learning ): Kỹ thuật này bao gồm việc lấy một mô hình đã được huấn luyện trước trên một tập dữ liệu chuẩn khổng lồ và điều chỉnh nó cho một nhiệm vụ cụ thể mới (ví dụ: tinh chỉnh một bộ phân loại hình ảnh tổng quát để phù hợp với một nhiệm vụ cụ thể khác). detect (các dị tật y khoa). Ngược lại, phương pháp chưng cất tập trung vào việc nén cùng một lượng kiến ​​thức thành một dạng nhỏ gọn hơn thay vì thay đổi phạm vi.
  • Cắt tỉa mô hình : Cắt tỉa loại bỏ các kết nối hoặc nơ-ron dư thừa khỏi một mạng đã được huấn luyện để làm cho nó thưa hơn. Quá trình chưng cất thường bao gồm việc huấn luyện một kiến ​​trúc học sinh nhỏ hơn, hoàn toàn riêng biệt từ đầu bằng cách sử dụng hướng dẫn của kiến ​​trúc thầy.
  • 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ố mô hình (ví dụ: từ số thực 32 bit xuống số nguyên 8 bit) để tiết kiệm bộ nhớ và tăng tốc độ tính toán. Đây thường là bước cuối cùng trong quá trình triển khai mô hình tương thích với các công cụ như TensorRT hoặc OpenVINO , và có thể được kết hợp với phương pháp chưng cất để đạt hiệu quả tối đa.

Áp dụng mô hình sinh viên

Trong quy trình làm việc thực tế, trước tiên bạn chọn một kiến ​​trúc nhẹ để đóng vai trò là "sinh viên". Nền tảng Ultralytics có thể được sử dụng để quản lý các tập dữ liệu và track các thí nghiệm huấn luyện của những mô hình hiệu quả này. Dưới đây là một ví dụ về việc khởi tạo mô hình YOLO26 nhỏ gọn, lý tưởng cho việc triển khai ở biên và đóng vai trò như một mạng lưới học tập:

from ultralytics import YOLO

# Load a lightweight YOLO26 nano model (acts as the student)
# The 'n' suffix denotes the nano version, optimized for speed
student_model = YOLO("yolo26n.pt")

# Train the model on a dataset
# In a custom distillation loop, the loss would be influenced by a teacher model
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)

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