下载
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
昇腾小AI

LLM-DataDist接口列表

在大模型推理场景下,全量图和增量图一起部署时,会造成计算资源的浪费,原因如下:

  • 全量图计算对算力要求高,序列长度不一致,在算力约束下可能导致时延增长。
  • 增量图单次计算量小,可以增大batch以提升算力利用率。

LLM-DataDist:大模型分布式集群和数据加速组件,提供了集群KV数据管理能力,以支持全量图和增量图分离部署。

支持的产品形态:Atlas A2训练系列产品/Atlas 800I A2推理产品

当前仅支持python3.9与python3.11。安装方法请参考python官网https://www.python.org/

LLM-DataDist接口列表如下。

LLM-DataDist

表1 LLM-DataDist接口

接口名称

简介

LLMDataDist构造函数

构造LLMDataDist。

init

初始化LLMDataDist。

finalize

释放LLMDataDist。

add_model

添加模型。

link_clusters

建链。

unlink_clusters

断链。

complete_request

完成请求,释放请求所占内存。

kv_cache_manager

获取KvCacheManager实例。

switch_role

切换当前LLM-DataDist的角色。

check_capacity

用于在推理前检查本轮想要执行的请求的kv cache是否可以缓存下。

link

在开启CacheManager的场景下,开启方式是在初始化LLMDataDist时传入llm.EnableCacheManager为1时,调用此接口通过建立通信域方式建链。

unlink

在开启CacheManager的场景下,开启方式是在初始化LLMDataDist时传入llm.EnableCacheManager为1时,调用此接口进行断链。

query_register_mem_status

在开启CacheManager的场景下,开启方式是在初始化LLMDataDist时传入llm.EnableCacheManager为1时,调用此接口查询注册内存状态。

cache_manager

在开启CacheManager的场景下,开启方式是在初始化LLMDataDist时传入llm.EnableCacheManager为1时,获取CacheManager实例。

LLMModel

表2 LLMModel接口

接口名称

简介

pull_kv

拉取kv。

merge_kv

合并kv。

preload_prompt_prefix

预加载前缀kv。

release_prompt_prefix

释放前缀kv所占内存。

predict

执行模型推理。

pull_blocks

PagedAttention场景下,拉取kv。

KvCacheManager

表3 KvCacheManager接口

接口名称

简介

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到本地KvCache,仅当LLMRole为DECODER时可调用。

copy_cache

拷贝KV。

get_cache_tensors

获取cache tensor。

allocate_blocks_cache

PagedAttention场景下,分配多个blocks的Cache。

pull_blocks

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

copy_blocks

PagedAttention场景下,拷贝KV。

CacheManager

表4 CacheManager接口

接口名称

简介

allocate_cache

分配Cache,Cache分配成功后,会同时被cache_id与cache_keys引用,只有当这些引用都解除后,cache所占用的资源才会实际释放。

deallocate_cache

释放Cache。

如果该Cache在Allocate时关联了CacheKey,则实际的释放会延后到所有的CacheKey被拉取或执行了remove_cache_key

remove_cache_key

移除CacheKey。

移除CacheKey后,该Cache将无法再被pull_cache拉取。

pull_cache

根据CacheKey,从对应的对端节点拉取到本地Cache。

copy_cache

拷贝Cache。

allocate_blocks_cache

PagedAttention场景下,分配多个blocks的Cache,Cache分配成功后,可通过deallocate_blocks_cache释放内存。

deallocate_blocks_cache

PagedAttention场景下,释放allocate_blocks_cache申请的Cache。

pull_blocks

PagedAttention场景下,根据BlocksCacheKey,通过block列表的方式从对端节点拉取Cache到本地Cache。

copy_blocks

PagedAttention场景下,拷贝block。

swap_blocks

对cpu_cache和npu_cache进行换入换出。

register_cache

注册一个自行申请的内存。

register_blocks_cache

PagedAttention场景下,调用此接口注册一个自行申请的内存。

KvCache

表5 KvCache接口

接口名称

简介

KvCache构造函数

构造KvCache。

create_cpu_cache

创建cpu cache。

Cache

表6 Cache接口

接口名称

简介

Cache构造函数

构造Cache。

create_cpu_cache

创建cpu cache。

ModelRunner

表7 ModelRunner接口

接口名称

简介

run_model

执行模型,用户需要集成ModelRunner并实现该接口。

该接口会在执行LLMModel.predict时被调用。

on_cache_allocated

ModelRunner关联的Decoder LLMModel分配了KvCache后回调。

on_cache_deallocated

ModelRunner关联的Decoder LLMModel释放了KvCache后回调。

TensorDesc

表8 TensorDesc接口

接口名称

简介

TensorDesc构造函数

构造TensorDesc。

dtype

获取dtype属性值。

shape

获取shape属性值。

Tensor

表9 Tensor接口

接口名称

简介

Tensor构造函数

构造Tensor。

numpy

获取tensor的numpy数据。

ModelConfig

表10 ModelConfig接口

接口名称

简介

ModelConfig构造函数

构造ModelConfig。

generate_options

生成模型配置项字典。

kv_shapes

配置每个kv的维度信息,对应底层llm.RefInputShapes配置项。

kv_dtypes

配置每个kv数据类型,对应底层llm.RefInputDtypes配置项。

kv_seq_len_dim_index

配置序列长度所在维度,对应底层llm.RefInputSeqLenDimIndex配置项。

enable_page_attention

配置是否开启PagedAttention,对应底层llm.EnablePagedAttention配置项。

enable_shared_system_prefix

配置是否开启共享系统前缀,对应底层llm.EnableSharedSystemPrefix配置项。

om_paths

配置模型列表,对应底层llm.OmCachePath配置项,如果是flow model,只需要配置一个模型路径。

is_flow_model

配置模型是否是flow_model,对应底层llm.IsFlowModel配置项,如果传入模型是FlowModel时需要配置。

ge_options

配置额外的GE配置项。

kv_tensor_format

设置kv cache tensor的format。

LLMConfig

表11 LLMConfig接口

接口名称

简介

LLMConfig构造函数

构造LLMConfig。

generate_options

生成配置项字典。

listen_ip_info

PROMPT侧设置集群侦听信息,对应底层llm.listenIpInfo配置项。

device_id

设置当前进程device ID,对应底层ge.exec.deviceId配置项。

sync_kv_timeout

配置拉取kv等接口超时时间,对应底层llm.SyncKvCacheWaitTime配置项。

ge_options

配置额外的GE配置项。

mem_utilization

配置ge.flowGraphMemMaxSize内存的利用率。默认值0.95。

buf_pool_cfg

用户指定内存档位配置,提高内存申请性能和使用率。

enable_cache_manager

配置是否开启CacheManager模式,对应底层llm.EnableCacheManager配置项。

mem_pool_cfg

在开启CacheManager场景下,配置内存池相关配置项。

LLMReq

表12 LLMReq接口

接口名称

简介

LLMReq构造函数

构造LLMReq。

req_id

设置请求ID。

prompt_length

设置请求prompt长度。

prompt_cluster_id

设置请求prompt集群ID。

decoder_cluster_id

设置请求decoder集群ID。

prefix_id

设置请求前缀ID。

LLMClusterInfo

表13 LLMClusterInfo接口

接口名称

简介

LLMClusterInfo构造函数

构造LLMClusterInfo。

remote_cluster_id

设置对端集群ID。

append_local_ip_info

添加本地集群IP信息。

append_remote_ip_info

添加远端集群IP信息。

其他

表14 其他

接口名称

简介

CacheDesc

构造CacheDesc。

Placement

CacheDesc的字段,表示cache所在的设备类型。

CacheKey

构造CacheKey。

CacheKeyByIdAndIndex

构造CacheKeyByIdAndIndex。

BlocksCacheKey

PagedAttention场景下,构造BlocksCacheKey。

DataType

数据类型介绍。

CapacityState

check_capacity接口的返回值,表示内存情况。

LLMRole

LLMRole的枚举值。

LLMStatusCode

LLMStatusCode的枚举值。

RegisterMemStatus

RegisterMemStatus的枚举值。

status_code

获取异常的错误码。错误码列表详见LLMStatusCode

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词