Как обучают современные LLM: секреты BigCode и фильтрации данных

Stanford Online 18 тыс. 1 ч 1 мин 3 мин 07.06.2024
Главное

Секреты обучения больших языковых моделей: опыт Hugging Face и проекта BigCode 0:47

Современный ландшафт больших языковых моделей (LLM) стремительно меняется. Если несколько лет назад казалось, что только закрытые системы вроде GPT-4 обладают «секретным соусом», то сегодня сообщество open-source практически догнало лидеров рынка. Лубна Бен-Аллуа, инженер машинного обучения в Hugging Face, в рамках финальной лекции курса Stanford CS25 рассказала, что сегодня успех модели определяется не столько архитектурой, сколько качеством и объемом данных для обучения.

⚖️ Искусство баланса: законы масштабирования 5:54

Вопрос о том, сколько данных нужно для обучения качественной модели, решается через законы масштабирования (scaling laws). Они помогают распределить вычислительный бюджет между размером модели и количеством токенов.

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

🏗️ Где брать данные: от веба до синтетики 15:05

Для достижения масштабов Llama 3 (15 трлн токенов) требуются колоссальные объемы информации. Лубна выделяет три основных источника:

  1. Веб-данные: Основой часто служит CommonCrawl, но «сырые» дампы требуют крайне сложной фильтрации. Гораздо эффективнее использовать уже очищенные наборы, такие как FineWeb от Hugging Face, который показывает высокую производительность на популярных бенчмарках.
  2. Программный код: Проект BigCode выпустил The Stack — крупнейший репозиторий открытого кода. Вторая версия набора (Stack v2) была собрана через архив Software Heritage и включает не только код, но и GitHub-ишью, а также запросы на слияние (pull requests), что суммарно дает около 1 трлн токенов.
  3. Синтетические данные: Это новый тренд. Использование моделей (как, например, в Microsoft «Textbooks Are All You Need») для создания обучающих материалов позволяет достигать результатов, сопоставимых с обучением на реальных данных. Hugging Face выпустила Cosmopedia — набор из 25 млрд токенов, сгенерированных моделью Mixtral-8x7B.

🧹 Фильтрация: как отсеять мусор 23:30

Данные — это «хребет» LLM, поэтому фильтрация критически важна. Обычного удаления дубликатов недостаточно. Лубна подчеркивает важность проведения «аблационных исследований» (ablation models):

Отдельное внимание уделяется безопасности. Для удаления персональных данных (PII) из набора The Stack команда обучила специальную модель StarPII, которая распознает имена, почты и секретные ключи, требуя около 800 GPU-часов работы.

🤖 Код-генераторы: будущее помощников 38:34

Развитие моделей для программирования изменилось после появления Codex от OpenAI, который доказал, что код можно обрабатывать как обычный текст, используя предсказание следующего токена.

Сегодня в экосистеме Hugging Face насчитывается более 1700 моделей для генерации кода. Проект StarCoder выделяется своей прозрачностью — все данные, код для обработки и веса моделей находятся в открытом доступе. Лубна отмечает, что для IDE-помощников критически важна «осведомленность о репозитории» (repository awareness): модель должна понимать связи между файлами внутри одного проекта, что было реализовано в StarCoder2 путем конкатенации файлов через специальные токены.

🔮 Будущее и советы 50:37

Отвечая на вопросы слушателей, Лубна поделилась прогнозами:

💬 Цитаты

«Для данной вычислительной мощности данные — это то, что делает одни модели лучше других.»

Лубна Бен-Аллуа 04:59

«Открытый релиз не означает просто выпуск весов модели; это значит сделать вашу работу воспроизводимой.»

Лубна Бен-Аллуа 43:00
👥 Спикеры
🔗 Упомянутые сайты и проекты
📖 Термины
Scaling laws
Закономерности, описывающие, как вычислительный бюджет влияет на производительность модели в зависимости от её размера и количества данных.
Synthetic data
Данные, созданные ИИ вместо людей, используемые для дообучения или пре-трейнинга.
Ablation study
Метод тестирования, при котором удаляется или меняется один компонент (например, фильтр данных), чтобы понять его влияние на результат.
Inference
Этап работы модели, когда она выдает ответы на запросы пользователей после завершения обучения.
PEFT
Parameter-Efficient Fine-Tuning; методы дообучения, при которых тренируется лишь малая часть параметров модели.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Hugging Face BigCode StarCoder LLM training Scaling laws