hotwa
a8fea027ac
feat: 实现大规模并行预测功能 (v2.0.0)
新增功能:
- 新增统一批量预测工具 utils/batch_predictor.py
* 支持单进程/多进程并行模式
* 灵活的 GPU 配置和显存自动计算
* 自动临时文件管理和断点续传
* 完整的 CLI 参数支持(Click 框架)
- 新增 Shell 脚本集合 scripts/
* run_parallel_predict.sh - 并行预测脚本
* run_single_predict.sh - 单进程预测脚本
* merge_results.sh - 结果合并脚本
性能优化:
- 解决 CUDA + multiprocessing fork 死锁问题
* 使用 spawn 模式替代 fork
* 文件描述符级别的输出重定向
- 优化预测性能
* XGBoost OpenMP 多线程(利用所有 CPU 核心)
* 预加载模型减少重复加载
* 大批量处理降低函数调用开销
* 实际加速比:2-3x(12进程 vs 单进程)
- 优化输出显示
* 抑制模型加载时的权重信息
* 只显示进度条和关键统计
* 临时文件自动保存到专门目录
文档更新:
- README.md 新增"大规模并行预测"章节
- README.md 新增"性能优化说明"章节
- 添加详细的使用示例和参数说明
- 更新项目结构和版本信息
技术细节:
- 每个模型实例约占用 2.5GB GPU 显存
- 显存计算公式:建议进程数 = GPU显存(GB) / 2.5
- GPU 瓶颈占比:MolE 表示生成 94%
- 非 GIL 问题:计算密集任务在 C/CUDA 层
Breaking Changes:
- 废弃旧的独立预测脚本,统一使用新工具
相关 Issue: 解决 #并行预测卡死问题
测试平台: Linux, 256 CPU cores, NVIDIA RTX 5090 32GB
2025-10-18 20:53:39 +08:00
..
2025-10-18 20:53:39 +08:00
2025-10-16 17:26:35 +08:00
2025-10-17 16:46:04 +08:00
2025-10-16 17:26:35 +08:00
2025-10-16 17:26:35 +08:00
2025-10-16 17:26:35 +08:00
2025-10-16 17:26:35 +08:00
2025-10-16 17:26:35 +08:00
2025-10-16 17:26:35 +08:00