GroupQuant
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Ascend 950PR/Ascend 950DT | × |
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | × |
| Atlas 推理系列产品 | × |
| Atlas 训练系列产品 | × |
| Kirin X90 处理器系列产品 | √ |
| Kirin 9030 处理器系列产品 | √ |
功能说明
-
算子功能:对输入x进行分组量化操作。
-
计算公式:
y=round((x∗scale)+offsetOptional)y = round((x * scale) + offsetOptional)
参数说明
| 参数名 | 输入/输出/属性 | 描述 | 数据类型 | 数据格式 |
|---|---|---|---|---|
| x | 输入 | 需要执行量化的输入,对应公式中的`x`。shape支持2维。 | FLOAT32、FLOAT16、BFLOAT16 | ND |
| scale | 输入 | 量化中的scale值,对应公式中的`scale`。shape支持2维,且第2维与x shape的第2维相等。 | FLOAT32、FLOAT16、BFLOAT16 | ND |
| group_index | 输入 | 量化中的groupIndex值。shape支持1维,且维度与scale shape的第1维相等。 | INT32、INT64 | ND |
| offset | 可选输入 | 量化中的offset值,对应公式中的`offsetOptional`。并且数据类型与`scale`一致。`offsetOptional`为1个数。 | FLOAT32、FLOAT16、BFLOAT16 | ND |
| dst_type | 可选属性 |
|
INT | - |
| y | 输出 | 表示分组量化后的输出,对应公式中的y。shape与`x`的shape一致。 | INT4、INT8 | ND |
- Kirin X90/Kirin 9030 处理器系列产品: 不支持BFLOAT16。
约束说明
- 输入
scale与输入offset的数据类型一致。 - 如果属性
dst_type为29(INT4),那么输出y的shape的最后一维需要能被2整除。 - 输入
group_index必须是非递减序列,最大值必须与输入x的shape的第1维大小相等。 - 输入
offset的shape当前仅支持[1, ]或[]。
调用说明
| 调用方式 | 样例代码 | 说明 |
|---|---|---|
| aclnn接口 | test_aclnn_group_quant | 通过aclnnGroupQuant接口方式调用GroupQuant算子。 |
| 图模式 | - | 通过算子IR构图方式调用GroupQuant算子。 |