Paper · Foundational research
Toolformer — Meta Insegna ai LLM a Usare API Senza Supervisione Umana
Original source: Schick et al. · Meta AI · "Toolformer: Language Models Can Teach Themselves to Use Tools" · arXiv:2302.04761 — summary and rework in own words.
Cos'è: "Toolformer: Language Models Can Teach Themselves to Use Tools" è il paper Meta AI pubblicato da Timo Schick, Jane Dwivedi-Yu, Roberto Dessì e collaboratori a febbraio 2023. Per la prima volta dimostra che un LLM può imparare in modo completamente self-supervised — senza annotazioni umane — quando e come chiamare API esterne (calculator, Q&A retrieval, search engine, calendar, traduttore). Il segnale di apprendimento è puramente automatico: si include una chiamata API in un punto del testo, e la si mantiene se la perplessità del modello sui token successivi migliora con quell'aiuto. È il precedente concettuale diretto del function calling commerciale OpenAI di giugno 2023 e di tutto l'ecosistema "agentico" che ne è seguito.
Il problema: insegnare un comportamento senza dati supervisionati
A inizio 2023 era chiaro che gli LLM avevano debolezze sistematiche su task che richiedevano conoscenza fattuale aggiornata, calcolo aritmetico preciso o ragionamento simbolico. La risposta intuitiva era dare al modello accesso a tool esterni — un calcolatore, un motore di ricerca, una base di conoscenza — e insegnargli a usarli. Il problema era come: raccogliere un dataset supervisionato con annotazioni umane su "quando un LLM dovrebbe chiamare un tool" è costoso, soggettivo, e non scala. Prima di Toolformer, gli approcci a tool use richiedevano o prompting elaborato a tempo di inferenza (ReAct, MRKL) oppure dataset annotati manualmente, entrambi con problemi di scalabilità.
L'intuizione del team Meta è semplice e potente: un LLM è già un perfetto valutatore di quanto un'informazione sia "utile" — lo misura come probabilità (perplessità) sui token successivi. Se inseriamo nel testo una chiamata API e il suo risultato in un punto specifico, la perplessità del modello sui token successivi migliorerà se quel risultato è effettivamente rilevante, peggiorerà o resterà invariata altrimenti. Questo segnale può essere usato per filtrare automaticamente quali chiamate API tenere nel training set, senza coinvolgere annotatori umani.
La pipeline self-supervised in tre passi
Il paper definisce una pipeline che parte da un corpus di testo non annotato (in Meta usano CCNet, un sottoinsieme di Common Crawl pulito) e produce un dataset di esempi "testo + chiamate API" che può essere usato per fine-tuning supervisionato. I tre passi sono:
- Sampling: per ogni documento del corpus, il modello base (un GPT-J 6B) genera in modo sample-based diverse possibili chiamate API in posizioni candidate. Per il calculator si campionano espressioni tipo [Calculator(123 × 4.5)] in punti dove il modello stima che sia rilevante.
- Execution: ogni chiamata API campionata viene effettivamente eseguita — la calcolatrice calcola, il sistema Q&A risponde, il motore di ricerca recupera passaggi. Il risultato viene inserito accanto alla chiamata API nel testo originale.
- Filtering: per ogni candidato si misura la perplessità del modello sui token successivi in tre condizioni: senza chiamata API, con chiamata API ma senza risposta, con chiamata API e risposta. Si tiene il candidato solo se l'aggiunta della risposta riduce la perplessità di almeno una soglia τ. Tutte le chiamate inutili o dannose vengono scartate automaticamente.
Il dataset risultante — testo originale arricchito di chiamate API contestualmente utili — viene usato per fine-tunare il modello in modo standard. Il modello impara per imitazione a inserire chiamate API nei punti giusti, perché ha visto migliaia di esempi in cui erano effettivamente utili. È brillante per minimalità: nessuna funzione di reward, nessun RLHF, nessuna annotazione umana, solo perplessità.
I cinque tool e i risultati sperimentali
Toolformer è stato addestrato e valutato su cinque API distinte: calculator (espressioni aritmetiche), Q&A retrieval (un sistema di Atlas, anch'esso di Meta, basato su retrieval da Wikipedia), motore di ricerca Wikipedia, traduttore (modello NLLB), calendar (per query temporali tipo "che giorno della settimana è il 14 dicembre 2032?"). Il modello base è GPT-J 6B, scelto deliberatamente perché di dimensione modesta — per dimostrare che il guadagno non dipende dalla scala del modello base.
I risultati su benchmark che richiedono i tool (SQuAD, GSM8K-style matematica, T-REx per fatti, MLQA per traduzione, TempLAMA per query temporali) mostrano che Toolformer 6B con tool batte non solo GPT-J 6B senza tool, ma anche GPT-3 175B senza tool su molti task. Il modello da 6B con accesso al calculator risolve problemi aritmetici dove GPT-3 fallisce in modo sistematico. Su domande fattuali datate, l'accesso a search Wikipedia chiude il gap di knowledge cutoff. Su tutti i benchmark non legati ai tool il modello fine-tunato mantiene le performance del base — il fine-tuning non degrada le capability generali.
Da paper a prodotto: la linea diretta verso il function calling
Toolformer è apparso il 9 febbraio 2023. Quattro mesi e mezzo dopo, il 13 giugno 2023, OpenAI ha annunciato il function calling in GPT-3.5-turbo-0613 e GPT-4-0613: la possibilità per gli sviluppatori di definire schemi di funzione in JSON e ricevere dal modello chiamate strutturate con argomenti. Il connection è esplicito: l'idea di un LLM che decide autonomamente quando chiamare uno strumento esterno e con quali argomenti era esattamente quello che Toolformer aveva dimostrato essere apprendibile in modo robusto. OpenAI non ha pubblicato i dettagli della pipeline di training del function calling, ma è ampiamente assunto che includa una componente self-supervised simile, applicata a scala enormemente maggiore.
Da quel momento l'intera categoria degli "agenti LLM" si è costruita su questa primitiva: LangChain ToolCalling, Anthropic tool use (annunciato a maggio 2024), Gemini function calling, modelli open source come Llama 3.1 e Mistral 7B che includono nativamente la capacità di emettere chiamate tool in formato strutturato. MCP (Model Context Protocol) di Anthropic, rilasciato a novembre 2024, è uno standard di interoperabilità per esattamente lo stesso problema: come un LLM si interfaccia con tool esterni in modo standardizzato.
I limiti dell'approccio self-supervised originale
Toolformer ha due limitazioni che il paper riconosce esplicitamente e che la ricerca successiva ha dovuto risolvere. Primo: il modello impara a fare una sola chiamata API per esempio. Non è in grado di concatenare chiamate (output di un tool come input di un altro), perché il segnale di perplessità è locale a una singola chiamata. Risolvere questo richiede tecniche più complesse — RLHF su traiettorie agentiche, oppure approcci come ReAct con prompting iterativo — che la community ha sviluppato nei due anni successivi.
Secondo: il segnale di perplessità è meccanico. Se un tool produce un output sbagliato ma che riduce la perplessità (es. una risposta plausibile ma falsa), Toolformer lo accetta come buon esempio. Non c'è un meccanismo di verifica della correttezza fattuale. È una limitazione fondamentale del self-supervised: il modello impara cosa sembra utile al modello stesso, non cosa è utile al mondo. I sistemi di tool use commerciali moderni combinano per questo motivo self-supervised iniziale con RLHF su dati umani, e con eval automatici di ground truth dove possibile. Ma il principio di base — che un LLM può imparare a usare tool senza annotazioni umane — è oggi assunto come dato di fatto. Toolformer è il paper che lo ha dimostrato per primo.
Link alla fonte originale
Schick et al. — "Toolformer: Language Models Can Teach Themselves to Use Tools" →
Pubblicato su arXiv il 9 febbraio 2023, presentato a NeurIPS 2023. Primo autore Timo Schick (allora Meta AI, oggi Anthropic). Il paper ha avuto un impatto sproporzionato rispetto alla sua complessità tecnica: ha mostrato in modo pulito che il tool use poteva essere appreso senza dati supervisionati, aprendo la strada al function calling commerciale di OpenAI (giugno 2023), Anthropic tool use (maggio 2024) e all'intera categoria degli LLM agentici.