70B मॉडल के लिए एक पूर्ण checkpoint में शामिल हैं: model weights (~140 GB FP16 में), optimizer states (~280 GB Adam के लिए, जो प्रति parameter दो moving averages संग्रहीत करता है), learning rate scheduler state, random number generator states, और current training step। कुल: प्रति checkpoint ~420 GB। इसे डिस्क पर सहेजने में महत्वपूर्ण समय और storage लगता है, यही कारण है कि checkpointing हर step के बजाय समय-समय पर की जाती है।
सामान्य रणनीतियां: हर N steps पर सहेजें (सरल लेकिन बहुत storage उपयोग करता है), केवल K सबसे हालिया checkpoints सहेजें (स्थान बचाने के लिए पुराने हटाएं), evaluation metrics के आधार पर सहेजें (सबसे अच्छे validation loss वाला checkpoint रखें), और async checkpointing का उपयोग करें (पृष्ठभूमि में सहेजें जबकि प्रशिक्षण अगले batch पर जारी रहता है)। बड़े प्रशिक्षण रन अक्सर इन सभी का उपयोग करते हैं: तेज़ NVMe storage पर बार-बार local checkpoints प्लस disaster recovery के लिए network storage पर समय-समय पर remote checkpoints।
विभिन्न frameworks विभिन्न checkpoint formats का उपयोग करते हैं: PyTorch का state_dict, Hugging Face का safetensors, FSDP के sharded checkpoints, और DeepSpeed के ZeRO checkpoints। Formats के बीच रूपांतरण एक सामान्य कार्य है — आप DeepSpeed (GPUs में sharded) के साथ प्रशिक्षित कर सकते हैं लेकिन inference या Hugging Face पर अपलोड करने के लिए एक single consolidated checkpoint की आवश्यकता है। safetensors format साझा करने के लिए मानक बनता जा रहा है क्योंकि यह लोड करने में तेज़ और memory-safe है।