Pruning và quantization trong thị giác máy tính: Hướng dẫn nhanh
Khám phá lý do pruning và quantization là yếu tố thiết yếu để tối ưu hóa các model thị giác máy tính và mang lại hiệu suất nhanh hơn trên các thiết bị edge.

Các thiết bị edge đang ngày càng phổ biến cùng với sự phát triển của công nghệ. Từ smartwatch theo dõi nhịp tim đến drone trên không giám sát đường phố, các hệ thống edge có thể xử lý dữ liệu theo thời gian thực ngay tại chỗ trên chính thiết bị.
Phương pháp này thường nhanh hơn và bảo mật hơn so với việc gửi dữ liệu lên cloud, đặc biệt đối với các ứng dụng liên quan đến dữ liệu cá nhân, chẳng hạn như phát hiện biển số xe hoặc theo dõi cử chỉ. Đây là những ví dụ về computer vision, một nhánh của trí tuệ nhân tạo (AI) cho phép máy móc diễn giải và hiểu thông tin hình ảnh.

Hình 1. Ví dụ về phát hiện biển số xe. (Nguồn)
Tuy nhiên, một điều cần cân nhắc là các ứng dụng này yêu cầu các model AI thị giác có khả năng xử lý các phép tính nặng, sử dụng tối thiểu tài nguyên và hoạt động độc lập. Hầu hết model computer vision được phát triển cho các hệ thống hiệu năng cao, nên kém phù hợp để triển khai trực tiếp trên thiết bị edge.
Để thu hẹp khoảng cách này, các developer thường áp dụng những tối ưu hóa có mục tiêu nhằm điều chỉnh model để chạy hiệu quả trên phần cứng nhỏ hơn. Những điều chỉnh này rất quan trọng đối với việc triển khai edge trong thực tế, nơi bộ nhớ và năng lực xử lý bị giới hạn.
Điều thú vị là các model computer vision như Ultralytics YOLO11 vốn đã được thiết kế với hiệu quả trên edge, nên rất phù hợp cho các tác vụ thời gian thực. Tuy nhiên, hiệu năng của chúng có thể được cải thiện hơn nữa bằng các kỹ thuật tối ưu hóa model như pruning và quantization, giúp inference nhanh hơn và giảm mức sử dụng tài nguyên trên các thiết bị hạn chế.
Trong bài viết này, chúng ta sẽ tìm hiểu kỹ hơn pruning và quantization là gì, cách chúng hoạt động cũng như cách chúng có thể giúp các model YOLO đạt hiệu năng tốt hơn khi triển khai edge trong thực tế. Hãy bắt đầu!
Pruning và quantization: Các kỹ thuật cốt lõi trong tối ưu hóa model#
Khi chuẩn bị các model Vision AI để triển khai trên thiết bị edge, một trong những mục tiêu chính là làm cho model nhẹ và đáng tin cậy mà không làm giảm hiệu năng. Việc này thường bao gồm giảm kích thước và yêu cầu tính toán của model để model có thể hoạt động hiệu quả trên phần cứng có bộ nhớ, năng lượng hoặc năng lực xử lý hạn chế. Hai cách phổ biến để thực hiện việc này là pruning và quantization.
Pruning là một kỹ thuật tối ưu hóa model AI giúp mạng neural nhỏ gọn và hiệu quả hơn. Trong nhiều trường hợp, một số thành phần của model, chẳng hạn như các connection hoặc node nhất định, không đóng góp nhiều vào các dự đoán cuối cùng. Pruning hoạt động bằng cách xác định và loại bỏ những thành phần kém quan trọng này, qua đó giảm kích thước model và tăng tốc hiệu năng.
Mặt khác, quantization là một kỹ thuật tối ưu hóa làm giảm độ chính xác của các giá trị số mà model sử dụng. Thay vì dựa vào các số dấu phẩy động 32-bit có độ chính xác cao, model chuyển sang các định dạng nhỏ gọn và hiệu quả hơn như số nguyên 8-bit. Thay đổi này giúp giảm mức sử dụng bộ nhớ và tăng tốc inference, tức quá trình model đưa ra dự đoán.

Hình 2. Tổng quan về pruning và quantization. (Nguồn)
Cách pruning và quantization hoạt động#
Giờ đây, khi đã hiểu rõ hơn về pruning và quantization, hãy cùng tìm hiểu cách cả hai hoạt động.
Pruning được thực hiện bằng một quy trình gọi là phân tích độ nhạy. Quy trình này xác định những thành phần của các model mạng neural, chẳng hạn như một số weight, neuron hoặc channel, đóng góp ít nhất vào dự đoán đầu ra cuối cùng. Những thành phần này có thể được loại bỏ với ảnh hưởng tối thiểu đến độ chính xác. Sau khi pruning, model thường được retrain để tinh chỉnh hiệu năng. Chu kỳ này có thể được lặp lại nhằm tìm ra sự cân bằng phù hợp giữa kích thước và độ chính xác.
Trong khi đó, quantization model tập trung vào cách model xử lý dữ liệu. Quá trình này bắt đầu bằng calibration, trong đó model chạy trên dữ liệu mẫu để học phạm vi các giá trị cần xử lý. Sau đó, những giá trị này được chuyển đổi từ số dấu phẩy động 32-bit sang các định dạng có độ chính xác thấp hơn như số nguyên 8-bit.

Hình 3. Quantization giúp giảm kích thước và độ phức tạp của model. (Nguồn)
Có một số công cụ giúp việc sử dụng pruning và quantization trong các dự án AI thực tế trở nên dễ dàng hơn. Hầu hết framework AI, chẳng hạn như PyTorch và TensorFlow, đều tích hợp sẵn hỗ trợ cho các kỹ thuật tối ưu hóa này, cho phép developer tích hợp trực tiếp chúng vào quy trình triển khai model.
Sau khi model được tối ưu hóa, các công cụ như ONNX Runtime có thể giúp chạy model hiệu quả trên nhiều nền tảng phần cứng khác nhau như server, desktop và thiết bị edge. Ngoài ra, Ultralytics cung cấp các integration cho phép export model YOLO sang những format phù hợp với quantization, giúp giảm kích thước model và tăng hiệu năng dễ dàng hơn.
Tổng quan về tối ưu hóa model Ultralytics YOLO#
Các model Ultralytics YOLO như YOLO11 được công nhận rộng rãi nhờ khả năng phát hiện object nhanh chỉ trong một bước, nên rất phù hợp cho các tác vụ AI thị giác thời gian thực. Chúng vốn đã được thiết kế đủ nhẹ và hiệu quả để triển khai edge. Tuy nhiên, các layer chịu trách nhiệm xử lý đặc trưng hình ảnh, được gọi là convolutional layer, vẫn có thể yêu cầu năng lực tính toán đáng kể trong quá trình inference.
Bạn có thể thắc mắc: nếu Ultralytics YOLO11 đã được tối ưu hóa cho mục đích sử dụng trên edge, tại sao vẫn cần tối ưu hóa thêm? Nói đơn giản, không phải mọi thiết bị edge đều giống nhau. Một số thiết bị vận hành trên phần cứng tối giản, chẳng hạn như các bộ xử lý nhúng siêu nhỏ tiêu thụ ít năng lượng hơn một bóng đèn LED tiêu chuẩn.
Trong những trường hợp này, ngay cả một model tinh gọn như Ultralytics YOLO11 cũng cần được tối ưu hóa thêm để đảm bảo hiệu năng mượt mà và ổn định. Các kỹ thuật như pruning và quantization giúp giảm kích thước model và tăng tốc inference mà không ảnh hưởng đáng kể đến độ chính xác, nên rất phù hợp với những môi trường hạn chế như vậy.
Để việc áp dụng các kỹ thuật tối ưu hóa này trở nên dễ dàng hơn, Ultralytics hỗ trợ nhiều integration có thể được sử dụng để export model YOLO sang nhiều format như ONNX, TensorRT, OpenVINO, CoreML và PaddlePaddle. Mỗi format được thiết kế để hoạt động hiệu quả với những loại phần cứng và môi trường triển khai cụ thể.
Ví dụ, ONNX thường được sử dụng trong quy trình quantization nhờ khả năng tương thích với nhiều công cụ và nền tảng. Mặt khác, TensorRT được tối ưu hóa cao cho các thiết bị NVIDIA và hỗ trợ inference độ chính xác thấp bằng INT8, nên rất phù hợp để triển khai tốc độ cao trên GPU edge.
Các trường hợp sử dụng nổi bật của việc tối ưu hóa model Ultralytics YOLO#
Khi computer vision tiếp tục mở rộng sang nhiều ứng dụng thực tế, các model YOLO được tối ưu hóa giúp có thể chạy những tác vụ như phát hiện object, instance segmentation và theo dõi object trên phần cứng nhỏ hơn, nhanh hơn. Tiếp theo, hãy cùng thảo luận một vài trường hợp sử dụng mà pruning và quantization giúp các tác vụ computer vision này hiệu quả và thiết thực hơn.
Giám sát thông minh với Ultralytics YOLO11#
Nhiều khu vực công nghiệp cũng như không gian công cộng phụ thuộc vào hoạt động giám sát thời gian thực để duy trì an toàn và an ninh. Những nơi như ga giao thông, cơ sở sản xuất và các khu vực ngoài trời quy mô lớn cần hệ thống AI thị giác có thể phát hiện người hoặc phương tiện nhanh chóng và chính xác. Các địa điểm này thường có kết nối hạn chế và bị giới hạn về phần cứng, khiến việc triển khai các model lớn trở nên khó khăn.
Trong những trường hợp như vậy, một model AI thị giác được tối ưu hóa như Ultralytics YOLO11 là giải pháp phù hợp. Kích thước nhỏ gọn và hiệu năng nhanh khiến model này rất thích hợp để chạy trên các thiết bị edge công suất thấp, chẳng hạn như camera nhúng hoặc cảm biến thông minh. Những model này có thể xử lý dữ liệu hình ảnh trực tiếp trên thiết bị, cho phép phát hiện theo thời gian thực các hành vi vi phạm an toàn, truy cập trái phép hoặc hoạt động bất thường mà không cần liên tục truy cập cloud.

Hình 4. Ultralytics YOLO11 có thể được sử dụng để giám sát các địa điểm công cộng như ga metro.
Tăng cường an toàn tại công trường xây dựng với Ultralytics YOLO11#
Công trường xây dựng là những môi trường có nhịp độ nhanh và khó dự đoán, với máy móc hạng nặng, công nhân di chuyển và hoạt động diễn ra liên tục. Điều kiện có thể thay đổi nhanh chóng do lịch trình thay đổi, thiết bị di chuyển hoặc thậm chí thời tiết đột ngột biến đổi. Trong bối cảnh năng động như vậy, đảm bảo an toàn cho người lao động có thể là một thách thức liên tục.
Giám sát thời gian thực đóng vai trò quan trọng, nhưng các hệ thống truyền thống thường phụ thuộc vào quyền truy cập cloud hoặc phần cứng đắt tiền, có thể không thiết thực tại công trường. Đây là lúc các model như Ultralytics YOLO11 phát huy hiệu quả. YOLO11 có thể được tối ưu hóa để chạy trên các thiết bị edge nhỏ gọn, hiệu quả, hoạt động trực tiếp tại công trường mà không cần kết nối Internet.
Ví dụ, hãy xét một công trường lớn như dự án mở rộng đường cao tốc trải rộng trên nhiều mẫu Anh. Trong bối cảnh này, việc theo dõi thủ công từng phương tiện hoặc thiết bị có thể khó khăn và tốn thời gian. Một drone được trang bị camera cùng model Ultralytics YOLO11 đã tối ưu hóa có thể hỗ trợ bằng cách tự động phát hiện và theo dõi phương tiện, giám sát luồng giao thông cũng như xác định các vấn đề an toàn như truy cập trái phép hoặc hành vi lái xe không an toàn.

Hình 5. Phân tích hình ảnh drone từ một công trường xây dựng. (Nguồn)
Ưu và nhược điểm của pruning và quantization trong computer vision#
Dưới đây là một số ưu điểm chính mà các phương pháp tối ưu hóa model computer vision như pruning và quantization mang lại:
- Triển khai tiết kiệm chi phí: Các model nhỏ hơn và hiệu quả hơn có thể giảm nhu cầu sử dụng phần cứng cao cấp đắt tiền, giúp AI dễ tiếp cận và có khả năng mở rộng hơn trong nhiều trường hợp sử dụng.
- Độ trễ thấp hơn: Bằng cách đơn giản hóa kiến trúc model và giảm overhead tính toán, những kỹ thuật này có thể giúp đạt thời gian phản hồi nhanh hơn trong các ứng dụng thời gian thực.
- Hiệu quả năng lượng: Việc giảm tải tính toán cũng làm giảm mức tiêu thụ điện năng, đặc biệt hữu ích cho các hệ thống chạy bằng pin hoặc hệ thống di động.
Mặc dù pruning và quantization mang lại nhiều ưu điểm, chúng cũng đi kèm một số đánh đổi mà developer cần cân nhắc khi tối ưu hóa model. Dưới đây là một số hạn chế cần lưu ý:
- Đánh đổi về độ chính xác: Nếu pruning quá mạnh hoặc sử dụng quantization với số bit rất thấp, độ chính xác của model, được đo bằng các metric như mAP, có thể giảm.
- Hạn chế về phần cứng: Không phải mọi thiết bị đều hỗ trợ tốt như nhau các format có độ chính xác thấp hơn như INT8. Điều này có thể giới hạn nơi và cách triển khai model đã tối ưu hóa.
- Độ phức tạp khi triển khai: Để đạt được kết quả tốt thường cần tinh chỉnh cẩn thận theo từng model. Developer có thể cần retrain model và thực hiện kiểm thử quy mô lớn để duy trì hiệu năng trong khi cải thiện hiệu quả.
Những điểm chính#
Pruning và quantization là những kỹ thuật hữu ích giúp các model YOLO hoạt động tốt hơn trên thiết bị edge. Chúng giảm kích thước model, hạ thấp nhu cầu tính toán và tăng tốc dự đoán mà không làm mất độ chính xác đáng kể.
Các phương pháp tối ưu hóa này cũng mang lại cho developer sự linh hoạt để điều chỉnh model cho nhiều loại phần cứng khác nhau mà không cần xây dựng lại hoàn toàn. Với một chút tinh chỉnh và kiểm thử, việc áp dụng AI thị giác vào các tình huống thực tế trở nên dễ dàng hơn.
Hãy tham gia cộng đồng đang ngày càng phát triển của chúng tôi! Khám phá repository GitHub để tìm hiểu thêm về AI. Sẵn sàng bắt đầu các dự án computer vision của bạn? Hãy xem các tùy chọn cấp phép của chúng tôi. Khám phá AI trong nông nghiệp và AI thị giác trong lĩnh vực chăm sóc sức khỏe bằng cách truy cập các trang giải pháp của chúng tôi!









