ДалееСледующее руководство
Адам и адаптивные оптимизаторы
Технический
Техническое РУКОВОДСТВО
Уловка для экономии памяти, которая позволяет хранить тяжелую бухгалтерию обучения (состояния оптимизатора, градиенты, иногда веса) в оперативной памяти ЦП или на твердотельных накопителях NVMe вместо дефицитной памяти графического процессора.
Прослушайте это руководствоОзвучено ИИ · ~2 min
Это позволяет людям обучать гораздо более крупные модели, чем в противном случае позволяла бы память их графического процессора.
Когда вы тренируете нейронную сеть с помощью такого оптимизатора, как Адам, каждый параметр несет в себе дополнительный багаж: две текущие статистики (импульс и дисперсия), плюс копию веса с полной точностью и его градиент. При обучении со смешанной точностью это может составлять примерно 16 байт на параметр, что затмевает 2 байта для самого веса. Разгрузка удаляет этот багаж с графического процессора. Разгрузка ЦП передает состояния оптимизатора в обычную системную оперативную память по шине PCIe, а разгрузка NVMe полностью переносит их на быстрые твердотельные диски. Этот метод, популярный благодаря ZeRO-Infinity и ZeRO-Offload от DeepSpeed, меняет скорость на производительность, позволяя одному графическому процессору или небольшому кластеру точно настраивать модели с миллиардами параметров.
DeepSpeed’s ZeRO-Offload tutorial trains a ten-billion-parameter GPT-2 configuration on a 32 GB V100, with CPU optimizer offloading and activation checkpointing.
A research team evaluates ZeRO-Infinity with CPU and NVMe tiers for a model that exceeds GPU-only capacity.
A fine-tuning team configures CPU optimizer offloading and measures host memory use and update time.
A team compares larger GPUs with offloading, accounting for CPU, storage, and transfer costs.
Поскольку модели продолжают перерастать объем памяти графического процессора, многоуровневая разгрузка становится скорее стандартом, чем экзотикой. Ожидайте более тесной интеграции с более быстрыми соединениями, такими как пулы памяти NVLink-C2C и CXL, которые размывают границу между процессором и графическим процессором, а также более умными планировщиками, которые прогнозируют, какие состояния следует выбирать. Архитектуры с унифицированной памятью, такие как Grace Hopper, уменьшают штрафы PCIe, а платформы стремятся сделать многоуровневую разгрузку почти прозрачной, чтобы любители могли точно настраивать большие модели на скромном оборудовании.
Бесплатная рассылка
Три проверенных AI-истории каждое утро буднего дня, написанные простым английским. Бесплатно навсегда, без рекламы.
Одно электронное письмо каждый будний день. Отписаться в один клик. Мы никогда не продаем и не передаем ваш адрес.
Проверьте себя
Мгновенная обратная связь по каждому ответу и общий сертификат с проверяемым идентификатором после прохождения курса.
Поддержите бесплатное образование в области искусственного интеллекта. AI Understanding — это некоммерческая организация 501(c)(3). Никакой рекламы и платного доступа. Сделать пожертвование
Уловка для экономии памяти, которая позволяет хранить тяжелую бухгалтерию обучения (состояния оптимизатора, градиенты, иногда веса) в оперативной памяти ЦП или на твердотельных накопителях NVMe вместо дефицитной памяти графического процессора. Это позволяет людям обучать гораздо более крупные модели, чем в противном случае позволяла бы память их графического процессора.
При разгрузке тяжелые состояния оптимизатора перемещаются с графического процессора в оперативную память процессора или NVMe, освобождая память графического процессора, поэтому более крупные модели можно обучать на одном и том же оборудовании.
Each FP32 value uses four bytes: two moments plus one master weight total twelve. A sixteen-byte mixed-precision estimate includes other tensors as well.
ZeRO-Offload и ZeRO-Infinity от DeepSpeed представили и популяризировали разгрузку состояний оптимизатора на ЦП и NVMe в большом масштабе.
Перемещение состояний за пределы графического процессора означает передачу данных через PCIe или в NVMe, что происходит медленнее, чем память на графическом процессоре, поэтому пропускная способность падает, если она не перекрывается с вычислениями.
Планировщики предварительно выбирают необходимые разделы через PCIe, пока графический процессор все еще выполняет вычисления, перекрывая связь с вычислениями, чтобы маскировать задержку.
Продолжайте учиться
Другие руководства, выбранные по этой теме
ДалееСледующее руководство
Адам и адаптивные оптимизаторы
Технический