Tensorflow 2的Quantization Aware Training指南

Jia-Yau Shiau
AI Blog TW
Published in
18 min readNov 19, 2020

--

在低運算資源的平台上,神經網路的計算資源通常會有明顯的限制。為了追求低運算量的神經網路,有兩個常見大方向,一個大方向是透過各種魔改技巧,將最有效率的架構保留下來,包含架構設計 (如MobileNet) 、知識蒸餾 (knowledge distillation) 與網路剪枝 (network pruning) 等等。另一個大方向就就是從神經網路的根本計算著手,將所有運算量子化 (quantization),使用更低精度的資料表示型態進行計算。

Tensorflow作為各平台最全面支援的深度學習框架之一,提供了不同精度的quantization操作。除了支援直接quantize已訓練網路的post-quantization,也支援了在訓練時模擬低精度運算的training aware quantization (QAT)QAT是目前quantization方法中,最能維持模型準度的方法之一。

Cover made with Canva (小圖來源)

--

--