配置说明

启动配置文件(ms_controller.json)

ms_controller.json配置文件样例如下所示,参数解释请参见ms_controller.json配置文件参数解释,用户可根据具体场景进行配置。

{
  "deploy_mode": "pd_separate",
  "process_manager" : {
    "to_file": true,
    "file_path": "./logs/controller_process_status.json"
  },
  "cluster_status" : {
    "to_file": true,
    "file_path": "./logs/cluster_status_output.json"
  },
  "global_rank_table_file_path": "./conf/global_rank_table_file.json",
  "cluster_synchronization_seconds": 1,
  "rank_table_detecting_seconds": 60,
  "disappeared_server_waiting_seconds": 120,
  "default_p_rate": 0,
  "default_d_rate": 0,
  "is_heterogeneous": false,
  "server_online_attempt_times": 60,
  "server_online_wait_seconds": 5,
  "init_role_attempt_times": 2,
  "check_role_attempt_times": 60,
  "check_role_wait_seconds": 5,
  "mindie_server_control_port": 1026,
  "mindie_server_port": 1025,
  "mindie_ms_coordinator_port": 1026,
  "mindie_server_metric_port": 1027,
  "http_timeout_seconds": 20,
  "http_retries": 3,
  "role_decision_methods": "digs",
  "digs_request_summary_input_length": 3000,
  "digs_request_summary_output_length": 200,
  "digs_model_config_path":"./conf/model_config/llama2-70B.json",
  "digs_machine_config_path":"./conf/machine_config/800IA2.json",
  "digs_prefill_slo": 1000,
  "digs_decode_slo": 50,
  "model_type": "llama2-70B",
  "transfer_type": "D2DTransfer",
  "digs_pp": 1,
  "http_server": {
    "ip" : "127.0.0.1",
    "port": 1026
  },
  "tls_config": {
    "request_coordinator_tls_enable": true,
    "request_coordinator_tls_items": {
      "ca_cert" : "./security/request_coordinator/security/certs/ca.pem",
      "tls_cert": "./security/request_coordinator/security/certs/cert.pem",
      "tls_key": "./security/request_coordinator/security/keys/cert.key.pem",
      "tls_passwd": "./security/request_coordinator/security/pass/key_pwd.txt",
      "kmc_ksf_master": "./security/request_coordinator/tools/pmt/master/ksfa",
      "kmc_ksf_standby": "./security/request_coordinator/tools/pmt/standby/ksfb",
      "tls_crl": ""
    },
    "request_server_tls_enable": true,
    "request_server_tls_items": {
      "ca_cert" : "./security/request_server/security/certs/ca.pem",
      "tls_cert": "./security/request_server/security/certs/cert.pem",
      "tls_key": "./security/request_server/security/keys/cert.key.pem",
      "tls_passwd": "./security/request_server/security/pass/key_pwd.txt",
      "kmc_ksf_master": "./security/request_server/tools/pmt/master/ksfa",
      "kmc_ksf_standby": "./security/request_server/tools/pmt/standby/ksfb",
      "tls_crl": ""
    },
    "http_server_tls_enable": true,
    "http_server_tls_items": {
      "ca_cert" : "./security/http_server/security/certs/ca.pem",
      "tls_cert": "./security/http_server/security/certs/cert.pem",
      "tls_key": "./security/http_server/security/keys/cert.key.pem",
      "tls_passwd": "./security/http_server/security/pass/key_pwd.txt",
      "kmc_ksf_master": "./security/http_server/tools/pmt/master/ksfa",
      "kmc_ksf_standby": "./security/http_server/tools/pmt/standby/ksfb",
      "tls_crl": ""
    }
  },
  "log_info": {
    "log_level": "INFO",
    "to_file": true,
    "to_stdout": true,
    "run_log_path": "./logs/ms_controller_run_log.txt",
    "operation_log_path": "./logs/ms_controller_operation_log.txt",
    "max_log_str_size": 4096,
    "max_log_file_size": 20,
    "max_log_file_num": 10
  }
}

ms_controller.json配置文件参数解释

ms_controller.json配置文件中各个字段解释如表1所示,用户可根据具体场景进行配置。

表1 参数说明

参数名称

取值范围

配置说明

deploy_mode

  • pd_separate:PD分离部署;
  • single_node:无身份部署。

部署模式。

必填;默认值为pd_separate。

process_manager:进程状态备份功能

to_file

  • true:开启。
  • false:关闭。

必填;默认值为true。

是否开启进程状态备份功能。

如果开启,会在程序启动时,自动加载进程状态备份文件。在程序运行的过程中,自动生成进程状态备份文件。备份文件详情请参见表2

file_path

-

开启to_file开关时必填。

进程状态备份文件路径,用户不能创建文件,只能填写路径,要求该文件所在的路径为真实存在且可读的持久化路径,运行时会自动创建文件。如果进程文件保存在容器中的临时路径,在controller容器重启后,将发生文件丢失,需要重启整个集群才能恢复正常服务。

如果修改身份决策的相关配置,则需要删除进程状态备份文件,重启整个集群,否则将继承历史的身份决策结果。

cluster_status:集群服务状态导出功能

to_file

  • true:开启。
  • false:关闭。

必填;默认值为true。

是否开启集群服务状态导出功能。

如果开启,在程序运行的过程中会输出集群状态至文件。集群服务状态输出文件详情请参见表3

file_path

-

开启to_file开关时必填。

集群状态导出文件路径,要求该文件所在的路径真实存在且可读,运行时会自动创建文件。

global_rank_table_file_path

-

必填。

全局集群信息表路径,要求该文件真实存在且可读。

如设置环境变量GLOBAL_RANK_TABLE_FILE_PATH,则优先读取环境变量的值。

说明:

全局集群信息表是Controller监控集群状态、管理Server节点的信息源。需要保证文件的安全性和内容的正确性。

cluster_synchronization_seconds

[1,65535],单位为秒。

必填;默认值为1秒。

同步集群信息的时间周期。

rank_table_detecting_seconds

[1,65535],单位为秒。

必填;默认值为60秒。

读取集群信息表的周期。

disappeared_server_waiting_seconds

[1,65535],单位为秒。

必填;默认值为120秒。

全局集群信息表中,删除Server的等待时间,到此时间时Server将会被移除。

default_p_rate

[0,15]

必填;默认值为0。

PD分离部署模式下,P所占的比例。

  • 0:表示自动决策最佳比例,default_d_rate需要同时为0;
  • 非0:表示指定P的比例,default_d_rate需要同时非0,且default_p_rate和default_d_rate的和小于等于16。

如设置环境变量MINDIE_MS_P_RATE,则优先读取环境变量的值。

default_d_rate

[0,15]

必填;默认值为0。

PD分离部署模式下,D所占的比例。

  • 0:表示自动决策最佳比例,default_p_rate需要同时为0;
  • 非0:表示指定D的比例,default_p_rate需要同时非0,且default_d_rate和default_p_rate的和小于等于16。

如设置环境变量MINDIE_MS_D_RATE,则优先读取环境变量的值。

is_heterogeneous

  • false:表示同构场景;即Server在不同硬件设备上随机指定PD身份。
  • true:表示异构场景;即支持指定Atlas 800I A2 推理产品(32G)为P节点,指定Atlas 800I A2 推理产品(64G)为D节点。

必填;默认值为false。

是否为异构场景,异构场景需要同步修改集群信息表,增加hardware_type字段。

说明:

异构场景下,P节点hardware-type标签必须为"800I A2(32G)",D节点hardware-type标签必须为"800I A2(64G)"。

server_online_attempt_times

[1,65535]

必填;默认值为60。

集群初始化时,Server节点上线状态的检查次数

server_online_wait_seconds

[1,65535],单位为秒。

必填;默认值为5。

集群初始化时,Server节点上线状态的检查间隔

init_role_attempt_times

[1,65535]

必填;默认值为2。

Server身份初始化时的重试次数,只有当检查到身份为Unkonwn才会触发重新下发身份的操作。

check_role_attempt_times

[1,65535]

必填;默认值为60。

Server身份初始化的检查次数。

check_role_wait_seconds

[1,65535],单位为秒。

必填;默认值为5秒。

Server身份初始化的检查间隔。

mindie_server_control_port

[1024,65535]

必填;默认值为1026。

MindIE Server的管理端口。

mindie_server_port

[1024,65535]

必填;默认值为1025。

MindIE Server的数据端口。

mindie_server_metric_port

[1024,65535]

必填;默认值为1027。

MindIE Server的metrics端口。

mindie_ms_coordinator_port

[1024,65535]

必填;默认值为1026。

MindIE Coordinator的管理端口。

http_timeout_seconds

[1,65535],单位为秒。

必填;默认值为20秒。

通信超时时间。

http_retries

[0,65535]

必填;默认值为3。

通信异常重试次数。

role_decision_methods

digs

必填;默认值为digs。

PD身份决策算法;目前仅支持digs。

digs_request_summary_input_length

[1,65535]

必填;默认值为3000。

推理请求的平均输入长度。

确定模型及设备配置后,此参数和digs_request_summary_output_length是影响PD最佳比例计算的主要参数。

  • 推理请求为长输入短输出时,P实例的个数多于D实例的个数;
  • 推理请求为短输入长输出时,D实例的个数多于P实例的个数。

digs_request_summary_output_length

[1,65535]

必填;默认值为200。

推理请求的平均输出长度。

确定模型及设备配置后,此参数和digs_request_summary_input_length是影响PD最佳比例计算的主要参数。

  • 推理请求为长输入短输出时,P实例的个数多于D实例的个数;
  • 推理请求为短输入长输出时,D实例的个数多于P实例的个数。

digs_model_config_path

-

必填;默认值为llama2-70B模型的配置文件路径。

身份决策算法需要使用的模型参数信息,要求该文件真实存在且可读,格式参考模型配置文件描述。

digs_machine_config_path

-

必填;默认值为Atlas 800I A2 推理产品的硬件参数文件路径。

身份决策算法需要使用的机器参数信息,要求该文件真实存在且可读,格式参考硬件设备文件描述。

digs_prefill_slo

[1,65535]

必填;默认值为1000。

Prefill速率。

digs_decode_slo

[1,65535]

必填;默认值为50。

Decode速率。

model_type

-

必填;默认值为llama2-70B。

推理模型的名称。

transfer_type

D2DTransfer

必填;默认值为D2DTransfer。

传输类型。

digs_pp

[1,65535]

必填;默认值为1。

任务并行数。

http_serverMindIE MS Controller HTTP服务端配置

ip

-

必填;默认值为127.0.0.1。

MindIE MS服务端IP,用于健康检查。

如设置环境变量POD_IP,则优先读取环境变量的值。

port

[1024,65535]

必填;默认值为1026。

MindIE MS服务端端口,用于健康检查。

request_coordinator_tls_enable

  • true:开启。
  • false:关闭。

必填;默认值为true。

是否开启与MindIE MS Coordinator通信接口的tls安全认证。建议用户开启,确保与MindIE MS Coordinator的通信安全。如果关闭则存在较高的网络安全风险。

request_coordinator_tls_itemsMindIE MS Coordinator HTTP客户端的证书相关配置

ca_cert

-

开启tls时必填。

MindIE MS Coordinator HTTP客户端ca根证书文件路径,要求该文件真实存在且可读。

tls_cert

-

开启tls时必填。

MindIE MS Coordinator HTTP客户端tls证书文件路径,要求该文件真实存在且可读。

tls_key

-

开启tls时必填。

MindIE MS Coordinator HTTP客户端tls私钥文件路径,要求该文件真实存在且可读。

tls_passwd

-

开启tls时必填。

MindIE MS Coordinator HTTP客户端的KMC加密的私钥口令的文件路径,要求该文件真实存在且可读。

kmc_ksf_master

-

开启tls时必填。

MindIE MS Coordinator HTTP客户端加密口令的KMC密钥库文件,要求该文件真实存在且可读。

kmc_ksf_standby

-

开启tls时必填。

MindIE MS Coordinator HTTP客户端加密口令的KMC standby密钥库备份文件,要求该文件真实存在且可读。

tls_crl

-

开启tls时必填。

MindIE MS Coordinator HTTP客户端校验证书吊销列表crl文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。

request_server_tls_enable

  • true:开启。
  • false:关闭。

必填。默认值为true。

是否开启与MindIE Server 通信接口的tls安全认证。建议用户开启,确保与MindIE Server的通信安全。如果关闭则存在较高的网络安全风险。

request_server_tls_items:MindIE Server HTTP客户端的证书相关配置

ca_cert

-

开启tls时必填。

MindIE Server HTTP客户端ca根证书文件路径,要求该文件真实存在且可读。

tls_cert

-

开启tls时必填。

MindIE Server HTTP客户端tls证书文件路径,要求该文件真实存在且可读。

tls_key

-

开启tls时必填。

MindIE Server HTTP客户端tls私钥文件路径,要求该文件真实存在且可读。

tls_passwd

-

开启tls时必填。

MindIE Server HTTP客户端的KMC加密的私钥口令的文件路径,要求该文件真实存在且可读。

kmc_ksf_master

-

开启tls时必填。

MindIE Server HTTP客户端加密口令的KMC密钥库文件,要求该文件真实存在且可读。

kmc_ksf_standby

-

开启tls时必填。

MindIE Server HTTP客户端加密口令的KMC standby密钥库备份文件,要求该文件真实存在且可读。

tls_crl

-

开启tls时必填。

MindIE Server HTTP客户端校验证书吊销列表crl文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。

http_server_tls_enable

  • true:开启。
  • false:关闭。

必填。默认值为true。

是否开启MindIE MS Controller HTTP服务端tls。建议用户开启,确保MindIE MS Controller与客户端之间的通信安全。如果关闭则存在较高的网络安全风险。

http_server_tls_items属性:MindIE MS Controller HTTP服务端的证书相关配置

ca_cert

-

开启tls时必填。

MindIE MS Controller HTTP服务端ca根证书文件路径,要求该文件真实存在且可读。

tls_cert

-

开启tls时必填。

MindIE MS Controller HTTP 服务端tls证书文件路径,要求该文件真实存在且可读。

tls_key

-

开启tls时必填。

MindIE MS Controller HTTP 服务端tls私钥文件路径,要求该文件真实存在且可读。

tls_passwd

-

开启tls时必填。

MindIE MS Controller HTTP 服务端的KMC加密的私钥口令的文件路径,要求该文件真实存在且可读。

kmc_ksf_master

-

开启tls时必填。

MindIE MS Controller HTTP 服务端加密口令的KMC密钥库文件,要求该文件真实存在且可读。

kmc_ksf_standby

-

开启tls时必填。

MindIE MS Controller HTTP 服务端加密口令的KMC standby密钥库备份文件,要求该文件真实存在且可读。

tls_crl

-

开启tls时必填。

MindIE MS Controller HTTP 服务端校验客户端的证书吊销列表crl文件路径,要求该文件真实存在且可读。如为空,则不进行吊销校验。

log_info:日志功能

log_level

  • CRITICAL
  • ERROR
  • WARNING
  • INFO
  • DEBUG

必填;默认值为INFO。

设置日志级别。

如设置环境变量MINDIEMS_LOG_LEVEL或者MINDIE_LOG_LEVEL,则优先读取环境变量的值。

to_file

  • true:输出到文件。
  • false:不输出到文件。

必填;默认值为true。

是否输出到文件。

如设置环境变量MINDIE_LOG_TO_FILE,则优先读取环境变量的值。

to_stdout

  • true:输出到标准输出流。
  • false:不输出到标准输出流。

必填;默认值为true。

是否输出到标准输出流。

如设置环境变量MINDIE_LOG_TO_STDOUT,则优先读取环境变量的值。

run_log_path

-

必填;当to_file为true时生效。

运行日志路径,要求该文件所在的路径真实存在且可读,运行时会自动创建文件。

operation_log_path

-

必填;当to_file为true时生效。

审计日志路径,要求该文件所在的路径真实存在且可读,运行时会自动创建文件。

max_log_str_size

[1,65535]

必填;默认值为4096

单条日志最大长度。

max_log_file_size

[1,100],单位MB。

必填;默认值为20,当to_file为true时生效。

单个日志文件存储上限。

max_log_file_num

[2,64]

必填;默认值为10,当to_file为true时生效。

最大日志文件存储数量。

进程备份文件

支持持久化保存业务数据文件,通过ms_controller.json配置文件指定路径信息,进程备份文件的更新周期与同步集群状态的周期一致。进程备份文件包含Server是否为故障节点、Server的身份、所属组ID、资源总量和PD分离部署模式下Server节点是否已经完成身份下发等信息。
  • 在集群初始化阶段,如果超过Server节点上线状态的检查总时间,Server节点的静态配置采集接口或者动态状态采集接口仍然返回非200,则认为Server节点上线失败,为故障节点。
  • 在集群初始化阶段,如果Server节点指定身份接口请求失败,则认为身份下发失败。如果身份下发成功,但是Server节点在身份初始化检查总时间内一直切换失败,则认为Server节点为故障节点。可能有以下两种场景:
    • Server节点被指定为P节点,超过身份初始化的检查总时间,仍然为RoleUnknown或者RoleSwitching状态。
    • Server节点被指定为D节点,超过身份初始化的检查总时间,仍然为RoleUnknown状态或者该D节点和全部的P节点建链失败。

进程备份文件样例如下所示,参数解释请参见表2所示。

{
  "server": [
    {
      "delete_time": 0,
      "id": xx,
      "ip": "xx.xx.xx.1",
      "is_faulty": false,
      "is_initialized": true,
      "peers": [
        xx,
      ],
      "static_info": {
        "group_id": 0,
        "label": 2,
        "role": 80,
        "total_block_num": 320,
        "total_slots_num": 200
      }
    },
    {
      "delete_time": 0,
      "id": xx,
      "ip": "xx.xx.xx.2",
      "is_faulty": false,
      "is_initialized": true,
      "peers": [
        xx
      ],
      "static_info": {
        "group_id": 0,
        "label": 3,
        "role": 68,
        "total_block_num": 320,
        "total_slots_num": 200
      }
    }
  ]
}
表2 进程备份文件参数解释

参数

类型

描述

delete_time

int64_t

Server节点在ranktable中的删除时间。

id

uint64_t

Server节点的IP地址转换得到的唯一ID。

ip

string

Server节点的IP地址。

is_faulty

bool

Server节点是否为故障节点。

is_initialized

bool

Server节点是否已经完成身份下发。

无身份部署模式下,此字段永远为false。

peers

size_t数组

Server节点需要连接的其他节点ID。

  • 当前节点为P节点,则表示需要与该P节点连接的D节点ID。
  • 当前节点为D节点,则表示需要与该D节点连接的P节点ID。

static_info属性

group_id

uint64_t

Server节点所在的GroupID。

label

枚举类型

Server节点的标签类型:

  • 0:表示倾向于作为Prefill实例。
  • 1:表示倾向于作为Decode实例。
  • 2:表示只允许作为Prefill实例。
  • 3:表示只允许作为Decode实例。

当前版本仅支持2和3标签。

role

枚举类型

Server节点的身份:

  • 85:表示角色未知。
  • 80:表示该Server节点为P节点。
  • 68:表示该Server节点为D节点。

total_block_num

size_t

Server节点的block总量。

total_slots_num

size_t

Server节点的slot总量。

集群服务状态输出文件

集群状态输出文件主要包含以下内容:

集群服务状态输出文件样例如下所示,参数解释请参见表3所示。
{
  "coordinator": [
    {
      "ip": "xx.xx.xx.xx",
      "is_healthy": true
    }
  ],
  "server": [
    {
      "delete_time": 0,
      "dynamic_info": {
        "avail_block_num": 320,
        "avail_slots_num": 200
      },
      "ip": "xx.xx.xx.1",
      "is_faulty": false,
      "is_healthy": true,
      "model_name": "llama3-8b",
      "peers": [
        "xx.xx.xx.2",
      ],
      "static_info": {
        "block_size": 128,
        "group_id": 1,
        "label": 2,
        "max_output_len": 512,
        "max_seq_len": 2560,
        "role": 80,
        "total_block_num": 320,
        "total_slots_num": 200
      }
    },
    {
      "delete_time": 0,
      "dynamic_info": {
        "avail_block_num": 244,
        "avail_slots_num": 181
      },
      "ip": "xx.xx.xx.2",
      "is_faulty": false,
      "is_healthy": true,
      "model_name": "llama3-8b",
      "peers": [
        "xx.xx.xx.1"
      ],
      "static_info": {
        "block_size": 128,
        "group_id": 1,
        "label": 3,
        "max_output_len": 512,
        "max_seq_len": 2560,
        "role": 68,
        "total_block_num": 320,
        "total_slots_num": 200
      }
    },
    {
      "delete_time": 0,
      "dynamic_info": {
        "avail_block_num": 0,
        "avail_slots_num": 200
      },
      "ip": "xx.xx.xx.3",
      "is_faulty": true,
      "is_healthy": false,
      "model_name": "llama3-8b",
      "peers": [
        "xx.xx.xx.4"
      ],
      "static_info": {
        "block_size": 128,
        "group_id": 0,
        "label": 2,
        "max_output_len": 512,
        "max_seq_len": 2560,
        "role": 80,
        "total_block_num": 1024,
        "total_slots_num": 200
      }
    },
    {
      "delete_time": 0,
      "dynamic_info": {
        "avail_block_num": 0,
        "avail_slots_num": 200
      },
      "ip": "xx.xx.xx.4",
      "is_faulty": true,
      "is_healthy": true,
      "model_name": "llama3-8b",
      "peers": [
        "xx.xx.xx.3"
      ],
      "static_info": {
        "block_size": 128,
        "group_id": 0,
        "label": 3,
        "max_output_len": 512,
        "max_seq_len": 2560,
        "role": 68,
        "total_block_num": 1024,
        "total_slots_num": 200
      }
    }
  ]
}
表3 集群服务状态输出文件参数解释

参数

类型

描述

Coordinator信息

ip

string

Coordinator节点的IP地址。

is_healthy

bool

Coordinator节点的健康状态。

  • true:表示健康,Controller与该Coordinator通信正常。
  • false:表示非健康,Coordinator与该Coordinator通信正常。

Server信息

delete_time

int64_t

Server节点在ranktable中的删除时间。

dynamic_info属性

avail_block_num

size_t

Server节点的可用block数量。

avail_slots_num

size_t

Server节点的可用slot数量。

ip

string

Server节点的IP地址。

is_faulty

bool

是否为故障节点。

is_healthy

bool

是否为健康节点。

当节点为故障节点时,此字段仅表示Controller与该Server的最后一次通信是否成功。

model_name

string

推理使用的模型。

peers

string数组

Server节点需要连接的其他节点。

  • 当前节点为P节点,则表示需要与该P节点连接的D节点。
  • 当前节点为D节点,则表示需要与该D节点连接的P节点。

static_info属性

block_size

size_t

KV Cache block的size大小。

group_id

uint64_t

Server节点所在的GroupID。

label

枚举类型

Server节点的标签类型:

  • 0,表示倾向于作为Prefill实例。
  • 1,表示倾向于作为Decode实例。
  • 2,表示只允许作为Prefill实例。
  • 3,表示只允许作为Decode实例。

当前版本仅支持2和3标签。

max_output_len

size_t

最大输出长度。

max_seq_len

size_t

最大序列长度。

role

枚举类型

Server节点的身份:

  • 85,表示角色未知。
  • 80,表示该Server节点为P节点。
  • 68,表示该Server节点为D节点。

total_block_num

size_t

Server节点的block总量。

total_slots_num

size_t

Server节点的slot总量。

环境变量

当前支持的环境变量如下所示。

表4 Controller支持的环境变量

环境变量名称

含义

MINDIE_MS_CONTROLLER_CONFIG_FILE_PATH

ms_controller配置文件的读取路径。

GLOBAL_RANK_TABLE_FILE_PATH

集群信息文件的读取路径。集群信息文件请参见9中的global_ranktable.json文件。

环境变量的优先级高于ms_controller配置文件的global_rank_table_file_path属性。

POD_IP

ms_controller所在Pod的IP。

环境变量的优先级高于ms_controller配置文件的http_server.ip属性。

MINDIE_MS_P_RATE

PD分离部署模式下,P的比例。

  • 0:表示自动进行决策最佳比例,D的比例需要同时为0;
  • 非0:表示指定P的比例,D的比例需要同时非0。

环境变量的优先级高于ms_controller配置文件的default_p_rate属性。

MINDIE_MS_D_RATE

PD分离部署模式下,D的比例。

  • 0:表示自动进行决策最佳比例,P的比例需要同时为0;
  • 非0:表示指定D的比例,P的比例需要同时非0。

环境变量的优先级高于ms_controller配置文件的default_d_rate属性。

MINDIEMS_LOG_LEVEL

用户可动态设置Controller输出的日志等级。

默认值为空,环境变量的优先级高于表1中log_level参数。日志级别如下所示:

  • CRITICAL
  • ERROR
  • WARNING
  • INFO
  • DEBUG
说明:
  • 优先使用MINDIE_LOG_LEVEL设置日志等级,当前保留MINDIEMS_LOG_LEVEL是为了兼容旧版本配置方式。
  • 若MINDIE_LOG_LEVEL设置为空则使用MINDIEMS_LOG_LEVEL。

MINDIE_LOG_LEVEL

默认值为空。统一设置MindIE各组件日志级别。优先级高于MINDIEMS_LOG_LEVEL环境变量,如果设置环境变量,将覆盖json配置文件中log_level参数。参阅9.3.5日志配置。

MINDIE_LOG_TO_FILE

默认值为空。统一设置MindIE各组件日志是否写入文件。如果设置环境变量,将覆盖json配置文件中to_file参数。详情请参见日志配置

MINDIE_LOG_TO_STDOUT

默认值为空。统一设置MindIE各组件日志是否打屏。如果设置环境变量,将覆盖json配置文件中to_stdout参数。详情请参见日志配置

MINDIE_LOG_VERBOSE

默认值为空。统一设置MindIE各组件日志中是否加入可选日志内容。当前完整调试日志格式:[date time] ([pid] [tid] [组件名称] [大写日志级别] [file:line]) : [error code] [子组件名称] log message,小括号()内为可选内容,环境变量设置为开启时会加入可选内容。详情请参见日志配置

MINDIE_CHECK_INPUTFILES_PERMISSION

用户可设置是否需要检查外部挂载文件,具体包括ms_controller.json, rank_table.json以及证书相关文件。默认值为空,表示需要做权限校验。

  • 0:对外部挂载文件不做权限校验。
  • 非0:对外部挂载文件做权限校验。

说明:当用户使用MINDIE_MS_CONTROLLER_CONFIG_FILE_PATH设置配置文件路径时,ms_controller.json为外部挂载文件。

模型配置文件

模型配置文件信息如下所示。

表5 模型配置文件

参数名称

含义

类型

默认值

有效值

hidden_size

隐藏层的特征维度。

  • string
  • int
  • double

8129

[0.000001, 2147483647.000000]

initializer_range

权重参数初始化的范围。

  • string
  • int
  • double

0.02

[0.000001, 2147483647.000000]

intermediate_size

FFN隐藏层大小。

  • string
  • int
  • double

28672

[0.000001, 2147483647.000000]

max_position_embeddings

最大位置嵌入数量。

  • string
  • int
  • double

4096

[0.000001, 2147483647.000000]

num_attention_heads

attention头数量。

  • string
  • int
  • double

64

[0.000001, 2147483647.000000]

num_hidden_layers

隐藏层数。

  • string
  • int
  • double

80

[0.000001, 2147483647.000000]

num_key_value_heads

kv头数量。

  • string
  • int
  • double

8

[0.000001, 2147483647.000000]

torch_dtype

PyTorch所用数据类型。

string

float16

  • float16
  • bfloat16

硬件设备信息文件

硬件设备信息文件信息如下所示。

表6 硬件设备信息文件

参数名称

含义

类型

配置值

有效值

BW_GB

节点内卡间通信带宽。

  • string
  • int
  • double

392

[0.000001, 2147483647.000000]

BW_RDMA_Gb

节点间通信带宽。

  • string
  • int
  • double

200

[0.000001, 2147483647.000000]

BWeff

节点内通信带宽效率。

  • string
  • int
  • double

0.5

[0.000001, 1.000000]

TFLOPS

单卡算力。

  • string
  • int
  • double

246

[0.000001, 2147483647.000000]

TFLOPSeff

算力效率。

  • string
  • int
  • double

0.5

[0.000001, 1.000000]

MBW_TB

NPU访存带宽。

  • string
  • int
  • double

0.8

[0.000001, 2147483647.000000]

MBW_TBeff

NPU访存带宽效率。

  • string
  • int
  • double

0.3

[0.000001, 1.000000]

alpha

集合通信启动时延。

  • string
  • int
  • double

2

[0.000001, 2147483647.000000]

MEMCapacity

显存大小(GB)。

  • string
  • int
  • double

32

[0.000001, 2147483647.000000]

eta_OOM

显存OOM水线。

  • string
  • int
  • double

0.9

[0.000001, 1.000000]

staticTransferDelay

节点间通信静态时延。

  • string
  • int
  • double

0.00001

[0.000001, 2147483647.000000]

其他配置要求:

  • ms_controller运行时需要依赖对应lib目录下的so,主要涉及:libboundscheck.so、libcrypto.so.3、libhse_cryption.so、libmie_role_manager.so和libssl.so.3。
  • export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MIES_INSTALL_PATH/lib(该目录需要替换为对应依赖的so的路径)
  • 开启tls校验或者将日志写入日志文件时,需要导入以下KMC依赖的环境变量。
    export HSECEASY_PATH=$MIES_INSTALL_PATH/lib
  • 设置输出的日志等级,例如将日志等级设置为INFO。
    export MINDIE_LOG_LEVEL=INFO