mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-07-16 23:24:55 -05:00
44 lines
1.7 KiB
Plaintext
44 lines
1.7 KiB
Plaintext
# solvers.CheckpointModel { #mlsysim.solvers.CheckpointModel }
|
|
|
|
```python
|
|
solvers.CheckpointModel()
|
|
```
|
|
|
|
Analyzes the storage constraints and I/O burst penalties of saving model states.
|
|
|
|
Training massive models requires saving hundreds of gigabytes (Weights +
|
|
Optimizer States) to persistent storage. This model calculates the time
|
|
spent blocked on I/O, subtracting from the cluster's Model FLOPs Utilization.
|
|
|
|
Literature Source:
|
|
1. Eisenman et al. (2022), "Check-N-Run: A Checkpointing System for
|
|
Training Large Language Models."
|
|
|
|
## Methods
|
|
|
|
| Name | Description |
|
|
| --- | --- |
|
|
| [solve](#mlsysim.solvers.CheckpointModel.solve) | Solves for checkpoint size, write time, and resulting MFU penalty. |
|
|
|
|
### solve { #mlsysim.solvers.CheckpointModel.solve }
|
|
|
|
```python
|
|
solvers.CheckpointModel.solve(
|
|
model,
|
|
hardware,
|
|
optimizer='adam',
|
|
checkpoint_interval_hours=4.0,
|
|
n_writers=1,
|
|
filesystem_limit_gbs=500.0,
|
|
)
|
|
```
|
|
|
|
Solves for checkpoint size, write time, and resulting MFU penalty.
|
|
|
|
#### Parameters {.doc-section .doc-section-parameters}
|
|
|
|
| Name | Type | Description | Default |
|
|
|----------------------|--------|-------------------------------------------------------------------------------------------------------------------------------|-----------|
|
|
| n_writers | int | Number of parallel checkpoint writers (default 1). Distributed checkpointing (e.g., FSDP) shards the write across workers. | `1` |
|
|
| filesystem_limit_gbs | float | Maximum aggregate filesystem write bandwidth in GB/s (default 500). Prevents over-optimistic scaling when n_writers is large. | `500.0` |
|