Tối ưu 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 năng AI nhanh hơn và hiệu quả hơn trên GPU NVIDIA cho các ứng dụng thời gian thực.

Hãy hình dung một chiếc xe tự lái đang di chuyển trên con phố đông đúc và chỉ có vài mili giây để phát hiện một 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 nhanh chóng phản ứng với một phương tiện gần đó đang 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 là yếu tố then chốt.
Đâ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 — đóng 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, đảm nhiệm 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, sử dụ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 trong các tác vụ này nhờ khả năng cung cấp độ trễ thấp và thông lượng cao.
Tuy nhiên, chạy nguyên trạng một model trên GPU không phải lúc nào cũng đảm bảo hiệu năng tối ưu. Các model AI thị giác thường cần được tối ưu hóa để tận dụng đầy đủ khả năng của thiết bị phần cứng. Để đạt hiệu năng 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 riêng của phần cứng đó.
Ví dụ, TensorRT là một định dạng export và thư viện tối ưu hóa do NVIDIA phát triển nhằm nâng cao hiệu năng trên các máy cao cấp. TensorRT sử dụng các kỹ thuật tiên tiến để giảm đáng kể thời gian inference trong khi vẫn duy trì độ chính xác.

Hình 1. NVIDIA TensorRT cho phép các 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à thực hiện từng bước export model YOLO11 để triển khai nhanh hơn, hiệu quả hơn trên phần cứng NVIDIA. Hãy bắt đầu!
Tổng quan về TensorRT#
TensorRT là một bộ công cụ do NVIDIA phát triển, giúp các model AI chạy nhanh hơn và hiệu quả hơn trên NVIDIA GPUs. TensorRT được thiết kế cho các ứng dụng thực tế, nơi tốc độ và hiệu năng thực sự quan trọng, chẳng hạn như xe tự lái và kiểm soát chất lượng trong ngành sản xuất và dược phẩm.
TensorRT bao gồm các công cụ như trình biên dịch và bộ tối ưu hóa model, có thể hoạt động ở phía sau để đảm bảo model chạy với độ trễ thấp và xử lý được thông lượng cao hơn.
Tích hợp TensorRT được Ultralytics hỗ trợ hoạt động bằng cách tối ưu hóa model YOLO để chạy hiệu quả hơn trên GPUs, sử dụng các phương pháp như giảm độ chính xác. Điều này có nghĩa là sử dụng các định dạng số bit thấp hơn, chẳng hạn như số thực 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 ảnh hưởng tối thiểu đến độ chính xác.
Ngoài ra, các layer mạng nơ-ron tương thích được hợp nhất trong các model TensorRT đã tối ưu hóa để giảm mức sử dụng bộ nhớ, từ đó giúp inference nhanh hơn 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 xét 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, mang lại hiệu năng nhanh hơn tới 6 lần. TensorRT cũng hỗ trợ MATLAB, cho phép phát triển các AI engine tốc độ cao trên những nền tảng như Jetson, NVIDIA DRIVE và các 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 ở quy mô lớn bằng NVIDIA Triton Inference Server, giúp nâng cao hiệu quả thông qua các tính năng như batching đầu vào, thực thi model đồng thời, hỗ trợ ensemble model và streaming audio/video theo thời gian thực.
-
Linh hoạt trên nhiều thiết bị: Từ các thiết bị edge nhỏ gọn đến các server mạnh mẽ, TensorRT hoạt động trên toàn bộ hệ sinh thái NVIDIA, hỗ trợ các công cụ như DeepStream cho video, Riva cho AI giọng nói và những công cụ khác dành cho an ninh mạng, hệ thống đề xuất, cùng nhiều lĩnh vực khác.
Tích hợp TensorRT hoạt động như thế nào?#
Export các model Ultralytics YOLO, chẳng hạn như Ultralytics YOLO11, sang định dạng model TensorRT rất đơn giản. Hãy cùng đi qua 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ý package 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 command prompt hoặc terminal.
Sau khi cài đặt thành công gói Python Ultralytics, bạn có thể train, test, fine-tune, export và deploy các 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à phân đoạn instance. Nếu gặp khó khăn trong quá trình cài đặt package, bạn có thể tham khảo hướng dẫn Các sự cố thường gặp để tìm giải pháp và mẹo xử lý.
Ở bước tiếp theo, bạn sẽ cần một thiết bị NVIDIA. Sử dụng đoạn code bên dưới để load và export YOLO11 sang định dạng model TensorRT. Đoạn code này load biến thể nano được pre-train 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ụ bên dưới cho thấy cách load model YOLO11 đã export (yolo11n.engine) và chạy inference bằng model này. Inference là quá trình sử dụng model đã train để đưa ra dự đoán trên dữ liệu mới. Trong trường hợp này, chúng ta sẽ sử dụng hình ảnh đầu vào chứa một chú chó để kiểm thử 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 đây 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 tận dụng tích hợp TensorRT#
Gói Python Ultralytics hỗ trợ nhiều tích hợp, cho phép export các model YOLO sang những đị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ố khiến đị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 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ỏ footprint bộ nhớ trong quá trình triển khai.
-
Mức 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 làm giảm mức tiêu thụ điện năng. Các phép toán với độ chính xác thấp dành cho model YOLO export ở INT8 có thể tiêu thụ ít điện hơn so với model FP32, đặc biệt hữu ích cho các thiết bị chạy bằng pin như drone, smartphone hoặc thiết bị edge.
-
Hiệu năng nhanh hơn: Việc kết hợp kiến trúc hiệu quả của YOLO với 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ể được 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 năng AI nhanh và hiệu quả là yếu tố then chốt. Hãy cùng khám phá một số ví dụ thú vị về cách sử dụng chúng.
Quầy thanh toán thông minh trong cửa hàng bán lẻ#
Nhiều tác vụ trong cửa hàng bán lẻ, chẳng hạn 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 quy trình 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 người xếp hàng gây bất tiện cho cả người mua lẫn chủ cửa hàng. Quầy tự thanh toán thông minh là một 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 rút ngắn 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 các 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 những công cụ như TensorRT, có thể chạy nhanh hơn nhiều trên các thiết bị GPU.
Các model đã export này rất phù hợp với những hệ thống bán lẻ thông minh sử dụng các 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 biên.

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 train tùy chỉnh để phát hiện sản phẩm lỗi trong ngành sản xuất. Sau khi train, 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 năng cao.
Khi sản phẩm di chuyển trên băng chuyền, camera sẽ chụp ảnh và model Ultralytics YOLO11 chạy ở định dạng TensorRT sẽ phân tích ảnh theo thời gian thực để phát hiện lỗi. Thiết lập này cho phép các công ty nhanh chóng và chính xác xác định 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 dạng này để xác định lỗi trong bao bì y tế. Trên thực tế, thị trường toàn cầu cho các hệ thống phát hiện lỗi thông minh dự kiến sẽ tăng lên 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.
Những điều cần lưu ý khi sử dụng TensorRT#
Mặc dù tích hợp TensorRT mang lại nhiều lợi ích như tốc độ inference nhanh hơn và độ trễ thấp hơn, dưới đây là một số hạn chế cần lưu ý:
-
Độ chính xác giảm nhẹ: Khi export model ở định dạng TensorRT, model đã export có thể không chính xác bằng model gốc. Các metric 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ể giảm thiểu vấn đề này bằng cách sử dụng dataset đại diện trong quá trình lượng tử hóa.
-
Độ phức tạp khi debug tăng: Các tối ưu hóa do TensorRT thực hiện có thể khiến việc truy vết lỗi hoặc tìm 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: Mức tăng hiệu năng của TensorRT thể hiện rõ hơn với batch size lớn. Đối 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ể.
Những điểm chính#
Export các model Ultralytics YOLO sang định dạng TensorRT giúp chúng chạy nhanh hơn đáng kể và hiệu quả hơn, trở nên lý tưởng cho các tác vụ theo 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 các 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 NVIDIA GPUs 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. Mặc dù có một số 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 tuyệt vời 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? Hãy khám phá repository 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ề các đổ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.









