久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

博客專欄

EEPW首頁 > 博客 > PTQ 量化數值范圍與優化

PTQ 量化數值范圍與優化

發布人:地平線開發者 時間:2025-12-15 來源:工程師 發布文章
一、PTQ 模型量化問題
1.1、模型問題

基于公版模型訓練,沒有對模型做范圍做約束,weight_decay=1e-6, 訓練出的 float 模型數值分布很大,如圖 2,可以看到模型的后面幾層數據分布范圍很廣,最大閾值超過了 8000,對我們量化來說并不友好。

1.2、算子問題

如圖 2,基于全 int16 算子配置量化,當前版本 resize 算子有約束(請查閱工具鏈算子支持情況),只能支持 int8 量化,即使配置了 int16,但算子依舊退化到 int8,因此算子的 cosine 相似度也比較低,基于此閾值,max_qscale=6653/127=52.385,此 scale 過于大,并不能精細化量化模型,所以全 BPU 算子的整體精度都不高。

在這里插入圖片描述

圖 1 公版訓練 float 模型

二、精度優化
2.1、cpu 高精度定位

resize 算子有限制,但對于回退 cpu 算子,就能實現 float 精度推理,配置如圖 2,

在這里插入圖片描述

圖 2 配置 cpu 算子

配置了算子后,精度提升了,如圖 3,可視化效果對比如圖 4,整體量化精度可對齊,定位到了具體問題就是 resize 算子限制導致。

在這里插入圖片描述

圖 3 cpu 算子精度

在這里插入圖片描述

圖 4 cpu 算子可視化精度

2.2、添加 bn,加大 weight_decay

在最后的 conv 層后加上 bn 算子限制特征數據分布,同時 weight_decay 從 1e-6 調整到 1e-3,整體數據范圍如圖 5、圖 6,模型的數據分布變小了,最后的 cosine 相似度精度也很高,非常利于 int8 量化,后期配置了 int8 量化,模型也可實現高精度量化。

在這里插入圖片描述

圖 5 全 int16 量化

在這里插入圖片描述

圖 6 部分 int16 量化


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



相關推薦

技術專區

關閉