返回首頁

GitHub Repo

Ultralytics 8.4.157 加入 CUDA Graph 重播,YOLO26n FP16 測試延遲降約 20%

新版以真實影像校準與 CUDA Graph 重播減少推論開銷。效益隨精度與批次改變,版本公告提及的 SiLU 改寫則已在最終審查撤回。

GitLab, Inc. · MIT · Image source
zh-Hant

Ultralytics 於 9 月 20 日發布 8.4.157,改善 YOLO 模型的 TensorRT 匯出與執行路徑,套件也已上架 PyPI。這次效益來自精度校準與核心啟動開銷的調整,使用者可沿用模型權重,但需要重新量測部署流程。[版本公告](https://github.com/ultralytics/ultralytics/releases/tag/v8.4.157)、[套件紀錄](https://pypi.org/project/ultralytics/8.4.157/)。

第一項改動位於 TensorRT 11 的混合精度轉換:原先使用隨機雜訊校準,可能放大前段活化值,使部分卷積被保留為 FP32。新版改用內附真實影像,讓符合範圍的運算轉成 FP16;這項匯出改善需重建引擎才能取得。[匯出程式](https://github.com/ultralytics/ultralytics/blob/v8.4.157/ultralytics/utils/export/engine.py)。

另一項改動是在符合條件的固定形狀引擎載入時擷取 CUDA Graph,後續將輸入複製到固定緩衝區,再重播圖,減少逐次啟動核心的成本。動態形狀、DLA 與內嵌非極大值抑制的引擎不走此路徑;若執行提交被拒絕,也會回退,避免重播空圖而留下舊輸出。對固定尺寸、小批次的視覺服務,這提供減少排程成本的具體路徑;變動尺寸的請求仍須另選批次策略。[執行程式](https://github.com/ultralytics/ultralytics/blob/v8.4.157/ultralytics/nn/backends/tensorrt.py)。

維護者以 RTX PRO 6000 Blackwell、TensorRT 11.3、640 像素輸入測試,YOLO26n 的單張 FP16 引擎延遲由 0.526 降至 0.421 毫秒,約減少 20%;YOLO26s 單張 INT8 減少約 18%,批次八張的 INT8 則幾乎無改善。量測只涵蓋引擎呼叫與裝置同步,精度檢查使用小型 coco128,不能直接視為完整服務吞吐量。[最終測試](https://github.com/ultralytics/ultralytics/pull/26223)。

公告仍列出 SiLU 活化融合改寫,但最終審查已將它撤回:維護者指出相關融合存在誤編譯風險,僅比較分類分數的測試還可能漏掉框座標錯誤。因此評估此次更新應以合併內容為準。[審查紀錄](https://github.com/ultralytics/ultralytics/pull/26223)。

工程上宜固定硬體、批次與輸入尺寸,比較暖機後延遲、完整資料集精度及端到端耗時。官方文件也提醒 INT8 成效依賴校準資料與硬體;降低精度並不保證每種工作負載都更快。以即時攝影機服務推論,解碼、縮放、資料搬移與後處理仍可能主導耗時;引擎少零點一毫秒,不必然等比例縮短整張影像的處理時間。部署者可保留更新前後的建置設定,將引擎測速與應用測速分開記錄。[部署文件](https://docs.ultralytics.com/integrations/tensorrt)。

來源

  1. Ultralytics v8.4.157 release
  2. PR #26223:TensorRT 最終修改與效能測試
  3. v8.4.157 TensorRT 執行後端
  4. v8.4.157 TensorRT 匯出程式
  5. TensorRT Export for YOLO26 Models
  6. ultralytics 8.4.157