Tối ưu hóa model Ultralytics YOLO bằng tích hợp TensorRT
Tìm hiểu cách export model Ultralytics YOLO bằng tích hợp TensorRT để đạt hiệu suất AI nhanh và hiệu quả hơn trên GPU NVIDIA trong các ứng dụng thời gian thực.
Abirami Vina12 phút đọc
Hãy hình dung một chiếc xe tự lái di chuyển trên con phố đông đúc và chỉ có vài mili giây để phát hiện người đi bộ bước xuống lòng đường. Đồng thời, xe có thể cần nhận diện biển báo dừng bị cây che khuất một phần hoặc phản ứng nhanh với một phương tiện gần đó bất ngờ lấn vào làn đường. Trong những tình huống như vậy, tốc độ và khả năng phản hồi theo thời gian thực đóng vai trò thiết yếu.
Đây là lúc trí tuệ nhân tạo (AI), cụ thể là thị giác máy tính—một nhánh của AI giúp máy móc diễn giải dữ liệu hình ảnh—phát huy vai trò quan trọng. Để các giải pháp thị giác máy tính hoạt động đáng tin cậy trong môi trường thực tế, chúng thường cần xử lý thông tin nhanh chóng, xử lý nhiều tác vụ cùng lúc và sử dụng bộ nhớ hiệu quả.
Một cách để đạt được điều này là tăng tốc phần cứng bằng các thiết bị chuyên dụng như bộ xử lý đồ họa (GPUs) để chạy model nhanh hơn. NVIDIA GPUs đặc biệt nổi tiếng với các tác vụ này nhờ khả năng mang lại độ trễ thấp và thông lượng cao.
Tuy nhiên, chạy nguyên trạng model trên GPU không phải lúc nào cũng đảm bảo hiệu suất tối ưu. Các model AI thị giác thường cần được tối ưu hóa để tận dụng tối đa khả năng của thiết bị phần cứng. Để đạt hiệu suất tối đa trên phần cứng cụ thể, chúng ta cần biên dịch model để sử dụng tập lệnh dành riêng cho phần cứng đó.
Ví dụ, TensorRT là định dạng export và thư viện tối ưu hóa do NVIDIA phát triển để cải thiện hiệu năng trên GPU NVIDIA. TensorRT sử dụng các kỹ thuật tiên tiến nhằm giảm đáng kể thời gian suy luận mà vẫn duy trì độ chính xác.

Hình 1. NVIDIA TensorRT giúp model chạy tối ưu trên nhiều thiết bị NVIDIA.
Trong bài viết này, chúng ta sẽ tìm hiểu tích hợp TensorRT được Ultralytics hỗ trợ và hướng dẫn cách export model YOLO11 để triển khai nhanh hơn, hiệu quả hơn trên phần cứng NVIDIA. Bắt đầu nhé!
Tổng quan về TensorRT#
TensorRT là bộ công cụ do NVIDIA phát triển để giúp các model AI chạy nhanh và hiệu quả hơn trên NVIDIA GPUs. TensorRT được thiết kế cho các ứng dụng thực tế đòi hỏi tốc độ và hiệu suất cao, chẳng hạn như xe tự lái và kiểm soát chất lượng trong lĩnh vực sản xuất cũng như dược phẩm.
TensorRT bao gồm các công cụ như compiler và bộ tối ưu hóa model, có thể hoạt động ở chế độ nền để đảm bảo model chạy với độ trễ thấp và xử lý được thông lượng cao hơn.
Tính năng tích hợp TensorRT do Ultralytics hỗ trợ tối ưu hóa model YOLO để chạy hiệu quả hơn trên GPU bằng các phương pháp như giảm độ chính xác. Phương pháp này sử dụng định dạng bit thấp hơn, chẳng hạn dấu phẩy động 16 bit (FP16) hoặc số nguyên 8 bit (INT8), để biểu diễn dữ liệu model, qua đó giảm mức sử dụng bộ nhớ và tăng tốc tính toán với tác động tối thiểu đến độ chính xác.
Ngoài ra, các layer mạng neural tương thích được gộp lại trong những model TensorRT đã tối ưu hóa để giảm mức sử dụng bộ nhớ, nhờ đó inference nhanh và hiệu quả hơn.

Hình 2. Minh họa kỹ thuật hợp nhất layer của TensorRT.
Các tính năng chính của định dạng export TensorRT#
Trước khi tìm hiểu cách export Ultralytics YOLO11 bằng tích hợp TensorRT, hãy cùng xem một số tính năng chính của định dạng model TensorRT:
- Tích hợp framework dễ dàng: TensorRT hỗ trợ tích hợp trực tiếp với các framework AI phổ biến như PyTorch, Hugging Face và ONNX, giúp hiệu suất nhanh hơn tới 6 lần. TensorRT cũng hỗ trợ MATLAB, cho phép phát triển các engine AI tốc độ cao trên những nền tảng như Jetson, NVIDIA DRIVE và trung tâm dữ liệu.
- Triển khai có khả năng mở rộng với Triton: Các model được tối ưu hóa ở định dạng TensorRT có thể được triển khai trên quy mô lớn bằng NVIDIA Triton Inference Server, giúp nâng cao hiệu quả nhờ các tính năng như batching đầu vào, thực thi đồng thời nhiều model, hỗ trợ ensemble model và streaming audio/video thời gian thực.
- Linh hoạt trên nhiều thiết bị: Từ thiết bị edge nhỏ gọn đến server mạnh mẽ, TensorRT hoạt động trên toàn bộ hệ sinh thái NVIDIA và hỗ trợ các công cụ như DeepStream cho video, Riva cho AI giọng nói, cùng nhiều công cụ khác phục vụ an ninh mạng, hệ thống gợi ý và nhiều lĩnh vực khác.
Tích hợp TensorRT hoạt động như thế nào?#
Việc export các model Ultralytics YOLO, chẳng hạn Ultralytics YOLO11, sang định dạng model TensorRT rất dễ dàng. Hãy cùng tìm hiểu các bước thực hiện.
Để bắt đầu, bạn có thể cài đặt gói Python Ultralytics bằng trình quản lý gói như pip. Bạn có thể thực hiện việc này bằng cách chạy lệnh pip install ultralytics trong dấu nhắc lệnh hoặc terminal.
Sau khi cài đặt package Ultralytics Python thành công, bạn có thể training, kiểm tra, fine-tune, export và triển khai model cho nhiều tác vụ thị giác máy tính khác nhau, chẳng hạn như phát hiện đối tượng, phân loại và instance segmentation. Nếu gặp khó khăn khi cài đặt package, bạn có thể tham khảo hướng dẫn Các vấn đề thường gặp để tìm giải pháp và mẹo xử lý.
Ở bước tiếp theo, bạn cần một thiết bị NVIDIA. Dùng đoạn code bên dưới để tải và export YOLO11 sang định dạng model TensorRT. Đoạn code tải biến thể nano pretrained của model YOLO11 (yolo11n.pt) và export model thành file TensorRT engine (yolo11n.engine), sẵn sàng triển khai trên các thiết bị NVIDIA.
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="engine")Sau khi chuyển đổi model sang định dạng TensorRT, bạn có thể triển khai model cho nhiều ứng dụng khác nhau.
Ví dụ dưới đây minh họa cách tải model YOLO11 đã export (yolo11n.engine) và chạy suy luận bằng model đó. Suy luận là quá trình sử dụng model đã huấn luyện để đưa ra dự đoán trên dữ liệu mới. Trong trường hợp này, chúng ta sẽ dùng ảnh đầu vào chụp một chú chó để kiểm tra model.
tensorrt_model = YOLO("yolo11n.engine")
results = tensorrt_model("https://images.pexels.com/photos/1254140/pexels-photo-1254140.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2.jpg", save=True)Khi chạy đoạn code này, hình ảnh đầu ra sau sẽ được lưu trong thư mục runs/detect/predict.

Hình 3. Kết quả chạy inference bằng model Ultralytics YOLO11 đã export ở định dạng TensorRT.
Khi nào nên sử dụng tích hợp TensorRT#
Package Ultralytics Python hỗ trợ nhiều tích hợp cho phép export model YOLO sang các định dạng khác nhau như TorchScript, CoreML, ONNX và TensorRT. Vậy khi nào bạn nên chọn tích hợp TensorRT?
Dưới đây là một số yếu tố giúp định dạng model TensorRT khác biệt so với các tùy chọn tích hợp export khác:
- Kích thước model nhỏ hơn: Export model YOLO sang định dạng TensorRT với độ chính xác INT8 (
quantize=8) có thể giảm đáng kể kích thước model. Lượng tử hóa từ FP32 sang INT8 có thể giảm kích thước model 4 lần, giúp tải xuống nhanh hơn, giảm yêu cầu lưu trữ và thu nhỏ dấu chân bộ nhớ khi triển khai. - Tiêu thụ điện năng thấp hơn: Lượng tử hóa INT8 không chỉ giảm kích thước model mà còn giảm mức tiêu thụ điện năng. Các phép toán giảm độ chính xác của model YOLO export ở INT8 có thể tiêu thụ ít điện năng hơn so với model FP32, đặc biệt hữu ích cho thiết bị dùng pin như drone, smartphone hoặc thiết bị edge.
- Hiệu suất nhanh hơn: Kết hợp kiến trúc hiệu quả của YOLO với khả năng tối ưu hóa INT8 của TensorRT có thể cải thiện tốc độ inference.
Các ứng dụng của Ultralytics YOLO11 và định dạng model TensorRT#
Các model Ultralytics YOLO được export sang định dạng TensorRT có thể triển khai trong nhiều tình huống thực tế. Những model đã tối ưu hóa này đặc biệt hữu ích khi hiệu suất AI nhanh và hiệu quả là yếu tố then chốt. Hãy cùng tìm hiểu một số ví dụ thú vị về cách sử dụng các model này.
Quầy thanh toán thông minh trong cửa hàng bán lẻ#
Nhiều công việc trong cửa hàng bán lẻ, như quét mã vạch, cân sản phẩm hoặc đóng gói hàng hóa, vẫn do nhân viên thực hiện thủ công. Tuy nhiên, chỉ dựa vào nhân viên có thể làm chậm hoạt động và gây khó chịu cho khách hàng, đặc biệt tại quầy thanh toán. Hàng dài gây bất tiện cho cả người mua sắm lẫn chủ cửa hàng. Quầy tự thanh toán thông minh là giải pháp tuyệt vời cho vấn đề này.
Các quầy này sử dụng thị giác máy tính và GPUs để tăng tốc quy trình, giúp giảm thời gian chờ. Thị giác máy tính cho phép các hệ thống này quan sát và hiểu môi trường xung quanh thông qua những tác vụ như phát hiện đối tượng. Các model tiên tiến như Ultralytics YOLO11, khi được tối ưu hóa bằng công cụ như TensorRT, có thể chạy nhanh hơn nhiều trên thiết bị GPU.
Các model đã export này rất phù hợp với thiết lập bán lẻ thông minh sử dụng thiết bị phần cứng nhỏ gọn nhưng mạnh mẽ như NVIDIA Jetson Nano, được thiết kế chuyên biệt cho các ứng dụng AI edge.

Hình 4. Ví dụ về quầy thanh toán thông minh.
Phát hiện lỗi tự động trong sản xuất#
Một model thị giác máy tính như Ultralytics YOLO11 có thể được training tùy chỉnh để phát hiện sản phẩm lỗi trong ngành sản xuất. Sau khi training, model có thể được export sang định dạng TensorRT để triển khai tại các cơ sở được trang bị hệ thống AI hiệu suất cao.
Khi sản phẩm di chuyển trên băng chuyền, camera chụp hình ảnh và model Ultralytics YOLO11 chạy ở định dạng TensorRT phân tích hình ảnh theo thời gian thực để phát hiện lỗi. Thiết lập này giúp doanh nghiệp nhanh chóng và chính xác phát hiện vấn đề, giảm sai sót và nâng cao hiệu quả.
Tương tự, các ngành như dược phẩm đang sử dụng những hệ thống này để xác định lỗi trên bao bì y tế. Trên thực tế, thị trường toàn cầu về hệ thống phát hiện lỗi thông minh dự kiến sẽ đạt 5 tỷ USD vào năm 2026.

Hình 5. Sử dụng YOLO để phát hiện lỗi trong ngành dược phẩm.
Các lưu ý khi sử dụng TensorRT#
Dù tính năng tích hợp TensorRT mang lại nhiều lợi ích như tăng tốc độ suy luận và giảm độ trễ, bạn cần lưu ý một số hạn chế sau:
- Độ chính xác giảm nhẹ: Khi export model sang định dạng TensorRT, model đã export có thể không chính xác bằng model gốc. Các chỉ số hiệu năng như precision, recall và khả năng phát hiện đối tượng của model (điểm mAP) có thể giảm nhẹ. Có thể hạn chế điều này bằng cách sử dụng bộ dữ liệu hiệu chỉnh đại diện (tham số
data) trong quá trình lượng tử hóa INT8. - Độ phức tạp khi debug tăng: Các tối ưu hóa của TensorRT có thể khiến việc truy vết lỗi hoặc hiểu hành vi bất thường trở nên khó khăn hơn, đặc biệt khi so sánh kết quả với model gốc.
- Độ nhạy với batch size: Lợi ích hiệu năng của TensorRT thể hiện rõ hơn với batch size lớn. Với các ứng dụng xử lý từng ảnh riêng lẻ hoặc batch nhỏ, mức cải thiện hiệu năng có thể không đáng kể.
Điểm chính cần ghi nhớ#
Xuất các model Ultralytics YOLO sang định dạng TensorRT giúp chúng chạy nhanh và hiệu quả hơn đáng kể, nhờ đó phù hợp với các tác vụ thời gian thực như phát hiện lỗi trong nhà máy, vận hành hệ thống thanh toán thông minh hoặc giám sát khu vực đô thị đông đúc.
Tối ưu hóa này giúp model hoạt động tốt hơn trên GPU NVIDIA bằng cách tăng tốc dự đoán và giảm mức sử dụng bộ nhớ cũng như điện năng. Dù có một vài hạn chế, mức tăng hiệu năng khiến tích hợp TensorRT trở thành lựa chọn phù hợp cho bất kỳ ai xây dựng hệ thống thị giác máy tính tốc độ cao trên phần cứng NVIDIA.
Bạn muốn tìm hiểu thêm về AI? Khám phá kho GitHub của chúng tôi, kết nối với cộng đồng của chúng tôi và xem các tùy chọn cấp phép để bắt đầu dự án thị giác máy tính của bạn. Tìm hiểu thêm về những đổi mới như AI trong sản xuất và thị giác máy tính trong ngành logistics trên 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.










