BloombergGPT: как обучить LLM на 50 миллиардов параметров для финансового сектора

The TWIML AI Podcast 3,5 тыс. 44 мин 5 мин 24.07.2023
Главное

Дэвид Розенберг, возглавляющий отдел стратегии машинного обучения в офисе CTO Bloomberg, рассказывает о создании BloombergGPT — специализированной языковой модели на 50 миллиардов параметров. В интервью обсуждаются технические вызовы обучения LLM с нуля, особенности обработки финансовых данных и стратегический выбор между использованием готовых решений и собственной разработкой.

📈 Стратегическое решение и истоки проекта 0:00

Решение об инвестициях в собственную большую языковую модель (LLM) было принято в офисе CTO Bloomberg в конце 2020 года, вскоре после выхода GPT-3 . По словам Дэвида Розенберга, в тот момент не было до конца ясно, какими будут конкретные сценарии использования, но потенциал технологии казался огромным.

Основные предпосылки проекта:

🏗️ Архитектура и уникальный набор данных FinPile 4:01

BloombergGPT представляет собой модель с 50 миллиардами параметров. В отличие от универсальных моделей, её обучающая выборка была разделена примерно поровну (50/50) между общедоступными данными и специализированным финансовым корпусом .

Состав обучающих данных:

Технические особенности:

🛠️ «Приключение» длиною в три версии: процесс обучения 7:45

Процесс обучения модели не был линейным и потребовал нескольких попыток. Розенберг называет этот этап «настоящим приключением».

  1. Версия 0 (V0): Команда применила «обучение по расписанию» (curriculum learning), подавая данные FinPile последовательно во времени (от старых к новым). Через 8–10 дней обучение остановилось: графики производительности на валидационном наборе замерли. По мнению гостя, такой подход оказался слишком рискованным шагом в неизвестность .
  2. Версия 1 (V1): Все данные были перемешаны случайным образом. Обучение шло успешно 8 дней, после чего начались резкие скачки нормы градиента (gradient spikes). Веса в слое Layer Norm в самом начале сети начали аномально расти. Команда пыталась откатываться к чекпоинтам и снижать скорость обучения (learning rate), но это не дало стабильного результата .
  3. Версия 2 (V2): Финальная рабочая версия. Команда исправила баг в оптимизаторе (ошибка в применении weight decay к весам Layer Norm), добавила дополнительный слой Layer Norm в самом начале и исправила проблемы со смешанной точностью (mixed precision) .

Модель обучалась стабильно в течение 42 дней на инфраструктуре AWS SageMaker . Использовалось 512 графических процессоров NVIDIA A100 (40 ГБ). Суммарно было затрачено около 1,3 миллиона GPU-часов . Обучение было остановлено на отметке 75% от запланированного объема данных, так как бюджет был исчерпан, а достигнутая производительность уже превзошла ожидания .

📊 Тестирование и бенчмарки 17:37

BloombergGPT сравнивали с открытыми моделями аналогичного размера (OPT-66B, Bloom, GPT-NeoX), а также сопоставляли с опубликованными результатами GPT-3 и PaLM .

Особый интерес представляет способность модели генерировать код на BQL (Bloomberg Query Language) — сложном внутреннем языке запросов. Несмотря на то, что модель специально не обучалась на BQL, она смогла освоить его в режиме few-shot (на 10 примерах) .

🧪 Будущее: обучение с нуля или дообучение? 24:48

Один из главных вопросов дискуссии — стоит ли компаниям обучать свои модели с нуля. Дэвид Розенберг отмечает, что когда они начинали, доступных моделей с открытыми весами для коммерческого использования практически не было .

Основные тезисы Розенберга о выборе стратегии:

⚠️ Риски, этика и галлюцинации 40:41

На текущий момент BloombergGPT используется только в исследовательских целях и не внедрена в клиентские продукты . По словам Розенберга, компания проявляет крайнюю осторожность из-за нерешенной проблемы галлюцинаций .

Ключевые вызовы:

  1. Контроль качества: если ИИ работает слишком хорошо, люди перестают проверять его ответы. Розенберг задается вопросом: «Как поддерживать вовлеченность и внимательность человека, если нейросеть ошибается редко, но критично?» .
  2. Этика: компания внимательно следит за литературой по этике ИИ, хотя фокусировка на финансовых темах и коде несколько снижает риск столкновения с наиболее острыми социальными проблемами .

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

💬 Цитаты

«В какой-то момент норма градиента начала расти почти вертикально, и мы не могли понять почему.»

Дэвид Розенберг 11:54

«Если ИИ работает слишком хорошо, как вы заставите человека оставаться внимательным при проверке его результатов?»

Дэвид Розенберг 43:12
👥 Спикеры
🔗 Упомянутые сайты и проекты
📊 Цифры
🗓 Хронология
  1. 2007 Начало сбора данных, которые позже легли в основу корпуса FinPile.
  2. Май 2020 Выход GPT-3, ставший катализатором интереса к LLM в Bloomberg.
  3. Конец 2020 Принятие стратегического решения о разработке BloombergGPT.
⚖️ Другая сторона
Искусственный интеллект BloombergGPT Дэвид Розенберг FinPile LLM AWS SageMaker