Pruning và lượng tử hóa trong thị giác máy tính: Hướng dẫn nhanh
Khám phá lý do pruning và lượng tử hóa là những kỹ thuật thiết yếu để tối ưu hóa các model thị giác máy tính và tăng tốc hiệu năng trên thiết bị edge.
Abirami Vina13 phút đọc
Các thiết bị edge ngày càng phổ biến cùng với sự phát triển của công nghệ. Từ đồng hồ thông minh 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 cục bộ theo thời gian thực ngay trên thiết bị.
Phương pháp này thường nhanh và bảo mật hơn so với việc gửi dữ liệu lên đám mây, đặc biệt với các ứng dụng liên quan đến dữ liệu cá nhân như phát hiện biển số xe hoặc theo dõi cử chỉ. Đây là những ví dụ về thị giác máy tính, 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, cần lưu ý rằng những ứng dụng này đòi hỏi các model vision AI có khả năng xử lý khối lượng tính toán lớn, sử dụng tài nguyên tối thiểu và hoạt động độc lập. Hầu hết model thị giác máy tính được phát triển cho các hệ thống hiệu năng cao, nên không 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 nhà phát triển thường áp dụng những phương pháp 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 trên edge trong thực tế, nơi bộ nhớ và năng lực xử lý đều hạn chế.
Điều thú vị là các model thị giác máy tính như Ultralytics YOLO11 vốn đã được thiết kế để hoạt động hiệu quả trên edge, nên rất phù hợp với các tác vụ thời gian thực. Tuy nhiên, có thể cải thiện thêm hiệu năng bằng các kỹ thuật tối ưu hóa model như pruning và quantization, giúp suy luận nhanh hơn và giảm mức sử dụng tài nguyên trên các thiết bị có giới hạn.
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 và cách chúng có thể giúp các model YOLO đạt hiệu năng cao trong những lần triển khai edge thực tế. Bắt đầu nhé!
Pruning và quantization: Các kỹ thuật cốt lõi trong tối ưu hóa model#
Khi chuẩn bị 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 gọn 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 model và nhu cầu tính toán để model có thể hoạt động hiệu quả trên phần cứng có bộ nhớ, nguồn điện hoặc năng lực xử lý hạn chế. Pruning và quantization là hai phương pháp phổ biến để thực hiện điều này.
Pruning là một kỹ thuật tối ưu hóa model AI giúp mạng neural nhỏ hơ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 kết nối hoặc nút nhất định, không đóng góp nhiều vào kết quả dự đoán cuối cùng. Pruning xác định và loại bỏ những thành phần ít quan trọng này, qua đó giảm kích thước model và tăng tốc độ hoạt động.
Mặt khác, quantization là kỹ thuật tối ưu hóa giúp giảm độ chính xác của các giá trị số mà model sử dụng. Thay vì dùng 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ỏ hơn, 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 suy luận, tức quá trình model đưa ra dự đoán.

Hình 2. Tìm hiểu về pruning và quantization. (Nguồn)
Cách pruning và quantization hoạt động#
Giờ đây, khi đã hiểu rõ hơn pruning và quantization là gì, hãy cùng tìm hiểu cách cả hai phương pháp 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 trong model mạng neural, chẳng hạn như một số trọng số, neuron hoặc channel, đóng góp ít nhất vào kết quả dự đoán cuối cùng. Có thể loại bỏ các thành phần này mà chỉ ảnh hưởng rất ít đến độ chính xác. Sau khi pruning, model thường được huấn luyện lại để tinh chỉnh hiệu năng. Có thể lặp lại chu trình này để 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. Quy trình bắt đầu bằng hiệu chuẩn, trong đó model chạy trên dữ liệu mẫu để xác định phạm vi giá trị cần xử lý. Sau đó, các giá trị này được chuyển đổi từ số dấu phẩy động 32 bit sang định dạng có độ chính xác thấp hơn, chẳng 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ó nhiều công cụ giúp việc áp 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 nhà phát triển đưa chúng trực tiếp vào quy trình triển khai model.
Sau khi tối ưu hóa model, 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 như máy chủ, máy tính để bàn và thiết bị biên. Ngoài ra, Ultralytics cung cấp các tích hợp cho phép xuất model YOLO sang những định dạng phù hợp với lượng tử hóa (ví dụ: quantize=8 cho INT8 nếu định dạng hỗ trợ), giúp giảm kích thước model và tăng hiệu suất 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 đối tượng nhanh chỉ trong một bước, nên rất phù hợp với các tác vụ vision AI thời gian thực. Các model này vốn đã được thiết kế đủ gọn nhẹ và hiệu quả để triển khai trên edge. Tuy nhiên, các lớp xử lý đặc trưng hình ảnh, gọi là lớp tích chập, vẫn có thể đòi hỏi năng lực tính toán đáng kể trong quá trình suy luận.
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 thêm? Nói đơn giản, không phải thiết bị edge nào cũng giống nhau. Một số thiết bị chạy trên phần cứng rất hạn chế, chẳng hạn như bộ xử lý nhúng cỡ nhỏ tiêu thụ ít điện năng hơn một bóng đèn LED thông thường.
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 suất ổn định và mượt mà. Các kỹ thuật như cắt tỉa và lượng tử hóa giúp giảm kích thước model và tăng tốc suy luận mà không ảnh hưởng đáng kể đến độ chính xác, nhờ đó rất phù hợp với những môi trường có tài nguyên hạn chế.
Để việc áp dụng các kỹ thuật tối ưu hóa này dễ dàng hơn, Ultralytics hỗ trợ nhiều tích hợp có thể dùng để xuất model YOLO sang nhiều định dạng như ONNX, TensorRT, OpenVINO, CoreML và PaddlePaddle. Mỗi định dạng đượ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 dùng trong quy trình lượng tử hóa 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 thiết bị NVIDIA và hỗ trợ suy luận độ chính xác thấp bằng INT8, rất phù hợp để triển khai tốc độ cao trên GPU biên.
Các ứng dụng thực tiễn của tối ưu hóa model Ultralytics YOLO#
Khi thị giác máy tính ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực thực tế, các model YOLO đã tối ưu hóa giúp thực hiện những tác vụ như phát hiện đối tượng, phân đoạn thực thể và theo dõi đối tượng trên phần cứng nhỏ hơn, nhanh hơn. Tiếp theo, hãy cùng tìm hiểu một vài ứng dụng mà pruning và quantization giúp các tác vụ thị giác máy tính 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 cần giám sát thời gian thực để đảm bảo an toàn và an ninh. Những nơi như nhà ga, cơ sở sản xuất và khu vực ngoài trời rộng lớn cần hệ thống vision AI có thể phát hiện người hoặc phương tiện nhanh chóng và chính xác. Những địa điểm này thường có kết nối hạn chế và phần cứng bị giới hạn, 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, model vision AI đã tối ưu hóa như Ultralytics YOLO11 là một giải pháp tuyệt vời. Kích thước nhỏ gọn và tốc độ xử lý nhanh khiến model này rất phù hợp để chạy trên thiết bị edge tiêu thụ ít điện năng, chẳng hạn như camera nhúng hoặc cảm biến thông minh. Các 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 vi phạm an toàn, truy cập trái phép hoặc hoạt động bất thường theo thời gian thực mà không cần kết nối liên tục với cloud.

Hình 4. Có thể dùng Ultralytics YOLO11 để giám sát các không gian 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 liên tục. Điều kiện có thể thay đổi nhanh chóng do lịch trình biến động, thiết bị di chuyển hoặc thậm chí thời tiết đột ngột thay đổi. Trong môi trường năng động như vậy, đảm bảo an toàn cho công nhân có thể là thách thức thường trực.
Giám sát thời gian thực đóng vai trò then chốt, nhưng các hệ thống truyền thống thường phụ thuộc vào kết nối 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ả. Có thể tối ưu hóa YOLO11 để chạy trên các thiết bị edge nhỏ gọn, hiệu quả và 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 hình dung một công trường xây dựng lớn như dự án mở rộng đường cao tốc trải dài trên nhiều mẫu Anh. Trong môi trường 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. Drone được trang bị camera và model Ultralytics YOLO11 đã tối ưu hóa có thể tự động phát hiện và theo dõi phương tiện, giám sát luồng giao thông, đồng thời nhận diện các vấn đề an toàn như truy cập trái phép hoặc hành vi lái xe nguy hiểm.

Hình 5. Phân tích hình ảnh drone chụp tại công trường xây dựng. (Nguồn)
Ưu và nhược điểm của pruning và quantization trong thị giác máy tính#
Dưới đây là một số lợi ích chính mà các phương pháp tối ưu hóa model thị giác máy tính 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 hơn và có thể mở rộng cho nhiều trường hợp sử dụng khác nhau.
- Độ trễ thấp hơn: Bằng cách đơn giản hóa kiến trúc model và giảm phần chi phí tính toán phát sinh, các kỹ thuật này có thể giúp rút ngắn thời gian phản hồi trong các ứng dụng thời gian thực.
- Hiệu quả năng lượng: 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 thiết bị di động.
Mặc dù pruning và quantization mang lại nhiều lợi ích, chúng cũng có những đánh đổi mà nhà phát triển 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 ý:
- Các đá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 chỉ số như mAP, có thể giảm.
- Giới hạn phần cứng: Không phải thiết bị nào cũng hỗ trợ tốt các định dạng có độ chính xác thấp hơn như INT8. Điều này có thể hạn chế địa điểm và cách thức 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 cho từng model cụ thể. Nhà phát triển có thể cần huấn luyện lại model và thực hiện nhiều thử nghiệm để duy trì hiệu năng đồng thời cải thiện hiệu quả.
Điểm chính cần ghi nhớ#
Cắt tỉa và lượng tử hóa là những kỹ thuật hữu ích giúp model YOLO hoạt động tốt hơn trên thiết bị biên. Các kỹ thuật này giảm kích thước model, giảm nhu cầu tính toán và tăng tốc độ dự đoán, thường chỉ gây suy giảm nhỏ về độ chính xác.
Các phương pháp tối ưu hóa này cũng giúp nhà phát triển 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à thử nghiệm, việc ứng dụng vision AI vào các tình huống thực tế sẽ trở nên dễ dàng hơn.
Tham gia cộng đồng đang 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 thị giác máy tính của bạn? Hãy xem các tùy chọn cấp phép của chúng tôi. Tìm hiểu về AI trong nông nghiệp và vision AI trong lĩnh vực y tế bằng cách truy cập các trang giải pháp của chúng tôi!
Được viết bởi
Bình luận
Đặt câu hỏi, chia sẻ kết quả hoặc giúp đỡ người khác.










