昇腾社区首页
中文
注册

get_quantizer接口

接口功能

返回MindIE Turbo中对应的量化实现。

参数说明

参数名称

是否必选

类型

默认值

描述

安全声明

quant_description

Dict[str, Any]

-

模型的模块名称和量化方法构成的字典,用于在MindIE Turbo中选择对应量化实现。该字典当前由msModelSlim在权重量化过程中生成,即模型权重路径下config.json中新增的“quantization_config”字段。

推理强依赖数据的合法性,需由用户保证。

prefix

str

-

模块名称前缀。例如:

"model.layers.0.self_attn.o_proj"

packed_modules_mapping

Dict[str, Any]

None

推理时实际堆叠模块到权重中原始模块的映射关系,该部分通常与linear相关。

例如:

{

"qkv_proj": ["q_proj", "k_proj", "v_proj"],

"gate_up_proj": ["gate_proj", "up_proj"]

}

返回值说明

类型

描述

安全声明

MindIETurboQuantizer

MindIETurbo中具体量化实现类,继承自“MindIETurboQuantizer”。如:W8A8Quantizer。

推理强依赖数据的合法性,需由用户保证。

使用样例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
quant_description = {
    "model_quant_type": "W8A8",
    "model.embed_tokens.weight": "FLOAT",
    "model.layers.0.self_attn.o_proj.weight": "W8A8",
    "model.layers.0.self_attn.o_proj.input_scale": "W8A8",
    "model.layers.0.self_attn.o_proj.input_offset": "W8A8",
    "model.layers.0.self_attn.o_proj.quant_bias": "W8A8",
    "model.layers.0.self_attn.o_proj.deq_scale": "W8A8"
}
prefix = "model.layers.0.self_attn.o_proj"
quantizer = MindIETurboQuantizer.get_quantizer(
    quant_description, prefix
)