部署DeepSeek服务化,性能不佳
2025/03/04
2.3k
问题信息
问题来源 | 产品大类 | 关键字 |
---|---|---|
现网 | 模型推理 | 性能裂化,OS内核,日志,环境,DeepSeek,推理 |
问题现象描述
部署DeekSeekV3/R1拉起后实测性能较差,与预期差异较大。
原因分析
1. 原因1:日志级别问题
在发送请求时,观察日志中是否存在大量的debug、info日志打印。如果存在可能是为了排查问题,各组件开启了debug日志,事后忘记关闭,而大量的日志打印是十分耗时的行为,且在正常的服务过程中,不需要这些日志。
2. 原因2:OS内核版本问题
使用`uname -r `查看OS内核版本,版本小于5.10;
3. 原因3:环境变量优化问题
在PyTorch的训练或推理场景,可以通过设置环境变量CPU_AFFINITY_CONF来控制CPU端算子任务的处理器亲和性,即设定任务绑核。该配置能够优化任务的执行效率,避免跨 NUMA(非统一内存访问架构)节点的内存访问,减少任务调度开销
4. 原因4:未关闭确定性计算
未关闭确定性计算HCCL_DETERMINISTIC=true,可以通过env | grep HCCL_DETERMINISTIC来查看是否设置。
解决措施
1. 原因1:
在set_env.sh中关闭各组件的debug/info日志等级,改成ERROR级别。
2. 原因2:
升级系统,内核版本升级到5.10;(升级前需要找研发确认)
3. 原因3:
开启绑核优化示例,开启方式三选一,建议优先尝试示例二
示例一:粗粒度绑核
export CPU_AFFINITY_CONF=1
示例二:细粒度绑核
export CPU_AFFINITY_CONF=2
示例三:自定义多张NPU卡的绑核范围
export CPU_AFFINITY_CONF=1,npu0:0-1,npu1:2-5,npu3:6-6
4. 原因4:
关闭确定性计算:export HCCL_DETERMINISTIC=false