глоссарий

Checkpointing activation

Checkpointing activation

Checkpointing activation — это приём экономии памяти при обучении больших нейросетей. Суть в том, что модель не хранит все промежуточные данные, а пересчитывает их заново, когда они нужны. Это как если бы вы вместо того, чтобы держать в голове всю книгу, запоминали только номера глав и при необходимости заглядывали в текст снова.

Зачем это важно? Современные модели — от языковых ассистентов до генераторов изображений — содержат миллиарды параметров. Во время обучения сеть проходит два этапа: прямой проход, где она делает предсказание, и обратный, где исправляет ошибки. Для обратного прохода нужны все промежуточные значения (активации) каждого слоя. Если хранить их все, память графического ускорителя заканчивается за минуты. Checkpointing позволяет обучать модели вдвое большие на том же оборудовании, жертвуя лишь временем вычислений.

Как это работает интуитивно? Представьте, что вы собираете сложный шкаф по инструкции. Обычно вы записываете каждый шаг, чтобы потом разобрать ошибку. Checkpointing — это когда вы фиксируете только состояние после каждой четвёртой секции, а если нужно вспомнить детали между ними — распаковываете коробки и смотрите заново. Нейросеть сохраняет активации лишь в выбранных узлах графа, а между ними, при обратном распространении ошибки, просто повторяет вычисления. Меньше хранение — больше пересчёт.

Прикладной пример: компания, обучающая языковую модель на двенадцати видеокартах, с checkpointing умещает ту же архитектуру на восьми. Да, каждая эпоха длится на десять-двадцать процентов дольше, зато не нужно докупать дорогое железо или арендовать суперкомпьютер.

Вывод: checkpointing activation — это осознанный размен памяти на время. Ключевой трюк инженеров, позволяющий продолжать наращивать масштабы ИИ, когда физические ресурсы уже на пределе.