已关闭
[Feature Request]: npu_dequant_swiglu_quant不支持swiglu_mode=3,无法使用ops-nn已支持的变体SwiGLU能力 #476
caorenlei创建于  17 天前关闭于  9 天前
caorenlei
17 天前 创建

一、背景信息

ops-nn 算子仓 dequant_swiglu_quant 已支持 swiglu_mode=3(模型变体 SwiGLU:gate=SiLU(x_glu) 后 clamp(max=clampLimit)、up=clamp(x_linear, ±clampLimit)、不使用 gluAlpha/gluBias、前后半切分;Atlas A2/A3 侧已合入上游,Ascend950 侧随 PR cann/ops-nn#9386 支持)。

但 op-plugin 侧 torch_npu.npu_dequant_swiglu_quant 的 TORCH_CHECK 仍将 swiglu_mode 限制在 {0, 1, 2},上层经 PyTorch 调用 swiglu_mode=3 时被插件层拦截,报错 "swiglu_mode only support 0, 1 or 2",算子能力无法透出。

二、价值/作用

  • 打通 swiglu_mode=3 的端到端调用链路(PyTorch → op-plugin → ops-nn 算子);
  • 插件层参数校验与算子仓能力对齐,避免插件层成为新特性瓶颈;
  • 仅校验放宽、向后兼容,原有 swiglu_mode=0/1/2 调用行为不变。

三、设计方案

op_plugin/ops/opapi/DequantSwigluQuantOpApi.cppnpu_dequant_swiglu_quant 中将 swiglu_mode 的 TORCH_CHECK 合法取值由 {0, 1, 2} 扩展为 {0, 1, 2, 3},报错文案同步更新。无计算逻辑变更。

关联 PR:https://gitcode.com/Ascend/op-plugin/pull/5811

likedislike
caorenlei
17 天前 评论:

/assign @caorenlei

likedislike
ascend-robotascend-robot成员
17 天前 将 caorenlei 设为负责人
Ccaorenlei
9 天前 issue状态由 TODO 改变为 DONE
Ccaorenlei
9 天前 关闭了 issue
ascend-robotascend-robot成员
9 天前 添加了label:resolved