# LLM-DataDist-interface-list
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
LLM-DataDist:大模型分布式集群和数据加速组件,提供了集群KV数据管理能力,以支持全量图和增量图分离部署。
支持的产品形态如下:
- Atlas A2 推理系列产品
- Atlas A3 训练系列产品/Atlas A3 推理系列产品
当前仅支持Python3.9与Python3.11。安装方法请参考Python官网https://www.python.org/。
最大注册50GB的Device内存。注册内存越大,占用的OS内存越多。
LLM-DataDist-interface-list如下。
LLM-DataDist
表 1LLM-DataDist接口
| 接口名称 | 简介 |
|---|---|
| LLMDataDist-constructor | 构造LLMDataDist。 |
| init | 初始化LLMDataDist。 |
| finalize | 释放LLMDataDist。 |
| link_clusters | 建链。 |
| unlink_clusters | 断链。 |
| check_link_status | 调用此接口可快速检测链路状态是否正常。 |
| kv_cache_manager | 获取KvCacheManager实例。 |
| switch_role | 切换当前LLMDataDist的角色,建议仅在使用PagedAttention的场景使用。 |
LLMConfig
表 2LLMConfig接口
| 接口名称 | 简介 |
|---|---|
| LLMConfig-constructor | 构造LLMConfig。 |
| generate_options | 生成配置项字典。 |
| device_id | 设置当前进程Device ID,对应底层ge.exec.deviceId配置项。 |
| sync_kv_timeout | 配置拉取kv等接口超时时间,对应底层llm.SyncKvCacheWaitTime配置项。 |
| enable_switch_role | 配置是否支持角色平滑切换,对应底层llm.EnableSwitchRole配置项。 |
| ge_options | 配置额外的GE配置项。 |
| listen_ip_info | PROMPT侧设置集群侦听信息,对应底层llm.listenIpInfo配置项。 |
| mem_utilization | 配置ge.flowGraphMemMaxSize内存的利用率。默认值0.95。 |
| buf_pool_cfg | 用户指定内存档位配置,提高内存申请性能和使用率。 |
KvCacheManager
表 3KvCacheManager接口
| 接口名称 | 简介 |
|---|---|
| KvCacheManager-constructor | 介绍KvCacheManager-constructor。 |
| is_initialized | 查询KvCacheManager实例是否已初始化。 |
| allocate_cache | 分配Cache,Cache分配成功后,会同时被cache_id与cache_keys引用,只有当这些引用都解除后,cache所占用的资源才会实际释放。 |
| deallocate_cache | 释放Cache。 |
| remove_cache_key | 移除CacheKey,仅当LLMRole为PROMPT时可调用。 |
| pull_cache | 根据CacheKey,从对应的Prompt节点拉取KV到本地KV Cache,仅当LLMRole为DECODER时可调用。 |
| copy_cache | 拷贝KV。 |
| get_cache_tensors | 获取cache tensor。 |
| allocate_blocks_cache | PagedAttention场景下,分配多个blocks的Cache。 |
| pull_blocks | PagedAttention场景下,根据BlocksCacheKey,通过block列表的方式从对应的Prompt节点拉取KV到本地KV Cache,仅当LLMRole为DECODER时可调用。 |
| copy_blocks | PagedAttention场景下,拷贝KV。 |
| swap_blocks | 对cpu_cache和npu_cache进行换入换出。 |
| transfer_cache_async | 异步分层传输KV Cache。 |
KvCache
表 4KVCache接口
| 接口名称 | 简介 |
|---|---|
| KvCache-constructor | 构造KVCache。 |
| cache_id | 获取KvCache的id。 |
| cache_desc | 获取KvCache描述。 |
| per_device_tensor_addrs | 获取KvCache的地址。 |
| create_cpu_cache | 创建cpu cache。 |
LLMClusterInfo
表 5LLMClusterInfo接口
| 接口名称 | 简介 |
|---|---|
| LLMClusterInfo-constructor | 构造LLMClusterInfo。 |
| remote_cluster_id | 设置对端集群ID。 |
| append_local_ip_info | 添加本地集群IP信息。 |
| append_remote_ip_info | 添加远端集群IP信息。 |
CacheTask
表 6CacheTask
| 接口名称 | 简介 |
|---|---|
| CacheTask-constructor | 构造CacheTask。 |
| synchronize | 等待所有层传输完成,并获取整体执行结果。 |
| get_results | 等待所有层传输完成,并获取每个TransferConfig对应执行结果。 |
其他
表 7其他
| 接口名称 | 简介 |
|---|---|
| LLMRole | LLMRole的枚举值。 |
| Placement | CacheDesc的字段,表示cache所在的设备类型。 |
| CacheDesc | 构造CacheDesc。 |
| CacheKey | 构造CacheKey。 |
| CacheKeyByIdAndIndex | 构造CacheKeyByIdAndIndex,通常在pull_cache接口中作为参数类型使用。 |
| BlocksCacheKey | PagedAttention场景下,构造BlocksCacheKey。 |
| LayerSynchronizer | 等待模型指定层执行完成,用户需要继承LayerSynchronizer并实现该接口。 该接口会在执行KvCacheManager.transfer_cache_async时被调用,当该接口返回成功,则开始当前层cache的传输。 |
| TransferConfig | 构造TransferConfig。 |
| TransferWithCacheKeyConfig | 构造TransferWithCacheKeyConfig。 |
| LLMException | 获取异常的error-code。error-code列表详见LLMStatusCode。 |
| LLMStatusCode | LLMStatusCode的枚举值。 |
| DataType | DataType的枚举类。 |
【免费下载链接】geGE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前端的友好接入能力,并同时支持 onnx、pb 等主流模型格式的解析与编译。项目地址: https://gitcode.com/cann/ge
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考