LLMConfig
产品支持情况
LLMConfig构造函数
函数功能
构造LLMConfig,调用init接口需要传入一个配置项字典,为了简化配置,可以通过此类来构造该配置项字典。
Decode和Prompt可以双向拉取Cache。该模式下的相关接口包括:enable_cache_manager、mem_pool_cfg和listen_ip_info。
函数原型
__init__()
参数说明
无
调用示例
from llm_datadist import LLMConfig
llm_config = LLMConfig()
返回值
返回LLMConfig的实例。
约束说明
无
generate_options
函数功能
生成配置项字典。
函数原型
generate_options()
参数说明
无
调用示例
from llm_datadist import LLMConfig
llm_config = LLMConfig()
...
engine_options = llm_config.generate_options()
返回值
返回配置项字典。
约束说明
无
device_id
函数功能
设置当前进程Device ID,对应底层ge.exec.deviceId配置项。
函数原型
device_id(device_id)
参数说明
调用示例
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.device_id = 0
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无
sync_kv_timeout
函数功能
配置pull_cache、pull_blocks、push_blocks、push_cache接口的超时时间,对应底层llm.SyncKvCacheWaitTime配置项。
sync_kv_timeout(sync_kv_timeout)
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.sync_kv_timeout = 1000
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无
ge_options
配置额外的GE配置项。
ge_options(ge_options)
|
其中ge.flowGraphMemMaxSize比较重要,表示所有KV cache占用的最大内存,如果设置的过大,会压缩模型的可用内存,需根据实际情况指定。 |
from llm_datadist import LLMConfig
ge_options = {
"ge.flowGraphMemMaxSize": "4106127360"
}
llm_config = LLMConfig()
llm_config.ge_options = ge_options
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无
listen_ip_info
设置集群侦听信息,对应底层llm.listenIpInfo配置项。
listen_ip_info(listen_ip_info)
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.listen_ip_info = "192.168.1.1:26000"
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无
enable_cache_manager
配置是否开启CacheManager模式,对应底层llm.EnableCacheManager配置项。
enable_cache_manager(self, enable_cache_manager: bool)
|
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.enable_cache_manager = True
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
约束说明
无
enable_remote_cache_accessible
配置是否开启远端Cache可直接访问功能。
开启该Option后,会在本地缓存远端Cache元数据(索引,内存地址等),从而加速Pull流程。但也会引入相关约束,详见“约束说明”。
enable_remote_cache_accessible(self, enable_remote_cache_accessible: bool)
不开启该option时,Atlas A3 训练系列产品/Atlas A3 推理系列产品仅支持RDMA传输协议。建议开启该option,以支持更多类型的传输协议。 |
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.enable_remote_cache_accessible = True
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
索引的更新只在第一次Pull时触发,对端在第一次Pull之后的Cache操作对本端不可见。用户需要保证Cache的有效性。所以该Option更适用于PA的场景,因为该场景下Cache只会在用户脚本初始化阶段分配/注册,而不会频繁改变。
rdma_traffic_class
用于配置RDMA网卡的traffic class。
rdma_traffic_class(self, rdma_traffic_class: int)
用于配置RDMA网卡的traffic class。和环境变量HCCL_RDMA_TC功能,如同时配置,当前option优先级更高;未同时配置,以配置的一方为准。 |
如上表格中的环境变量请参考《环境变量参考》。
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.rdma_traffic_class = 100
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无。
rdma_service_level
用于配置RDMA网卡的service level。
rdma_service_level(self, rdma_service_level: int)
用于配置RDMA网卡的service level。和环境变量HCCL_RDMA_SL功能相同,如同时配置,当前option优先级更高;未同时配置,以配置的一方为准。 |
如上表格中的环境变量请参考《环境变量参考》。
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.rdma_service_level = 2
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无。
local_comm_res
用于配置本地通信资源。
local_comm_res(local_comm_res)
如上表格中ranktable具体信息请参见《HCCL集合通信库用户指南》。
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.local_comm_res = '''{
"status": "completed",
"version": "1.0",
"server_list": [
{
"server_id": "node_0",
"device": [
{
"device_id": "0",
"device_ip": "x.x.x.x"
}
]
}
]
}'''
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
配置了该option后,存在如下约束。
- 调用link_clusters或unlink_clusters时,如果local_comm_res不为空,则不需要配置“clusters”参数中的“append_local_ip_info”信息。如果local_comm_res为空,则需要配置“clusters”参数中的“append_local_ip_info”信息。
- 当前不支持enable_cache_manager和enable_remote_cache_accessible配置为“False”的场景。
link_total_time
用于配置HCCL建链失败的总超时时间。
link_total_time(self, link_total_time: int)
用于配置HCCL的建链超时时间,单位是秒,在总超时时间内会根据重试次数来进行重试。 取值范围为[0, 2^32-1], 默认值为0,可不配置,不配置自动传入0;传入0后会自行读取HCCL_CONNECT_TIMEOUT环境变量,默认120s。 |
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.link_total_time = 20
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无。
link_retry_count
用于配置HCCL建链失败的重试次数。
link_retry_count(link_retry_count)
from llm_datadist import LLMConfig
llm_config = LLMConfig()
llm_config.link_retry_count = 2
正常情况下无返回值。
参数错误可能抛出TypeError或ValueError。
无