当前位置: 首页 > news >正文

CANN/cann-recipes-infer SwigluClipQuant算子

custom.npu_swiglu_clip_quant

【免费下载链接】cann-recipes-infer本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-infer

产品支持情况

产品是否支持
Atlas A3 推理系列产品

功能说明

SwigluClipQuant在Swish门控线性单元激活函数后添加clamp和quant操作,并根据不同分组中的clamp缩放因子对输入进行缩放操作,实现x的SwigluClipQuant计算,SwigluClipQuant的具体计算公式如下: $$ \textbf{swiglu}: swigluOut = Swiglu(A)*B $$

$$ \textbf{clip}: swigluClipOut = Max(Min(swigluOut, Abs(ReduceMax(swigluOut)) * groupAlpha), -Abs(ReduceMax(swigluOut)) * groupAlpha) $$

$$ \textbf{quant}: y, scale = DynamicQuant(swigluClipOut, groupIndex) $$

其中,A表示输入x的前半部分,B表示输入x的后半部分。

函数原型

custom.npu_swiglu_clip_quant(Tensor x, Tensor group_index, Tensor group_alpha, *, bool activate_left=False, int quant_mode=1, int clamp_mode=1) -> (Tensor, Tensor)

参数说明

说明:

  • TokensNum、H参数维度含义:TokensNum表示传输的Token数,取值是自然数,H表示嵌入向量的长度,取值>0。
  • groupNum:表示group_index输入的长度,取值>0。
  • xTensor):必选参数,不支持非连续,数据格式支持ND,数据类型支持bfloat16,shape为:[TokensNum, H]。

  • group_indexTensor):必选参数,不支持非连续,数据格式支持ND,数据类型支持int64,要求是1D的Tensor。当前只支持count模式,表示该模式下指定分组的Tokens数(要求非负整数),shape为:[groupNum]。

  • group_alphaTensor):必选参数,不支持非连续,数据格式支持ND,数据类型支持float32,要求是1D的Tensor。表示与指定分组的Tokens数对应的clamp缩放因子,shape为:[groupNum]。

  • *:代表其之前的参数是位置相关的,必须按照顺序输入,属于必选参数;其之后的参数是键值对赋值,与位置无关,属于可选参数(不传入会使用默认值)。

  • activate_leftbool):可选参数,表示是否对输入的左半部分做swiglu激活,当值为false时,对输入的右半部分做激活,默认值为False。

  • quant_modeint):可选参数,表示使用动态量化还是静态量化,0表示静态量化,1表示动态量化。默认值为1,当前仅支持动态量化。

  • clamp_modeint):可选参数,表示是否在指定分组Tokens数时使用group_alpha参数。默认值为1,表示使用group_alpha参数功能。当前仅支持clamp_mode=1。

返回值说明

  • yTensor):公式中的输出y,表示量化后的输出tensor,数据类型支持int8。数据格式支持ND。
  • scaleTensor):公式中的输出scale,表示量化scale参数,数据类型支持float32。数据格式支持ND。

约束说明

  • 该接口支持推理场景下使用。
  • 该接口支持图模式。
  • 该接口与PyTorch配合使用时,需要保证CANN相关包与PyTorch相关包的版本匹配。
  • 参数x的H轴有维度大小限制:H ≤ 10496同时64对齐场景,规格不满足场景会进行校验。
  • 参数group_index只支持count模式,需要保证group_index总和不超过x的TokensNum维度,否则会出现越界访问。
  • 输出y和scale超过group_index总和的部分未进行清理处理,该部分内存为垃圾数据,使用时需要注意影响。
  • 参数quant_mode仅支持动态量化场景。

调用示例

  • 详见test_npu_swiglu_clip_quant.py

【免费下载链接】cann-recipes-infer本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例项目地址: https://gitcode.com/cann/cann-recipes-infer

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/782869/

相关文章:

  • CANN/pyasc MDL配置API文档
  • 泰山派3M-RK3576-系统功能-Buildroot-音频功能
  • CANN社区管理仓库
  • 【Vue3 + SVG 饼图组件单一数据类别显示异常问题】
  • CANN/ops-cv光栅化算子文档
  • 泰山派3M-RK3576-镜像烧录-成品镜像烧录
  • 吉林K式板房企业排行:5家合规供应商实测对比 - 奔跑123
  • CANN/pypto反量化函数文档
  • cann/cannbot-skills尾安全约束
  • 11.9k Star!Claude Code PPT 神器:本机一行命令,AI 出真还能编辑!
  • 2026新疆财务凭证纸厂家对比:绿色认证资质如何影响政企采购决策 - 优质企业观察收录
  • 一个人,一台电脑,月入翻倍:她如何用AI重构“旅行路书”?
  • CANN高性能线性代数算子库
  • PathAsst:多模态生成式AI如何重塑病理诊断工作流
  • 通过curl命令诊断大模型API连接与返回问题
  • CANN/ops-solver算子列表
  • CANN/HCOMM内存导入关闭API
  • Hermes Agent 应用场景想象
  • CANN/community PR操作指南
  • CANN/tensorflow 后续版本废弃配置
  • 我在上海滩的奋斗
  • 口碑好的四川别墅电梯哪家专业
  • 笑不活了!兰州全城上门收金,旧金变现不用跑区县,在家躺着数钱! - 金掌柜黄金回收
  • AI时代知识工作转型:从生产到批判性整合的核心能力构建
  • AI赋能材料科学:从局域结构表征到分子相互作用预测的完整实践指南
  • 基于SHAP与XAI的3D打印工艺参数优化:从黑箱预测到可解释洞察
  • CANN/pypto eq运算API文档
  • 吉林钢结构厂家实测排行:资质与性能双维度对比 - 奔跑123
  • 2026年新疆热敏收银纸、票据印刷及办公用纸一站式采购指南 - 优质企业观察收录
  • 为内部知识库问答系统集成Taotoken多模型聚合能力