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 là một kỹ thuật tối ưu hóa mô hình được sử dụng trong trí tuệ nhân tạo (AI) và học máy (ML) để giảm kích thước và độ phức tạp tính toán của các mô hình đã được đào tạo. Nó bao gồm việc loại bỏ có chọn lọc các tham số, chẳng hạn như trọng số hoặc kết nối trong mạng nơ-ron (NN) , được xác định là ít quan trọng hoặc thừa đối với nhiệm vụ của mô hình. Mục tiêu chính là tạo ra các mô hình nhỏ hơn, nhanh hơn, đòi hỏi ít tài nguyên tính toán và bộ nhớ hơn, lý tưởng nhất là không làm giảm đáng kể hiệu suất hoặc độ chính xác . Quá trình này là một phần quan trọng của việc triển khai mô hình hiệu quả, đặc biệt là trên các thiết bị có khả năng hạn chế. Trong khi "Cắt tỉa" là thuật ngữ chung, " Cắt tỉa mô hình " đề cập cụ thể đến việc áp dụng kỹ thuật này cho các mô hình ML.
Khi các mô hình học sâu (DL) phát triển lớn hơn và phức tạp hơn để giải quyết các tác vụ phức tạp, nhu cầu về sức mạnh tính toán, lưu trữ và năng lượng của chúng tăng lên đáng kể. Việc cắt tỉa trực tiếp giải quyết thách thức này bằng cách làm cho các mô hình nhẹ hơn và hiệu quả hơn. Việc tối ưu hóa này dẫn đến một số lợi ích: giảm nhu cầu lưu trữ, giảm mức tiêu thụ năng lượng trong quá trình vận hành và giảm độ trễ suy luận , điều này rất quan trọng đối với các ứng dụng yêu cầu suy luận theo thời gian thực . Việc cắt tỉa đặc biệt có giá trị khi triển khai các mô hình trong các môi trường hạn chế về tài nguyên như thiết bị di động, hệ thống nhúng và nhiều tình huống AI Edge khác nhau, trong đó hiệu quả là mối quan tâm chính. Nó cũng có thể giúp giảm thiểu tình trạng quá khớp bằng cách đơn giản hóa mô hình.
Kỹ thuật cắt tỉa được áp dụng rộng rãi trên nhiều lĩnh vực AI. Sau đây là hai ví dụ cụ thể:
Phương pháp cắt tỉa có nhiều loại nhưng nhìn chung có thể chia thành các loại chính sau:
Việc cắt tỉa có thể được triển khai ở nhiều giai đoạn khác nhau: trước khi đào tạo (ảnh hưởng đến thiết kế kiến trúc), trong quá trình đào tạo hoặc sau khi đào tạo trên một mô hình được đào tạo trước, thường theo sau là tinh chỉnh để lấy lại bất kỳ độ chính xác nào đã mất. Các khuôn khổ học sâu chính như PyTorch và TensorFlow cung cấp các công cụ và hướng dẫn, chẳng hạn như Hướng dẫn cắt tỉa PyTorch , để triển khai các chiến lược cắt tỉa khác nhau.
Cắt tỉa là một trong số nhiều kỹ thuật được sử dụng để tối ưu hóa mô hình . Sẽ hữu ích khi 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 và thường được sử dụng kết hợp với cắt tỉa để đạt được mức tối ưu hóa cao hơn. Ví dụ, một mô hình có thể được cắt tỉa trước, sau đó lượng tử hóa để đạt hiệu quả tối đa. Các mô hình được tối ưu hóa thường có thể được xuất sang các định dạng chuẩn như ONNX bằng các công cụ như hàm xuất Ultralytics để có khả năng tương thích triển khai rộng rãi trên các công cụ suy luận khác nhau.
Tóm lại, cắt tỉa là một kỹ thuật mạnh mẽ để tạo ra các mô hình AI hiệu quả phù hợp với nhiều nhu cầu triển khai khác nhau, đóng vai trò quan trọng trong ứng dụng thực tế của thị giác máy tính (CV) và các tác vụ ML khác. Các nền tảng như Ultralytics HUB cung cấp các công cụ và cơ sở hạ tầng, bao gồm đào tạo đám mây , có thể tạo điều kiện thuận lợi cho việc phát triển và tối ưu hóa các mô hình như YOLOv8 hoặc YOLO11 .