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 NVIDIA GPU. Đạt được hiệu suất thời gian thực với YOLO và ứng dụng AI.

Xe lửa YOLO mô hình đơn giản
với Ultralytics TRUNG TÂM

Tìm hiểu thêm

TensorRT là một trình tối ưu hóa suy luận học sâu hiệu suất cao và thư viện thời gian chạy được phát triển bởi NVIDIA . Nó tăng tốc các mô hình học sâu trên NVIDIA Bộ xử lý đồ họa (GPU) bằng cách áp dụng các kỹ thuật tối ưu hóa khác nhau. Mục tiêu chính của TensorRT là đạt được độ trễ suy luận thấp nhất có thể và thông lượng cao nhất cho các mô hình được triển khai trong môi trường sản xuất, khiến nó trở nên quan trọng đối với các ứng dụng suy luận thời gian thực .

Làm sao TensorRT Tác phẩm

TensorRT sử dụng mạng nơ-ron được đào tạo, thường được xuất từ các khuôn khổ như PyTorch hoặc TensorFlow và tối ưu hóa nó cụ thể cho mục tiêu NVIDIA GPU Các bước tối ưu hóa chính bao gồm:

  • Tối ưu hóa đồ thị: Kết hợp các lớp và loại bỏ các thao tác dư thừa để tạo ra đồ thị tính toán hiệu quả hơn.
  • Hiệu chuẩn độ chính xác: Giảm độ chính xác về mặt số của trọng số mô hình (ví dụ: từ FP32 xuống FP16 hoặc INT8 ) với tác động tối thiểu đến độ chính xác , giúp tăng tốc đáng kể các phép tính và giảm mức sử dụng bộ nhớ.
  • Tự động điều chỉnh hạt nhân: Chọn các thuật toán được triển khai trước tốt nhất (hạt nhân) từ NVIDIA thư viện của ( cuDNN , cuBLAS ) cho các lớp mô hình cụ thể và mục tiêu GPU .
  • Bộ nhớ Tensor động: Giảm thiểu dung lượng bộ nhớ bằng cách tái sử dụng bộ nhớ được phân bổ cho tensor.

Những tối ưu hóa này tạo ra một công cụ suy luận thời gian chạy có hiệu suất cao, phù hợp với từng mô hình và phần cứng cụ thể.

Sự liên quan đến Ultralytics

TensorRT là mục tiêu triển khai quan trọng cho Ultralytics YOLO mô hình. Người dùng có thể xuất các mô hình YOLO Ultralytics đã đào tạo của họ sang TensorRT định dạng để đạt được tốc độ tăng đáng kể trên NVIDIA phần cứng, bao gồm các thiết bị biên như NVIDIA Jetson . Điều này cho phép các ứng dụng hiệu suất cao trong nhiều lĩnh vực khác nhau. Các trang so sánh mô hình, chẳng hạn như so sánh YOLOv5 với RT-DETR , thường thể hiện tốc độ suy luận đạt được bằng cách sử dụng TensorRT tối ưu hóa. Ultralytics cũng cung cấp hướng dẫn để tích hợp với NVIDIA nền tảng, như hướng dẫn DeepStream trên NVIDIA Jetson .

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

TensorRT được sử dụng rộng rãi trong đó suy luận nhanh chóng và hiệu quả về NVIDIA phần cứng rất quan trọng:

  1. Xe tự hành: Xe tự lái dựa vào việc xử lý lượng lớn dữ liệu cảm biến theo thời gian thực. TensorRT tăng tốc các mô hình phát hiện đối tượng , phân đoạn và lập kế hoạch đường đi, cho phép đưa ra quyết định nhanh chóng cần thiết cho sự an toàn. Đây là thành phần cốt lõi của AI trong các giải pháp ô tô .
  2. Phân tích video và thành phố thông minh: Xử lý nhiều luồng video có độ phân giải cao cho các tác vụ như giám sát giao thông, phân tích đám đông hoặc giám sát an ninh đòi hỏi sức mạnh tính toán rất lớn. TensorRT tối ưu hóa các mô hình như Ultralytics YOLOv8 để xử lý hiệu quả các khối lượng công việc đòi hỏi khắt khe này trên máy chủ hoặc thiết bị biên, hỗ trợ các giải pháp AI cho thành phố thông minh .

TensorRT so với các thuật ngữ tương tự

  • ONNX (Trao đổi mạng nơ-ron mở) : ONNX là một định dạng mở để biểu diễn các mô hình học sâu. Trong khi TensorRT có thể nhập mô hình từ ONNX định dạng, ONNX bản thân nó không phụ thuộc vào phần cứng, trong khi TensorRT cụ thể là một trình tối ưu hóa và thời gian chạy cho NVIDIA GPU. Ultralytics mô hình có thể được xuất sang ONNX .
  • OpenVINO : Tương tự như TensorRT , OpenVINO là một bộ công cụ tối ưu hóa suy luận, nhưng nó được phát triển bởi Intel và chủ yếu nhắm vào Intel phần cứng (CPU, iGPU, VPU). Tìm hiểu thêm về tích hợp Ultralytics OpenVINO .
  • PyTorch / TensorFlow : Đây là các khuôn khổ học sâu chủ yếu được sử dụng để đào tạo mô hình. TensorRT tối ưu hóa các mô hình sau khi chúng được đào tạo bằng các khuôn khổ này, chuẩn bị cho việc triển khai mô hình hiệu quả.
Đọc tất cả