批处理优化
Batch Processing Optimization
按分辨率分组的智能批处理策略,根据硬件资源自适应调整batch size
子问题
1.分辨率分组策略
2.动态batch size推断
3.padding对齐
4.显存感知调度
5.多模型差异化 BASE_BATCH_SIZE 协调
6.PyTorch 版本兼容性导致的批处理降级
7.多计算设备(CUDA/NPU/MPS/GCU/MUSA/MLU/SDAA)显存获取统一
各项目的解法1 solutions
Signals
横向对比
| 维度 | MinerU |
|---|---|
| 分组策略 | stride=64 分辨率桶分组,同桶内白色 padding 对齐 |
| 动态batch推断 | 阶梯式 VRAM→ratio 映射(1/2/4/8/16x),环境变量可覆盖 |
| 显存管理 | 阶段间条件性 clean_vram(≤8GB 触发),7 种计算设备适配 |
| 排序优化 | MFR 按公式面积升序排序,batch_size 限制为 2 的幂 |
| 降级机制 | np.stack 失败回退逐张处理,PyTorch 2.8+ 自动禁用批 OCR-det |
| 多模型协调 | 6 个模型独立 BASE_BATCH_SIZE,ratio 统一乘数 |
最佳实践
1.根据GPU显存自动推断batch_ratio实现资源最优利用
2.面积排序后分批减少 padding 浪费,batch_size 限制为 2 的幂避免尾部低效
3.np.stack 失败自动回退逐张处理保证鲁棒性
4.阶段间条件性显存回收仅在低显存设备触发避免高显存浪费