Tìm hiểu cách xuất các mô hình Ultralytics YOLO bằng tích hợp TensorRT để có hiệu suất AI nhanh hơn, hiệu quả hơn trên GPU NVIDIA cho các ứng dụng thời gian thực.

Tìm hiểu cách xuất các mô hình Ultralytics YOLO bằng tích hợp TensorRT để có hiệu suất AI nhanh hơn, hiệu quả hơn trên GPU NVIDIA cho các ứng dụng thời gian thực.
Hãy xem xét một chiếc xe tự lái di chuyển trên một con phố đông đúc, chỉ có vài mili giây để phát hiện một người đi bộ bước xuống lề đường. Đồng thời, nó có thể cần nhận ra một biển báo dừng bị che khuất một phần bởi một cái cây hoặc phản ứng nhanh chóng với một chiếc xe gần đó chuyển làn. Trong những tình huống như vậy, tốc độ và phản ứng trong thời gian thực là rất quan trọng.
Đây là nơi trí tuệ nhân tạo (AI), đặc biệt 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 trực quan, đóng một 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 một lúc và sử dụng bộ nhớ hiệu quả.
Một cách để đạt được điều này là thông qua 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 (GPU) để chạy các mô hình nhanh hơn. GPU NVIDIA đặc biệt nổi tiếng với các tác vụ như vậy, nhờ khả năng cung cấp độ trễ thấp và thông lượng cao.
Tuy nhiên, việc chạy một mô hình trên GPU như hiện tại không phải lúc nào cũng đảm bảo hiệu suất tối ưu. Các mô hình Vision AI (AI thị giác) thường yêu cầu tối ưu hóa để tận dụng tối đa khả năng của các thiết bị phần cứng. Để đạt được hiệu suất tối đa với phần cứng cụ thể, chúng ta cần biên dịch mô hình để sử dụng bộ hướng dẫn cụ thể cho phần cứng đó.
Ví dụ: TensorRT là một định dạng xuất và thư viện tối ưu hóa được phát triển bởi NVIDIA để tăng cường hiệu suất trên các máy cao cấp. Nó sử dụng các kỹ thuật tiên tiến để giảm đáng kể thời gian suy luận trong khi vẫn duy trì độ chính xác.
Trong bài viết này, chúng ta sẽ khám phá tích hợp TensorRT được hỗ trợ bởi Ultralytics và hướng dẫn bạn cách xuất mô hình YOLO11 của mình để triển khai nhanh hơn, hiệu quả hơn trên phần cứng NVIDIA. Hãy cùng bắt đầu!
TensorRT là một bộ công cụ được phát triển bởi NVIDIA để giúp các mô hình AI chạy nhanh hơn và hiệu quả hơn trên GPU NVIDIA. Nó được thiết kế cho các ứng dụng thực tế, nơi tốc độ và hiệu suất thực sự quan trọng, như xe tự lái và kiểm soát chất lượng trong 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à trình tối ưu hóa mô hình, hoạt động ẩn để đảm bảo mô hình của bạn chạy với độ trễ thấp và có thể xử lý thông lượng cao hơn.
Tích hợp TensorRT được hỗ trợ bởi Ultralytics hoạt động bằng cách tối ưu hóa mô hình YOLO của bạn để chạy hiệu quả hơn trên GPU bằng cách sử dụng các phương pháp như giảm độ chính xác. Điều này đề cập đến việc sử dụng các định dạng bit thấp hơn, chẳng hạn như dấu phẩy động 16-bit (FP16) hoặc số nguyên 8-bit (INT8), để biểu diễn dữ liệu mô hình, giúp 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 lớp mạng nơ-ron tương thích được hợp nhất trong các mô hình TensorRT được tối ưu hóa để giảm mức sử dụng bộ nhớ, dẫn đến suy luận nhanh hơn và hiệu quả hơn.
Trước khi thảo luận về cách bạn có thể xuất YOLO11 bằng tích hợp TensorRT, hãy xem xét một số tính năng chính của định dạng mô hình TensorRT:
Xuất các mô hình Ultralytics YOLO như Ultralytics YOLO11 sang định dạng mô hình TensorRT rất dễ dàng. Hãy cùng xem qua các bước thực hiện.
Để bắt đầu, bạn có thể cài đặt gói Ultralytics Python bằng trình quản lý gói như ‘pip.’ Điều này có thể được thực hiện bằng cách chạy lệnh “pip install ultralytics” trong dấu nhắc lệnh hoặc thiết bị đầu cuối của bạn.
Sau khi cài đặt thành công Ultralytics Python Package, bạn có thể huấn luyện, kiểm tra, tinh chỉnh, xuất và triển khai các mô hình cho các tác vụ computer vision khác nhau, chẳng hạn như object detection, phân loại và phân đoạn thể hiện (instance segmentation). Trong khi cài đặt gói, nếu bạn gặp bất kỳ khó khăn nào, bạn có thể tham khảo Hướng dẫn Các Vấn đề Thường Gặp để biết các giải pháp và mẹo.
Đối với bước tiếp theo, bạn sẽ cần một thiết bị NVIDIA. Sử dụng đoạn mã bên dưới để tải và xuất YOLOv11 sang định dạng mô hình TensorRT. Nó tải một biến thể nano được huấn luyện trước của mô hình YOLO11 (yolo11n.pt) và xuất nó dưới dạng tệp engine TensorRT (yolo11n.engine), giúp nó 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 mô hình của bạn sang định dạng TensorRT, bạn có thể triển khai nó cho nhiều ứng dụng khác nhau.
Ví dụ bên dưới cho thấy cách tải mô hình YOLO11 đã xuất (yolo11n.engine) và chạy suy luận bằng nó. Suy luận liên quan đến việc sử dụng mô hình đã 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ẽ sử dụng một hình ảnh đầu vào về một con chó để kiểm tra mô hình.
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 bạn chạy đoạn mã này, ảnh đầu ra sau sẽ được lưu trong thư mục runs/detect/predict.
Gói Python Ultralytics hỗ trợ nhiều tích hợp khác nhau cho phép xuất các mô hình 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 sử dụng tích hợp TensorRT?
Dưới đây là một vài yếu tố giúp định dạng mô hình TensorRT khác biệt so với các tùy chọn tích hợp xuất khác:
Các mô hình Ultralytics YOLO được xuất sang định dạng TensorRT có thể được triển khai trên nhiều tình huống thực tế. Các mô hình được tối ưu hóa này đặc biệt hữu ích ở những nơi hiệu suất AI nhanh chóng 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 chúng có thể được sử dụng.
Một loạt các công việc trong các 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 được nhân viên thực hiện thủ công. Tuy nhiên, việc 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 là tại quầy thanh toán. Hàng dài chờ đợi gây bất tiện cho cả người mua sắm và 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à GPU để tăng tốc quá trình, giúp giảm thời gian chờ đợi. Thị giác máy tính cho phép các hệ thống này nhìn và hiểu môi trường của chúng thông qua các tác vụ như phát hiện đối tượng. Các mô hình tiên tiến như YOLO11, khi được tối ưu hóa bằng các công cụ như TensorRT, có thể chạy nhanh hơn nhiều trên các thiết bị GPU.
Các mô hình được xuất này rất phù hợp cho các thiết lập 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ế đặc biệt cho các ứng dụng AI biên.
Một mô hình thị giác máy tính như YOLO11 có thể được huấn luyện tùy chỉnh để phát hiện các sản phẩm bị lỗi trong ngành sản xuất. Sau khi được huấn luyện, mô hình có thể được xuất sang định dạng TensorRT để triển khai trong các cơ sở được trang bị hệ thống AI hiệu suất cao.
Khi sản phẩm di chuyển dọc theo băng tải, máy ảnh chụp ảnh và mô hình YOLO11, chạy ở định dạng TensorRT, phân tích chúng trong thời gian thực để phát hiện các khuyết tật. Thiết lập này cho phép các công ty nắm bắt các vấn đề một cách nhanh chóng và chính xác, giảm lỗi và cải thiện hiệu quả.
Tương tự, các ngành công nghiệp như dược phẩm đang sử dụng các loại hệ thống này để xác định các khuyết tật trong bao bì y tế. Trên thực tế, thị trường toàn cầu cho hệ thống phát hiện khuyết tật thông minh dự kiến sẽ tăng lên 5 tỷ đô la vào năm 2026.
Mặc dù tích hợp TensorRT mang lại nhiều lợi thế, như tốc độ suy luận nhanh hơn và giảm độ trễ, đây là một vài hạn chế cần lưu ý:
Xuất các mô hình Ultralytics YOLO sang định dạng TensorRT giúp chúng chạy nhanh hơn và hiệu quả hơn đáng kể, khiến chúng trở nên lý tưởng cho các tác vụ thời gian thực như phát hiện lỗi trong nhà máy, hỗ trợ hệ thống thanh toán thông minh hoặc giám sát các khu vực đô thị đông đúc.
Việc tối ưu hóa này giúp các mô hình 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ớ và điện năng. Mặc dù có một vài hạn chế, nhưng việc tăng cường hiệu suất giúp tích hợp TensorRT trở thành một 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? Khám phá kho lưu trữ 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 của chúng tôi để khởi động 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.