高效與邊緣人工智慧

量化感知訓練(QAT)

量化感知訓練讓模型在仍在學習時就先練習當個低精度的模型。在前向傳播時,它把權重與激活值四捨五入到目標格點,讓網路親身感受量化誤差,但同時保留一份全精度的影子權重,由優化器實際更新,使模型能自我調整以把損害降到最低。

不可微的捨入用直通估計器處理:在反向傳播中把捨入視為恆等函數,讓梯度原封不動地流過。量化器的縮放因子、有時連同其裁切範圍,都能與權重一起學習,如 LSQ 所做。QAT 可以從頭訓練,但更常見的是對預訓練模型,用一小部分資料、跑一段短排程來微調。

在激進設定下——INT4 以下,或量化激活值——QAT 通常能比訓練後量化挽回更多精度,但代價是需要資料、梯度與完整的訓練基礎設施,因此只保留給較便宜的訓練後路線力有未逮的情況。

\hat w = s\cdot\mathrm{clip}\!\big(\mathrm{round}(w/s),\,q_{\min},q_{\max}\big),\qquad \frac{\partial \hat w}{\partial w}\approx 1

前向傳播做假量化;直通估計器讓梯度彷彿捨入是恆等函數般地通過。

又稱
QAT量化感知訓練