(オプション) vai_q_tensorflow2 高速微調整 - 3.5 日本語

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

Document ID
UG1414
Release Date
2023-09-28
Version
3.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_steps=None, calib_batch_size=None, include_fast_ft=True, fast_ft_epochs=10) 

ここで、

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