Модуль 9. Претрейн: данные, законы масштабирования, оптимизаторы
Сначала попробуйте решить упражнение. Ответы, подробные решения и проектные ориентиры раскрываются отдельно и сохраняют своё состояние при переключении RU/EN.
Скачать файлы курса (.zip) 2588,1 КБАрхив содержит файлы на обоих языках и вспомогательные материалы с сохранением структуры каталогов.
У1. Цена долгого обучения Llama-3 8B
Для эмпирической модели
и бюджета сравните сценарий , с аналитически оптимальным распределением того же бюджета. Найдите оба значения функции потерь и разность .
Показать ответ и решение
Решение. Бюджет сценария равен
FLOP, а
. В оптимуме одновременно выполняются
и .
Их решение даёт , ,
и . Поэтому
. Разность вычислена до округления обоих значений функции потерь. Это не оценка качества реальной
Llama 3, а арифметика внутри указанной аппроксимации. Полный воспроизводимый расчёт находится в
module_09_notebook_pretrain.ipynb, раздел «1. Закон масштабирования и точное вычислительно-оптимальное разбиение».
У2. Точка окупаемости с учётом инференса
Модель 8.03B из У1 обучена за
FLOP. Модель 70B достигает того же значения аппроксимированной функции потерь после меньшего претрейна. При оценке плотного декодирования как FLOP на сгенерированный токен найдите число токенов , после которого меньшая модель становится выгоднее по совокупным вычислениям.
Показать ответ и решение
Решение. Из уравнения получаем и FLOP. Экономия на обучении равна FLOP. Каждый сгенерированный токен большой модели стоит дополнительно FLOP, поэтому
До этого объёма выигрывает более дорогая при инференсе 70B-модель, после — 8.03B. Допущения и проверка находятся в ноутбуке, раздел «2. Точка окупаемости при одинаковом качестве и сценарий времени обучения».
У3. Память состояния и пузырь 1F1B
Для модели 7B примите 16 байт на параметр
(веса и градиенты в bf16, копия весов и два момента AdamW в fp32), 64 процесса и идеальный ZeRO-3. Затем посчитайте долю пузыря для восьми стадий конвейера при 32 и 128 микропакетах по .
Показать ответ и решение
Решение. Без шардинга объём состояния одного процесса равен B = 112 GB = 104.308 GiB. В идеальном ZeRO-3 всё состояние делится на 64: 1.75 GB = 1.630 GiB на процесс. Это нижняя граница без активаций, буферов, коммуникаций и фрагментации. Для конвейера: и ; для доли строго ниже 5% нужно не менее 134 микропакетов. Полные таблицы и отрицательные тесты находятся в разделах «6. Объём состояния обучения» и «7. Пузырь конвейера» ноутбука.
У4 [проект]
Начните с восьми синтетических документов в «Демо 1». Для каждого документа объясните решение фильтра; посчитайте доли относительно исходного пула и относительно входа каждой стадии. Затем измените порядок фильтров и порог сходства: какие причины отсева и какие сохранённые документы изменились? Метки языка и качества в этом опыте заданы вручную. Необязательное расширение — небольшой фиксированный срез внешнего корпуса с проверенной лицензией, реальными классификаторами и журналом времени; 100 GB не требуются.
Демо и критерии проекта
Демо к проектному упражнению: русскоязычный демонстрационный ноутбук модуля 9, раздел «Демо 1». В нём находится исходный опыт; задание предлагает изменить условия и объяснить результат.
У5 [проект]
В «Демо 2» на CPU сравните обычное обновление матрицы с обновлением двух её частей: временно соберите веса, усредните локальные градиенты и обновите принадлежащую каждому процессу часть. Проверьте совпадение после нескольких шагов. Отдельно составьте таблицу состояния условной модели 1B для ZeRO 0–3 на 1, 2 и 8 процессах при схеме 16 байт на параметр. Добавьте заданный буфер сборки и резерв активаций: почему деление всего объёма на число процессов перестаёт описывать пик памяти? Настоящий распределённый запуск не требуется.
Демо и критерии проекта
Демо к проектному упражнению: русскоязычный демонстрационный ноутбук модуля 9, раздел «Демо 2». В нём находится исходный опыт; задание предлагает изменить условия и объяснить результат.