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 bộ công cụ phát triển phần mềm (SDK) cho suy luận học sâu hiệu suất cao. Được phát triển bởi NVIDIA , nó tạo điều kiện thuận lợi cho việc tối ưu hóa các mạng nơ-ron được đào tạo để triển khai trong môi trường sản xuất, đặc biệt là trên NVIDIA GPU. Nó được thiết kế để lấy các mô hình được đào tạo từ các khuôn khổ như PyTorch hoặc TensorFlow và tối ưu hóa chúng để suy luận nhanh hơn và hiệu quả hơn, điều này rất quan trọng đối với các ứng dụng thời gian thực.

Là gì TensorRT ?

TensorRT về cơ bản là một trình tối ưu hóa suy luận và công cụ thời gian chạy. Nó lấy một mô hình học sâu được đào tạo và áp dụng nhiều tối ưu hóa khác nhau để nâng cao hiệu suất của nó trong giai đoạn suy luận. Quá trình này bao gồm các kỹ thuật như tối ưu hóa đồ thị, hợp nhất lớp, lượng tử hóa và tự động điều chỉnh hạt nhân. Bằng cách tối ưu hóa mô hình, TensorRT giảm độ trễ và tăng thông lượng, giúp triển khai các mô hình AI phức tạp trong các ứng dụng đòi hỏi thời gian phản hồi nhanh.

TensorRT không phải là một khuôn khổ đào tạo; thay vào đó, nó được sử dụng sau khi một mô hình đã được đào tạo bằng các khuôn khổ như PyTorch hoặc TensorFlow . Nó tập trung cụ thể vào giai đoạn triển khai, đảm bảo rằng các mô hình chạy nhanh và hiệu quả nhất có thể trên phần cứng mục tiêu, chủ yếu là NVIDIA GPU. Điều này đặc biệt có giá trị đối với các ứng dụng chạy trên thiết bị biên hoặc trong các trung tâm dữ liệu nơi tốc độ suy luận và việc sử dụng tài nguyên là rất quan trọng.

Làm sao TensorRT Tác phẩm

Quá trình tối ưu hóa trong TensorRT bao gồm một số bước chính để nâng cao hiệu suất suy luận:

  • Tối ưu hóa đồ thị : TensorRT phân tích đồ thị mạng nơ-ron và tái cấu trúc để loại bỏ các hoạt động dư thừa và hợp lý hóa luồng thực thi. Điều này có thể bao gồm việc loại bỏ các lớp hoặc hoạt động không cần thiết không đóng góp đáng kể vào đầu ra cuối cùng.
  • Layer Fusion : Nhiều lớp tương thích được kết hợp thành một lớp duy nhất để giảm chi phí và cải thiện hiệu quả tính toán. Ví dụ, các lớp tích chập, độ lệch và ReLU liên tiếp thường có thể được kết hợp thành một thao tác duy nhất.
  • Lượng tử hóa : TensorRT có thể giảm độ chính xác của trọng số và kích hoạt của mô hình từ dấu phẩy động (FP32 hoặc FP16) sang định dạng số nguyên (INT8 hoặc thậm chí thấp hơn). Điều này làm giảm yêu cầu về băng thông bộ nhớ và tăng tốc tính toán, đặc biệt là trên phần cứng được tối ưu hóa cho số học số nguyên. Mặc dù lượng tử hóa có thể làm giảm độ chính xác một chút, TensorRT nhằm mục đích giảm thiểu tác động này đồng thời cải thiện đáng kể tốc độ.
  • Tự động điều chỉnh hạt nhân : TensorRT chọn triển khai hiệu quả nhất (hạt nhân) cho mỗi hoạt động lớp dựa trên mục tiêu GPU kiến trúc. Quá trình tự động điều chỉnh này đảm bảo rằng mô hình tận dụng tối đa các khả năng phần cứng cơ bản.

Những tối ưu hóa này cùng nhau dẫn đến những cải thiện đáng kể về tốc độ suy luận và hiệu quả so với việc chạy mô hình ban đầu chưa được tối ưu hóa.

Ứng dụng của TensorRT

TensorRT được sử dụng rộng rãi trong nhiều ứng dụng khác nhau, nơi mà suy luận thời gian thực hoặc gần thời gian thực là điều cần thiết. Hai ví dụ cụ thể bao gồm:

  • Xe tự hành : Trong xe tự lái, phát hiện vật thể nhanh chóng và hiểu bối cảnh là tối quan trọng đối với sự an toàn và khả năng phản ứng. Các mô hình YOLO Ultralytics , khi được tối ưu hóa với TensorRT , có thể đạt được tốc độ suy luận cần thiết trên NVIDIA Nền tảng DRIVE xử lý dữ liệu cảm biến theo thời gian thực, cho phép đưa ra quyết định nhanh chóng để điều hướng và tránh chướng ngại vật.
  • Phân tích video thời gian thực : Dành cho các ứng dụng như giám sát an ninh hoặc giám sát giao thông, TensorRT cho phép xử lý luồng video độ phân giải cao để phát hiện, theo dõi và phân tích đối tượng với độ trễ tối thiểu. Điều này cho phép đưa ra cảnh báo và hành động ngay lập tức dựa trên các sự kiện được phát hiện, chẳng hạn như phát hiện xâm nhập trong hệ thống báo động an ninh hoặc phân tích luồng giao thông cho các thành phố thông minh .

TensorRT cũng có lợi trong các lĩnh vực khác như phân tích hình ảnh y tế , robot và dịch vụ suy luận dựa trên đám mây, bất cứ nơi nào độ trễ thấp và thông lượng cao là quan trọng.

TensorRT Và Ultralytics YOLO

Ultralytics YOLO các mô hình có thể được xuất và tối ưu hóa bằng cách sử dụng TensorRT để triển khai trên NVIDIA thiết bị. Tài liệu xuất khẩu cho Ultralytics YOLO cung cấp hướng dẫn chi tiết về cách chuyển đổi YOLO các mô hình cho TensorRT định dạng. Điều này cho phép người dùng tận dụng TensorRT khả năng tối ưu hóa của 's để tăng tốc đáng kể tốc độ suy luận của họ YOLO mô hình.

Đối với người dùng triển khai YOLOv8 trên thiết bị NVIDIA Jetson Edge , TensorRT tối ưu hóa thường là một bước quan trọng để đạt được hiệu suất thời gian thực. Hơn nữa, DeepStream trên NVIDIA Jetson tận dụng TensorRT cho các ứng dụng phân tích video hiệu suất cao.

Lợi ích của việc sử dụng TensorRT

Sử dụng TensorRT cung cấp một số lợi thế quan trọng cho việc triển khai các mô hình học sâu:

  • Tăng tốc độ suy luận : Tối ưu hóa làm giảm đáng kể độ trễ suy luận và tăng thông lượng, cho phép hiệu suất theo thời gian thực.
  • Giảm độ trễ : Độ trễ thấp hơn rất quan trọng đối với các ứng dụng yêu cầu phản hồi ngay lập tức, chẳng hạn như hệ thống tự động và phân tích thời gian thực.
  • Tối ưu hóa việc sử dụng tài nguyên : Lượng tử hóa và tối ưu hóa đồ thị giúp giảm dung lượng bộ nhớ và nhu cầu tính toán, giúp các mô hình chạy hiệu quả hơn trên các thiết bị có hạn chế về tài nguyên.
  • Tăng tốc phần cứng : TensorRT được thiết kế để tối đa hóa việc sử dụng NVIDIA GPU, đảm bảo hiệu suất tối ưu trên NVIDIA phần cứng.
  • Sẵn sàng triển khai : Cung cấp môi trường thời gian chạy sẵn sàng cho sản xuất, hợp lý hóa quy trình triển khai từ mô hình đã được đào tạo đến ứng dụng.

Tóm lại, TensorRT là một công cụ quan trọng cho các nhà phát triển muốn triển khai các ứng dụng suy luận học sâu hiệu suất cao, đặc biệt là khi sử dụng NVIDIA GPU. Bằng cách tối ưu hóa các mô hình để có tốc độ và hiệu quả, TensorRT giúp thu hẹp khoảng cách giữa nghiên cứu và triển khai thực tế, giúp AI tiên tiến dễ tiếp cận và ứng dụng trong nhiều ngành công nghiệp khác nhau.

Đọc tất cả