В отличие от inference, training требует значительно больше памяти и compute:
- VRAM для модели: Параметры модели в FP32 - 4 байта на параметр. Llama 7B = 28GB только веса.
- Оптимизатор: Adam хранит momentum и variance - 8 байт на параметр (FP32). Llama 7B = +56GB.
- Градиенты: Ещё 4 байта на параметр. Llama 7B = +28GB.
- Активации: Зависят от batch size и длины последовательности. Может быть больше всего остального.
- Mixed precision: BF16/FP16 для весов снижает требования в 2 раза. Master weights в FP32 для стабильности.
- Gradient checkpointing: Trade-off compute против памяти - перевычисление активаций вместо хранения.
- ZeRO Stage 3: DeepSpeed распределяет параметры, градиенты, оптимизатор по GPU. Linear scaling.
- FSDP: PyTorch native альтернатива ZeRO. Поддержка от Hugging Face Accelerate.
Anubiz Host подбирает конфигурацию multi-GPU под конкретную модель и dataset.