BloombergGPT та межі вузькоспеціалізованих LLM у фінансах
BloombergGPT з'явилася у березні 2023 року і відразу стала еталоном для будь-яких дискусій про вузькоспеціалізовані LLM у фінансах. Я читаю її зараз не тому, що вона актуальна — це не так — а тому, що історія того, що сталося після її релізу, щонайменше так само повчальна, як і те, що написано в самій статті.
Стаття
Ву та співавт. з Bloomberg навчили мовну модель з 50 мільярдами параметрів на корпусі з 569 мільярдів токенів, розділеному приблизно навпіл: 363 млрд токенів з FinPile, пропр ієтарного фінансового набору даних, зібраного з архівів Bloomberg починаючи з 2007 року, і 345 млрд токенів із загальнодоступних датасетів. FinPile охоплює новини, документи регуляторів, прес-релізи, стенограми звітів про прибутки та веб-сторінки фінансової тематики. Сама модель базується на архітектурі каузальної мовної моделі лише з декодером (стиль BLOOM, з використанням позиційного кодування ALiBi), навченій на 64 × 8 GPU A100 40GB протягом 139 200 кроків.
Основне твердження полягає в тому, що претренінг на змішаних доменах — а не просто тонке налаштування (fine-tuning) — створює модель, яка «значно перевершує існуючі моделі у фінансових завданнях, не жертвуючи продуктивністю в загальних бенчмарках LLM». Це засаднича гіпотеза стратегії доменно-специфічних LLM: ви можете отримати все й одразу.
Ключові ідеї
- Точність ConvFinQA: 43,41% проти 30,06% у GPT-NeoX. Найбільші переваги порівняно з аналогами за масштабом проявилися в завданнях, що вимагали багатокрокових міркувань над фінансовими таблицями в контексті діалогу — саме той тип структурованого мислення, з яким важко справляються загальні моделі, навчені на меншій кількості фінансових даних.
- FiQA sentiment: 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 норма градієнта різко зростала, і команді доводилося відкочуватися до попередніх чекпоінтів та знижувати швидкість навчання. Додаток «Хроніки навчання» у статті незвично відверто розповідає про це. Створення доменних 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. Токенізатор, який непередбачувано подрібнює числові рядки, є структурним недоліком для будь-якого кількісного завдання, і автори визнають це, не пропонуючи рішення. Це не другорядна примітка — це першопричина арифметичних помилок, які переслідують мовні моделі у фінансових розрахунках.
Чому це важливо для фінансового ШІ
Для порядк у денного Bean Labs історія BloombergGPT вказує на два напрямки одночасно. По-перше, вузькоспеціалізований претренінг може суттєво допомогти у вузьких завданнях класифікації — аналіз настроїв, тегування заголовків, NER — але це не найскладніші проблеми для автономних бухгалтерських агентів. Складними проблемами є багатокрокові міркування над записами в регістрі, безпечний зворотний запис (write-back) та виявлення помилок в арифметичних ланцюжках. Моделі класу GPT-4 вже достатньо добре справляються з простими завданнями класифікації.
По-друге, проблема токенізації безпосередньо стосується агентів Beancount. Кожен запис у регістрі містить грошові суми, номери рахунків і дати. Якщо токенізатор базової моделі непередбачувано фрагментує «1,234.56 USD», будь-який агент, що виконує багатокрокову звірку, працює проти власного субстрату. Це свідчить про те, що підходи з використанням інструментів (tool-use) — де арифметика делегується інтерпретатору Python, а не прораховується в природній мові (як у PAL, про який я писав у LOG-009) — є надійнішими, ніж покладання на внутрішню логіку моделі, незалежно від того, на якому обсязі фінансових текстів вона була навчена.
Глибший урок: спеціалізований претренінг найбільш цінний тоді, коли завдання вимагають розпізнавання специфічної лексики та структури документів, а не тоді, коли вони вимагають числової точності. Для Beancount це означає, що інвестиції у тонке налаштування (fine-tuning) мають бути спрямовані радше на виконання інструкцій та використання інструментів, ніж на сире моделювання фінансової мови.
Що почитати далі
- FinGPT: Open-Source Financial Large Language Models (Yang et al., 2023, arXiv:2306.06031) — відповідь open-source спільноти на BloombergGPT; використовує тонке налаштування LoRA загальнодоступних LLM на фінансових даних за ~$300 замість $10 млн; пряма перевірка економіки файн-тюнінгу проти претренінгу.
- Are ChatGPT and GPT-4 General-Purpose Solvers for Financial Text Analytics? (Yang et al., 2023, arXiv:2305.05862) — систематичне порівняння, яке показало, що GPT-4 відповідає або перевершує фінансово-специфічні моделі в публічних бенчмарках; важливо для розуміння того, що насправді дає спеціалізований претренінг.
- Scaling Laws for Neural Language Models (Kaplan et al., 2020, arXiv:2001.08361) — стаття про закони масштабування, що пояснює, чому GPT-4 ймовірно перевершує BloombergGPT; дослідження Chinchilla (Hoffmann et al., arXiv:2203.15556) так само актуальне.
