Tối ưu hóa các mô hình AI bằng cách cắt tỉa—giảm độ phức tạp, tăng hiệu quả và triển khai nhanh hơn trên các thiết bị biên mà không làm giảm hiệu suất.
Cắt tỉa (Pruning) là một kỹ thuật tối ưu hóa mô hình được sử dụng để giảm kích thước và độ phức tạp tính toán của một mạng nơ-ron (NN) đã được huấn luyện. Quá trình này bao gồm việc xác định và loại bỏ các tham số dư thừa hoặc ít quan trọng (trọng số) hoặc cấu trúc (nơ-ron, kênh hoặc lớp) khỏi mô hình. Mục tiêu là tạo ra một mô hình nhỏ hơn, nhanh hơn và tiết kiệm năng lượng hơn, đồng thời duy trì độ chính xác tương đương với mô hình gốc. Điều này đặc biệt quan trọng khi triển khai các mô hình AI phức tạp trên các môi trường hạn chế về tài nguyên, chẳng hạn như các thiết bị biên .
Quá trình cắt tỉa thường bắt đầu sau khi một mô hình học sâu đã được huấn luyện đầy đủ. Nó hoạt động dựa trên nguyên tắc rằng nhiều mô hình lớn bị tham số hóa quá mức, nghĩa là chúng chứa nhiều trọng số và nơ-ron đóng góp rất ít vào dự đoán cuối cùng. Một phương pháp phổ biến để xác định những thành phần không quan trọng này là phân tích độ lớn của chúng; các tham số có giá trị gần bằng 0 được coi là ít quan trọng hơn. Sau khi được xác định, các tham số này sẽ bị loại bỏ hoặc được đặt về 0. Sau quá trình cắt tỉa, mạng lưới giờ đây nhỏ hơn thường trải qua quá trình tinh chỉnh , bao gồm việc đào tạo lại mô hình trong một vài kỷ nguyên nữa. Bước này giúp các tham số còn lại điều chỉnh theo những thay đổi về kiến trúc và khôi phục bất kỳ hiệu suất nào có thể đã bị mất trong quá trình cắt tỉa. Quá trình cắt tỉa và tinh chỉnh lặp đi lặp lại này có thể được lặp lại để đạt được sự cân bằng mong muốn giữa kích thước và hiệu suất của mô hình, như được mô tả trong các bài báo nghiên cứu nền tảng như " Nén Sâu ".
Kỹ thuật cắt tỉa có thể được phân loại rộng rãi dựa trên những gì đang bị loại bỏ khỏi mạng:
Các khuôn khổ học máy lớn như PyTorch và TensorFlow cung cấp các tiện ích và hướng dẫn tích hợp để triển khai cắt tỉa .
Việc cắt tỉa là cần thiết để triển khai các mô hình AI mạnh mẽ trong các tình huống thực tế khi tài nguyên tính toán bị hạn chế.
Cắt tỉa là một trong số nhiều kỹ thuật tối ưu hóa mô hình và thường được sử dụng cùng với các kỹ thuật khác. Điều quan trọng là phải phân biệt nó với các khái niệm liên quan:
Các kỹ thuật này không loại trừ lẫn nhau. Một quy trình làm việc phổ biến là trước tiên cắt tỉa mô hình để loại bỏ các tham số dư thừa, sau đó áp dụng lượng tử hóa cho mô hình đã cắt tỉa để đạt hiệu quả tối đa. Các mô hình đã được tối ưu hóa sau đó có thể được xuất sang các định dạng chuẩn như ONNX bằng chức năng 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 có thể giúp quản lý toàn bộ vòng đời, từ đào tạo đến triển khai mô hình được tối ưu hóa .