Перейти к контенту

FinQA: бенчмарк для измерения численного мышления ИИ в финансовых отчетах

· 6 мин чтения
Mike Thrift
Mike Thrift
Marketing Manager

На прошлой неделе FinanceBench показал, что поиск информации (retrieval) — не самая сложная часть ответов на финансовые вопросы; настоящая сложность заключается в численном мышлении. Работа 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 аннотированную пару вопросов и ответов, каждая из которых снабжена подтвержденными фактами и полной программой рассуждений, что делает их полностью исполняемыми и поддающимися аудиту.

Ключевые идеи

  • Разрыв на момент выпуска был колоссальным. 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) системы к 2024 году достигли около 89% — что все еще ниже показателей экспертов-людей.

Что выдержало проверку временем, а что нет

Дизайн бенчмарка надежен. Использование исполняемых программ вместо ответов в виде свободного текста — правильное решение: вы можете однозначно оценить модель и увидеть, как она рассуждала, а не просто была ли она права. Решение требовать доказательства и из таблиц, и из текста отражает реальный финансовый анализ, где таблица дает число, а сноска объясняет, что оно значит.

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

Настройка поиска также предоставляет модели эталонные факты во время обучения, что приукрашивает показатели. В реальных условиях вам пришлось бы сначала извлечь нужные ячейки таблицы из длинного документа, прежде чем исполнять программу — и этот этап поиска нетривиален, как показал FinanceBench на прошлой неделе.

Наконец, результаты 2021 года недооценивают возможности современных моделей. Базовый уровень ~61% был до появления ChatGPT. Показатель GPT-4 ~76% и SOTA ~89% получены с использованием специализированных конвейеров, сочетающих цепочку рассуждений (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.