vai_q_tensorflow2 高速微調整 - 2.5 日本語

Vitis AI ユーザー ガイド (UG1414)

Document ID
UG1414
Release Date
2022-06-15
Version
2.5 日本語

一般的に量子化後の精度ロスはわずかですが、MobileNet などの一部のネットワークでは、大きくなる可能性があります。高速微調整は AdaQuant アルゴリズムに基づき、ラベルなしのキャリブレーション データセットを使用して重みと量子化パラメーターをレイヤーごとに調整します。これにより、一部のモデルの精度が向上します。通常の PTQ よりも時間がかかりますが、calib_dataset はトレーニング データセットよりも小さいため、QAT と比べるとはるかに短時間で完了します。高速微調整は、デフォルトでは無効です。精度に問題がある場合は、有効にすることで性能が改善します。まず、高速微調整なしで PTQ を実行した後、精度に問題がある場合は高速微調整ありの量子化を実行することを推奨します。精度を改善するもう 1 つの手法として QAT がありますが、QAT には長い時間がかかる上、トレーニング データセットも必要です。高速微調整を有効にするには、トレーニング後の量子化時に include_fast_ft=True と設定します。

quantized_model = quantizer.quantize_model(calib_dataset=calib_dataset, calib_step=None, calib_batch_size=None, include_fast_ft=True, fast_ft_epochs=10) 

ここで、

  • include_fast_ft は高速微調整を実行するかどうかを示します。
  • fast_ft_epochs は、レイヤーごとの微調整のエポック数を示します。