Pular para o conteúdo principal

FinQA: O Benchmark que Mede o Raciocínio Numérico de IA em Relatórios Financeiros

· 7 min para ler
Mike Thrift
Mike Thrift
Marketing Manager

O FinanceBench mostrou na semana passada que a recuperação (retrieval) não é a parte difícil do QA financeiro — o raciocínio numérico é. O FinQA, publicado no EMNLP 2021, é o artigo que estabeleceu o porquê. Eu o li agora porque ele é o benchmark fundamental para aritmética financeira; cada trabalho subsequente neste espaço ou o estende ou se baseia nele para benchmarking, e entender onde seus modelos falham explica onde os atuais agentes Beancount também falharão.

O artigo

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

Zhiyu Chen, Wenhu Chen e colegas da UC Santa Barbara, J.P. Morgan e Amazon introduziram o FinQA: A Dataset of Numerical Reasoning over Financial Data (arXiv:2109.00122, EMNLP 2021). A tarefa principal: dado um relatório de lucros contendo tanto uma narrativa em prosa quanto uma ou mais tabelas financeiras, responder a uma pergunta que exige aritmética de múltiplas etapas sobre fatos extraídos de ambas as modalidades. A resposta deve ser derivada por meio de um programa numérico explícito — uma sequência de até cinco operações (adição, subtração, multiplicação, divisão, comparação, agregação de tabelas e algumas outras) aplicadas aos valores extraídos.

Onze profissionais de finanças baseados nos EUA (CPAs, MBAs) construíram o conjunto de dados manualmente a partir de 2.789 páginas de relatórios de lucros do S&P 500 abrangendo o período de 1999 a 2019. O conjunto de dados final contém 8.281 pares de QA anotados, cada um com fatos de apoio "padrão ouro" (gold supporting facts) e o programa de raciocínio completo, tornando-o totalmente executável e auditável.

Ideias principais

  • A lacuna era brutal na época do lançamento. O FinQANet (RoBERTa-large), o melhor modelo neural que os autores conseguiram apresentar, atingiu 61,24% de precisão de execução e 58,86% de precisão de programa no conjunto de teste. Especialistas financeiros humanos pontuaram 91,16% e 87,49%. Trabalhadores de crowd-sourcing não especialistas atingiram apenas 50,68% — pouco acima da linha de base neural, o que mostra que o domínio exige expertise real, não apenas compreensão de leitura.
  • Múltiplas etapas é onde tudo quebra. Para programas que exigem três ou mais etapas de raciocínio, a precisão do FinQANet colapsa para 22,78%. O modelo consegue lidar razoavelmente com aritmética de duas etapas; qualquer coisa mais longa faz com que o erro se acumule.
  • Perguntas de cross-modality são o caso difícil. Perguntas cuja evidência abrange tanto a tabela quanto a prosa apresentam 43,80% de precisão, aproximadamente 17 pontos abaixo da média geral. Ancorar um número de um parágrafo de tabela a um qualificador no texto não é algo que os modelos pré-treinados padrão façam bem.
  • Constantes de domínio são um assassino silencioso. Quando uma etapa do programa exige uma constante que é uma convenção financeira (por exemplo, existem 1.000 milhares em um milhão, ou que um ponto-base é 0,01%) em vez de algo declarado no documento, a precisão cai para 43,88%. O modelo não consegue distinguir com segurança se "este número está no documento" ou se "este número é conhecimento de mundo".
  • ~50% dos erros derivam de lacunas de conhecimento de domínio, não de falhas de recuperação ou erros de execução aritmética. O modelo encontrou os fatos corretos, mas aplicou a lógica financeira errada.
  • LLMs posteriores diminuem substancialmente a lacuna, mas não a eliminam. O GPT-4 é relatado com aproximadamente 76% de precisão de execução no FinQA, e sistemas de ponta (SOTA) específicos para a tarefa atingiram cerca de 89% até 2024 — ainda abaixo do desempenho dos especialistas humanos.

O que se sustenta — e o que não se sustenta

O design do benchmark é sólido. Usar programas executáveis em vez de respostas em texto livre é a decisão correta: você pode pontuar um modelo de forma inequívoca e obtém uma visão de como ele raciocinou, não apenas se estava certo. A decisão de exigir evidências tanto de tabela quanto de texto reflete a análise financeira do mundo real, onde a tabela fornece o número e a nota de rodapé explica o que o número significa.

Dito isto, a tarefa é mais restrita do que parece. A DSL (linguagem específica de domínio) predefinida de operações cobre a aritmética financeira padrão, mas não pode representar uma decisão de categorização ("esta despesa é recorrente ou pontual?"), uma verificação de política ("este fluxo de caixa cumpre nossa política orçamentária?") ou qualquer coisa que exija recuperação externa de dados de mercado ou padrões contábeis. Os programas são corretos e explicáveis, mas vivem em um mundo onde a única incerteza é a aritmética, não o julgamento.

A configuração de recuperação também fornece ao modelo fatos de apoio padrão ouro durante o treinamento, o que favorece os números. Em uma implementação real, você teria que recuperar as células corretas da tabela de um documento longo antes de poder executar o programa — e essa etapa de recuperação não é trivial, como o FinanceBench mostrou na semana passada.

Por fim, os resultados de 2021 subestimam a capacidade atual dos modelos. A linha de base de ~61% foi pré-ChatGPT. Os números de ~76% do GPT-4 e ~89% do SOTA vêm de pipelines especializados que combinam chain-of-thought, execução de código e ajuste fino (fine-tuning). A lacuna para o especialista humano (91%+) diminuiu, mas persiste.

Por que isso importa para a IA em finanças

Os livros razão (ledgers) do Beancount são essencialmente relatórios de lucros simplificados: linhas estruturadas de débitos e créditos com metadados em prosa nas notas de transação, campos de favorecido e hierarquias de contas. Cada habilidade que o benchmark FinQA testa mapeia-se diretamente a algo que um agente Beancount deve fazer.

O modo de falha de cross-modality é particularmente importante. Em um contexto Beancount, um agente pode ver um valor de transação no livro razão, uma taxa de moeda estrangeira em uma diretiva de preço e um comentário no campo de nota — e precisar de todos os três para calcular o valor correto na moeda de relatório. Os modelos que o FinQA testou em 2021 não conseguiram cruzar essas fontes de forma confiável. Os LLMs atuais se saem melhor, mas a precisão de 22,78% em programas de mais de 3 etapas é um aviso: o comprimento da cadeia é um eixo real de falha, e tarefas de reconciliação de livro razão em múltiplas etapas o atingirão.

O problema das constantes de domínio também se generaliza. A contabilidade tem suas próprias convenções — invariantes de partida dobrada, semântica de tipos de conta, limites de ano fiscal — que um modelo deve conhecer sem ser informado. A análise de erro do FinQA, mostrando ~50% de falhas de conhecimento de domínio, sugere que um agente Beancount precisa de ajuste fino em convenções contábeis ou de uma camada de recuperação explícita para regras contábeis, não apenas entradas de livro razão.

A representação de programa do benchmark, embora restrita, também aponta para como os agentes Beancount devem expressar seu raciocínio: não linguagem natural que pode ser vaga, mas operações executáveis que podem ser verificadas, revertidas ou auditadas.

O que ler a seguir

  • TAT-QA (arXiv:2105.07624, ACL 2021) — estende a configuração híbrida tabela+texto para 16.552 perguntas com uma variedade mais rica de tipos de raciocínio; o modelo TAGOP que ele introduz vale a pena ser estudado pela forma como lida com a extração de trechos (span extraction) de ambas as modalidades conjuntamente.
  • ConvFinQA (arXiv:2210.03849, EMNLP 2022) — a extensão conversacional do FinQA, onde cada diálogo possui dependências numéricas entre turnos; a estrutura multi-turno mapeia-se diretamente a um assistente interativo do Beancount que deve rastrear cálculos contínuos em acompanhamentos do usuário.
  • MultiHiertt (arXiv:2206.01347, ACL 2022) — leva a configuração para relatórios financeiros com múltiplas tabelas hierárquicas por documento; um passo necessário em direção às demonstrações de consolidação e visões de livro razão plurianuais que os agentes Beancount enfrentarão.