paint-brush
Cách dạy một mô hình AI nhỏ bé mọi thứ mà một mô hình AI lớn biếttừ tác giả@raviteja.ganta
645 lượt đọc
645 lượt đọc

Cách dạy một mô hình AI nhỏ bé mọi thứ mà một mô hình AI lớn biết

từ tác giả Raviteja Reddy Ganta7m2025/03/12
Read on Terminal Reader

dài quá đọc không nổi

Chắt lọc kiến thức là một kỹ thuật trong AI, trong đó một mô hình nhỏ hơn, hiệu quả hơn (học sinh) học từ một mô hình lớn hơn, mạnh hơn (giáo viên). Học sinh bắt chước đầu ra của giáo viên, thường sử dụng nhãn mềm và biểu diễn trung gian, để đạt được hiệu suất tương tự với chi phí tính toán giảm.
featured image - Cách dạy một mô hình AI nhỏ bé mọi thứ mà một mô hình AI lớn biết
Raviteja Reddy Ganta HackerNoon profile picture

Mục lục

  1. Giới thiệu
  2. Kiến thức đen tối
  3. Quy trình chưng cất
  4. Thí nghiệm trên MNIST
  5. Thí nghiệm bổ sung trên MNIST

1. Giới thiệu

Trong bài viết này, tôi sẽ khám phá quá trình chắt lọc kiến thức trong AI — cách thức hoạt động nói chung, tầm quan trọng của nó và lý do sử dụng nó.


Làm thế nào chúng ta có thể nén và chuyển giao kiến thức từ một mô hình lớn hơn hoặc tập hợp các mô hình (được đào tạo trên các tập dữ liệu rất lớn để trích xuất cấu trúc từ dữ liệu) sang một mô hình nhỏ duy nhất mà không làm giảm nhiều hiệu suất?


Nhưng tại sao chúng ta lại muốn làm điều này? Tại sao chúng ta cần một mô hình nhỏ hơn khi một mô hình lớn hơn hoặc mô hình tổng thể đã mang lại kết quả tuyệt vời trên dữ liệu thử nghiệm?


Vào thời điểm đào tạo, chúng tôi thường đào tạo các mô hình lớn/tập hợp vì mục tiêu chính là trích xuất cấu trúc từ các tập dữ liệu rất lớn. Chúng tôi cũng có thể áp dụng nhiều thứ như dropout, tăng cường dữ liệu vào thời điểm đào tạo để cung cấp cho các mô hình lớn này mọi loại dữ liệu.


Nhưng tại thời điểm dự đoán, mục tiêu của chúng tôi hoàn toàn khác. Chúng tôi muốn có kết quả nhanh nhất có thể. Vì vậy, sử dụng một mô hình lớn hơn/tập hợp các mô hình rất tốn kém và sẽ cản trở việc triển khai cho số lượng lớn người dùng. Vì vậy, bây giờ câu hỏi là làm thế nào chúng ta có thể nén kiến thức từ mô hình lớn hơn này thành một mô hình nhỏ hơn có thể dễ dàng triển khai.


Geoffrey Hinton, Oriol Vinyals và Jeff Dean từ Google thông qua bài báo của họ đã đưa ra một loại đào tạo khác gọi là chưng cất để chuyển kiến thức này sang mô hình nhỏ hơn. Đây là kỹ thuật tương tự mà ôm mặt được sử dụng trong triển khai Distill BERT của họ.



Nếu chúng ta có thể huấn luyện mô hình nhỏ hơn này để khái quát theo cùng cách như một mô hình lớn, thì mô hình nhỏ hơn này được huấn luyện theo cách này sẽ hoạt động tốt hơn nhiều so với mô hình nhỏ hơn được huấn luyện trên cùng dữ liệu nhưng theo cách thông thường. Đây là một trong những nguyên tắc chính đằng sau Chưng cất

2. Kiến thức đen tối

Thông thường, trong Học máy, một mô hình học cách phân biệt giữa một số lượng lớn các lớp, mục tiêu đào tạo chính là tối đa hóa xác suất logarit trung bình của câu trả lời đúng. Ví dụ, hãy lấy ví dụ về tập dữ liệu MNIST trong đó mục tiêu là phân loại một hình ảnh thành 1 hay 2 hoặc … 9. Vì vậy, nếu hình ảnh thực tế là 2 thì mục tiêu của bất kỳ mô hình nào là tối đa hóa P (2/hình ảnh của nó) (có thể được đọc là xác suất một hình ảnh cụ thể là 2 cho hình ảnh đó). Nhưng mô hình cũng đưa ra xác suất cho tất cả các câu trả lời không chính xác mặc dù những xác suất đó rất nhỏ, một số trong số chúng lớn hơn nhiều so với những xác suất khác. Vấn đề là mặc dù những xác suất này là nhỏ, nhưng xác suất tương đối của các câu trả lời không chính xác cho chúng ta biết rất nhiều về cách mô hình có thể khái quát hóa. Để hiểu điều đó, chúng ta hãy xem ví dụ bên dưới.


Trong hình trên, phiên bản 2 này được đưa ra xác suất là 10-6 là 3 và 10-9 là 7 trong khi đối với phiên bản khác thì có thể ngược lại. Đây là thông tin có giá trị định nghĩa cấu trúc tương đồng phong phú trên dữ liệu (tức là nó cho biết số 2 nào trông giống số 3 và số nào trông giống số 7) nhưng nó có rất ít ảnh hưởng đến hàm chi phí entropy chéo trong giai đoạn chuyển giao vì xác suất rất gần bằng không.


Nhưng trước khi chuyển sang quy trình chưng cất, hãy dành thời gian tìm hiểu cách mô hình thực sự tạo ra xác suất đầu ra. Đây là nơi kích hoạt softmax xuất hiện. Bước cuối cùng của quá trình xử lý mô hình là softmax và thành phần này là thành phần cung cấp xác suất đầu ra. Đầu vào của softmax được gọi là logits và chúng ta thiết kế lớp cuối cùng của NN theo cách mà số lượng đơn vị ẩn = số lớp chúng ta muốn phân loại.

Công thức tính softmax được đưa ra như sau

Phương trình trên đưa ra xác suất cho mỗi i và tổng của tất cả các xác suất tổng thể i bằng 1. Trong thời gian đào tạo, tổn thất cho bất kỳ ví dụ đào tạo đơn lẻ nào được tính bằng cách so sánh các xác suất softmax này với các mục tiêu cứng (nhãn) và sử dụng hệ số lan truyền ngược được cập nhật cho đến khi tổn thất là tối thiểu.


Như đã thấy ở trên, softmax này đưa ra xác suất cao cho một nhãn đúng và xác suất thấp cho các nhãn sai. Chúng ta cũng thấy rằng xác suất của các câu trả lời sai mặc dù nhỏ, nhưng có rất nhiều thông tin ẩn trong đó giúp mô hình khái quát hóa. Chúng tôi gọi đây là Dark Knowledge

3. Quy trình chưng cất

Theo bài báo, cách tốt nhất để chuyển khả năng khái quát hóa của mô hình lớn sang mô hình nhỏ là sử dụng xác suất lớp do mô hình cồng kềnh tạo ra làm mục tiêu mềm để đào tạo mô hình nhỏ.


Vì vậy, quá trình này như sau:

  • Lấy tập huấn luyện ban đầu được sử dụng để huấn luyện mô hình lớn hơn sau đó truyền dữ liệu huấn luyện đó qua mô hình lớn hơn và có được xác suất softmax trên các lớp khác nhau. Như đã thấy ở trên, nhãn đúng sẽ có xác suất cao và nhãn không đúng sẽ có xác suất thấp. Nhưng chúng ta thấy những xác suất thấp này có rất nhiều thông tin ẩn trong đó. Vì vậy, để phóng đại tầm quan trọng của những xác suất này, tác giả của các bài báo đã sử dụng một biến có tên là Nhiệt độ (T) để chia tất cả các logit trước khi truyền qua softmax. Điều này tạo ra một phân phối xác suất mềm hơn trên các lớp. Chúng ta có thể thấy bên dưới


Đầu ra của việc áp dụng softmax với nhiệt độ (T) là những gì chúng ta gọi là Mục tiêu mềm. Quá trình này là những gì các tác giả gọi là chưng cất . Tương tự như việc loại bỏ tạp chất trong nước bằng cách tăng nhiệt độ


  • Phần lớn thông tin về chức năng học được từ mô hình lớn nằm ở tỷ lệ xác suất rất nhỏ trong các mục tiêu mềm.
  • Một số thuật ngữ:
  1. Mục tiêu mềm - đầu ra từ mô hình lớn sau khi nhiệt độ T được áp dụng trong softmax
  2. Dự đoán mềm - đầu ra từ mô hình nhỏ hơn sau khi nhiệt độ T được áp dụng trong softmax
  3. Dự đoán khó - đầu ra từ mô hình nhỏ hơn khi nhiệt độ T = 1 (softmax thông thường)
  4. Mục tiêu thực - mục tiêu thực tế từ bộ đào tạo


Dưới đây là sơ đồ toàn bộ quá trình đào tạo


Vì vậy, quá trình đào tạo cho một mô hình nhỏ có 2 hàm mất mát. Hàm mất mát đầu tiên lấy cả dự đoán mềm và mục tiêu mềm và là hàm mất mát entropy chéo. Đây là cách khả năng khái quát hóa được chuyển từ mô hình lớn sang mô hình nhỏ bằng cách cố gắng khớp các mục tiêu mềm. Đối với hàm mất mát này, cả softmax đều sử dụng nhiệt độ 'T'.


Các tác giả cũng thấy rằng việc sử dụng mô hình nhỏ để khớp với các mục tiêu thực sự có ích. Điều này được kết hợp trong hàm chi phí thứ hai. Chi phí cuối cùng là giá trị trung bình có trọng số của hai hàm chi phí này với các siêu tham số alpha và beta.

4. Thí nghiệm trên MNIST

Các tác giả đã sử dụng bộ dữ liệu MNIST để kiểm tra phương pháp này. Họ đã sử dụng hai kiến trúc cho phương pháp này, chỉ khác nhau về số lượng đơn vị ẩn trong các lớp giữa. Các tác giả đã sử dụng 2 mạng nơ-ron ẩn trong cả hai trường hợp


  1. Mô hình nhỏ hơn có thể được xem là 784 -> 800 -> 800 -> 10 (trong đó 784 là kích thước chưa cuộn của hình ảnh, 800 là số đơn vị ẩn có kích hoạt RELU và 10 là số lớp chúng ta đang dự đoán). Mô hình này đưa ra 146 lỗi thử nghiệm mà không có quy tắc hóa.
  2. Mô hình lớn hơn có thể được xem là 784 -> 1200 -> 1200 -> 10 (trong đó 784 là kích thước chưa cuộn của một hình ảnh, 1200 là số lượng đơn vị ẩn có kích hoạt RELU và 10 là số lớp chúng ta đang dự đoán). Mô hình này được đào tạo trên MNIST bằng cách sử dụng dropout, weight-constraints và jittering input images và mạng này đạt được 67 lỗi thử nghiệm.


Chúng ta có thể chuyển sự cải tiến này trong mô hình lớn hơn sang mô hình nhỏ không?


Các tác giả hiện sử dụng cả mục tiêu mềm thu được từ lưới lớn và mục tiêu thực mà không bị mất tín hiệu và không bị rung hình ảnh, tức là lưới nhỏ hơn được chuẩn hóa chỉ bằng cách thêm nhiệm vụ bổ sung là khớp các mục tiêu mềm do lưới lớn tạo ra ở nhiệt độ 20 và kết quả là.


74 lỗi kiểm tra sử dụng 784 -> 800 -> 800 -> 10


Điều này cho thấy các mục tiêu mềm có thể chuyển một lượng lớn kiến thức sang mô hình nhỏ, bao gồm kiến thức về cách khái quát hóa kiến thức học được từ dữ liệu đào tạo đã dịch. Nói cách khác, lợi ích chúng ta có được từ việc chuyển đổi đầu vào được chuyển sang mạng nhỏ ngay cả khi chúng ta không chuyển đổi đầu vào cho mạng nhỏ.


Một thực tế nổi tiếng là việc biến đổi các đầu vào bằng các phép biến đổi khác nhau làm cho mô hình khái quát hóa tốt hơn nhiều và trong trường hợp của chúng ta, thông tin về cách khái quát hóa đang hiển thị trong kiến thức Dark và điều này đang ẩn trong các mục tiêu mềm. Không có thông tin nào trong số này nằm trong các mục tiêu True. Vì vậy, bằng cách sử dụng thông tin từ các mục tiêu mềm, mạng lưới nhỏ của chúng ta hoạt động tốt hơn nhiều.


Mạng lưới lớn sử dụng các mục tiêu mềm đã học được số liệu tương đồng đã học được 'cái gì giống cái gì' và với sự chuyển giao kiến thức này, chúng ta đang nói với mạng lưới nhỏ 'cái gì giống cái gì'


Tất cả các thí nghiệm trên MNIST được tóm tắt dưới đây

5. Thí nghiệm bổ sung trên MNIST

Ngoài ra, các tác giả cũng đã thử bỏ qua các ví dụ về chữ số 3 khi huấn luyện một mô hình nhỏ hơn bằng cách chưng cất. Vì vậy, theo quan điểm của mô hình nhỏ, 3 là một chữ số huyền thoại mà nó chưa từng thấy. Vì mô hình nhỏ hơn chưa từng thấy 3 trong quá trình huấn luyện, chúng tôi dự đoán nó sẽ mắc rất nhiều lỗi khi gặp 3 trong tập kiểm tra. Mặc dù vậy, mô hình chưng cất chỉ mắc 206 lỗi kiểm tra trong đó có 133 lỗi trên 1010 số ba trong tập kiểm tra. Điều này cho thấy rõ ràng rằng khả năng khái quát hóa của mô hình lớn đã được chuyển sang mô hình nhỏ trong quá trình chưng cất và điều này khiến mô hình nhỏ dự đoán đúng 3 trong hầu hết các trường hợp


Đây là bài học rút ra từ câu chuyện.


Việc biến đổi hình ảnh đầu vào cải thiện đáng kể khả năng khái quát hóa. Việc biến đổi các mục tiêu cũng có tác động lớn tương tự và nếu chúng ta có thể lấy được các mục tiêu mềm từ đâu đó thì sẽ rẻ hơn nhiều vì chúng ta có thể có được hiệu suất tương tự với mô hình nhỏ hơn


Tài liệu tham khảo:

  1. Hinton, Geoffrey, Oriol Vinyals và Jeff Dean. “Chưng cất kiến thức trong mạng nơ-ron.”
  2. Chắt lọc kiến thức bởi intellabs.