Предобучение

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

Предобучение больших языковых моделей (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% разговорных данных.

Эти распределения показывают, что выбор данных является стратегическим решением, которое варьируется в зависимости от целей модели.

Часто используемые корпуса

Часто используемые наборы данных для предобучения LLM
Корпус Размер Источник Последнее обновление
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), показали, что производительность языковых моделей улучшается предсказуемо с увеличением трёх факторов:

  • Размера модели (количества параметров).
  • Объёма данных.
  • Вычислительных ресурсов.

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

Вызовы и достижения

  • Масштабирование: Главное достижение предобучения — это возможность сбалансировать размер модели, данных и вычислений для достижения оптимальной производительности.
  • Качество данных: Обеспечение чистоты, разнообразия и отсутствия предвзятости в обучающих данных является ключевым вызовом.
  • Эффективность: Разработка методов для снижения вычислительных затрат, таких как непрерывное предобучение или более эффективные архитектуры.
  • Многоязычность: Создание моделей, способных эффективно обрабатывать несколько языков, требует тщательного подбора и балансировки данных.

См. также