Thuật ngữ

TensorRT

Tối ưu hóa các mô hình học sâu với TensorRT để suy luận nhanh hơn, hiệu quả hơn trên GPU NVIDIA. Đạt được hiệu suất thời gian thực với các ứng dụng YOLO và AI.

TensorRT là một trình tối ưu hóa suy luận học sâu và thư viện thời gian chạy hiệu suất cao của NVIDIA . Nó được thiết kế đặc biệt để tối đa hóa hiệu suất của các mạng nơ-ron (NN) đã được huấn luyện trên Bộ xử lý đồ họa (GPU) NVIDIA. Sau khi một mô hình được huấn luyện bằng một nền tảng như PyTorch hoặc TensorFlow , TensorRT sẽ sử dụng mô hình đó và áp dụng nhiều tối ưu hóa để chuẩn bị cho việc triển khai. Kết quả là một công cụ thời gian chạy hiệu suất cao, có thể giảm đáng kể độ trễ suy luận và cải thiện thông lượng, lý tưởng cho các ứng dụng yêu cầu suy luận thời gian thực .

TensorRT hoạt động như thế nào

TensorRT đạt được hiệu suất vượt trội thông qua quy trình tối ưu hóa nhiều bước, chuyển đổi một mô hình được đào tạo tiêu chuẩn thành một công cụ suy luận hợp lý. Quy trình này phần lớn được tự động hóa và điều chỉnh phù hợp với kiến trúc GPU NVIDIA cụ thể mà nó sẽ được triển khai. Các kỹ thuật tối ưu hóa chính bao gồm:

  • Tối ưu hóa đồ thị: TensorRT phân tích mô hình đã được huấn luyện và thực hiện tối ưu hóa đồ thị, chẳng hạn như loại bỏ các lớp không sử dụng và hợp nhất các lớp theo chiều dọc (kết hợp các lớp tuần tự) và chiều ngang (kết hợp các lớp song song). Điều này giúp giảm số lượng thao tác và chi phí bộ nhớ.
  • Hiệu chuẩn độ chính xác: Hỗ trợ suy luận độ chính xác thấp hơn, chẳng hạn như độ chính xác hỗn hợp (FP16) và INT8. Bằng cách chuyển đổi trọng số mô hình từ số dấu phẩy động 32 bit (FP32) sang độ chính xác thấp hơn thông qua lượng tử hóa mô hình , TensorRT giảm đáng kể mức sử dụng bộ nhớ và yêu cầu tính toán với tác động tối thiểu đến độ chính xác .
  • Tự động điều chỉnh nhân: TensorRT chọn từ thư viện khổng lồ các nhân GPU được tối ưu hóa cho từng thao tác hoặc tự tạo các nhân được tinh chỉnh riêng cho GPU mục tiêu. Điều này đảm bảo mọi phép tính được thực hiện hiệu quả nhất có thể trên phần cứng.
  • Tối ưu hóa bộ nhớ Tensor: Tối ưu hóa việc sử dụng bộ nhớ bằng cách tái sử dụng bộ nhớ cho các tensor trong suốt quá trình thực thi mô hình, giảm dung lượng bộ nhớ và cải thiện hiệu suất.

Các mô hình YOLO của Ultralytics có thể dễ dàng xuất sang định dạng TensorRT , cho phép các nhà phát triển tận dụng những tối ưu hóa này cho các ứng dụng thị giác máy tính (CV) của họ.

Ứng dụng trong thế giới thực

TensorRT rất quan trọng để triển khai AI hiệu suất cao trong môi trường hạn chế về thời gian và tài nguyên.

  1. Xe tự hành : Trong xe tự lái , hệ thống nhận dạng phải xử lý dữ liệu từ camera và cảm biến theo thời gian thực để phát hiện người đi bộ, phương tiện khác và chướng ngại vật. Các mô hình như Ultralytics YOLO11 được tối ưu hóa với TensorRT có thể phát hiện vật thể với độ trễ cực thấp, điều này rất quan trọng để đưa ra quyết định lái xe an toàn.
  2. Sản xuất Thông minh : Tại nhà máy, AI trong sản xuất được sử dụng để kiểm soát chất lượng tự động. Camera chụp ảnh sản phẩm trên băng chuyền, và mô hình thị giác sẽ phân tích chúng để tìm lỗi. Nhờ sử dụng TensorRT, các hệ thống này có thể theo kịp dây chuyền sản xuất tốc độ cao, xác định vấn đề ngay lập tức và cải thiện hiệu suất tổng thể.

TensorRT so với các công nghệ liên quan

Mặc dù TensorRT là một công cụ suy luận mạnh mẽ, nhưng điều quan trọng là phải hiểu nó khác với các công cụ khác trong hệ sinh thái AI như thế nào:

  • Khung học sâu : Các khung như PyTorch và TensorFlow chủ yếu dùng để huấn luyện mô hình. Mặc dù có khả năng suy luận riêng, nhưng chúng không được tối ưu hóa để triển khai như các môi trường chạy chuyên biệt như TensorRT.
  • ONNX Runtime : Định dạng Trao đổi Mạng Nơ-ron Mở (ONNX) cung cấp một phương thức để biểu diễn các mô hình một cách tương tác. ONNX Runtime có thể thực thi các mô hình trên nhiều nền tảng phần cứng khác nhau, bao gồm cả GPU NVIDIA (nơi nó có thể sử dụng TensorRT làm trình cung cấp thực thi). Tuy nhiên, việc tích hợp trực tiếp với TensorRT thường mang lại hiệu suất tốt hơn trên phần cứng NVIDIA nhờ các tối ưu hóa dành riêng cho phần cứng.
  • Intel OpenVINO : OpenVINO tương tự như TensorRT nhưng được tối ưu hóa cho phần cứng Intel (CPU, iGPU, VPU). Nó phục vụ cùng mục đích là tăng tốc suy luận nhưng được thiết kế riêng cho một hệ sinh thái phần cứng khác.

Ưu điểm chính của TensorRT là khả năng tích hợp sâu với hệ sinh thái NVIDIA, từ GPU đến thư viện CUDA , mang lại hiệu suất vượt trội cho các mô hình được triển khai trên nền tảng NVIDIA, như thường thấy trong các bài kiểm tra chuẩn MLPerf . Việc quản lý triển khai mô hình có thể được tinh giản hơn nữa với các nền tảng MLOps như Ultralytics HUB .

Tham gia cộng đồng Ultralytics

Tham gia vào tương lai của AI. Kết nối, cộng tác và phát triển với những nhà đổi mới toàn cầu

Tham gia ngay
Liên kết đã được sao chép vào clipboard