开发者
资源
[object Object][object Object]

此量化方式对权重和激活值均进行量化,将高位浮点数转为8 bit,减少模型权重的体积。使用int8格式的数据进行计算,可以减少MatMul算子计算量,以提升推理性能。

量化后权重目录结构:

[object Object]
  • 量化输出包含:权重文件[object Object]和权重描述文件[object Object]
  • 目录中的其余文件为推理时所需的配置文件,不同模型略有差异。

以下展示了量化后权重描述文件[object Object]中的部分内容:

[object Object]

量化后的MatMul权重重新增加了[object Object][object Object][object Object][object Object]。其中[object Object][object Object]用于对激活值进行量化。MatMul使用量化后的激活值和量化权重进行计算。[object Object][object Object]用于对MatMul的计算结果进行反量化。

图 1 量化权重推理时流程[object Object][object Object]

此量化方式支持量化fp16或bf16类型的原始权重。

表 1 fp16权重量化后dtype及shape信息(假设原始权重的shape为[object Object]

[object Object]undefined

表 2 bf16权重量化后dtype及shape信息(假设原始权重的shape为[object Object]

[object Object]undefined
[object Object]

您可以使用msModelSlim工具生成量化权重:

以Qwen2-7B为例,安装msModelSlim工具后,可以使用如下命令快速生成一份W8A8量化权重:

[object Object]

上述命令是msModelSlim工具的一个最佳实践,如需了解更多量化参数配置,请参考msModelSlim工具文档。

[object Object]

以Qwen2-7B-W8A8量化权重为例,您可以使用以下指令执行对话测试,推理内容为"What's deep learning?",最长输出20个token。

[object Object]