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

CANN KV压缩Epilog算子

custom-npu_kv_compress_epilog

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

产品支持情况

产品是否支持
Ascend 950PR/Ascend 950DT

功能说明

将输入x split成nope和rope,nope部分进行量化后与rope进行拼接,根据slot_mapping中的下标映射(-1表示无效数据,不进行更新),原地更新到kv_compress_cache对应的行上。

函数原型

custom.kv_compress_epilog(Tensor(a!) kv_compress_cache, Tensor x, Tensor slot_mapping, *, int quant_group_size = 64, int quant_mode = 2, bool round_scale_flag = True) -> ()

参数说明

说明:

  • b(batch size)表示输入样本批量大小、s(sequence length)表示输入样本序列长度、hc(head count)表示注意力头数、d(Head dimension)表示注意力头的维度数、T表示bs合轴后的大小。
  • kv_compress_cacheTensor):必选参数,输入tensor,待更新的cache数据。不支持非连续,数据格式支持ND,数据类型支持float8_e4m3fnfloat8_e5m2,shape为[ T, d' ],d'的取值见约束说明。

  • xTensor):必选参数,输入tensor,待量化的输入数据。不支持非连续,数据格式支持ND,数据类型支持bfloat16,shape为[ T, d ]。

  • slot_mappingTensor):必选参数,输入tensor,表示下标映射,其值为kv_compress_cache的下标,-1代表无效数据,不进行更新。不支持非连续,数据格式支持ND,数据类型支持int32int64,shape为[ T ]。

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

  • quant_group_sizeint,可选):quant_group的大小,取值固定为64。

  • quant_modeint,可选):量化模式,取值固定为2,表示量化输出并拼接到kv_compress_cache中的scale为float8_e8m0类型。

  • round_scale_flagbool, 可选):表示是否计算round_scale,默认为True。

返回值说明

kv_compress_cache 做原地更新操作。

约束说明

  • shape 字段取值范围约束 | 字段名 | 取值规则与说明 | |--------------|-------------------------------------------| | d' | 计算公式如下说明 | | d | 取值固定为:512 | d'计算公式如下: $$ ySize = d - 64 + 2 * 64 + Ceil((d - 64) / 128) * 1 $$

$$ d' = (128 - ySize % 128) % 128 + ySize $$

  • quant_group_size固定为64。
  • 该接口支持推理场景下使用。
  • 该接口支持aclgraph入图。
  • 该接口与PyTorch配合使用时,需要保证CANN相关包与PyTorch相关包的版本匹配。

调用示例

  • 详见 test_npu_kv_compress_epilog.py

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

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

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

相关文章:

  • 活动大屏LED租赁哪个公司好 - 速递信息
  • 谷歌智能眼镜2026年将问世,Gemini驱动,多品牌合作亮点多!
  • CANN/cann-recipes-infer MoE路由分组量化算子
  • STRAIGHT_JOIN 用法
  • 区块链+AI+DAO构建反性勒索平台:技术架构与实战解析
  • 从clevercli看AI命令行工具的设计哲学与工程实践
  • 通过curl命令直接测试Taotoken多模型聚合接口的响应
  • 2026知名CRM系统测评:12款客户管理系统价值解析 - Blue_dou
  • CANN PTO Tile-Scalar汇编操作
  • LIME实战避坑指南:从医疗影像到金融风控的可解释性落地
  • Phi-2小模型深度解析:27亿参数如何实现强推理与高效部署
  • GEE实战:用MOD17A3HGF和MYD17A2H数据,手把手教你生成8天和月度NPP数据集(附完整代码)
  • 基于辩证唯物主义认识论的大语言模型架构设计与机理分析
  • AIGC检测是什么?论文查AI率和论文查重有什么不同?
  • ChatGPT推理能力深度测试:从假设演绎到因果推理的AGI试金石
  • CANN/pypto矩阵乘法API文档
  • 2026年德州沥青加温设备、沥青储存罐与筑路设备源头厂家选购指南 - 企业名录优选推荐
  • Python字典底层原理与工程实践全解
  • CANN/ops-cv ResizeBilinearV2反向传播算子
  • 论文改到崩溃?Paperxie 把查重降重的坑都给你填平了
  • 在 RTOS 里使用 UART——信号量 + DMA 回调框架
  • AdvancedTCA架构:电信与超算融合的技术解析
  • 基于主题建模的教育多模态与生成式AI研究全景分析
  • 初创公司如何借助 Taotoken 的按 token 计费模式控制 AI 实验成本
  • 范进人生轨迹
  • AI预测抗生素耐药性:从数据清洗到可解释模型的全流程实战
  • iOS 开发 事件响应链与手势识别原理
  • CANNOpsTransformer融合因果一维卷积
  • CANN/asc-devkit Asinh函数
  • 2026年山东沥青加温设备、沥青储存罐及筑路设备源头厂家完全选购指南 - 企业名录优选推荐