🎓 Обучение моделей
Оптимизаторы, распределённое обучение, fine-tuning, mixed precision
AMP
Automatic Mixed Precision
AMP (Automatic Mixed Precision) — техника обучения, автоматически использующая FP16/BF16 где возможно и FP32 для критичных операций. Ускоряет обучение в 1.5-2× при минимальной потере точности.
Batch Size
Batch Size / Micro Batch / Global Batch
Batch Size — количество примеров, обрабатываемых за одну итерацию обучения. В распределённом обучении: micro batch (на GPU), gradient accumulation steps и global batch (суммарный).
Data Parallelism
Data Parallelism
Data Parallelism — стратегия распределённого обучения, при которой копия модели размещается на каждом GPU, а батч данных разделяется между ними. Градиенты синхронизируются через All-Reduce.
DeepSpeed ZeRO
Zero Redundancy Optimizer
DeepSpeed ZeRO — техника распределённого обучения от Microsoft, устраняющая дублирование данных между GPU. Позволяет обучать модели в 8-10× больше, чем помещается в VRAM одной GPU.
Distributed Training
Distributed Training
Distributed Training — обучение ML-модели на нескольких GPU или серверах одновременно. Объединяет Data Parallelism, Tensor Parallelism и Pipeline Parallelism для работы с большими моделями.
FSDP
Fully Sharded Data Parallel
FSDP — встроенный в PyTorch механизм распределённого обучения, аналог DeepSpeed ZeRO-3. Шардирует веса, градиенты и состояние оптимизатора между GPU для обучения сверхбольших моделей.
Fine-tuning
Fine-tuning
Fine-tuning (дообучение) — процесс адаптации предобученной модели к конкретной задаче или домену путём дополнительного обучения на целевых данных. Значительно дешевле обучения с нуля.
Gradient Accumulation
Gradient Accumulation
Gradient Accumulation — техника, при которой градиенты накапливаются за несколько мини-батчей перед обновлением весов, позволяя эмулировать большой батч на GPU с ограниченной VRAM.
Gradient Checkpointing
Gradient Checkpointing / Activation Recomputation
Gradient Checkpointing — техника экономии VRAM при обучении, при которой промежуточные активации не хранятся, а пересчитываются при backward pass. Уменьшает потребление памяти в 3-5× ценой ~30% замедления.
LoRA
Low-Rank Adaptation
LoRA (Low-Rank Adaptation) — метод эффективной дообучения (fine-tuning) больших моделей, который обновляет только малые матрицы-адаптеры (0.1-1% параметров), сохраняя исходные веса замороженными.
Mixed Precision
Mixed Precision Training
Mixed Precision — техника обучения нейросетей с использованием нескольких форматов данных (FP32 + FP16/BF16) одновременно, ускоряющая обучение в 2-3× при минимальной потере точности.
PEFT
Parameter-Efficient Fine-Tuning
PEFT (Parameter-Efficient Fine-Tuning) — семейство методов дообучения, обновляющих лишь малую часть параметров модели (0.01-1%), что драматически снижает требования к VRAM и позволяет fine-tuning на consumer GPU.
Pipeline Parallelism
Pipeline Parallelism (PP)
Pipeline Parallelism — метод распределения модели, при котором слои модели распределяются по GPU вертикально. Входные данные разбиваются на микро-батчи, обрабатываемые конвейером для минимизации простоя GPU.
Tensor Parallelism
Tensor Parallelism (TP)
Tensor Parallelism — метод распределения модели, при котором отдельные тензоры (матрицы весов) разрезаются по горизонтали между GPU. Каждая GPU хранит и вычисляет свою часть каждого слоя.
Training Instabilities
Training Instabilities / Loss Spikes
Training Instabilities — нестабильности при обучении LLM: всплески loss, NaN-значения, расходимость. Вызваны проблемами с данными, learning rate, инициализацией весов или ограничениями оптимизатора Adam.