Ян Дюбуа летом 2024 года представил в Стэнфордском университете обзор процесса создания современных языковых моделей. Он утверждает: успех систем уровня ChatGPT на 80% зависит от подготовки данных, методов оценки и системной оптимизации, а не от выбора архитектуры нейросети.
🏗️ Пять столпов разработки LLM 0:56
Создание большой языковой модели (LLM) состоит из пяти ключевых компонентов . Архитектура трансформера и алгоритмы потерь традиционно находятся в центре внимания ученых, но индустрия фокусируется на других аспектах.
Компоненты современной разработки:
- Архитектура нейросети.
- Алгоритм обучения и функция потерь.
- Данные для обучения.
- Методология оценки (Evaluation).
- Системная часть (эффективный запуск на «железе»).
По мнению Яна Дюбуа, архитектурные различия между моделями сейчас минимальны . Основной прогресс достигается за счет качества данных и умения эффективно распределять вычисления на тысячах видеокарт.
📚 Претрейнинг: как модель учит язык 2:58
Этап предварительного обучения (pretraining) превращает модель в мощный предсказатель следующего слова . Модель обучается на колоссальных объемах текста из интернета, пытаясь минимизировать кросс-энтропийную потерю.
Современные LLM работают по авторегрессионному принципу . Они разбивают вероятность последовательности на произведение условных вероятностей каждого следующего токена.
Процесс предсказания:
- Текст разбивается на токены (subwords).
- Каждый токен преобразуется в вектор (embedding).
- Трансформер обрабатывает контекст и выдает распределение вероятностей для следующего шага.
- Выбирается наиболее вероятный токен, который снова подается на вход.
Главный недостаток такой схемы — медленная генерация . Из-за циклического характера процесса время создания ответа растет линейно вместе с его длиной.
🧩 Токенизация и проблема редких слов 10:46
Токенизаторы необходимы для перевода человеческого текста в понятные машине идентификаторы . Обычное разбиение по словам не подходит из-за опечаток и особенностей языков вроде тайского, где нет пробелов.
Стандартом индустрии стал алгоритм Byte Pair Encoding (BPE) . Он итеративно объединяет наиболее часто встречающиеся пары символов в один токен.
Особенности токенизации:
- Один токен в среднем равен 3–4 буквам английского алфавита .
- Числа часто токенизируются некорректно, что мешает LLM решать математические задачи .
- Модели хранят в словаре как целые слова, так и отдельные буквы на случай встречи с неизвестным текстом .
Ян Дюбуа полагает, что в будущем индустрия перейдет на токенизацию по байтам, чтобы избавиться от текущих ограничений .
📊 Методы оценки: от перплексии к MMLU 19:11
В процессе разработки инженеры используют перплексию (perplexity) — экспоненту от средней потери на токен . Она показывает, между сколькими вариантами следующего слова «колеблется» модель. За последние 6 лет перплексия лучших систем упала с 70 до 10 единиц .
Академические бенчмарки стали основным способом сравнения готовых моделей:
- MMLU (Massive Multitask Language Understanding) — 57 тестов по различным предметам от медицины до физики .
- HELM — комплексная оценка от Stanford University .
- ChatBotArena — «слепое» сравнение ответов двух моделей живыми пользователями .
Существует проблема загрязнения данных (data contamination) . Когда тестовые вопросы попадают в обучающую выборку, результаты модели становятся фиктивными. По словам Яна Дюбуа, компании часто скрывают состав данных, что делает независимую проверку крайне сложной.
🌐 Очистка интернета: как готовят данные 28:43
Обучение на «сыром» интернете невозможно из-за обилия мусора . Исходный датасет Common Crawl содержит 250 миллиардов страниц объемом около 1 петабайта .
Этапы фильтрации данных:
- Извлечение текста из HTML-разметки.
- Удаление нежелательного контента: порнография, разжигание ненависти, личные данные (PII) .
- Дедупликация: удаление повторяющихся текстов и шаблонных подвалов сайтов .
- Классификация по качеству: обучение маленькой модели для поиска текстов, похожих на Wikipedia .
Инженеры специально увеличивают долю качественных источников, таких как научные статьи (arXiv) и код на GitHub . Код особенно важен, так как он развивает у модели способности к логическому рассуждению.
📉 Законы масштабирования и экономика 40:56
В 2020 году исследователи OpenAI обнаружили, что качество LLM предсказуемо растет вместе с увеличением вычислительной мощности и объема данных . Эти зависимости называют законами масштабирования (Scaling Laws).
Опыт разработки Llama 3 400B показывает масштаб затрат :
- Модель обучали на 15,6 триллионах токенов .
- Использовалось 16 000 видеокарт H100 в течение 70 дней .
- Стоимость только аренды оборудования составила около 52 миллионов долларов .
- Общий бюджет проекта, включая зарплаты 50 сотрудников, превысил 75 миллионов долларов .
Статья Chinchilla установила оптимальное соотношение: на каждый параметр модели должно приходиться минимум 20 токенов обучающих данных . Однако для снижения затрат на использование (инференс) компании обучают маленькие модели на избыточном количестве данных — до 150 токенов на параметр .
🤖 Пост-трейнинг: от текста к ассистенту 59:50
Претренированная модель — это просто автодополнитель текста. Чтобы она стала помощником вроде ChatGPT, требуется этап выравнивания (alignment).
Основные методы:
- SFT (Supervised Fine Tuning): дообучение на 10–50 тысячах диалогов, написанных людьми .
- Alpaca: использование мощной LLM для автоматической генерации обучающих примеров .
- LIMA: гипотеза о том, что для настройки стиля достаточно всего 1000 очень качественных примеров .
Ян Дюбуа отмечает, что SFT не учит модель новым знаниям . Этот этап лишь заставляет систему использовать те знания, которые уже были заложены в нее во время претрейнинга, в формате «вопрос-ответ».
⚖️ RLHF и упрощение через DPO 1:09:52
Обучение с подкреплением на основе отзывов людей (RLHF) помогает модели выбирать лучший ответ из нескольких вариантов . Традиционный метод PPO, использованный в ChatGPT, крайне сложен в реализации и требует настройки множества гиперпараметров .
Прорыв произошел с появлением метода DPO (Direct Preference Optimization), разработанного в Стэнфорде . Он заменяет сложный цикл обучения с подкреплением простой функцией потерь, которая увеличивает вероятность «хороших» ответов и уменьшает вероятность «плохих».
Проблемы человеческой оценки:
- Люди предпочитают длинные и вежливые ответы, даже если они менее точны .
- Люди часто ошибаются и не могут объективно оценить правильность кода или математики .
- Сбор данных RLHF стоит дорого — около 300 долларов за 1000 сравнений .
Для решения этих проблем Ян Дюбуа предлагает использовать RLAIF (Reinforcement Learning from AI Feedback), где одну модель оценивает другая, более мощная система . Это в 50 раз дешевле человеческого труда при сопоставимой точности.
⚡ Системная оптимизация и CUDA 1:37:06
Главное ограничение в обучении LLM — это не скорость вычислений, а скорость передачи данных между памятью и ядрами видеокарты .
Технологии ускорения:
- Смешанная точность (Mixed Precision): использование 16-битных чисел для расчетов и 32-битных для хранения весов .
- Operator Fusion: объединение нескольких математических операций в одну, чтобы реже обращаться к памяти .
- torch.compile: инструмент в PyTorch, который автоматически переписывает код на C++/CUDA для ускорения работы в два раза .
Ян Дюбуа подчеркивает: современные нейросети простаивают большую часть времени, ожидая загрузки данных из памяти. Эффективная работа с GPU требует понимания иерархии памяти и минимизации коммуникаций между картами.