返回首頁

電腦視覺/邊緣推論

Ultralytics 8.4.143/8.4.144 將 YOLO26 INT8 QAT 接入訓練、檢查點與 TensorRT 匯出鏈

YOLO26 現可用 `quantize=8` 執行量化感知訓練,並把量化範圍保存至檢查點,直接輸出含 Q/DQ 節點的 ONNX 或 TensorRT 引擎。緊接發布的 8.4.144 補上量化成效說明與數值穩定性修正,也凸顯這條部署路徑仍有明確限制。

Alf van Beem · CC0 · Image source
zh-Hant

Ultralytics 在 8.4.143 為 YOLO26 加入原生 INT8 量化感知訓練(QAT)。開發者沿用既有訓練入口,只要設定 `quantize=8`,系統便透過 NVIDIA ModelOpt 插入假量化運算,讓權重在微調期間適應 INT8 截斷與縮放誤差,而不是訓練完成後才以校正資料執行 PTQ。

這次變更的重點不只在訓練參數。量化器狀態與校正範圍會隨一般模型層一起寫入檢查點,恢復訓練時再重建;匯出器則辨識 QAT 模型,跳過額外 PTQ 與校正程序,直接產生帶有 Quantize/Dequantize 節點的 ONNX,或交給 TensorRT 建置 INT8 引擎。輸出 head 暫時保持浮點,且 QAT 模型不能使用 `torch.compile`;載入檢查點仍需要 `nvidia-modelopt`,正式支援的匯出格式也限於 ONNX 與 TensorRT engine。

一天內推出的 8.4.144 進一步修正空標籤批次的遮罩型別、FP16/BF16 數值邊界、Triton 輸入精度與自訂 YAML 載入優先序,並補充 QAT 與校正式 PTQ 的比較。官方結論是,小型 YOLO26 的額外收益有限,較大模型或 PTQ 精度下降明顯時才更可能抵銷重新微調的成本。

工程團隊應以實際 TensorRT 版本、GPU 與資料分布重新測量 mAP、延遲及功耗;量化結果目前主要來自專案自己的 COCO 測試。這次提交在合併前也曾暴露分類輸入重複正規化、分散式校正同步及中斷續訓時量化器裝置錯置等問題,雖然維護者表示已修復並通過實機路徑,生產環境仍應特別覆蓋多 GPU 續訓與匯出後模型的回歸測試。

來源

  1. Release v8.4.144 — Fix model loading, numerical edge cases, and CI setup
  2. Ultralytics v8.4.143: INT8 QAT for YOLO26
  3. Add INT8 quantization-aware training via quantize=8 in train mode