FinQA: Бенчмаркът за измерване на численото мислене на ИИ върху финансови отчети
FinanceBench показа миналата седмица, че извличането не е трудната част на финансовите въпроси и отговори — численото мислене е. FinQA, публикуван на EMNLP 2021, е трудът, който установи защо. Чета го сега, защото той е фундаменталният бенчмарк за финансова аритметика; всяка следваща работа в тази област или го разширява, или се сравнява с него, а разбирането на местата, където неговите модели се провалят, обяснява къде ще се провалят и настоящите Beancount агенти.
Докладът
Жию Чен, Уенху Чен и колеги от UC Santa Barbara, J.P. Morgan и Amazon представиха FinQA: Набор от данни за числено мислене върху финансови данни (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 пункта под общата средна стойност. Свързването на число от параграф в таблица с квалификатор в текста не е нещо, което стандартните предварително обучени модели правят добре.
- Константите на домейна са тих убиец. Когато програмна стъпка изисква константа, която е финансова конвенция (напр. че има 1 000 хиляди в един милион или че един базисен пункт е 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 агентите.
