Tối ưu hóa các mô hình AI bằng cách tỉa thưa (pruning) — 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.
Tỉa thư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ố (trọng số) hoặc cấu trúc (nơ-ron, kênh hoặc lớp) dư thừa hoặc ít quan trọng hơn 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ì mức độ chính xác tương đương với mô hình ban đầu. Điều này đặc biệt quan trọng để triển khai các mô hình AI phức tạp trên các môi trường bị hạn chế về tài nguyên, chẳng hạn như thiết bị biên.
Quá trình tỉa thư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 được tham số hóa quá mức, 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 các 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 không đượ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 đặt thành không. Sau quá trình tỉa thưa, mạng nhỏ hơn hiện tại thường trải qua quá trình tinh chỉnh, bao gồm việc huấn luyện lại mô hình trong một vài epoch nữa. Bước này giúp các tham số còn lại điều chỉnh theo các thay đổi kiến trúc và phục hồi bất kỳ hiệu suất nào có thể bị mất trong quá trình tỉa thưa. Quá trình lặp đi lặp lại này của việc tỉa thưa và tinh chỉnh 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ư "Deep Compression".
Các kỹ thuật tỉa thưa có thể được phân loại rộng rãi dựa trên những gì bị loại bỏ khỏi mạng:
Các framework machine learning lớn như PyTorch và TensorFlow cung cấp các tiện ích tích hợp và hướng dẫn để triển khai tỉa bớt (pruning).
Tỉa thưa là điều 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ế, nơi tài nguyên tính toán bị hạn chế.
Tỉa thưa là một trong số các 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ột 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 để có hiệu quả tối đa. Sau đó, các mô hình được tối ưu hóa có thể được xuất sang các định dạng tiêu chuẩn như ONNX bằng cách sử dụng chức năng xuất của Ultralytics để triển khai rộng rãi trên nhiều inference engine 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ừ huấn luyện đến triển khai mô hình được tối ưu hóa.