一般的に量子化後の精度ロスはわずかですが、MobileNet などの一部のネットワークでは、大きくなる可能性があります。この問題に対処するため、高速微調整は AdaQuant アルゴリズムに基づき、ラベルなしのキャリブレーション データセットを使用して重みと量子化パラメーターをレイヤーごとに調整します。これにより、特定のモデルの精度が向上します。
高速微調整は、通常の PTQ よりも時間がかかりますが (それでも calib_dataset が小さくなるため、QAT よりはかなり短時間で済む)、デフォルトでは無効になっています。ただし、精度に問題が発生した場合、有効にして性能を向上できます。高速微調整なしで PTQ を実行して満足する精度が得られない場合に、高速微調整ありの量子化を実行することを推奨します。
精度を改善するもう 1 つの手法として QAT がありますが、QAT には長い時間がかかる上、トレーニング データセットも必要です。トレーニング後の量子化中に高速微調整を有効にするには、include_fast_ft=True
を設定します。
quantized_model = quantizer.quantize_model(calib_dataset=calib_dataset, calib_steps=None, calib_batch_size=None, include_fast_ft=True, fast_ft_epochs=10)
ここで、
-
include_fast_ft
は高速微調整を実行するかどうかを決定します。 -
fast_ft_epochs
は、レイヤーごとの微調整のエポック数を示します。