推論與服務部署
推論量化(quantization for inference)
模型是用十六位元的數字訓練的,但照這樣部署很昂貴:權重勉強塞得進記憶體,而每個解碼步驟都得把它們全部拉過記憶體匯流排。量化把這些數字改用更少的位元儲存——八位元、四位元,有時更少——縮小模型,並加速推論中那些記憶體受限的部分。
每個權重被對映成一個低位元整數,再加上一個比例值(有時還有一個零點),由一小群權重共用,於是真實數值約等於整數乘以它的比例值。訓練後量化是在訓練完成後用一小份校正資料來做;在 int8 或 int4 上謹慎進行時,準確度損失很小。回報有兩方面:使用更少的顯示記憶體,以及——因為解碼的瓶頸在於從記憶體讀權重——每個權重佔更少位元組就代表每秒更多詞元。風險在於過度激進或過於粗糙的方案可能明顯損及品質,因此粒度與離群值處理很重要。
另見