Draft:Toolformer
Submission declined on 30 October 2024 by Snowman304 (talk). This submission is not adequately supported by reliable sources. Reliable sources are required so that information can be verified. If you need help with referencing, please see Referencing for beginners and Citing sources.
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
- Comment: Quite a few of the paragraphs have no citations. This article seems to be summarizing the Schick et al. paper in which Toolformer was introduced. What are other sources saying about Toolformer? Snowman304|talk 03:02, 30 October 2024 (UTC)
ToolFormer is a method that enhances large language models (LLMs) by enabling interactions with external tools. Integrating tools with language models improves performance on complex tasks like question answering and arithmetic (on which LLMs have historically performed poorly[1]) with minimal human intervention. It also enables LLMs to answer queries about events outside the model's training data, which is impossible for a conventional LLM. Since its introduction in 2023, ToolFormer has gained considerable attention for its potential to extend LLM functionality and improve its adaptability to complex tasks.
Method
[edit]Dataset Creation
[edit]The model takes as input some plain text dataset represented as and adds possible API calls to it resulting in an augmented dataset . This is done by first sampling potential API calls for up to candidate positions by calculating the probability of the Language Model assigning an API call () as a continuation of a given sequence at position for each as . Only top k positions with probability , where is a threshold, are kept and for each such position, API calls are sampled.
Next, all the sampled API calls are executed and responses are collected (where is a text sequence). After this, API calls are filtered based on criss entropy loss values for the model. Loss is calculated as given the model is prefixed with and weights are given as a sequence . Cross entropy loss is calculated for two cases - (i) when the API call is made and the results are used in M and (ii) when API call is not made at all or the it's made but the response is not provided. These are computed using the following formulas: (i) , (ii) where is an empty sequence. Given the losses, APIs are filtered based on threshold such that and the resulting APIs are added to the input. As a result, an augmented dataset is produced which is used in model finetuning.
Training
[edit]For training and evaluation, the authors used a subset of CCNet[2](dataset ) and GPT-J (language model ).
Evaluation
[edit]Authors compared four models in their experiment including GPT-J without finetuning, GPT-J finetuned on a subset of CCNet without API calls, Toolformer finetuned on the augmented dataset with API calls, and Toolformer with disabled API calls. These models, along with larger models - OPT and GPT-3 - were evaluated based on their performance on different downstream tasks without in-context examples fed into the model. The goal of this experimental set up is to see if the model can correctly decide which tools to use and how without users' directions.
When evaluated on subsets of LAMA[3][4] benchmark to fill in a missing part in a short statement, Toolformer with API calls outperforms all other models listed above. For math tasks evaluated using ASDiv,[5] SVAMP, and MAWPS,[6] Toolformer models with and without API calls outperform all the other models with Toolformer with API outperforming all the baseline models. Similar results are observed for temporal datasets as well evaluated on TempLama[7] and custom Dataset to check the utility of the Calendar API. Toolformer with API outperforms all the models except for GPT-3 in question answering task as well evaluated on Web Questions,[8] Natural Questions,[9] and TriviaQA[10] datasets. However, Toolformer shows worse performance for multilingual question answering tasks evaluated on MLQA.[11]
Benefits
[edit]Eliminate Memorization
[edit]Although LLMs are great at memorizing, they can't memorize every detail from the training set and consequently might not provide satisfactory responses to specialized questions. Integrating tools with LLMs (especially search/retrieval augmented generation) may help them respond better.
Enhanced Expertise
[edit]LLMs are generally trained on enormous corpora and may lack domain-specific knowledge, even when finetuned. Providing tooling for specific tasks, like a calculator, may improve expertise.
Interpretability
[edit]Explainable Artificial Intelligence is becoming very relevant, and tracking the tools that LLMs leverage can help us understand their decision-making process by recording when/how they're leveraged and their inputs and outputs.
Applications
[edit]Integrating tools with LLMs can be used to solve many challenging problems. Notably, search engines can be enhanced to use generative artificial intelligence techniques, like perplexity.ai[12] or Google's new AI overview feature.[13] Most LLM APIs specify techniques to help their models interact with other APIs[14][15][16]
Authors
[edit]The authors of the paper in which the Toolformer[17] model was introduced are Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda, Thomas Scialom. Roberto Dessì is affiliated with Universitat Pompeu Fabra. All the other authors have an affiliation with Meta AI Research.
References
[edit]- ^ "Measuring Mathematical Problem Solving With the MATH Dataset" (PDF).
- ^ Wenzek, Guillaume; Lachaux, Marie-Anne; Conneau, Alexis; Chaudhary, Vishrav; Guzmán, Francisco; Joulin, Armand; Grave, Edouard (2019-11-14), CCNet: Extracting High-Quality Monolingual Datasets from Web Crawl Data, arXiv:1911.00359
- ^ "Facebookresearch/LAMA". GitHub.
- ^ Petroni, Fabio; Rocktäschel, Tim; Lewis, Patrick; Bakhtin, Anton; Wu, Yuxiang; Miller, Alexander H.; Riedel, Sebastian (2019-09-04), Language Models as Knowledge Bases?, arXiv:1909.01066
- ^ Miao, Shen-Yun; Liang, Chao-Chun; Su, Keh-Yih (2021-06-29), A Diverse Corpus for Evaluating and Developing English Math Word Problem Solvers, arXiv:2106.15772
- ^ Koncel-Kedziorski, Rik; Roy, Subhro; Amini, Aida; Kushman, Nate; Hajishirzi, Hannaneh (June 2016). "MAWPS: A Math Word Problem Repository". In Knight, Kevin; Nenkova, Ani; Rambow, Owen (eds.). Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. San Diego, California: Association for Computational Linguistics. pp. 1152–1157. doi:10.18653/v1/N16-1136.
- ^ Dhingra, Bhuwan; Cole, Jeremy R.; Eisenschlos, Julian Martin; Gillick, Daniel; Eisenstein, Jacob; Cohen, William W. (2022). Roark, Brian; Nenkova, Ani (eds.). "Time-Aware Language Models as Temporal Knowledge Bases". Transactions of the Association for Computational Linguistics. 10: 257–273. doi:10.1162/tacl_a_00459.
- ^ Talmor, Alon; Berant, Jonathan (2018-03-18), The Web as a Knowledge-base for Answering Complex Questions, arXiv:1803.06643
- ^ Kwiatkowski, Tom; Palomaki, Jennimaria; Redfield, Olivia; Collins, Michael; Parikh, Ankur; Alberti, Chris; Epstein, Danielle; Polosukhin, Illia; Devlin, Jacob; Lee, Kenton; Toutanova, Kristina; Jones, Llion; Kelcey, Matthew; Chang, Ming-Wei; Dai, Andrew M. (2019). Lee, Lillian; Johnson, Mark; Roark, Brian; Nenkova, Ani (eds.). "Natural Questions: A Benchmark for Question Answering Research". Transactions of the Association for Computational Linguistics. 7: 452–466. doi:10.1162/tacl_a_00276.
- ^ Joshi, Mandar; Choi, Eunsol; Weld, Daniel S.; Zettlemoyer, Luke (2017-05-13), TriviaQA: A Large Scale Distantly Supervised Challenge Dataset for Reading Comprehension, arXiv:1705.03551
- ^ Lewis, Patrick; Oguz, Barlas; Rinott, Ruty; Riedel, Sebastian; Schwenk, Holger (July 2020). Jurafsky, Dan; Chai, Joyce; Schluter, Natalie; Tetreault, Joel (eds.). "MLQA: Evaluating Cross-lingual Extractive Question Answering". Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. Online: Association for Computational Linguistics: 7315–7330. doi:10.18653/v1/2020.acl-main.653.
- ^ "Perplexity AI".
- ^ "Google Search AI Overview". 14 May 2024.
- ^ "ChatGPT function calling".
- ^ ""Llama function calling"".
- ^ "Claude (Anthropic) function calling".
- ^ Schick, Timo; Dwivedi-Yu, Jane; Dessì, Roberto; Raileanu, Roberta; Lomeli, Maria; Zettlemoyer, Luke; Cancedda, Nicola; Scialom, Thomas (2023-02-09), Toolformer: Language Models Can Teach Themselves to Use Tools, arXiv:2302.04761