Rasa训练速度过慢求助:RTX 3090+i9 12代配置下训练耗时异常
训练耗时远超预期的排查与优化方案
核心限制问题
- 系统提示24核心可用但仅启用8个,会严重限制CPU端数据预处理、梯度辅助计算等任务的并行效率,是训练慢的核心诱因之一。
- 优化方式:
- 联系系统管理员解除安全限制,释放更多CPU核心使用权;
- 若无法解除限制,可在训练脚本开头手动设置匹配当前可用核心数的线程数(以PyTorch为例):
import torch torch.set_num_threads(8) # 避免线程竞争,适配当前可用核心数
NUMEXPR_MAX_THREADS参数配置
- 未配置该参数时,numexpr默认线程数可能远低于可用核心数,导致数值计算任务无法充分利用CPU资源。
- 配置方式:
- 训练前通过环境变量设置:
- Linux/macOS终端:
export NUMEXPR_MAX_THREADS=8 - Windows命令行:
set NUMEXPR_MAX_THREADS=8
- Linux/macOS终端:
- 在Python脚本内设置:
import os os.environ["NUMEXPR_MAX_THREADS"] = "8"
- 训练前通过环境变量设置:
额外排查优化点
- 检查GPU利用率:执行
nvidia-smi命令查看训练时GPU显存与利用率,若利用率偏低,说明CPU数据瓶颈显著,需优先解决核心限制问题; - 调整数据加载器:确保
DataLoader的num_workers参数设置匹配可用核心数(建议设为8或稍低,避免IO阻塞)。
内容的提问来源于stack exchange,提问作者Hussain Wali
相关产品推荐
相关产品推荐

