专栏算法工具链J6 0930OE PTQ模型编译配置了perchannel量化未生效

J6 0930OE PTQ模型编译配置了perchannel量化未生效

已解决
qinpei2024-12-10
141
13
  1. J6 0930OE包

  2. 采用hb_compile --config model.yaml的方式,进行模型量化,转模型;

  3. 在model.yaml中,quan.json中配置了量化选项,编译过程中提示信息显示的perchannel enabeled,但实际有效scale只有scale[0],请问是什么问题?

附件:
算法工具链
征程6
评论3
0/1000
  • kotei左文亮
    Lv.3

    问题收到

    2024-12-10
    0
    0
  • Huanghui
    Lv.5

    你好,

    1. 关于per_channel选项,工具链的出发点是对可以 per_channel的算子进行per_channel处理(这里的 per_channel 主要通过weight补偿均衡化不同channel的阈值),并非所有的算子都可以 per_channel 。

    2.per_channel 开启前后,生成结果一样的问题,我们还需要一些时间确认,有结构会分享给你。
    3. 对你提供的模型进行的编译测试,从模型的输出看,本来就只有一个scale值( scaleLen 为1),是per_tensor的量化,你直接用来饭量整个tensor就OK。不影响你的使用。
    2024-12-24
    0
    0
  • kotei左文亮
    Lv.3

    0930OE包的版本是3.0.17的吧? 升级到3.0.22版本看还有没有这样的问题,或者方便上传一下你的模型文件吗

    2024-12-10
    0
    10
    • DR_KAN回复kotei左文亮:

      930就是3.0.22

      2024-12-10
      1
    • qinpei回复kotei左文亮:

      我确认了下,目前是3.0.22版本,我说的没有perchannel量化指的是,输出模型输出tensor,中间权重有没有进行perchannel量化,不太清楚。

      2024-12-10
      0
    • qinpei回复kotei左文亮:

      已经上传了模型文件,麻烦帮忙看看下,perchannel打开与关闭,对模型编译结果的相似度没有任何影响,因此,推测perchannel量化,在配置文件中,激活后,基本没有起作用。

      2024-12-10
      0
    • kotei左文亮回复qinpei:

      上传的附件里面没有yaml文件和校准数据集啊,我还是没办法复现额,方便上传一下吗

      2024-12-11
      0
    • qinpei回复kotei左文亮:

      我提交了yaml和校准数据,麻烦再看看。

      2024-12-13
      0
    • kotei左文亮回复qinpei:

      已经复现出来了,在模型检查和转化的过程中没有问题,你说的 只有scale[0] 有用指的是在实际的板端C++代码推理时,只有 scale[0]有值吗,还是尺度放缩有什么问题 ?

      2024-12-13
      0
    • qinpei回复kotei左文亮:

      我说的是,只有scale[0]的值看起来,是正常的,其他channel的scale数值都不正常,也就是说,如果按照perchannle的scale去反量化,结果不对,而全部使用scale0反量化后,结果就能跟浮点模型的数值对上。麻烦尽快解决这个问题哈,很着急用。

      2024-12-16
      0
    • kotei左文亮回复qinpei:

      scale0反量化后,结果就能跟浮点模型的数值对上 ,那就先使用 scale0 ; 按照您的描述,您是觉得每个channel的scale应该不一样 ,那如果和scale0 不一样,最后结果可能会和浮点模型的数字对不上啊。 可能这是一个bug,每个channel的 scale 就是scale0,我向更专业的部门反馈了,请您时刻关注版本更新。

      2024-12-16
      0
    • qinpei回复kotei左文亮:

      请问,更专业部门有没有给反馈结果?

      2024-12-20
      0
    • kotei左文亮回复qinpei:

      暂时还没有, scale0反量化后,结果就能跟浮点模型的数值对上 ,那就先使用 scale0 ,后面持续关注版本更新。

      2024-12-23
      0