Salta al contingut principal

Toolformer: l'ús d'eines amb aprenentatge supervisat i els seus límits per a la IA financera

· 7 minuts de lectura
Tian Pan
Research Engineer

Toolformer (Schick et al., 2023, Meta AI) és l'article fundacional per ensenyar als models de llenguatge a cridar APIs externes mitjançant l'entrenament auto-supervisat. He estat posposant una lectura atenta perquè l'"ús d'eines" s'ha convertit en una paraula de moda tan gran que les afirmacions originals s'han desvirtuat. Abans de dissenyar qualsevol agent d'escriptura (write-back agent) que cridi eines de llibre major, necessito entendre què va demostrar realment Toolformer — i on falla silenciosament.

L'article

2026-04-16-toolformer-language-models-teach-themselves-use-tools

Timo Schick i set coautors de Meta AI presenten un mètode per entrenar un model de llenguatge per decidir quan cridar APIs externes, quins arguments passar i com incorporar els resultats a les seves pròpies prediccions — sense requerir dades d'entrenament etiquetades manualment per a cada eina. L'enfocament és auto-supervisat: el model genera crides d'API candidates en posicions plausibles del text, executa aquestes crides i conserva només els exemples on el resultat de l'API redueix genuïnament la perplexitat del model en els tokens circumdants. Aquest conjunt de dades filtrat s'utilitza després per a l'ajust fi (fine-tuning). Les eines provades inclouen una calculadora, dos motors de cerca (recuperació BM25 i cerca a la Viquipèdia), un model de preguntes i respostes (QA), un traductor i un calendari.

El model entrenat és un model basat en GPT-J de 6,7 mil milions de paràmetres que anomenen Toolformer. L'article va ser acceptat a NeurIPS 2023.

Idees clau

  • En problemes matemàtics de paraules (SVAMP), Toolformer 6.7B obté un 29,4%, en comparació amb el 5,2% de la línia base de GPT-J, el 4,9% d'OPT 66B i el 10,0% de GPT-3 175B. L'ús d'eines col·lapsa efectivament la corba d'escala habitual per a l'aritmètica.
  • En matemàtiques ASDiv, Toolformer arriba al 40,4% enfront del 7,5% de GPT-J i el 14,0% de GPT-3; a MAWPS, 44,0% enfront del 9,9% de GPT-J i el 19,8% de GPT-3.
  • En tasques de QA factual, la situació s'inverteix: GPT-3 encara supera Toolformer en els tres punts de referència de QA (TriviaQA, WebQuestions, Natural Questions) malgrat que Toolformer utilitza eines de cerca. Toolformer TriviaQA: 53,5% enfront del 31,9% de la línia base de GPT-J, però GPT-3 sense eines és encara superior.
  • El flux de generació de dades auto-supervisat produeix exemples d'entrenament on el model aprèn a no cridar una API quan no és útil — el pas de filtratge utilitza la millora de la perplexitat com a senyal de "ha ajudat realment aquesta crida d'eina?".
  • La capacitat d'ús d'eines només sorgeix amb l'escala: els models per sota d'uns 775 milions de paràmetres no aprenen de manera fiable quan invocar eines, fins i tot amb el mateix senyal d'entrenament.
  • L'eina de calendari es crida només el 0,2% del temps en tasques de raonament temporal; el model redirigeix predominantment les preguntes temporals a l'eina de cerca de la wiki en el seu lloc.

Què es manté — i què no

La idea central és perdurable: el truc del filtratge basat en la perplexitat és elegant perquè no requereix etiquetatge humà ni cap oracle que conegui la resposta correcta — només si el resultat de l'API inserit ha fet que el text circumdant sigui més predictible. Això és una contribució genuïna, i els resultats matemàtics són sorprenents. Un model de 6,7 mil milions superant el GPT-3 a ASDiv no és un truc d'avaluació; és una demostració clara que la crida d'eina adequada val uns 26 cops més paràmetres en tasques d'aritmètica.

El que trobo menys convincent és la història del QA. L'article presenta Toolformer com una millora general del rendiment, però els resultats del QA mostren que no supera el GPT-3 — un model molt més gran sense cap eina. Els autors ho reconeixen, però el marc narratiu ("sovint competitiu amb models molt més grans") subestima com de selectiva és la victòria: el model guanya en tasques que es descomponen netament en una sola crida de calculadora o de cerca, i perd o empata en tasques que requereixen un raonament genuí sobre el contingut recuperat.

El problema metodològic més profund és que el flux auto-supervisat assumeix que el model ja és prou bo per generar crides d'API plausibles abans de ser entrenat per fer-ho. Aquest és un problema d'arrencada (bootstrapping). Per a eines ben estructurades com una calculadora amb un format d'entrada clar, funciona. Per a eines amb esquemes d'arguments més complexos —exactament el tipus que voldries per a una API d'escriptura de llibre major del món real—, la qualitat de les crides mostrejades es degradaria ràpidament.

L'article també avalua cada eina de forma aïllada, no en combinació. No hi ha cap demostració d'un flux de diversos passos on, per exemple, un resultat de cerca alimenti una calculadora. Els autors ho assenyalen com una limitació, però és una de significativa: els fluxos de treball comptables reals gairebé sempre requereixen crides d'eines encadenades.

Finalment, l'avaluació és zero-shot. No hi ha comparació amb GPT-3 o GPT-4 amb pocs exemples (few-shot) i eines proporcionades en context, que es va convertir en el paradigma dominant pocs mesos després d'aquest article. La data de publicació de NeurIPS 2023 significa que els experiments precedeixen l'adopció generalitzada de les APIs de crida de funcions, fent que el conjunt de comparació estigués una mica desfasat en el moment de la publicació.

Per què això és important per a la IA financera

L'article de Toolformer respon a una pregunta que m'interessa per a Bean Labs: pot un model aprendre a cridar una API d'escriptura de manera fiable, i a quin cost? La resposta dels resultats matemàtics és "sí, si la interfície de l'eina és neta i la tasca es descompon en una sola crida". No obstant això, els modes de fallada s'associen directament amb les parts més difícils del problema del llibre major.

Les accions d'escriptura de Beancount —classificar una transacció, inferir assignacions de comptes, generar una entrada de diari— no són crides de calculadora d'un sol pas. Impliquen recuperar context (entrades anteriors, pla de comptes), aplicar regles (regles de comptabilització, restriccions de moneda) i produir una sortida estructurada que ha de ser sintàcticament vàlida. Això són almenys tres crides d'eines encadenades, i l'arquitectura de Toolformer explícitament no pot encadenar eines. El senyal d'entrenament basat en la perplexitat també seria difícil d'aplicar aquí: no està clar què significa "menor perplexitat en el text del llibre major circumdant" quan la sortida és un fitxer .beancount estructurat en lloc d'una continuació de llenguatge natural.

La lliçó més útil de Toolformer per als nostres propòsits és l'espai negatiu: un agent d'escriptura no pot ser només un model de llenguatge ajustat que hagi memoritzat quan cridar l'API del llibre major. Necessita una capa de raonament explícita (ReAct o similar) que pugui planificar, executar i comprovar resultats intermedis abans de confirmar una escriptura. Toolformer demostra que l'ús d'eines funciona; no demostra que funcioni de manera segura en operacions estructurades amb efectes secundaris.

Què llegir a continuació

  • ReAct: Synergizing Reasoning and Acting in Language Models (arXiv:2210.03629) — afegeix passos explícits de raonament de cadena de pensament intercalats amb crides d'eines; l'arquitectura que aborda la limitació d'encadenament de Toolformer i que és la base de la majoria d'agents moderns.
  • ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs (arXiv:2307.16789, ICLR 2024) — escala l'ús d'eines a més de 16.000 APIs reals mitjançant el conjunt de dades ToolBench; el més semblant a una prova d'estrès de crida d'eines al nivell de complexitat que afrontaria un agent comptable real.
  • FinMaster (arXiv:2505.13533) — avalua els fluxos de treball comptables de punta a punta, incloent-hi l'entrada de diari i la conciliació; mostrarà si els guanys que Toolformer va demostrar en aritmètica es generalitzen a les tasques de diversos passos i amb restriccions d'esquema que importen per a Beancount.