手动配比调优操作步骤如下所示。
"ModelDeployConfig": { "maxSeqLen" : 9728, "maxInputTokenLen" : 8704, "truncation" : false, "ModelConfig" : [ { "modelInstanceType": "Standard", "modelName" : "llama3_8b", "modelWeightPath" : "/home/data/llama3-8B", "worldSize" : 1, "cpuMemSize" : 40, "npuMemSize" : 11, "backendType": "atb" } ] }, "ScheduleConfig": { "templateType": "Standard", "templateName" : "Standard_LLM", "cacheBlockSize" : 128, "maxPrefillBatchSize" : 1, "maxPrefillTokens" : 9728, "prefillTimeMsPerReq" : 1000, "prefillPolicyType" : 0, "decodeTimeMsPerReq" : 50, "decodePolicyType" : 0, "maxBatchSize" :50, "maxIterTimes" : 1024, "maxPreemptCount" : 0, "supportSelectBatch" : false, "maxQueueDelayMicroseconds" : 5000 }
benchmark \ --DatasetPath "/{数据集路径}/GSM8K" \ //数据集路径 --DatasetType "gsm8k" \ //数据集类型 --ModelName LLaMa3-8B \ //模型名称 --ModelPath "/{模型路径}/LLaMa3-8B" \ //模型路径 --TestType client \ //模式选择 --Http https://{ipAddress}:{port} \ //请求url --ManagementHttp https://{managementIpAddress}:{managementPort} \ //管理面url --Concurrency 1000 \ //并发数 --RequestRate 5 //请求频率 --TaskKind stream \ //Client不同推理模式,此处为文本流式推理 --Tokenizer True \ //分词向量化标识 --MaxOutputLen 512 //最大输出长度
手动调整PD配比需要配置Controller配置文件中的两个参数“default_p_rate”和“default_d_rate”,如果要配置PD配比为2:3,那么相应的“default_p_rate”和“default_d_rate”参数配置如下所示。
首token时延约束1000ms,Decode时延约束50ms的情况下,调优后两者比较理想的数值如下图所示,更多手动PD配比调优示例如表1所示。
模型 |
数据类型 |
平均输入长度 |
平均输出长度 |
首token时延约束 |
Decode时延约束 |
初始配比 |
示例调优后配比 |
---|---|---|---|---|---|---|---|
llama3-8b |
short |
258 |
59 |
500 |
50 |
1:1 |
2:3 |
medium1 |
1995 |
369 |
1000 |
50 |
1:1 |
2:3 |
|
medium2 |
957 |
114 |
500 |
50 |
1:1 |
1:3 |
|
long |
6813 |
932 |
3000 |
50 |
1:1 |
1:5 |
|
llama3-70b |
short |
258 |
59 |
500 |
50 |
1:1 |
1:2 |
medium1 |
1995 |
369 |
1000 |
50 |
1:1 |
1:2 |
|
medium2 |
957 |
114 |
500 |
50 |
1:1 |
1:2 |
|
long |
6813 |
932 |
3000 |
50 |
1:1 |
1:2 |