This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-TDA4VM:TIDL 进口商使用哪些校准方法?

Guru**** 2478765 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1457234/sk-tda4vm-which-calibration-methods-does-tidl-importer-use

器件型号:SK-TDA4VM

工具与软件:

在 PTQ 量化期间、有最大值、熵和 百分位方法进行校准。 我想知道 TIDL 进口商使用哪一个?

我提到 https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/07_03_00_07/exports/docs/tidl_j7_02_00_00_07/ti_dl/docs/user_guide_html/md_tidl_model_import.html 和 https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/08_01_00_13/exports/docs/tidl_j7_08_01_00_05/ti_dl/docs/user_guide_html/md_tidl_fsg_quantization.html 、但两者都没有帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 MingZhen:谢谢您的提问、我们的开发团队将为您答疑解惑。  

    此致

    文立

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mingzhen:

    有关量化的信息、请参阅最新的文档: https://github.com/TexasInstruments/edgeai-tidl-tools/blob/master/docs/tidl_fsg_quantization.md

    量化有许多分类方法、 该术语在不同的框架中有所不同。  

    此致、

    Adam

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果推断 NVIDIA https://arxiv.org/pdf/2004.09602 第3.4节"校准"、TI 的 最小和最大校准方法与这三种方法中的任何一种都不匹配、我是否遗漏了什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    请参阅我之前提到的文档。 TI 提供了这几种校准方法、其中包括 简单校准 可能对应于" 最大值 "由 Nvidia 定义的方法。 它需要仔细的交叉比较来确定 TI 的 methods 是否可以与 Nvidia 进行评级。 如果您感兴趣、可以检查文档和源代码。

    B.1. 简单校准

    • 可通过在模型编译期间设置 ACCESS_LEVEL = 0来启用此校准
      • 参数支持2的幂和2的非2的幂、这可以使用 ADVANCE_OPTIONS:quantization_scale_type 参数来控制
      • 仅支持2个标度的幂作为特征图
      • 根据给定层中的最小值和最大值选择缩放
      • 每个特性图的范围都通过很少的样本输入来离线校准
      • 校准后的距离(最小值和混合值)值用于在推理(实时)期间量化目标中的特征图
      • 对于许多8位网络、观察到的精度在浮点时下降小于1%
        • 例如、Resnets、SquezeNet、VGG 等模型(特别是不使用逐字卷积层的模型)

    B.2. 高级校准

    • TIDL 产品提供了一些用于校准的高级选项、如下所示:

    B.2.1. 高级偏置校准

    • 用户可以通过设置 accurity_level = 1 (这是模型编译的一个可选参数)来启用该功能。 通常不需要设置其他参数、因为默认参数适用于大多数情况。 结果表明、使用50个或更多图像可显著提高精度。
    • 该功能会对权重应用削波、并更新偏置以补偿因量化而引入的直流误差。
    • 如果需要、用户还可以使用与此选项相关的以下参数进行实验:
      • ADVANCE_OPTIONS:CALIBRATION_IT迭 代次数:用于偏置校准的迭代次数。
      • ADVANCE_OPTIONS:CALIBRATION_FRAMES:用于偏置校准的输入帧数。

    B.2.2. 基于直方图的激活范围收集

    • 要启用此功能、用户需要设置 ACCESSORY_LEVEL = 9和 ADVANCE_OPTIONS:ACTIVATION_CLIPPING = 1/0才能启用/禁用此功能。
    • 该特征使用特征映射激活范围的直方图来去除可能影响总体范围的离群值。 这可能有助于减少某些网络中的量化导致的精度损失。

    此致、

    Adam