昇腾社区首页
中文
注册
开发者
下载

纯模型性能调优

由于大部分DeepSeek部署的局点,采用了相同的权重、镜像、部署策略,理论上可以复现相似的性能。

因此出现性能问题后,可以优先对环境变量、涉及性能的开关进行检查,大概率问题在此处(例如没有绑核、内核版本低、日志等级等问题)。

纯模型性能测试可使用ATB Models的ModelTest工具(其使用说明在ATB-Models安装目录/tests/modeltest/README.md)。

如果纯模型测试结果已经出现性能劣化现象,可以进行详细的Profiling性能分析 ,分析方法见模型调优深入分析(MindStudio Insight)

纯模型初步测试

纯模型测试会严格按照给定的batchsize输入对应数量的请求,并按照给定prefill batchsize将请求分成若干个prefill,先处理所有prefill,再将所有请求组成同一个decode batch完成decode推理。

对于基线未覆盖的测试场景,特别是有TTFT或TPOT时延要求的场景,可以参考如下步骤进行纯模型测试。

  1. 调整decode_batchsize和prefill_batchsize,找到满足要求的配置,如表1所示。
    表1 配置说明

    配置

    说明

    不限时延基线吞吐

    调大decode_batchsize至OOM。(或选取增速放缓的batchsize)

    限制TPOT,不限制TTFT

    调整decode_batchsize至decode_token_time刚好满足TPOT限制。

    限制TPOT和TTFT

    调整decode_batchsize至decode_token_time刚好满足TPOT限制。

    爬坡测试(限制request rate)

    令prefill_time/(decode_batchsize//prefill_batchsize)接近TTFT限制。

    固定并发(不限制request rate)

    设置prefill_batchsize=dp, 调小decode_batchsize直至prefill_time/2接近平均TTFT限制。

  2. 如需纯模型性能调优(并行策略,环境变量等),对不同的配置重复步骤1直到选取最优配置。
  3. 将纯模型的decode batchsize和prefill batchsize转化为服务化参数maxBatchsize和maxPrefillBatchSize。
  4. 设置其他服务化和测试参数,根据实际测试结果调整最大并发Requestrate/maxBatchSize/maxPrefillBatchsize。