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à trình tối ưu hóa suy luận Deep Learning (DL) hiệu suất cao và thư viện thời gian chạy do NVIDIA phát triển. Nó được thiết kế đặc biệt để tối đa hóa thông lượng suy luận và giảm thiểu độ trễ suy luận cho các ứng dụng học sâu chạy trên GPU NVIDIA . TensorRT lấy các mô hình mạng nơ-ron đã được đào tạo từ nhiều khuôn khổ khác nhau và áp dụng nhiều tối ưu hóa để tạo ra một công cụ thời gian chạy được tối ưu hóa cao để triển khai. Quá trình này rất quan trọng để triển khai các mô hình hiệu quả trong môi trường sản xuất, đặc biệt là khi tốc độ và khả năng phản hồi là yếu tố quan trọng.

Các tính năng chính và tối ưu hóa

TensorRT đạt được những cải tiến hiệu suất đáng kể thông qua một số kỹ thuật tinh vi:

  • Hiệu chuẩn độ chính xác: Giảm độ chính xác của mô hình từ FP32 xuống các độ chính xác thấp hơn như FP16 hoặc INT8 ( độ chính xác hỗn hợp hoặc lượng tử hóa mô hình ) với mức giảm độ chính xác tối thiểu, giúp tính toán nhanh hơn và sử dụng ít bộ nhớ hơn.
  • Layer và Tensor Fusion: Kết hợp nhiều lớp hoặc hoạt động thành một hạt nhân duy nhất ( Layer Fusion ), giảm việc sử dụng băng thông bộ nhớ và chi phí khởi chạy hạt nhân.
  • Tự động điều chỉnh hạt nhân: Chọn các thuật toán được triển khai sẵn tốt nhất (hạt nhân) cho kiến trúc GPU NVIDIA mục tiêu, đảm bảo hiệu suất tối ưu cho phần cứng cụ thể.
  • Bộ nhớ Tensor động: Giảm thiểu dung lượng bộ nhớ bằng cách sử dụng lại bộ nhớ được phân bổ cho các tenxơ có thời gian tồn tại không chồng chéo.
  • Thực thi đa luồng: Cho phép xử lý song song nhiều luồng đầu vào.

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

Quy trình làm việc thường bao gồm việc lấy một mô hình đã được đào tạo (ví dụ, từ PyTorch hoặc TensorFlow , thường thông qua một định dạng trung gian như ONNX ) và đưa nó vào trình tối ưu hóa TensorRT. TensorRT phân tích mô hình, thực hiện tối ưu hóa đồ thị và tối ưu hóa mục tiêu cụ thể dựa trên độ chính xác đã chỉ định và GPU mục tiêu, và cuối cùng tạo ra một kế hoạch suy luận được tối ưu hóa, được gọi là công cụ TensorRT. Tệp công cụ này sau đó có thể được triển khai để suy luận nhanh.

Sự liên quan trong AI và ML

TensorRT có liên quan cao đến giai đoạn triển khai mô hình của vòng đời học máy . Khả năng tăng tốc đáng kể quá trình suy luận của nó khiến nó trở nên không thể thiếu đối với các ứng dụng yêu cầu suy luận thời gian thực , chẳng hạn như phát hiện đối tượng bằng các mô hình như Ultralytics YOLO , phân đoạn hình ảnh và xử lý ngôn ngữ tự nhiên. Nó là một thành phần quan trọng trong ngăn xếp phần mềm NVIDIA, cùng với các công cụ như CUDA , cho phép các nhà phát triển tận dụng toàn bộ tiềm năng của phần cứng NVIDIA, từ GPU trung tâm dữ liệu mạnh mẽ đến các mô-đun NVIDIA Jetson tiết kiệm năng lượng cho Edge AI . Ultralytics cung cấp khả năng tích hợp liền mạch, cho phép người dùng xuất các mô hình YOLO sang định dạng TensorRT để triển khai được tối ưu hóa, thường được sử dụng với các nền tảng như Triton Inference Server .

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

TensorRT được sử dụng rộng rãi trong nhiều ngành công nghiệp khác nhau, nơi cần suy luận AI nhanh chóng và hiệu quả:

  1. Xe tự hành : Trong xe tự lái ( AI trong ô tô ), TensorRT tối ưu hóa các mô hình nhận thức (như phát hiện vật thể và phân đoạn làn đường) chạy trên nền tảng NVIDIA DRIVE nhúng, đảm bảo việc ra quyết định theo thời gian thực là rất quan trọng đối với sự an toàn. Các mô hình như RTDETR có thể được tối ưu hóa bằng TensorRT để triển khai trong các hệ thống như vậy ( So sánh RTDETRv2 với YOLOv5 ).
  2. Phân tích hình ảnh y tế : Bệnh viện và các viện nghiên cứu sử dụng TensorRT để tăng tốc suy luận của các mô hình AI phân tích các bản quét y tế (CT, MRI) cho các nhiệm vụ như phát hiện khối u hoặc xác định dị thường ( AI trong chăm sóc sức khỏe ), cho phép chẩn đoán nhanh hơn và hỗ trợ quy trình làm việc lâm sàng. Điều này thường là một phần của các hệ thống Thị giác máy tính (CV) lớn hơn.

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

Trong khi TensorRT tập trung vào việc tối ưu hóa suy luận dành riêng cho GPU NVIDIA, hệ sinh thái này còn có các công cụ khác:

  • Deep Learning Frameworks ( PyTorch , TensorFlow ): Chúng chủ yếu được sử dụng để đào tạo các mô hình nhưng cũng cung cấp khả năng suy luận cơ bản. TensorRT tối ưu hóa các mô hình được đào tạo trong các khuôn khổ này để triển khai.
  • ONNX Runtime : Một công cụ suy luận đa nền tảng hỗ trợ nhiều bộ tăng tốc phần cứng, bao gồm GPU NVIDIA (thường sử dụng TensorRT làm nhà cung cấp thực thi), CPU và các bộ tăng tốc khác. Nó cung cấp khả năng tương thích phần cứng rộng hơn nhưng có thể không đạt được cùng mức tối ưu hóa trên phần cứng NVIDIA như TensorRT trực tiếp.
  • Intel OpenVINO : Tương tự như TensorRT nhưng được tối ưu hóa cho phần cứng Intel (CPU, iGPU, VPU). Các mô hình Ultralytics cũng có thể được xuất sang định dạng OpenVINO .

Điểm khác biệt chính của TensorRT là khả năng tích hợp sâu với phần cứng NVIDIA và các chiến lược tối ưu hóa mạnh mẽ dành riêng cho GPU, thường mang lại điểm chuẩn hiệu suất cao nhất (xem MLPerf Benchmarks ) trên nền tảng NVIDIA so với các thời gian chạy thông dụng hơn. Quản lý mô hình và triển khai có thể được sắp xếp hợp lý bằng các nền tảng 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