当前位置: 首页 > news >正文

昇腾MindIE 限制非首token时延(TPOT)的极限吞吐

以Decode平均时延限制50ms以内为目标,限制非首token时延的极限吞吐的调试方式如下所示。

  • 服务端:
    “maxBatchSize”调小到卡对应的时延,一般情况下“maxBatchSize”越小,则Decode时延越小。
    设置supportSelectBatch为true,“prefillTimeMsPerReq”和“decodeTimeMsPerReq”按照模型实际平均首token时延和Decode时延进行设置。
  • 客户端:
    按并发数发送请求:客户端Concurrency通常配置为maxBatchSize-1。
    按频率发送请求:则Concurrency可设置为1000,请求发送频率根据实际业务场景或按模型实际QPS设置。

操作步骤

  1. 在裸机中执行以下命令开启CPU高性能模式和透明大页,开启后可提升性能,建议开启。
  • 开启CPU高性能模式,在相同时延约束下,TPS会有~3%的提升。
cpupower -c all frequency-set -g performance
  • 开启透明大页,多次实验的吞吐率结果会更稳定。
echo always > /sys/kernel/mm/transparent_hugepage/enabled
  1. 使用以下命令启动服务,以当前所在Ascend-mindie-service_{version}_linux-{arch}目录为例。
./bin/mindieservice_daemon

回显如下则说明启动成功。

Daemon start success!
  1. 计算出“maxBatchSize”的取值范围为[362,1088],设置初始值为435;“maxPrefillBatchSize”参数的值设置为“maxBatchSize”值的一半,取值为217。
  2. 配置完成后,用户可使用HTTPS客户端(Linux curl命令,Postman工具等)发送HTTPS请求,此处以Linux curl命令为例进行说明。
    重开一个窗口,使用以下命令发送请求,获取当前DecodeTime的平均值(Average),如图2所示,此时Decode平均时延为60.1889ms。
benchmark \
--DatasetPath "/{数据集路径}/GSM8K" \
--DatasetType "gsm8k" \
--ModelName LLaMa3-8B \
--ModelPath "/{模型路径}/LLaMa3-8B" \
--TestType client \
--Http https://{ipAddress}:{port} \
--ManagementHttp https://{managementIpAddress}:{managementPort}  \
--Concurrency 1000 \
--TaskKind stream \
--Tokenizer True \
--MaxOutputLen 512

结果超过了Decode平均时延为50ms的限制,所以需要调小“maxBatchSize”的值继续调试。

  1. 设置“maxBatchSize”的值为300,“maxPrefillBatchSize”参数的值设置为150。继续观察Decode平均时延,执行结果decode平均时延为46.9689ms。

以上结果可以看到Decode平均时延满足50ms以内的限制,但是还未接近50ms,所以需要调大“maxBatchSize”的值继续进行调试。

  1. 设置“maxBatchSize”的值为350,“maxPrefillBatchSize”参数的值设置为175。继续观察Decode平均时延,执行结果decode平均时延为49.846ms。

结果可以看到Decode平均时延已经很接近50ms,此时几乎已达到限制Decode时延下的最大吞吐量。如需获取Decode平均时延更接近50ms时的“maxBatchSize”值,请根据以上操作步骤继续调试。

相关文章:

  • Windows命令提示符(CMD) 的常用命令分类整理
  • Google Benchmark性能测试
  • 质检LIMS系统在粮油加工企业的应用 粮油质检LIMS系统应用的痛点
  • AP CSA FRQ Q2 Past Paper 五年真题汇总 2023-2019
  • 单多表查询练习
  • jmm-java内存模型
  • 工厂模式a
  • 习题4-9 打印菱形图案
  • 全分辨率免ROOT懒人精灵-自动化编程思维-设计思路-实战训练
  • Arduino、ESP32驱动BME688环境传感器(环境传感器篇)
  • 模拟curl的回调函数实现返回结构体
  • 基于Spring Boot的ONLY在线商城系统设计与实现的设计与实现(LW+源码+讲解)
  • Ubuntu xinference部署本地模型bge-large-zh-v1.5、bge-reranker-v2-m3
  • Headless Chrome 优化:减少内存占用与提速技巧
  • c++随记
  • 糖尿病大模型预测及临床应用研究智能管理系统技术文档
  • 线段树SegmentTree
  • HTML5 Audio(音频)学习笔记
  • Elasticsearch客户端工具初探--kibana
  • PyTorch处理数据--Dataset和DataLoader
  • 绿景中国地产:洛杉矶酒店出售事项未能及时披露纯属疏忽,已采取补救措施
  • 北京13日冰雹过后,已受理各险种报案近3万件
  • 菲律宾中期选举初步结果出炉,杜特尔特家族多人赢得地方选举
  • “典孝急乐批麻蚌赢”:互联网“八字真言”与当代赛博赢学
  • 王毅谈中拉论坛第四届部长级会议重要共识
  • 中国巴西关于乌克兰危机的联合声明