Toolformer (TL)
Toolformer — ito ay isang diskarte sa paglikha ng malalaking language model (LLM), na nagbibigay-daan sa mga ito na gamitin nang nagsasarili ang mga panlabas na kagamitan sa pamamagitan ng mga tawag sa API[1]. Ang pamamaraang ito ay iminungkahi noong 2023 ng isang pangkat ng mga mananaliksik mula sa Meta AI Research kasama ang Unibersidad ng Pompeu Fabra (Espanya). Sa kanilang akda na «Toolformer: Language Models Can Teach Themselves to Use Tools» (Timo Schick et al., 2023), itinuturo ng mga may-akda ang isang paradoks: ang mga modernong LLM ay nagpapakita ng kahanga-hangang kakayahan sa paglutas ng mga kumplikadong bagong gawain batay sa mga tekstuwal na halimbawa, ngunit madalas ay hindi mapagkakatiwalaan ang pagsasagawa ng mga pangunahing operasyon — halimbawa, pagbibilang o paghahanap ng mga katotohanan[1]. Upang malampasan ang mga limitasyong ito, bumuo ang koponan ng modelong Toolformer, na nagtuturo sa sarili nitong pumili at tumawag ng mga panlabas na kagamitan (tulad ng mga search engine, calculator, o serbisyo ng pagsasalin) upang mapabuti ang kalidad ng pagtupad ng iba't ibang gawain[1]. Noong Pebrero 2023, ang modelong ito ay inilabas bilang preprint sa arXiv, at kalaunan ay kinilala at tinanggap sa kumperensyang NeurIPS 2023[2].
Pangunahing ideya at kakayahan ng modelo
Ang Toolformer ay isang fine-tuned na language model na kayang magpasya, aling kagamitan ang tatawagin, kailan ito tatawagin, anong mga parameter ang ipapasa, at paano isasama ang natanggap na resulta sa nilikhaang teksto[3]. Ang pagsasanay ay inayos sa self-supervised na paraan — ang modelo mismo ang bumubuo at nagsusuri ng mga halimbawa ng paggamit ng API, nangangailangan lamang ng maliit na hanay ng mga demonstrasyon (literal na ilang halimbawa) para sa bawat kagamitan[3]. Hindi tulad ng mga nakaraang diskarte, hindi kinakailangan ang malawak na anotasyon o mga template na nakatuon sa tao para sa integrasyon ng mga kagamitan; ang modelo mismo ay natututo kung kailan at paano gamitin ang bawat API, pinapanatili ang mga pangkalahatang kakayahan sa wika at hindi nililimitahan sa mga makitid na nakatalagang gawain[1].
Isinama ng mga may-akda sa Toolformer ang malawak na hanay ng mga kagamitang naa-access sa pamamagitan ng mga simpleng API-tawag. Sa eksperimental na bersyon, ginamit ang mga sumusunod na utility[3]:
- Calculator – para sa pagsasagawa ng mga aritmetikong kalkulasyon.
- Sistema ng «tanong-sagot» (Q&A) – para sa paghahanap ng mga sagot sa mga katanungang paktwal mula sa knowledge base.
- Mga search engine (2 magkaibang sistema) – para sa paghahanap ng napapanahong impormasyon sa internet.
- Sistema ng machine translation – para sa pagsasalin ng mga teksto sa pagitan ng mga wika.
- Kalendaryo – para sa pagkuha ng impormasyon tungkol sa mga petsa at oras.
Ang bawat kagamitan ay kinakatawan sa anyo ng isang tekstuwal na fragment (espesyal na tekstuwal na label), na nagbibigay-daan sa modelo na isama ang tawag ng API nang direkta sa teksto na nilikha nito[4]. Halimbawa, maaaring ipasok ng modelo ang konstruksyon na `[Calculator(...)]` o `[Search("query")]` sa kasalukuyang konteksto, na nagpapahiwatig ng pangangailangan para sa panlabas na tawag. Sa panahon ng paggawa ng sagot, bumubuo ang Toolformer ng espesyal na simbolo (palaso →), kung saan pinipigilan ng sistema ang pagbuo at isinasagawa ang kaukulang API-tawag; ang natanggap na resulta ay inilalagay sa teksto, pagkatapos ay nagpapatuloy ang pagbuo ng susunod na fragment[4]. Ang ganitong mekanismo ay nagbibigay-daan sa modelo na dinamikong makuha ang mga kakayahan ng mga panlabas na serbisyo, habang nananatiling isang pinag-isang language module nang hindi binabago ang arkitektura.
Pagsasanay ng modelo (metodolohiya)
Inilarawan ng mga developer ang proseso ng pagsasanay ng Toolformer sa ilang yugto[4], gamit ang teknik ng in-context learning para sa pagbuo ng synthetic na data[1]:
- Pagbuo ng mga kandidato para sa mga tawag ng API. Una, kinukuha ang mga teksto mula sa isang malaking corpus (halimbawa, mga artikulo o web page) at sa mga ito ay artipisyal na inilalagay ang mga tawag ng mga kagamitan na maaaring makatulong sa pagpapatuloy o pagdaragdag sa teksto. Ang mga paglalagay na ito ay binubuo ng modelo mismo gamit ang N-shot prompting, batay sa ilang mano-manong naibigay na halimbawa ng paggamit ng bawat API[1]. Halimbawa, maaaring matanggap ng modelo ang fragment: «Noong 2024, ang populasyon ng lungsod ay [QA("Ano ang populasyon ng lungsod na ito?") → ...] tao», kung saan ang QA( ) ay isang tawag sa sistema ng tanong-sagot na dapat magbalik ng nawawalang data. Para sa bawat kagamitan, pinipili ang angkop na mga konteksto; halimbawa, para sa calculator, pinipili ng modelo ang mga pangungusap na naglalaman ng ilang numero at mga salitang tulad ng «katumbas» o «kabuuan»[4] — kung saan talagang kakailanganin ang aritmetikong resulta.
- Pagsasagawa ng mga tawag ng API at pagdaragdag ng data. Pagkatapos, lahat ng mga tawag na binuo ng modelo ay talagang isinasagawa — halimbawa, nagpapadala ng mga kahilingan sa search engine o nagkakalkula ng mga ekspresyon sa calculator. Ang mga natanggap na sagot ay inilalagay pabalik sa mga teksto, na bumubuo ng mga kumpletong bersyon ng mga pangungusap na may mga paglalagay na may anyo ng `{sagot}`[4][4]. Sabay na nino-save din ang mga «blangko» na bersyon (nang walang paglalagay ng sagot), pati na rin ang orihinal na mga teksto nang walang anumang tawag — para sa kasunod na paghahambing.
- Pag-filter at self-assessment ng pagiging kapaki-pakinabang. Sa yugtong ito, sinusuri ng Toolformer nang nagsasarili kung alin sa mga nabuong API-paglalagay ang talagang kapaki-pakinabang para sa hula ng pagpapatuloy ng teksto[4]. Isinasagawa ang paghahambing ng posibilidad ng language model na magpatuloy ng teksto sa tatlong senaryo: (a) nang walang anumang tawag, (b) na may tawag ng kagamitan nang walang inilagay na resulta, (c) na may tawag at inilagay na resulta[4]. Kung ang pagdaragdag ng isang partikular na sagot ng API ay nagpapataas ng posibilidad ng modelo na tamang magpatuloy ng parirala (ibig sabihin, talagang nakakatulong sa modelo na hulaan ang mga kasunod na salita), kung gayon ang naturang halimbawa ay itinuturing na kapaki-pakinabang. Tanging ang mga paglalagay na nagbibigay ng kalamangan sa posibilidad ang nananatili sa sample. Sa ganitong paraan, na-filter ang mga kaso kung saan ang tawag ng kagamitan ay labis o hindi nagdagdag ng bagong impormasyon. Sa wakas, ang modelo ay na-fine-tune (fine-tuning) sa nagresultang filtered na dataset, na naglalaman ng mga tunay na halimbawa ng teksto na may optimal na inilalagay na mga tawag ng API[1]. Ang pagsasanay ay isinasagawa ayon sa karaniwang layunin ng language modeling — hulaan ang susunod na token ng sequence, kabilang ang mga token na nagtatanda ng mga resulta ng mga tawag ng kagamitan.
Mahalaga na igiit na para sa pagpapakilala ng bawat bagong kagamitan, kailangan lamang ng ilang mano-manong halimbawa ng paggamit nito — pagkatapos, ang pagbuo ng data sa pagsasanay ay awtomatikong nangyayari[3]. Salamat dito, ang diskarte ng Toolformer ay halos hindi nakadepende sa pagkakaroon ng mga espesyalisadong anotadong corpus at pinipigilan ang mga gastos sa paggawa ng anotasyon ng data. Natututo ang modelo ng format at angkop na paggamit ng mga tawag ng API at pinapanatili nito ang sariling unibersal na katangian: ginagamit nito ang mga kagamitan lamang kapag talagang kailangan para sa paglutas ng naibigay na gawain[1].
Mga eksperimental na resulta
Para sa eksperimental na pag-verify ng pamamaraan, kinuha ng mga mananaliksik ang umiiral na language model na GPT-J (6.7 bilyong parameter) — isang bukas na LLM na sinanay sa corpus na The Pile[4]. Ang modelong ito ay na-fine-tune ayon sa inilarawan na pamamaraan, na nagbunga ng Toolformer batay sa GPT-J. Ang pagganap ng bagong diskarte ay sinuri sa zero-shot na mode (nang walang mga halimbawa) sa ilang karaniwang gawain, kabilang ang paglutas ng mga matematikang tekstuwal na problema, paghahanap ng mga katotohanan at pagsagot sa mga tanong tungkol sa kaalaman (QA), pati na rin ang pagsasalin at pagpuno ng mga puwang sa teksto. Bilang test data, ginamit ang, halimbawa, mga bukas na hanay ng mga tanong Natural Questions, TriviaQA (para sa pagtatasa ng paktwal na kaalaman) at mga hanay ng mga gawain ASDiv, MAWPS, SVAMP (matematikang tekstuwal na problema sa aritmetika), pati na rin ang multilingual na QA-benchmark na MLQA, LAMA[5].
Ipinakita ng mga resulta na ang Toolformer ay nangunguna nang malayo sa orihinal na modelo ng parehong laki sa maraming gawain[1]. Bukod pa rito, salamat sa koneksyon ng mga kagamitan, ang medyo maliit na modelo (6.7 bilyong parameter) ay nagawa sa ilang sukatan na malampasan ang mas malaking modelo ng GPT-3 (175 bilyong parameter)[1][6]. Halimbawa, sa mga matematikang tekstuwal na problema na nangangailangan ng tumpak na kalkulasyon, nagpakita ang Toolformer ng partikular na kapansin-pansing pag-unlad kumpara sa mga karaniwang LLM, naglulutas ng ganitong mga gawain nang tumpak salamat sa calculator, habang kahit ang GPT-3 ay nagkakamali[1]. Sa mga pagsubok sa paktwal na mga tanong (QA), ang Toolformer batay sa GPT-J ay nagpakita rin ng kalidad ng sagot na katumbas o mas mabuti kaysa sa GPT-3, dahil makakapagsagawa ito ng paghahanap sa internet para sa napapanahong impormasyon[1]. Mahalaga rin na ang bagong diskarte ay hindi nagpahina ng mga pangkalahatang kakayahan ng language model, tulad ng magkakaugnay na pagpapatuloy ng teksto sa karaniwang data: pinanatili ng Toolformer ang antas ng pagbuo ng natural na wika nang walang mga kagamitan sa antas ng orihinal na GPT-J[3]. Sa madaling salita, ang pagdaragdag ng functionality ng tawag ng API ay hindi «kinuha» mula sa modelo ang mga pangunahing kasanayan nito, ngunit pinalawak ang mga ito ng karagdagang mga kakayahan.
Kahalagahan ng gawa at mga karagdagang pananaliksik
Ipinakita ng pagbuo ng Toolformer ang prinsipyal na posibilidad ng pagtuturo sa modelo na gumamit ng mga panlabas na kagamitan nang halos walang manu-manong anotasyon, sa pamamagitan ng pagbuo ng synthetic na data at self-assessment ng pagiging kapaki-pakinabang. Binubuksan ng tagumpay na ito ang landas para sa mas epektibo at maaasahang malalaking language model: sa halip na mag-ipon ng mga bilyun-bilyon na parameter para sa pag-memorize ng mga katotohanan o mga patakaran sa matematika, ang isang medyo compact na modelo ay maaaring dinamikong makuha ang mga panlabas na mapagkukunan (mga knowledge base, calculator, mga serbisyo) upang mapunan ang sariling mga puwang[1]. Ang diskarteng ito ay nagbibigay-daan upang mabawasan ang bilang ng mga «hallucination» (kapag nag-imbento ang modelo ng hindi umiiral na impormasyon), mapataas ang katumpakan ng mga sagot at ang pagiging napapanahon ng kaalaman nang hindi nangangailangan ng kumpletong muling pagpoproseso ng buong modelo. Sa esensya, nakamit ng Toolformer ang «pinakamainam ng dalawang mundo» — pinagsasama ang mga kasanayan sa wika ng isang malaking modelo na may katumpakan ng mga makitid na kagamitan[3].
Ang gawa nina Schick at mga kasamahan ay naging isa sa mga una na nagpakita ng nagsasariling pagkuha ng LLM ng mga panlabas na API, at nagdulot ng malaking interes sa komunidad. Lumabas ang mga karagdagang pananaliksik na nagpapaunlad ng ideyang ito. Halimbawa, noong 2023 ay iminungkahi ang modelong Graph-ToolFormer, na ina-adapt ang mga prinsipyo ng Toolformer para sa pagtatrabaho sa mga graph na data. Batay sa mga pahiwatig na binuo ng ChatGPT, tinuturuan ng Graph-ToolFormer ang language model na tumawag ng mga panlabas na kagamitan para sa paglutas ng mga gawain ng pagsusuri ng graph (halimbawa, pagkuha ng mga katangian ng graph, pagtatrabaho sa mga knowledge network, atbp.)[7]. Isa pang kapansin-pansing pag-unlad — ang modelong Gorilla (Univ. of California, Berkeley, 2023), na nakatuon sa tumpak na paggamit ng maraming third-party na software API[8]. Ang Gorilla ay isang LLaMA-modelo na na-fine-tune sa malawak na hanay ng mga dokumentadong function; kayang bumuo nito ng mga tamang tawag ng API batay sa paglalarawan ng gawain, at napakatagumpay pa, kaya sa mga eksperimento ay nalampasan pa nito ang GPT-4 sa katumpakan ng pagbuo ng mga tawag ng mga library at serbisyo[8]. Ang Gorilla ay nagpapatupad ng integrasyon sa mekanismo ng paghahanap sa dokumentasyon, na nagbibigay-daan sa pag-update ng impormasyon tungkol sa mga pagbabago ng API at makabuluhang binabawasan ang mga error at hallucination kapag gumagamit ng mga kagamitan[8]. Kumpirmahin ng mga trabahong ito ang kahalagahan ng direksyon na binuksan ng Toolformer: ang kumbinasyon ng LLM na may mga panlabas na kagamitan ay itinuturing na isang promising na landas patungo sa paglikha ng mas makapangyarihan at maaasahang mga AI-sistema.
Napapansin na ang ideya ng integrasyon ng mga kagamitan sa mga language model ay umuunlad hindi lamang sa pananaliksik, kundi pati na rin sa industriya. Kaya, noong Marso 2023, ipinakita ng OpenAI ang sistema ng mga plugin para sa ChatGPT — isang espesyal na interface na nagbibigay-daan sa pagkonekta ng modelo sa mga panlabas na serbisyo (web browser, mga knowledge base, mga computational engine, atbp.) para sa pagkuha ng napapanahong impormasyon at pagsasagawa ng mga kalkulasyon[9]. Matagal nang humihiling ng ganitong functionality ang mga gumagamit, at ang paglabas ng mga plugin ay talagang nagpapatupad sa praktika ng konsepto na katulad ng Toolformer: ang modelo ay dinadagdagan ng «mga kagamitan» upang mapalawak ang mga kakayahan nito sa paglutas ng iba't ibang kahilingan ng gumagamit[9]. Kaya, ang Toolformer ay umaangkop sa pangkalahatang trend ng pag-unlad ng AI, kung saan ang malalaking language model ay nagiging isang plataporma, na kayang gumamit ng panlabas na kaalaman at mga kalkulasyon ayon sa kahilingan. Ang pananaliksik na isinagawa ng koponan ng Meta AI at UPF ay naglatag ng mahalagang pundasyon ng direksyong ito, na nagpapakita kung paano ang mga LLM ay maaaring matuto na magtrabaho kasama ang mga kagamitan nang halos walang mano-manong pagtuturo, at sa gayon ay lumalapit sa isang mas unibersal at ligtas na matatalinong katulong[1][3].
Mga Sanggunian
- Orihinal na artikulo «Toolformer: Language Models Can Teach Themselves to Use Tools» sa arXiv
- Pagsusuri ng Toolformer sa Synced Review
- Pahina ng Toolformer sa OpenReview
- Pagsusuri ng Toolformer sa Medium
- Artikulo tungkol sa modelong Gorilla sa arXiv
- Pahina ng mga plugin ng ChatGPT sa website ng OpenAI
Talasanggunian
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. NeurIPS 2023. OpenReview.
- Li, M. et al. (2023). API-Bank: A Comprehensive Benchmark for Tool-Augmented LLMs. arXiv:2304.08244.
- Zhang, T. et al. (2023). Graph-ToolFormer: To Empower LLMs with Graph Reasoning Ability via Prompt Augmented by ChatGPT. arXiv:2304.11116.
- Patil, S. G. et al. (2023). Gorilla: Large Language Model Connected with Massive APIs. arXiv:2305.15334.
- Qin, Y. et al. (2023). ToolLLM: Facilitating Large Language Models to Master 16 000+ Real-World APIs. arXiv:2307.16789.
- Li, Y. et al. (2024). Tool Learning with Large Language Models: A Survey. arXiv:2405.17935.
- OpenAI (2023). ChatGPT Plugins. OpenAI Blog.
- Brown, T. B. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
- Schick, T. et al. (2023). Meta AI & UPF's Toolformer: Enabling Language Models to Teach Themselves to Use External Tools. Synced Review.
Mga Tala
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 Schick, T. et al. «Meta AI & UPF's Toolformer: Enabling Language Models to Teach Themselves to Use External Tools». Synced. [1]
- ↑ Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». OpenReview. [2]
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». arXiv. [3]
- ↑ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 OXEN AI. «Arxiv Dives Toolformer: Language models can teach themselves to use tools». Medium. [4]
- ↑ «Toolformer: Language Models Can Teach Themselves to Use Tools». Papers With Code. [5]
- ↑ Brown, Tom B. et al. «Language Models are Few-Shot Learners». arXiv. [6]
- ↑ Zhang, Tingkai et al. «Graph-ToolFormer: To Empower LLMs with Graph Reasoning Ability via Prompt Augmented by ChatGPT». arXiv. [7]
- ↑ 8.0 8.1 8.2 Patil, Shishir G. et al. «Gorilla: Large Language Model Connected with Massive APIs». arXiv. [8]
- ↑ 9.0 9.1 «ChatGPT plugins». OpenAI. [9]