Перейти до основного вмісту

FinQA: Бенчмарк для вимірювання чисельних міркувань ШІ у фінансових звітах

· 6 хв. читання
Mike Thrift
Mike Thrift
Marketing Manager

Минулого тижня FinanceBench показав, що пошук інформації (retrieval) не є найскладнішою частиною фінансових QA — нею є чисельні міркування. FinQA, опублікований на EMNLP 2021, — це робота, яка встановила чому. Я читаю її зараз, тому що це фундаментальний бенчмарк для фінансової арифметики; кожна наступна робота в цій галузі або розширює його, або порівнює результати з ним, і розуміння того, де зазнають невдачі його моделі, пояснює, де також зазнають невдачі сучасні агенти Beancount.

Стаття

2026-05-13-finqa-numerical-reasoning-financial-data

Чжію Чень, Веньху Чень та колеги з Каліфорнійського університету в Санта-Барбарі, J.P. Morgan та Amazon представили FinQA: A Dataset of Numerical Reasoning over Financial Data (arXiv:2109.00122, EMNLP 2021). Основне завдання: на основі звіту про прибутки, що містить як текстову розповідь, так і одну або кілька фінансових таблиць, відповісти на питання, яке вимагає багатоетапних арифметичних дій над фактами, взятими з обох модальностей. Відповідь має бути отримана за допомогою явної чисельної програми — послідовності до п'яти операцій (додавання, віднімання, множення, ділення, порівняння, агрегація таблиць та кілька інших), застосованих до вилучених значень.

Одинадцять фінансових фахівців із США (CPA, MBA) вручну створили набір даних на основі 2 789 сторінок звітів про прибутки компаній S&P 500 за 1999–2019 роки. Фінальний датасет містить 8 281 анотовану пару QA, кожна з яких має підтверджені факти та повну програму міркувань, що робить його повністю виконуваним і таким, що піддається аудиту.

Ключові ідеї

  • Розрив на момент випуску був величезним. FinQANet (RoBERTa-large), найкраща нейронна модель, яку змогли представити автори, досягла 61,24% точності виконання та 58,86% точності програми на тестовому наборі. Людські фінансові експерти набрали 91,16% та 87,49%. Неспеціалісти з краудсорсингу набрали лише 50,68% — ледь вище за нейронну базу, що свідчить про те, що ця область вимагає реальної експертизи, а не просто розуміння прочитаного.
  • Багатоетапність — це момент, де все ламається. Для програм, що потребують трьох або більше етапів міркування, точність FinQANet падає до 22,78%. Модель непогано справляється з двоетапною арифметикою; все, що довше, призводить до накопичення помилок.
  • Крос-модальні питання є найскладнішим випадком. Питання, докази для яких охоплюють і таблицю, і текст, мають точність 43,80%, що приблизно на 17 пунктів нижче загального середнього показника. Зіставлення числа з абзацу таблиці з уточненням у тексті — це те, що стандартні попередньо навчені моделі роблять погано.
  • Доменні константи — це невидимий вбивця. Коли етап програми вимагає константи, яка є фінансовою конвенцією (наприклад, що в мільйоні є 1000 тисяч, або що базисний пункт становить 0,01%), а не чимось вказаним у документі, точність падає до 43,88%. Модель не може надійно відрізнити «це число є в документі» від «це число є загальносвітовим знанням».
  • ~50% помилок пов'язані з прогалинами в доменних знаннях, а не з невдачами пошуку чи помилками виконання арифметики. Модель знаходила правильні факти, але застосовувала хибну фінансову логіку.
  • Пізніші LLM суттєво скорочують розрив, але не усувають його. Повідомляється, що GPT-4 має приблизно 76% точності виконання на FinQA, а спеціалізовані SOTA-системи досягли близько 89% до 2024 року — все ще нижче за результати експертів-людей.

Що залишається актуальним, а що ні

Дизайн бенчмарку є обґрунтованим. Використання виконуваних програм замість текстових відповідей — це правильне рішення: ви можете однозначно оцінити модель і отримати уявлення про те, як вона міркувала, а не просто чи була вона права. Рішення вимагати доказів як із таблиці, так і з тексту відображає реальний фінансовий аналіз, де таблиця дає число, а виноска пояснює, що це число означає.

Тим не менш, завдання вужче, ніж здається. Визначена DSL (мова специфіки домену) операцій охоплює стандартну фінансову арифметику, але вона не може представляти рішення про категоризацію («це витрата є регулярною чи одноразовою?»), перевірку політики («чи відповідає цей грошовий потік нашій бюджетній політиці?») або будь-що, що потребує зовнішнього пошуку ринкових даних чи стандартів бухгалтерського обліку. Програми є правильними та зрозумілими, але вони існують у світі, де єдиною невизначеністю є арифметика, а не судження.

Налаштування пошуку також надає моделі ідеальні підтверджувальні факти під час навчання, що прикрашає цифри. У реальному розгортанні вам довелося б знайти потрібні клітинки таблиці в довгому документі, перш ніж виконувати програму — і цей етап пошуку не є тривіальним, як показав FinanceBench минулого тижня.

Нарешті, результати 2021 року применшують поточні можливості моделей. Базовий рівень ~61% був до появи ChatGPT. Показник ~76% для GPT-4 та ~89% для SOTA походять від спеціалізованих пайплайнів, які поєднують ланцюжок думок (chain-of-thought), виконання коду та тонке налаштування. Розрив із людським експертом (91%+) скоротився, але залишається.

Чому це важливо для фінансового ШІ

Реєстри Beancount — це, по суті, спрощені звіти про прибутки: структуровані рядки дебетів і кредитів із текстовими метаданими в нотатках до транзакцій, полях одержувачів та ієрархіях рахунків. Кожна навичка, яку перевіряє бенчмарк FinQA, безпосередньо стосується того, що має робити агент Beancount.

Крос-модальний режим збоїв є особливо важливим. У контексті Beancount агент може бачити суму транзакції в реєстрі, курс іноземної валюти в директиві ціни та коментар у полі нотатки — і йому потрібні всі три елементи, щоб обчислити правильне значення у валюті звітності. Моделі, які FinQA тестував у 2021 році, не могли надійно зіставляти ці джерела. Сучасні LLM справляються краще, але точність 22,78% на програмах з 3+ етапами є попередженням: довжина ланцюжка — це реальна вісь збоїв, і багатоетапні завдання звірки реєстрів зіткнуться з цією проблемою.

Проблема доменних констант також узагальнюється. Бухгалтерський облік має свої власні конвенції — інваріанти подвійного запису, семантику типів рахунків, межі фінансового року — про які модель повинна знати, навіть якщо їй про це не кажуть. Аналіз помилок FinQA, що показує ~50% збоїв через брак доменних знань, свідчить про те, що агенту Beancount потрібне або тонке налаштування на бухгалтерських конвенціях, або явний рівень пошуку для правил обліку, а не просто записи в реєстрі.

Представлення програми в бенчмарку, хоча й обмежене, також вказує на те, як агенти Beancount повинні висловлювати свої міркування: не природною мовою, яка може бути розпливчастою, а виконуваними операціями, які можна перевірити, скасувати або проаудувати.

Що почитати далі

  • TAT-QA (arXiv:2105.07624, ACL 2021) — розширює гібридне середовище таблиця+текст до 16 552 питань із багатшим розмаїттям типів міркувань; модель TAGOP, яку вона представляє, варто вивчити через те, як вона обробляє вилучення фрагментів з обох модальностей одночасно.
  • ConvFinQA (arXiv:2210.03849, EMNLP 2022) — розмовне розширення FinQA, де кожен діалог має чисельні залежності між репліками; багатокрокова структура безпосередньо відображає інтерактивного помічника Beancount, який повинен відстежувати поточні розрахунки в ході уточнень користувача.
  • MultiHiertt (arXiv:2206.01347, ACL 2022) — переносить завдання на фінансові звіти з кількома ієрархічними таблицями на документ; необхідний крок до консолідованої звітності та багаторічних переглядів реєстрів, з якими зіткнуться агенти Beancount.