更新时间:2025-06-19 GMT+08:00
分享

EMS存储初始化

功能说明

Ems是访问EMS服务的Python客户端,它为调用者提供一系列与EMS服务进行交互的接口,提供EMS内存池健康检查等能力,以及ContextCaching等存储功能。

方法定义

init(config)

构造函数参数描述

参数名称

参数类型

是否必选

描述

config

表1

必选

参数解释

EMS存储SDK初始化配置。

约束限制:

不能为None

取值范围

默认取值:

表1 EmsConfig

参数名称

参数类型

是否必选

描述

cc_config

表2 CcConfig

可选

参数解释:

用于初始化Context Caching的配置。

约束限制:

取值范围

默认取值:

None,表示不使用Context Caching功能。

表2 CcConfig

参数名称

参数类型

是否必选

描述

rank_id

int

参数解释

当前计算进程,使用加速卡的全局rank ID。

约束限制:

  • rank ID实例内唯一。

取值范围:

[0,当前实例rank个数)

默认取值

device_id

int

参数解释

当前计算进程,使用加速卡的本地节点rank ID。

约束限制:

  • 节点内唯一。

取值范围:

[0,当前实例本节点内rank个数)

默认取值

model_id

string

参数解释:

唯一标识当前实例使用的推理模型ID。

约束限制

  • model_id创建规则:1~512个字符,支持数字、小写字母、“.”、“-”、“_”。
  • 需要保证全局唯一。

取值范围:

默认取值

tp_world_size

int

参数解释:

实例TP并行度。

约束限制

必须为数字。

取值范围

[1,当前实例rank个数)

默认取值:

1。

pp_world_size

int

参数解释:

实例PP并行度。

约束限制

必须为数字。

取值范围

[1,当前实例rank个数)。

默认取值:

1。

  • 如果初始化参数校验失败或者因与EMS内存池连接失败,可以参考异常处理示例捕获异常,避免阻塞推理服务启动;同时根据异常信息,初步分析原因并联系EMS工程师。

代码样例

  • 初始化Ems,示例为支持ContextCaching对象初始化:
    # 引入模块
    import os
    from ems import Ems, EmsConfig, EmsException, CcConfig
    
    # 初始化cc配置
    cc_config = CcConfig(rank_id=8, device_id=0, model_id="llama2-13b")
    
    # 初始化Ems
    config = EmsConfig(cc_config=cc_config)
    try:
        Ems.init(config)
    except EmsException as e:
        print(f"exception: {e}.")
  • 一个进程中只会初始化一次Ems,以及Context Caching对象。

相关文档