Thuật ngữ

Cắt tỉa mô hình

Tối ưu hóa các mô hình học máy với chức năng cắt tỉa mô hình. Đạt được tốc độ suy luận nhanh hơn, giảm sử dụng bộ nhớ và hiệu quả năng lượng cho các triển khai có tài nguyên hạn chế.

Cắt tỉa mô hình là một kỹ thuật tối ưu hóa mô hình giúp thu nhỏ mạng nơ-ron và tăng hiệu suất tính toán. Ý tưởng cốt lõi là xác định và loại bỏ các tham số dư thừa hoặc không quan trọng (trọng số, nơ-ron hoặc kênh) khỏi một mô hình đã được huấn luyện. Quá trình này làm giảm kích thước mô hình và có thể tăng tốc đáng kể quá trình suy luận , khiến nó trở nên lý tưởng để triển khai trên các thiết bị biên có bộ nhớ và sức mạnh xử lý hạn chế. Khái niệm này dựa trên quan sát rằng nhiều mô hình lớn bị tham số hóa quá mức, nghĩa là chúng chứa các thành phần đóng góp rất ít vào dự đoán cuối cùng. Các bài báo quan trọng như Optimal Brain Damage đã sớm khẳng định rằng không phải tất cả các tham số đều được tạo ra như nhau.

Các loại cắt tỉa mô hình

Các kỹ thuật cắt tỉa mô hình thường được phân loại theo mức độ chi tiết của nội dung bị xóa khỏi mạng:

  • Cắt tỉa Trọng số (Không có cấu trúc): Đây là phương pháp chi tiết nhất, trong đó các trọng số mô hình riêng lẻ có giá trị dưới một ngưỡng nhất định được đặt về 0. Phương pháp này tạo ra một mô hình "thưa thớt", có thể được nén ở mức cao. Tuy nhiên, phương pháp này thường yêu cầu phần cứng hoặc thư viện phần mềm chuyên dụng, chẳng hạn như các công cụ của NVIDIA dành cho mô hình thưa thớt , để đạt được tốc độ suy luận đáng kể.
  • Cắt tỉa nơ-ron: Trong phương pháp này, toàn bộ nơ-ron và tất cả các kết nối đến và đi của chúng sẽ bị loại bỏ nếu chúng được coi là không quan trọng. Đây là một hình thức cắt tỉa có cấu trúc hơn so với việc loại bỏ từng trọng số riêng lẻ.
  • Lọc Lọc/Kênh (Có Cấu Trúc): Đặc biệt hữu ích cho Mạng Nơ-ron Tích chập (CNN) , phương pháp này loại bỏ toàn bộ bộ lọc hoặc kênh. Vì bảo toàn cấu trúc dày đặc, đều đặn của các lớp mạng, phương pháp này thường mang lại hiệu suất tăng trực tiếp trên phần cứng tiêu chuẩn mà không cần thư viện chuyên dụng. Các công cụ như DeepSparse của Neural Magic được thiết kế để tăng tốc các mô hình thưa thớt này trên CPU.

Sau khi cắt tỉa, các mô hình thường trải qua quá trình tinh chỉnh , bao gồm việc đào tạo lại mạng nhỏ hơn trong một vài kỷ nguyên để khôi phục độ chính xác bị mất trong quá trình loại bỏ tham số. Giả thuyết Vé số nổi tiếng cho rằng trong một mạng lớn, tồn tại một mạng con nhỏ hơn có thể đạt được hiệu suất tương tự khi được đào tạo từ đầu. Các nền tảng như PyTorch cung cấp các công cụ tích hợp để triển khai, như được trình bày trong Hướng dẫn Cắt tỉa PyTorch chính thức.

Ứng dụng trong thế giới thực

Việc cắt tỉa mô hình rất quan trọng để triển khai các mô hình AI hiệu quả trong nhiều tình huống khác nhau:

  1. Tối ưu hóa phát hiện đối tượng trên thiết bị biên: Các mô hình như Ultralytics YOLO có thể được tinh chỉnh để chạy hiệu quả cho các tác vụ phát hiện đối tượng trên phần cứng hạn chế tài nguyên như Raspberry Pi hoặc NVIDIA Jetson . Điều này cho phép các ứng dụng thời gian thực như quản lý giao thông, giám sát thông minh và tích hợp thị giác máy tính vào robot .
  2. Triển khai Mô hình Ngôn ngữ Lớn (LLM) cục bộ: Cắt tỉa được sử dụng để thu nhỏ các mô hình lớn dựa trên kiến trúc Transformer , cho phép chúng chạy trên các thiết bị như điện thoại thông minh cho các tác vụ xử lý ngôn ngữ tự nhiên (NLP) . Phương pháp này, đôi khi được kết hợp với các kỹ thuật khác như lượng tử hóa, cho phép các trợ lý AI và ứng dụng dịch thuật mạnh mẽ trên thiết bị, đồng thời tăng cường quyền riêng tư dữ liệu và giảm độ trễ. Nghiên cứu và công cụ từ các tổ chức như Hugging Face khám phá việc cắt tỉa LLM .

Cắt tỉa so với các kỹ thuật tối ưu hóa khác

Cắt tỉa mô hình là một trong số các kỹ thuật tối ưu hóa mô hình bổ sung:

  • Lượng tử hóa mô hình : Kỹ thuật này làm giảm độ chính xác số của trọng số và kích hoạt mô hình (ví dụ: từ số dấu phẩy động 32 bit xuống số nguyên 8 bit). Không giống như kỹ thuật cắt tỉa, vốn loại bỏ các tham số, lượng tử hóa làm cho các tham số hiện có nhỏ hơn về kích thước. Kỹ thuật này thường được áp dụng sau khi cắt tỉa để tối ưu hóa tối đa, đặc biệt khi nhắm mục tiêu đến phần cứng có hỗ trợ chuyên biệt như TensorRT .
  • Chắt lọc kiến thức : Phương pháp này bao gồm việc huấn luyện một mô hình "học viên" nhỏ hơn để mô phỏng kết quả đầu ra của một mô hình "giáo viên" lớn hơn, đã được huấn luyện trước. Mục tiêu là chuyển đổi kiến thức đã học của giáo viên sang một kiến trúc gọn nhẹ hơn. Phương pháp này khác với phương pháp "cắt tỉa", tức là tinh gọn một mô hình đã được huấn luyện thay vì huấn luyện một mô hình mới.

Cuối cùng, các kỹ thuật này có thể được sử dụng kết hợp để tạo ra các mô hình hiệu quả cao. Sau khi được tối ưu hóa, mô hình có thể được xuất sang các định dạng chuẩn như ONNX bằng các tùy chọn xuất của Ultralytics để triển khai rộng rãi trên nhiều công cụ suy luận khác nhau. Các nền tảng như Ultralytics HUB cung cấp các công cụ để quản lý toàn bộ vòng đời của các mô hình thị giác máy tính , từ đào tạo đến triển khai tối ưu.

Tham gia cộng đồng Ultralytics

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

Tham gia ngay
Liên kết đã được sao chép vào clipboard