Предобучение
Предобучение больших языковых моделей (LLM) — это фундаментальный этап в создании современных больших языковых моделей, который заключается в их обучении на огромных и разнородных массивах неразмеченного текста. Этот процесс позволяет моделям усваивать общие языковые закономерности, знания о мире и семантические связи, формируя так называемую фундаментальную модель (foundation model), которую затем можно адаптировать для решения конкретных задач.
Что такое предобучение?
Предобучение (pre-training) представляет собой начальную фазу обучения, в которой LLM подвергается обучению на масштабных текстовых наборах данных с использованием методов самоконтролируемого обучения (self-supervised learning). Это означает, что обучающие сигналы (метки) генерируются из самих данных, без необходимости ручной разметки человеком.
Основной целью этого этапа является предсказание скрытых или будущих частей текста. В зависимости от архитектуры, используются две основные задачи:
- Каузальное языковое моделирование (Causal Language Modeling, CLM): Модель учится прогнозировать следующее слово (токен) в последовательности на основе всех предыдущих. Этот подход лежит в основе генеративных моделей, таких как GPT.
- Маскированное языковое моделирование (Masked Language Modeling, MLM): Модель учится восстанавливать случайно «замаскированные» (скрытые) слова в тексте, используя для этого окружающий их двунаправленный контекст (слова слева и справа). Этот метод используется в моделях, таких как BERT.
Благодаря этим задачам, модель вынуждена изучать синтаксис, семантику и фактические знания о мире, чтобы успешно делать предсказания.
Данные для предобучения
Эффективность предобучения в значительной степени зависит от качества и разнообразия обучающих данных. Используются следующие основные источники:
- Веб-страницы: Массивы данных, такие как Common Crawl и C4, обеспечивают широкий спектр тем, стилей и языков, представляя собой «слепок» интернета.
- Книги: Корпусы, такие как BookCorpus и The Pile, предоставляют структурированный и связный текст, полезный для понимания долгосрочных зависимостей и нарративов.
- Разговорные данные: Данные с форумов (например, Reddit) и социальных сетей, которые помогают моделям осваивать неформальный язык и диалоговые паттерны.
- Специализированные данные: Научные статьи (из arXiv), программный код (из GitHub и The Stack) или многоязычные тексты для улучшения специфических возможностей модели.
Примеры распределения данных
Разные модели используют разное соотношение источников, что влияет на их конечные способности:
- GPT-3 (175 млрд параметров):** 16% книги, 84% веб-страницы.
- PaLM (540 млрд параметров):** 5% книги, 14% веб-страницы, 50% разговорных данных, 31% другие.
- LLaMA (65 млрд параметров):** 5% книги, 2% веб-страницы, 87% разговорных данных.
Эти распределения показывают, что выбор данных является стратегическим решением, которое варьируется в зависимости от целей модели.
Часто используемые корпуса
| Корпус | Размер | Источник | Последнее обновление |
|---|---|---|---|
| BookCorpus | 5GB | Книги | Дек-2015 |
| Gutenberg | - | Книги | Дек-2021 |
| C4 | 800GB | Common Crawl | Апр-2019 |
| CC-Stories-R | 31GB | Common Crawl | Сен-2019 |
| CC-NEWS | 78GB | Common Crawl | Фев-2019 |
| REALNEWS | 120GB | Common Crawl | Апр-2019 |
| OpenWebText | 38GB | Ссылки Reddit | Мар-2023 |
| Pushshift.io | 2TB | Ссылки Reddit | Мар-2023 |
| Wikipedia | 21GB | Википедия | Мар-2023 |
| The Pile | 800GB | Другие | Дек-2020 |
| ROOTS | 1.6TB | Другие | Июн-2022 |
Техники обучения
Предобучение LLM требует значительных вычислительных ресурсов. Для управления этим процессом применяются следующие техники:
- Распределенное обучение: Использование нескольких GPU или TPU для параллельной обработки.
- Смешанная точность (Mixed Precision): Использование числовых форматов с меньшей точностью (например, 16-битных вместо 32-битных) для ускорения вычислений и снижения использования памяти.
- Контрольные точки градиентов (Gradient Checkpointing): Техника для экономии памяти путем пересчета, а не хранения некоторых промежуточных активаций.
- Параллелизм моделей (Model Parallelism): Распределение самой модели по нескольким устройствам.
Обучение модели, такой как GPT-3, может занимать несколько месяцев на тысячах GPU.
Законы масштабирования
Исследования, такие как работа OpenAI (Kaplan et al., 2020), показали, что производительность языковых моделей улучшается предсказуемо с увеличением трёх факторов:
- Размера модели (количества параметров).
- Объёма данных.
- Вычислительных ресурсов.
Эти эмпирические зависимости, известные как законы масштабирования, служат руководством для разработчиков при проектировании и обучении более крупных и мощных моделей, позволяя оптимально распределять вычислительный бюджет.
Вызовы и достижения
- Масштабирование: Главное достижение предобучения — это возможность сбалансировать размер модели, данных и вычислений для достижения оптимальной производительности.
- Качество данных: Обеспечение чистоты, разнообразия и отсутствия предвзятости в обучающих данных является ключевым вызовом.
- Эффективность: Разработка методов для снижения вычислительных затрат, таких как непрерывное предобучение или более эффективные архитектуры.
- Многоязычность: Создание моделей, способных эффективно обрабатывать несколько языков, требует тщательного подбора и балансировки данных.
См. также