Paper summary
Predict the precision that each operation uses
A training-time estimate needs to account for mixed precision as well as how the model is split across GPUs.
Mixed-precision training changes the work and tensor sizes of individual operations. A static computation graph that assumes one precision can therefore misestimate both compute time and communication. This paper predicts a single training iteration with operator-level precision information.
Partition the graph and inspect precision
The predictor extracts operators and partitions the model into GPU-specific subgraphs using data, tensor and pipeline parallelism settings. For mixed precision, it observes the casts applied by automatic mixed precision and profiles operations with the resulting precision and tensor shapes.
It aggregates forward and backward operator times and adds modeled communication and pipeline overheads for the specified configuration. Precision thus informs both local computation and the amount of data exchanged.
View full-size figureCompare estimates across parallel strategies
Tests use LLaMA 3.1-8B on C4 with eight NVIDIA H100 GPUs. Across the evaluated parallelism combinations, average mean absolute percentage error is 9.8% for mixed precision and 10.64% for the FP16 setting described as unseen in the paper.
Prediction error is calculated from measured per-iteration times.
| Precision setting | MAPE |
|---|---|
| Mixed precision | 9.8% |
| FP16 | 10.64% |
Key takeaways
- Mixed precision changes operator types and adds casts to the execution graph. Operator-level casts belong in a training-time model alongside arithmetic work.
- Distributed iteration time includes coordination. Communication and pipeline effects explain why isolated computation estimates are insufficient.