BloombergGPT и пределы специализированных LLM в сфере финансов
BloombergGPT появилась в марте 2023 года и сразу стала ориентиром в каждой дискуссии о специализированных LLM для финансов. Я читаю статью сейчас не потому, что она актуальна — это не так — а потому, что история того, что произошло после её выхода, не менее поучительна, чем сама публикация.
Статья
Ву и др. из Bloomberg обучили языковую модель с 50 миллиардами параметров на корпусе из 569 миллиардов токенов, разделенном примерно пополам: 363 млрд токенов из FinPile, проприетарного финансового набора данных, собранного из архивов Bloomberg с 2007 года, и 345 млрд токенов из общедоступных наборов данных общего назначения. FinPile охватывает новостные статьи, нормативные документы, пресс-релизы, стенограммы звонков по доходам и веб-страницы финансовой тематики. Сама модель построена на архитектуре причинно-следственной языковой модели только с декодером (в стиле BLOOM, с использованием позиционного кодирования ALiBi) и обучена на 64 × 8 GPU A100 40 ГБ за 139 200 шагов.
Основное утверждение заключается в том, что предварительное обучение на смешанных доменах — а не просто тонкая настройка — создает модель, которая «значительно превосходит существующие модели в финансовых задачах, не теряя при этом производительности в общих тестах LLM». Это основополагающая гипотеза стратегии специализированных LLM: возможность усидеть на двух стульях.
Ключевые идеи
- Точность в ConvFinQA: 43,41% против 30,06% у GPT-NeoX. Самые большие преимущества по сравнению с базовыми моделями аналогичного масштаба проявились в задачах, требующих многошаговых рассуждений над финансовыми таблицами, включенными в диалог — именно в тех структурированных рассуждениях, с которыми с трудом справляются универсальные модели, обученные на меньшем объеме финансовых данных.
- Анализ настроений FiQA: 75,07% F1 против 50,59% у GPT-NeoX. Почти на 25 пунктов выше в анализе финансовых настроений. Преимущество в задачах классификации с четкой финансовой лексикой было наиболее впечатляющим.
- Внутренние бенчмарки показали еще более разительную картину. В собственной задаче Bloomberg по анализу настроений в новостях акций (Equity News Sentiment) BloombergGPT достигла 79,63% F1, в то время как GPT-NeoX набрала лишь 14,17%. Эти внутренние цифры невозможно проверить, но в них и заключается весь смысл — Bloomberg строила модель для задач, которые могут определить только они сами.
- NER (распознавание именованных сущностей) оказалось слабым местом. В финансовой задаче NER BloombergGPT набрала 60,82% F1, немного отстав от GPT-NeoX с её 60,98% — напоминание о т ом, что не все задачи NLP одинаково выигрывают от финансового претрейнинга, и что генеративные модели испытывают трудности со структурированным извлечением фрагментов текста независимо от домена.
- Токенизатор GPT-2 не обрабатывал числа особым образом. Число вроде 5 234 могло быть разбито на токены непредсказуемым образом. Авторы отметили это как проблему для числовых рассуждений, но не решили её на уровне архитектуры — что критически важно для всего, что связано с арифметикой в бухгалтерских книгах.
- Нестабильность обучения была реальной. На шагах 115 500, 129 900 и 137 100 норма градиента резко возрастала, и команде приходилось откатываться к контрольным точкам и снижать скорость обучения. Приложение «Training Chronicles» к статье необычайно откровенно описывает это. Создание специализированных LLM в масштабе операционно сложнее, чем кажется в теории.
Что подтвердилось, а что нет
Основной вывод — добавление специализированных данных улучшает производительность в финансовых задачах по сравнению с универсальными моделями того же размера — хорошо обоснован и неудивителен. Интересный вопрос заключается в том, оправдывает ли этот результат затраты.
Когда вышла GPT-4, несколько исследователей (включая Итана Моллика в широко цитируемой ветке обсуждения) указали, что GPT-4 превосходит BloombergGPT почти в каждом публичном финансовом бенчмарке, с которым её сравнивали — несмотря на то, что у GPT-4 не было доступа к проприетарным данным Bloomberg и она не проходила специального финансового обучения сверх того, что было в её общем корпусе. Исследование Янга и др. (arXiv:2305.05862) оценило ChatGPT и GPT-4 в восьми финансовых NLP-бенчмарках и показало, что GPT-4 последовательно конкурирует с узкоспециализированными финансовыми моделями или превосходит их. Сообщается, что Bloomberg потратила на обучение около 10 млн долларов. Урок, который извлекла индустрия: масштаб побеждает специализацию, когда технологическая граница движется достаточно быстро.
Однако такая интерпретация слишком упрощена. Внутренние бенчмарки BloombergGPT — те, что включают специфическую терминологию Bloomberg и форматы документов, которые GPT-4 никогда не видела — по-прежнему остаются, пожалуй, самым сильным аргументом в пользу модели. Невозможно оценить эффективность на проприетарных данных извне. Сравнение в публичных бенчмарках — лишь частичная проверка основной гипотезы.
Что я считаю действительно недостаточно изученным в статье, так это проблему токенизации. Финансы — это область, где точные числа имеют значение: 5 234,78 не равно примерно 5 235. Токенизатор, который непредсказуемо «шинкует» числовые строки, является структурным недостатком для любой количественной задачи, и авторы признают это, не предлагая решения. Это не просто мелкое примечание — это первопричина арифметических сбоев, которыми страдают языковые модели в финансовых расчетах.