TensorRT
Khám phá vai trò của TensorRT trong việc tối ưu các model deep learning cho GPU NVIDIA. Tìm hiểu cách export Ultralytics YOLO26 sang TensorRT để inference có độ trễ thấp và tốc độ cao ngay hôm nay.
TensorRT là bộ công cụ phát triển phần mềm suy luận deep learning hiệu năng cao (SDK) do NVIDIA phát triển. TensorRT được thiết kế để tối ưu hóa các model neural network cho việc triển khai, mang lại độ trễ suy luận thấp và throughput cao cho các ứng dụng deep learning. Với vai trò là một trình biên dịch tối ưu hóa, TensorRT tiếp nhận các network đã được train từ những framework phổ biến như PyTorch và TensorFlow, sau đó tái cấu trúc chúng để thực thi hiệu quả trên GPU NVIDIA. Khả năng này rất quan trọng khi chạy các model AI phức tạp trong môi trường production, nơi tốc độ và hiệu quả là yếu tố then chốt.
Cách TensorRT tối ưu hóa model#
Chức năng cốt lõi của TensorRT là chuyển đổi một neural network đã được train thành một "engine" được tối ưu hóa, điều chỉnh chuyên biệt cho phần cứng mục tiêu. TensorRT thực hiện điều này thông qua một số kỹ thuật nâng cao:
- Hợp nhất layer: Trình tối ưu hóa kết hợp nhiều layer của một neural network thành một kernel duy nhất, giảm overhead truy cập bộ nhớ và cải thiện tốc độ thực thi.
- Hiệu chỉnh độ chính xác: TensorRT hỗ trợ các chế độ độ chính xác thấp hơn, chẳng hạn như mixed precision (FP16) và lượng tử hóa số nguyên (INT8). Bằng cách giảm số bit dùng để biểu diễn số — thường chỉ gây mất độ chính xác tối thiểu — developer có thể tăng tốc đáng kể các phép toán và giảm mức sử dụng bộ nhớ. Đây là một dạng lượng tử hóa model.
- Tự động tinh chỉnh kernel: Phần mềm tự động chọn các layer dữ liệu và thuật toán tốt nhất cho kiến trúc GPU cụ thể đang được sử dụng, đảm bảo tận dụng tối đa khả năng xử lý song song của phần cứng thông qua CUDA.
Các ứng dụng trong thực tế#
Nhờ khả năng xử lý lượng dữ liệu khổng lồ với độ trễ tối thiểu, TensorRT được áp dụng rộng rãi trong các ngành dựa vào computer vision và các tác vụ AI phức tạp, nơi yếu tố thời gian đóng vai trò quan trọng.
-
Hệ thống tự hành: Trong lĩnh vực AI trong ngành ô tô, xe tự lái phải xử lý luồng video từ nhiều camera để ngay lập tức phát hiện người đi bộ, biển báo và chướng ngại vật. Với TensorRT, các model perception như các network phát hiện vật thể có thể phân tích frame trong vài mili giây, cho phép hệ thống điều khiển xe đưa ra các quyết định quan trọng đối với an toàn mà không bị trễ.
-
Tự động hóa công nghiệp: Các nhà máy hiện đại sử dụng AI trong sản xuất cho hoạt động kiểm tra quang học tự động. Camera tốc độ cao chụp ảnh sản phẩm trên dây chuyền lắp ráp, còn các model được tối ưu hóa bằng TensorRT xác định lỗi hoặc điểm bất thường theo thời gian thực. Điều này đảm bảo hoạt động kiểm soát chất lượng theo kịp môi trường sản xuất tốc độ cao, thường được triển khai trên các thiết bị edge AI như nền tảng NVIDIA Jetson ngay trên sàn nhà máy.
Sử dụng TensorRT với Ultralytics YOLO#
Việc tích hợp TensorRT vào workflow rất đơn giản với các công cụ AI hiện đại. Package ultralytics cung cấp phương thức liền mạch để chuyển đổi các model PyTorch tiêu chuẩn thành TensorRT engine. Điều này cho phép người dùng tận dụng kiến trúc tiên tiến của Ultralytics YOLO26 cùng khả năng tăng tốc phần cứng của NVIDIA GPU. Đối với các team muốn quản lý dataset và pipeline training trước khi export, Ultralytics Platform cung cấp một môi trường toàn diện để chuẩn bị model cho việc triển khai hiệu năng cao như vậy.
Ví dụ sau đây minh họa cách export một model Ultralytics YOLO26 sang file TensorRT engine (.engine) và sử dụng model đó cho suy luận theo thời gian thực:
from ultralytics import YOLO
# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")
# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")
# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")
# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")TensorRT so với ONNX và các framework training#
Điều quan trọng là phân biệt TensorRT với các thuật ngữ khác thường xuất hiện trong lĩnh vực triển khai model:
- So với PyTorch/TensorFlow: Các framework như PyTorch chủ yếu được thiết kế cho việc training model và nghiên cứu, cung cấp tính linh hoạt cũng như khả năng debug dễ dàng. TensorRT là một inference engine chỉ được thiết kế để thực thi các model đã train nhanh nhất có thể. TensorRT không được sử dụng cho training.
- So với ONNX: Định dạng ONNX (Trao đổi Mạng Nơ-ron Mở) đóng vai trò là cầu nối trung gian giữa các framework. Trong khi ONNX cung cấp khả năng interoperability (ví dụ: chuyển một model từ PyTorch sang nền tảng khác), TensorRT tập trung vào việc tối ưu hóa dành riêng cho phần cứng. Thông thường, một model trước tiên được chuyển đổi sang ONNX, sau đó được TensorRT phân tích để tạo engine cuối cùng.
Đối với các developer muốn tối đa hóa hiệu năng của AI agent hoặc hệ thống vision, việc hiểu quá trình chuyển đổi từ một framework training sang một runtime được tối ưu hóa như TensorRT là một bước quan trọng trong MLOps chuyên nghiệp.









