配置参数说明
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | { "Version" : "1.0.0", "LogConfig" : { "logLevel" : "Info", "logFileSize" : 20, "logFileNum" : 20, "logPath" : "logs/mindservice.log" }, "BackendConfig" : { "backendName" : "mindieservice_llm_engine", "modelInstanceNumber" : 1, "npuDeviceIds" : [[0,1,2,3]], "tokenizerProcessNumber" : 8, "multiNodesInferEnabled" : true, "multiNodesInferPort" : 1120, "interNodeTLSEnabled" : false, "interNodeTlsCaPath" : "security/grpc/ca/", "interNodeTlsCaFiles" : ["ca.pem"], "interNodeTlsCert" : "security/grpc/certs/server.pem", "interNodeTlsPk" : "security/grpc/keys/server.key.pem", "interNodeTlsPkPwd" : "security/grpc/pass/mindie_server_key_pwd.txt", "interNodeTlsCrlPath" : "security/grpc/certs/", "interNodeTlsCrlFiles" : ["server_crl.pem"], "interNodeKmcKsfMaster" : "tools/pmt/master/ksfa", "interNodeKmcKsfStandby" : "tools/pmt/standby/ksfb", "ModelDeployConfig" : { "maxSeqLen" : 2560, "maxInputTokenLen" : 2048, "truncation" : false, "ModelConfig" : [ { "modelInstanceType" : "StandardMock", "modelName" : "llama_65b", "modelWeightPath" : "/home/data/Meta-Llama-3-8B/", "worldSize" : 4, "cpuMemSize" : 5, "npuMemSize" : -1, "backendType" : "ms", "trustRemoteCode" : false } ] }, "ScheduleConfig" : { "templateType" : "Standard", "templateName" : "Standard_LLM", "cacheBlockSize" : 128, "maxPrefillBatchSize" : 50, "maxPrefillTokens" : 8192, "prefillTimeMsPerReq" : 150, "prefillPolicyType" : 0, "decodeTimeMsPerReq" : 50, "decodePolicyType" : 0, "maxBatchSize" : 200, "maxIterTimes" : 512, "maxPreemptCount" : 0, "supportSelectBatch" : false, "maxQueueDelayMicroseconds" : 5000 } } } |
配置文件参数说明
配置项 |
取值类型 |
取值范围 |
配置说明 |
---|---|---|---|
Version |
std::string |
"1.0.0" |
标注配置文件版本,当前版本指定为1.0.0,不支持修改。 |
LogConfig |
map |
- |
日志相关配置。详情请参见LogConfig参数。 |
BackendConfig |
map |
- |
模型后端相关配置,包含调度、模型相关配置。详情请参见BackendConfig参数。 |
LogConfig参数
配置项 |
取值类型 |
取值范围 |
配置说明 |
---|---|---|---|
logLevel |
std::string |
|
必填,默认值:"Info"。 |
logPath |
std::string |
日志文件路径,长度<=4096。 日志路径设置限制与操作系统有关,且会受到spdlog三方库约束。因此建议配置的最大长度为1024,且符合目录规范。 |
支持绝对和相对路径。如果配置为相对路径,则代码中会取安装目录,最后拼接而成。 例如,假设MindIE Service的安装路径为“/opt/Ascend-mindie-service_{version}_linux-x86_64/”,当logPath="logs/mindservice.log",则其实际日志生成路径为:“/opt/Ascend-mindie-service_{version}_linux-x86_64/logs/mindservice.log”。 若配置路径不满足要求,则使用默认路径。 必填,默认值:"logs/mindservice.log"。 |
logFileSize |
uint32_t |
日志单个文件大小范围为:0-500。 |
日志文件大小,单位MB。 |
logFileNum |
uint32_t |
日志文件数量范围为:0-64。 |
日志文件数量。 |
BackendConfig参数
配置项 |
取值类型 |
取值范围 |
配置说明 |
---|---|---|---|
backendName |
std::string |
长度1~50,只支持小写字母和下划线。且不以下划线作为开头和结尾。 |
推理后端名称,可以通过该参数获得后端实例。 必填,目前只支持:"mindieservice_llm_engine"。 |
modelInstanceNumber |
uint32_t |
[1, 10] |
模型实例个数。 必填,默认值:1。 |
npuDeviceIds |
std::vector<std::set<size_t>> |
根据模型和环境的实际情况来决定。 |
表示启用哪几张卡。对于每个模型实例分配的npuIds,使用芯片逻辑ID表示。
必填,默认值:[[0,1,2,3]]。 |
tokenizerProcessNumber |
uint32_t |
[1, 32] |
tokenizer进程数。 必填,默认值:8。 |
multiNodesInferEnabled |
bool |
|
选填,默认值:false。 |
multiNodesInferPort |
int32_t |
[1024, 65535] |
跨机通信的端口号,多机推理场景使用。 选填,默认值:1120。 |
interNodeTLSEnabled |
bool |
|
多机推理时,跨机通信是否开启证书安全认证。
选填,默认值:true。取值为false时,忽略后续参数。 |
interNodeTlsCaPath |
std::string |
文件绝对路径长度<=4096。实际路径为工程路径+interNodeTlsCaFiles,上限与操作系统有关,最小值为1。 |
根证书路径,只支持软件包安装路径下的相对路径。 “interNodeTLSEnabled”="true"时生效,生效后必填。 默认值:"security/grpc/ca/"。 |
interNodeTlsCaFiles |
std::set<std::string> |
文件绝对路径长度<=4096。不可为空,并且interNodeTlsCaPath+interNodeTlsCaFiles路径长度上限与操作系统有关,最小值为1。 |
根证书名称列表 “interNodeTLSEnabled”="true"时生效,生效后必填。 默认值:["ca.pem"]。 |
interNodeTlsCert |
std::string |
建议文件路径长度<=4096。实际路径为工程路径+interNodeTlsCert,上限限制与操作系统有关,最小值为1。 |
服务证书文件路径,只支持软件包安装路径下的相对路径。 “interNodeTLSEnabled”="true"时生效,生效后必填。 默认值:"security/grpc/certs/server.pem"。 |
interNodeTlsPk |
std::string |
建议文件路径长度<=4096。实际路径为工程路径+interNodeTlsPk,上限限制与操作系统有关,最小值为1。 |
服务证书私钥文件路径,只支持软件包安装路径下的相对路径。 “interNodeTLSEnabled”="true"时生效,生效后必填。 默认值:"security/grpc/keys/server.key.pem"。 |
interNodeTlsPkPwd |
std::string |
建议文件路径长度<=4096。支持为空;若非空,则实际路径为工程路径+interNodeTlsPkPwd,上限限制与操作系统有关,最小值为1。 |
服务证书私钥加密密钥文件路径,只支持软件包安装路径下的相对路径。 “interNodeTLSEnabled”="true"时生效,生效后必填。 默认值:"security/grpc/pass/mindie_server_key_pwd.txt"。 |
interNodeTlsCrlPath |
std::string |
建议interNodeTlsCrlPath+interNodetlsCrlFiles路径长度<=4096。支持为空,若非空,则实际路径为工程路径+tlsCrlPath,上限限制与操作系统有关,最小值为1。 |
服务证书吊销列表文件夹路径。 “interNodeTLSEnabled”="true"时生效。 默认值:"security/grpc/certs/”。 |
interNodetlsCrlFiles |
std::set<std::string> |
建议interNodeTlsCrlPath+interNodetlsCrlFiles路径长度<=4096。支持为空,若非空,则tlsCrlPath+tlsCrlFiles路径长度上限与操作系统有关,最小值为1。 |
服务证书吊销列表名称列表。 “interNodeTLSEnabled”="true"时生效。 默认值:["server_crl.pem"] |
interNodeKmcKsfMaster |
std::string |
建议文件路径长度<=4096。实际路径为工程路径+interNodeKmcKsfMaster,上限限制与操作系统有关,最小值为1。 |
KMC密钥库文件路径,只支持软件包安装路径下的相对路径。 “interNodeTLSEnabled”="true"时生效,生效后必填。 默认值:"tools/pmt/master/ksfa"。 |
interNodeKmcKsfStandby |
std::string |
建议文件路径长度<=4096。实际路径为工程路径+interNodeKmcKsfStandby,上限限制与操作系统有关,最小值为1。 |
KMC密钥库备份文件路径,只支持软件包安装路径下的相对路径。 “interNodeTLSEnabled”="true"时生效,生效后必填。 默认值:"tools/pmt/standby/ksfb"。 |
ModelDeployConfig |
map |
- |
模型部署相关配置。详情请参见ModelDeployConfig参数。 |
ScheduleConfig |
map |
- |
调度相关配置。详情请参见ScheduleConfig参数。 |
ModelDeployConfig参数
配置项 |
取值类型 |
取值范围 |
配置说明 |
---|---|---|---|
maxSeqLen |
uint32_t |
最大值根据显存和用户需求来决定,最小值需大于0。 |
最大序列长度。用户根据自己的推理场景选择maxSeqLen。 如果maxSeqLen大于模型支持的最大序列长度,可能会影响推理精度。 必填,默认值:2560。 |
maxInputTokenLen |
uint32_t |
(1,4194304] |
输入token id的最大长度。 必填,默认值:2048。 maxInputTokenLen = min(maxInputTokenLen, maxSeqLen -1) |
truncation |
bool |
|
是否进行参数合理化校验拦截。
选填,默认值:false。 |
ModelConfig |
map |
- |
模型相关配置,包括后处理参数。详情请参见ModelConfig参数。 |