文档
注册
评分
提单
论坛
小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是否可以缓存下。

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。

ModelRunner

表4 ModelRunner接口

接口名称

简介

run_model

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

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

on_cache_allocated

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

on_cache_deallocated

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

TensorDesc

表5 TensorDesc接口

接口名称

简介

TensorDesc构造函数

构造TensorDesc。

dtype

获取dtype属性值。

shape

获取shape属性值。

Tensor

表6 Tensor接口

接口名称

简介

Tensor构造函数

构造Tensor。

numpy

获取tensor的numpy数据。

ModelConfig

表7 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

表8 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。

LLMReq

表9 LLMReq接口

接口名称

简介

LLMReq构造函数

构造LLMReq。

req_id

设置请求ID。

prompt_length

设置请求prompt长度。

prompt_cluster_id

设置请求prompt集群ID。

decoder_cluster_id

设置请求decoder集群ID。

prefix_id

设置请求前缀ID。

LLMClusterInfo

表10 LLMClusterInfo接口

接口名称

简介

LLMClusterInfo构造函数

构造LLMClusterInfo。

remote_cluster_id

设置对端集群ID。

append_local_ip_info

添加本地集群IP信息。

append_remote_ip_info

添加远端集群IP信息。

其他

表11 其他接口

接口名称

简介

CacheDesc

构造CacheDesc。

CacheKey

构造CacheKey。

CacheKeyByIdAndIndex

构造CacheKeyByIdAndIndex。

BlocksCacheKey

PagedAttention场景下,构造BlocksCacheKey。

create_cpu_cache

构造KvCache。

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

当前产品无相关内容

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