Толковый словарь по нейросетям и искусственному интеллекту
Сохранение контрольных точек активаций
Категория термина
Сохранение контрольных точек активаций (Activation Checkpointing) — это метод оптимизации памяти в глубоких нейросетях, при котором не все промежуточные активации слоев модели сохраняются в памяти во время прямого прохода, а часть из них пересчитывается при обратном проходе (backpropagation). Основная цель — уменьшить потребление GPU-памяти во время обучения больших моделей, позволяя использовать большие батчи или более глубокие сети на ограниченных ресурсах.
Метод особенно актуален для трансформеров, больших языковых моделей (LLM) и глубоких сверточных сетей, где хранение всех активаций может превышать доступную память GPU.
🔍 Принцип работы:
- Разделение сети на сегменты: модель делится на последовательные блоки.
- Сохранение контрольных точек: сохраняются только ключевые активации на границах сегментов.
- Пересчет активаций: активации, не сохраненные в памяти, пересчитываются заново во время обратного прохода для вычисления градиентов.
- Обновление весов: градиенты используются для корректировки параметров модели, как обычно.
🧪 Примеры применения:
- Обучение LLM (GPT, BERT, LLaMA): позволяет использовать большие модели на ограниченной памяти GPU, сохраняя стабильность обучения.
- Компьютерное зрение: глубокие CNN, где каждый слой создаёт большие тензоры активаций.
- Генеративные модели (GAN, VAE, Diffusion): уменьшение памяти при обучении больших генеративных сетей.
- Fine-tuning больших моделей: использование больших батчей при дообучении без переполнения памяти.
⚡ Преимущества Activation Checkpointing:
- Экономия GPU-памяти: можно обучать модели глубже и с большими батчами.
- Сохранение точности: градиенты вычисляются точно после пересчета активаций.
- Сочетается с другими методами оптимизации: например, с offloading и model sharding.
- Масштабируемость: позволяет обучать модели, которые иначе не помещались бы на доступной памяти.
📌 Связанные термины:
- Offloading (Перемещение данных): совместное использование для снижения нагрузки на GPU.
- Memory Optimization (Оптимизация памяти): категория методов, к которой относится activation checkpointing.
- Gradient Checkpointing: похожий подход для уменьшения памяти при вычислении градиентов.
- Batch Size: размер батча влияет на потребление памяти и необходимость checkpointing.
✅ Заключение:
Сохранение контрольных точек активаций (Activation Checkpointing) — это критически важная техника для обучения глубоких и больших нейросетей на ограниченных вычислительных ресурсах. Она позволяет экономить память, поддерживать стабильность градиентов и использовать более крупные батчи или более глубокие модели, что делает её незаменимой для современных LLM, генеративных моделей и сложных архитектур.