news 2026/5/9 19:25:42

CANN算子库hc_pre文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN算子库hc_pre文档

hc_pre

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

产品支持情况

产品是否支持
Atlas A2 推理系列产品
Atlas A3 推理系列产品
Ascend 950PR/Ascend 950DT 推理系列产品

功能说明

  • API功能:hc_pre算子旨在完成以下计算过程。
  • 计算过程:
  1. 计算 RMSNorm 的分母

$$ rsqrt = \sqrt{\frac{1}{\frac{1}{n}\sum_{i=1}^n x_i^2 + \epsilon}} $$

  1. 计算 mixes

$$ mixes = (x @ hc_fn) \odot rsqrt $$

  1. Sinkhorn-Knopp 算法

$$ pre, post, comb = sinkhorn(mixes, hc_scale, hc_base, hc_mult, hc_sinkhorn_iters) $$

Sinkhorn-Knopp 算法每次迭代会进行逐行归一化,再做逐列归一化,hc_sinkhorn_iters 控制迭代次数。

  1. 利用 pre 和 x 计算 y

$$ y = rowsum(pre \odot x) $$

函数原型

torch.ops.pypto.hc_pre( x, hc_fn, hc_scale, hc_base, hc_mult: int=4, hc_split_sinkhorn_iters: int=20, hc_eps: float=1e-6 ) -> (Tensor, Tensor, Tensor)

参数说明

  • xTensor):必选参数,对应公式中的$x$,不支持非连续,数据格式支持ND,数据类型支持bfloat16layout_x为TND时shape为[t, hc_mult, h]。
  • hc_fnTensor):必选参数,对应公式中的$hc_fn$,不支持非连续,数据格式支持ND,数据类型支持float32layout_x为TND时shape为[mix_hc, hc_mult*h],其中mix_hc = (2+hc_mult)*hc_mult。
  • hc_scaleTensor):必选参数,对应公式中的$hc_scale$,不支持非连续,数据格式支持ND,数据类型支持float32,shape为[3, ]。
  • hc_baseTensor):对应公式中的$hc_base$,不支持非连续,数据格式支持ND,数据类型支持float32,shape为[mix_hc, ]。
  • hc_multint):可选参数,表示mHC中的expansion rate,数据类型支持int,默认值为4
  • hc_split_sinkhorn_itersint):可选参数,表示sinkhornde 迭代次数,数据类型支持int, 默认值20
  • hc_epsfloat):可选参数,表示RMSNorm分母计算与Sinkhorn-Knopp计算中用于数值稳定的加法值,数据类型支持float, 默认值为1e-6

返回值说明

  • yTensor):公式中的输出。数据格式为ND,数据类型为bfloat16。当layout_x为TND时shape为[t, h]。
  • postTensor):公式中sinkhorn的输出post,数据格式为ND,数据类型为float。当layout_x为TND时shape为[t, hc_mult]。
  • combTensor):公式中sinkhorn的输出comb,数据格式为ND,数据类型为float。当layout_x为TND时shape为[t, hc_mult, hc_mult]。

约束说明

  • 该接口支持推理场景下使用。
  • 入参x中的shape [t, hc_mult, h]中,h仅支持4096
  • 入参的shape、dtype等需与参数说明保持一致。
  • t的值域范围为[1, 64k]

调用方法

python3 ops/pypto_python/example/test_hc_pre_pypto.py

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 19:22:53

在Hermes Agent项目中自定义Provider并接入Taotoken聚合API

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Hermes Agent项目中自定义Provider并接入Taotoken聚合API 对于使用Hermes Agent框架的开发者而言,将后端模型服务切换…

作者头像 李华
网站建设 2026/5/9 19:20:31

AI融合背景噪声层析成像:从大陆模型到矿床级预测的智能勘探新范式

1. 项目概述:当AI遇见地球的“CT扫描”矿产勘探,这个听起来古老又充满不确定性的行业,正经历一场静默但深刻的革命。传统上,我们依赖地质填图、地球物理测量和有限的钻孔数据,像盲人摸象一样去推测地下几公里深处的矿体…

作者头像 李华
网站建设 2026/5/9 19:19:21

SAP状态管理核心表解析:从JEST到TJ30的实战指南

1. SAP状态管理核心表概述 在SAP系统中,状态管理是业务流程控制的核心机制之一。无论是采购订单、生产工单还是项目计划,几乎所有业务对象都会通过状态来标识当前所处的业务阶段。这就好比我们去医院看病,从挂号、问诊到取药,每个…

作者头像 李华
网站建设 2026/5/9 19:13:32

CANN/cann-recipes-train:基于昇腾NPU的多轮工具调用代码强化学习

Code RL with Multi-Turn Tool Calling on Ascend NPUs 【免费下载链接】cann-recipes-train 本项目针对LLM与多模态模型训练业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-train Overview This…

作者头像 李华