AddLayerNormDynamicQuantFusionPass
融合模式
将AddLayerNorm和其下游的1个或2个DynamicQuant融合成AddLayerNormQuant算子,如下图所示:

当DynamicQuant的smooth这个可选输入存在时,其会被放在AddLayerNormQuant对应的scale输入的位置。
DynamicQuant的smooth操作也可以使用Mul表达,这种情况下,DynamicQuant本身的smooth可选输入需要为空:

使用约束
- dtype约束:
Atlas A2 训练系列产品 /Atlas A2 推理系列产品 场景下,AddLayerNorm的x1数据类型支持fp16、bf16。- AddLayerNorm的其他输入x2、gamma、beta、bias的dtype须与x1一致。
- DynamicQuant的输入x须与 AddLayerNorm的x1数据类型一致。
- 图结构约束:
- AddLayerNorm的0号输出只有1个或2个,且连接到Mul节点或DynamicQuant节点。
- 当AddLayerNorm的0号输出有2个时,2个下游节点必须同时为Mul或同时为DynamicQuant。
- 当AddLayerNorm的0号输出下游节点为Mul时,Mul下游有且仅有1个DynamicQuant节点,且该DynamicQuant节点不能有smooth这个可选输入。
支持的型号
父主题: 图融合规则说明