文件最后提交记录最后更新时间
3 个月前
3 个月前
6 个月前
6 个月前
3 个月前
4 个月前
5 个月前
7 个月前
3 个月前
README

AscendQuantV2

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品 ×
Kirin X90 处理器系列产品
Kirin 9030 处理器系列产品

功能说明

  • 算子功能:对输入x进行量化操作,支持设置axis以指定scale和offset对应的轴,scale和offset的shape需要满足和axis指定x的轴相等或1。axis当前支持设置最后两个维度。
  • 计算公式:
    • sqrt_mode为false时,计算公式为:

      y=round((x∗scale)+offset)y = round((x * scale) + offset)

    • sqrt_mode为true时,计算公式为:

      y=round((x∗scale∗scale)+offset)y = round((x * scale * scale) + offset)

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 需要执行量化的输入,对应公式中的`x`。 FLOAT16、FLOAT32、BFLOAT16 ND
scale 输入 量化中的scale值,对应公式中的`scale`。 FLOAT16、FLOAT32、BFLOAT16 ND
offset 可选输入 反量化中的offset值,对应公式中的`offset`。 FLOAT16、FLOAT32、BFLOAT16 ND
sqrt_mode 可选属性
  • 指定scale参与计算的逻辑,对应公式中的`sqrtMode`。
  • 默认值为false。
BOOL -
round_mode 可选属性
  • 指定cast到int8输出的转换方式。支持取值round,ceil,trunc,floor。
  • 默认值为"round"。
STRING -
dst_type 可选属性
  • 指定输出的数据类型。
  • 默认值为DT_INT8。
INT -
axis 可选属性
  • 指定scale和offset对应x的维度。
  • 默认值为-1。
INT -
y 输出 表示AscendQuantV2的结果输出`y`,对应公式中的`y`。shape与输入`x`的shape一致。 INT8、INT4、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN ND
  • Atlas 推理系列产品:

    • 数据类型:
      • 输入Tensor数据类型不支持BFLOAT16。
      • 输出Tensor数据类型仅支持INT8。
    • round_mode,支持取值round,ceil,trunc,floor。
    • dst_type:支持取值2,表示INT8。
    • axis:只支持指定x的最后一个维度(假设输入x维度是xDimNum,axis取值是-1或xDimNum-1)。
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品、Atlas A3 训练系列产品/Atlas A3 推理系列产品:

    • 输出Tensor数据类型仅支持INT8、INT4。
    • dst_type:支持取值2,29,分别表示INT8、INT4。
    • axis:支持指定x的最后两个维度(假设输入x维度是xDimNum,axis取值范围是[-2,-1]或[xDimNum-2,xDimNum-1])。
  • Ascend 950PR/Ascend 950DT:

    • round_mode:dst_type表示FLOAT8_E5M2或FLOAT8_E4M3FN时,只支持round。dst_type表示HIFLOAT8时,支持round和hybrid。dst_type表示其他类型时,支持round,ceil,trunc和floor。
    • axis:支持指定x的最后两个维度(假设输入x维度是xDimNum,axis取值范围是[-2,-1]或[xDimNum-2,xDimNum-1])。
  • Kirin X90/Kirin 9030 处理器系列产品: xscaleoffset不支持BFLOAT16;y 数据类型不支持INT4、HIFLOAT8、FLOAT8_E5M2、FLOAT8_E4M3FN。

约束说明

调用说明

调用方式 样例代码 说明
aclnn接口 test_aclnn_ascend_quant 通过aclnnAscendQuant接口方式调用AscendQuantV2算子。
aclnn接口 test_aclnn_ascend_quant_v3 通过aclnnAscendQuantV3接口方式调用AscendQuantV2算子。
图模式 - 通过算子IR构图方式调用AscendQuantV2算子。