news 2026/7/4 7:57:49

昇腾/GE LLM-DataDist拉取KV块API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
昇腾/GE LLM-DataDist拉取KV块API

# pull_blocks

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

产品支持情况

  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 推理系列产品:支持
  • Atlas A2 训练系列产品:不支持

函数功能

PagedAttention场景下,根据BlocksCacheKey,通过block列表的方式从对应的Prompt节点拉取KV到本地KV Cache,仅当LLMRole为DECODER时可调用。

函数原型

pull_blocks(prompt_cache_key: BlocksCacheKey, decoder_kv_cache: KvCache, prompt_blocks: List[int], decoder_blocks: List[int], **kwargs)

参数说明

参数名称数据类型取值说明
prompt_cache_keyBlocksCacheKey需要被拉取的BlocksCacheKey。
decoder_kv_cacheKvCache目标KV Cache。
prompt_blocksList[int]Prompt的block index列表。
decoder_blocksList[int]Decode的block index列表。
**kwargsNA这个是Python函数的可扩展参数通用写法,一般通过key=value的方式直接传入参数。
可选参数的详细信息请参考表1。

表 1**kwargs的可选参数

参数名称数据类型取值说明
src_layer_rangeOptional[range]可选参数,用于按层pull kv场景。传输源的layer的范围,step只支持1。不设置时为传输所有layer。需要注意这里是layer的index,而不是tensor的index,即1个layer对应连续N个tensor(K/V),这里要求分配内存时,必须是KV,...,KV排布,不支持其他场景。N为tensor_num_per_layer的取值,默认为2。
dst_layer_rangeOptional[range]可选参数,用于按层pull kv场景。传输目标的layer的范围,step只支持1。不设置时为传输所有layer。需要注意这里是layer的index,而不是tensor的index,即1个layer对应连续N个tensor(K/V),这里要求分配内存时,必须是KV,...,KV排布,不支持其他场景。N为tensor_num_per_layer的取值,默认为2。
tensor_num_per_layerOptional[int]可选参数,表示每层的tensor的数量,默认值是2,取值范围是[1,cache的tensor总数]。当src_layer_range或dst_layer_range取值为非默认值时, tensor_num_per_layer可以保持默认值,也可以输入其他值,输入其他值的时,tensor_num_per_layer的取值还需要被当前cache的tensor总数整除。

调用示例

from llm_datadist import * ... kv_cache_manager.pull_blocks(prompt_cache_key, kv_cache, [0, 1], [2, 3]) # 使能layer_range功能示例 kv_cache_manager.pull_blocks(prompt_cache_key, kv_cache, [0, 1], [2, 3], src_layer_range=range(2), dst_layer_range=range(2))

返回值

正常情况下无返回值。

参数错误可能抛出TypeError或ValueError。

执行时间超过sync_kv_timeout配置会抛出LLMException异常。

约束说明

  • 使用同一条链路时,此接口和transfer_cache_async接口不支持并发。
  • 本接口不能被多线程并发调用。

【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge

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

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

NoDock数据库配置:MySQL、MongoDB与Redis的最佳实践

NoDock数据库配置:MySQL、MongoDB与Redis的最佳实践 【免费下载链接】nodock Docker Compose for Node projects with Node, MySQL, Redis, MongoDB, NGINX, Apache2, Memcached, Certbot and RabbitMQ images 项目地址: https://gitcode.com/gh_mirrors/no/nodoc…

作者头像 李华
网站建设 2026/7/4 7:57:20

告别手动绘图:如何用WireViz实现线束设计的效率革命

告别手动绘图:如何用WireViz实现线束设计的效率革命 【免费下载链接】WireViz Easily document cables and wiring harnesses. 项目地址: https://gitcode.com/gh_mirrors/wi/WireViz 还在为复杂的线束设计图纸而头疼吗?还在手动绘制每一根导线、…

作者头像 李华
网站建设 2026/7/4 7:53:41

Linux服务器端口安全实战:从端口扫描防护到DDoS缓解的纵深防御体系

1. 项目概述:从被动防御到主动加固的端口安全体系在Linux服务器的日常运维中,端口安全常常是一个“灯下黑”的领域。很多管理员认为,配置了防火墙、设置了强密码,服务器就安全了。但现实是,攻击者从不按常理出牌。他们…

作者头像 李华
网站建设 2026/7/4 7:51:15

DCG技术如何革新芯片设计流程与优化策略

1. DCG技术对芯片设计流程的变革性影响在28nm工艺节点之后,芯片设计领域面临着一个关键转折点。传统设计方法在应对日益复杂的物理效应和多物理场耦合问题时开始显得力不从心,这正是Design for Convergence and Growth(DCG)技术崭…

作者头像 李华