ДалееСледующее руководство
Исчезающие и взрывающиеся градиенты
Технический
Техническое РУКОВОДСТВО
Накопление градиента позволяет моделировать большой размер пакета на ограниченной памяти графического процессора путем суммирования градиентов по нескольким небольшим мини-пакетам перед обновлением весов.
Прослушайте это руководствоОзвучено ИИ · ~2 min
It is the standard workaround for training big models when memory is the bottleneck.
Обычно на этапе обучения обрабатывается один пакет, вычисляются градиенты и немедленно обновляются параметры. При накоплении градиента вы выполняете несколько проходов вперед и назад на меньших микропакетах, складывая их градиенты вместе в буферах параметров, и вызываете шаг оптимизатора (и обнуляете градиенты) только после N микропакетов. Эффективный размер пакета становится размером микропакета, умноженным на N, хотя пиковая память всегда содержит только один микропакет активаций. Это важно, потому что многие рецепты обучения предполагают большие партии для стабильной статистики, а также потому, что такие модели, как большие трансформаторы, не могут разместить полную целевую партию на одном устройстве. Подвох: статистика пакетной нормализации вычисляется для каждого микропакета, поэтому норма слоя или групповая норма лучше сочетаются с накоплением, и вы должны правильно масштабировать потери, чтобы поддерживать правильную эффективную скорость обучения.
Точная настройка большой языковой модели на одном потребительском графическом процессоре путем накопления более 8 или 16 микропакетов для достижения эффективной партии из сотен.
Обучение моделям машинного зрения высокого разрешения или сегментации, где подходит даже партия из 2 штук, но для рецепта необходима эффективная партия из 32.
Hugging Face Trainer и PyTorch Lightning предоставляют настройку градиента_аккумуляции_шагов, которая обычно используется в настройках с ограниченным объемом видеопамяти.
Воспроизведение результатов большого пакета документов на меньшем оборудовании путем сопоставления эффективного размера пакета путем накопления.
Накопление градиента останется рычагом по умолчанию, поскольку размеры моделей превышают объем памяти одного устройства. Он все чаще сочетается со смешанной точностью, контрольными точками активации, сегментированием ZeRO и параллелизмом конвейеров в таких средах, как DeepSpeed и FSDP. Ожидайте более жесткой автоматизации, когда библиотеки автоматически настраивают шаги накопления в соответствии с бюджетом памяти, а также сохранения важности точной настройки больших моделей на скромном оборудовании, включая потребительские графические процессоры, где это открывает возможность обучения, которое в противном случае было бы невозможно.
Бесплатная рассылка
Три проверенных AI-истории каждое утро буднего дня, написанные простым английским. Бесплатно навсегда, без рекламы.
Одно электронное письмо каждый будний день. Отписаться в один клик. Мы никогда не продаем и не передаем ваш адрес.
Проверьте себя
Мгновенная обратная связь по каждому ответу и общий сертификат с проверяемым идентификатором после прохождения курса.
Поддержите бесплатное образование в области искусственного интеллекта. AI Understanding — это некоммерческая организация 501(c)(3). Никакой рекламы и платного доступа. Сделать пожертвование
Накопление градиента позволяет моделировать большой размер пакета на ограниченной памяти графического процессора путем суммирования градиентов по нескольким небольшим мини-пакетам перед обновлением весов. Это стандартный обходной путь для обучения больших моделей, когда память является узким местом.
Суммируя градиенты по нескольким микропакетам перед обновлением, вы имитируете большой пакет, не сохраняя его все в памяти одновременно.
Accumulate gradients across N micro-batches, call optimizer.step() once for the effective batch, then clear gradients before the next window; begin training with cleared buffers.
Batch-norm вычисляет статистику для каждой микропартии, поэтому норма слоя или группы позволяет избежать несоответствия с небольшими микропартиями.
Batch-dependent forward computations break exact equivalence.
Продолжайте учиться
Другие руководства, выбранные по этой теме
ДалееСледующее руководство
Исчезающие и взрывающиеся градиенты
Технический