[RFC]: 将编译器融合移植到手动融合
□动相.
#42770规定了从全图"torch.compile"到直接用模型代码表达的人工聚变的举动. 这一问题跟踪了该RFC第1-1节的具体移植工作:列举了目前由`vllm/colocation/passes/'进行的聚变,将每个聚变图绘制成一个工作项目,以移植到模型代码的人工呼叫站点。 要澄清这一点,这个工作流意在触及所有现有的便携式模型定义,而编译器聚变传出之前将适用这些定义。
目标是没有性能回归,因为我们删除了每个编译器的通过. 下面的每个聚变是:
- 移植到一个"大保险业务" 可以从模型代码调用,
- 倒塌了又一个保险业务,
- 或明确放弃(附有理由)。
□ 提议更改.
QQ 更改为 Quant Method
这显然是核聚变所需要的, 在那里,我们正用下游线地层的输入量操作。 当线性层进入, 通过注册“自己”。 输入 quant key = QuantKey. 腾讯网. 当线性内核看到输入不是简单的无量化的收发收发收发收发收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收的收收收收收收收收收收收收收收收收收收收收收收的收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收的收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收收的收收收收收收收收收收收收收收收收的收收收收收收收收收收收收收收收
“RMSNorm + Quant”的例子见https://GitHub.com/vllm-project/vllm/pul/42469。
- 需要注意的更改
传统发展
示范定义的变化
我们将首先实施这些核聚变, 用于我们所能开始的最简单的模型, 并产生一些后续的PR, 在那里,我们迁移一批模型来使用这些人工核聚变, 仔细测试一个架构内至少一个模型的性能和准确性。
核聚变通行证清单
以粗略的顺序排列. 子问题将按引信操作程序存档,以跟踪所有权,内核覆盖,以及切换到它的模型PR.
库达
减少 + rms norm [+quant]' (减少 合并 ' ) https://GitHub.com/vllm-project/vllm/issues/43499 (中文(简体) ).- [ 无数
- [ ]每克每克FP8
- NVFP4
rms norm [+add] + quant' (RMSNorm Quant FusionPass') https://GitHub.com/vllm-project/vllm/issues/43500 (中文(简体) ).- [ ]每克每克FP8
- FP8 每桶(1×128)
silu mul + quant' (活化量聚合 " ) https://GitHub.com/vllm-project/vllm/issues/43501 (中文(简体) ).- FP8 每克
- FP8 每桶(1×128)
- NVFP4
atn + 输出-quant' (AttnQuant FusionPass') https://GitHub.com/vllm-project/vllm/issues/43502 (中文(简体) ).- 每克FP8
- NVFP4
mla-attn + 输出-quant' (MLAttn Quant FusionPass') https://GitHub.com/vllm-project/vllm/issues/43498 (中文(简体) ).- 每克FP8
- FP8 每桶(1×128)
- NVFP4
q norm + k norm + 绳子' (K-Norm RoPEFusionPass') - GLM4/Quen3 / Gemma路径. https://GitHub.com/vllm-project/vllm/issues/43497 (中文(简体) ).rope + kv cache write' (RopeKVCacheFusionPass') https://GitHub.com/vllm-project/vllm/issues/43503 互联网档案馆的存檔,存档日期2014-10-02.- “mla rope + kv cache concat” . . . . . . .
内容来源: vllm-project/vllm