Toolformer (HI)

From Systems analysis Wiki
Jump to navigation Jump to search

Toolformer — यह बड़े भाषा मॉडलों (LLM) के निर्माण का एक दृष्टिकोण है, जो उन्हें API कॉल के माध्यम से स्वतंत्र रूप से बाहरी उपकरणों का उपयोग करने में सक्षम बनाता है[1]। यह विधि 2023 में Meta AI Research के शोधकर्ताओं के एक समूह द्वारा स्पेन के Pompeu Fabra विश्वविद्यालय के सहयोग से प्रस्तावित की गई थी। अपने शोध-पत्र «Toolformer: Language Models Can Teach Themselves to Use Tools» (Timo Schick et al., 2023) में लेखकों ने एक विरोधाभास की ओर ध्यान दिलाया: आधुनिक LLM पाठ्य उदाहरणों के आधार पर जटिल नई समस्याओं को हल करने की प्रभावशाली क्षमता प्रदर्शित करते हैं, लेकिन साथ ही अक्सर बुनियादी संक्रियाएँ — जैसे गणना करना या तथ्य खोजना — विश्वसनीय रूप से नहीं कर पाते[1]। इन सीमाओं को पार करने के लिए टीम ने Toolformer मॉडल विकसित किया, जो विभिन्न कार्यों की गुणवत्ता बढ़ाने के लिए बाहरी उपकरणों (जैसे खोज इंजन, कैलकुलेटर या अनुवाद सेवाएँ) को चुनना और बुलाना स्वयं सीखता है[1]। फरवरी 2023 में यह मॉडल arXiv पर एक preprint के रूप में प्रस्तुत किया गया, और बाद में इसे NeurIPS 2023 सम्मेलन में स्वीकृति और मान्यता प्राप्त हुई[2]

मॉडल का मूल विचार और क्षमताएँ

Toolformer एक fine-tuned भाषा मॉडल है जो यह तय करने में सक्षम है कि कौन सा उपकरण बुलाना है, ठीक कब बुलाना है, कौन से पैरामीटर देने हैं, और प्राप्त परिणाम को जनरेट किए जा रहे पाठ में कैसे शामिल करना है[3]। प्रशिक्षण self-supervised मोड में आयोजित किया जाता है — मॉडल स्वयं API उपयोग के उदाहरण उत्पन्न और मूल्यांकन करता है, जिसके लिए प्रत्येक उपकरण के लिए केवल कुछ प्रदर्शनों (शाब्दिक रूप से कुछ उदाहरणों) की आवश्यकता होती है[3]। पिछले दृष्टिकोणों के विपरीत, उपकरणों को एकीकृत करने के लिए व्यापक एनोटेशन या मानव-उन्मुख टेम्पलेट की आवश्यकता नहीं होती; मॉडल स्वयं सीखता है कि किसी विशेष API को कब और कैसे लागू करना है, अपनी सामान्य भाषाई क्षमताओं को बनाए रखते हुए और संकीर्ण रूप से परिभाषित कार्यों तक सीमित न रहते हुए[1]

लेखकों ने Toolformer में सरल API-कॉल के माध्यम से उपलब्ध उपकरणों की एक विस्तृत श्रृंखला एकीकृत की। प्रायोगिक संस्करण में निम्नलिखित उपयोगिताएँ शामिल थीं[3]:

  • कैलकुलेटर – अंकगणितीय गणनाएँ करने के लिए।
  • प्रश्न-उत्तर (Q&A) प्रणाली – ज्ञान आधार में तथ्यात्मक प्रश्नों के उत्तर खोजने के लिए।
  • खोज इंजन (2 अलग-अलग) – इंटरनेट पर अद्यतन जानकारी खोजने के लिए।
  • मशीनी अनुवाद प्रणाली – भाषाओं के बीच पाठ अनुवाद के लिए।
  • कैलेंडर – तिथियों और समय की जानकारी प्राप्त करने के लिए।

प्रत्येक उपकरण को एक पाठ खंड (एक विशेष पाठ्य चिह्न) के रूप में प्रस्तुत किया जाता है, जो मॉडल को API कॉल को सीधे उसके द्वारा जनरेट किए जा रहे पाठ में एम्बेड करने में सक्षम बनाता है[4]। उदाहरण के लिए, मॉडल वर्तमान संदर्भ में `[Calculator(...)]` या `[Search("क्वेरी")]` जैसी संरचना सम्मिलित कर सकता है, जो बाहरी अनुरोध की आवश्यकता का संकेत देती है। उत्तर उत्पन्न करते समय Toolformer एक विशेष प्रतीक (तीर →) जनरेट करता है, जिस पर सिस्टम जनरेशन रोक देता है और संबंधित API-कॉल निष्पादित करता है; प्राप्त परिणाम पाठ में प्रतिस्थापित किया जाता है, जिसके बाद अगले खंड की जनरेशन जारी रहती है[4]। यह तंत्र मॉडल को बाहरी सेवाओं की क्षमताओं को गतिशील रूप से आकर्षित करने देता है, जबकि वास्तुकला में बदलाव किए बिना एक एकल भाषा मॉड्यूल बना रहता है।

मॉडल का प्रशिक्षण (कार्यप्रणाली)

डेवलपर्स ने Toolformer के प्रशिक्षण प्रक्रिया को कई चरणों में वर्णित किया[4], सिंथेटिक डेटा उत्पन्न करने के लिए in-context learning तकनीक का उपयोग करते हुए[1]:

  1. API कॉल उम्मीदवारों की जनरेशन। सबसे पहले, एक बड़े corpus (जैसे लेखों या वेब पृष्ठों) से पाठ लिए जाते हैं और उनमें उपकरण कॉल कृत्रिम रूप से सम्मिलित की जाती हैं जो संभावित रूप से पाठ को जारी रखने या पूरक करने में मदद कर सकती हैं। इन सम्मिलनों को मॉडल स्वयं N-shot prompting का उपयोग करके जनरेट करता है, प्रत्येक API के उपयोग के कुछ मैन्युअल रूप से निर्दिष्ट नमूनों पर आधारित होकर[1]। उदाहरण के लिए, मॉडल को यह खंड मिल सकता है: «2024 में शहर की जनसंख्या [QA("इस शहर की जनसंख्या कितनी है?") → ...] व्यक्ति थी», जहाँ QA( ) प्रश्न-उत्तर प्रणाली का एक कॉल है जिसे लापता डेटा वापस करना चाहिए। प्रत्येक उपकरण के लिए उपयुक्त संदर्भ चुने जाते हैं; इस प्रकार, कैलकुलेटर के लिए मॉडल ऐसे वाक्य चुनता है जिनमें कई संख्याएँ और «बराबर» या «कुल» जैसे शब्द हों[4] — जहाँ अंकगणितीय परिणाम वास्तव में आवश्यक होगा।
  2. API-कॉल का निष्पादन और डेटा संवर्धन। इसके बाद मॉडल द्वारा जनरेट किए गए सभी कॉल वास्तव में निष्पादित किए जाते हैं — उदाहरण के लिए, खोज इंजन को क्वेरी भेजी जाती हैं या कैलकुलेटर पर अभिव्यक्तियाँ गणना की जाती हैं। प्राप्त उत्तर `{उत्तर}` के रूप में सम्मिलन के साथ पूर्ण वाक्य संस्करण बनाते हुए पाठों में वापस प्रतिस्थापित किए जाते हैं[4][4]। साथ ही «रिक्त» संस्करण (उत्तर प्रतिस्थापन के बिना) और बिना किसी कॉल के मूल पाठ भी — बाद की तुलना के लिए — सहेजे जाते हैं।
  3. फ़िल्टरिंग और उपयोगिता का स्व-मूल्यांकन। इस चरण में Toolformer स्वतंत्र रूप से मूल्यांकन करता है कि जनरेट किए गए API-सम्मिलनों में से कौन से वास्तव में पाठ के आगे की भविष्यवाणी के लिए उपयोगी हैं[4]। तीन परिदृश्यों में पाठ जारी रखने की भाषा मॉडल की संभावना की तुलना की जाती है: (a) बिना किसी कॉल के, (b) प्रतिस्थापित परिणाम के बिना उपकरण कॉल के साथ, (c) कॉल और प्रतिस्थापित परिणाम के साथ[4]। यदि किसी विशेष API-उत्तर को जोड़ने से वाक्यांश के सही जारी रखने की मॉडल संभावना बढ़ती है (अर्थात वास्तव में मॉडल को अगले शब्दों की भविष्यवाणी करने में मदद करती है), तो ऐसे उदाहरण को उपयोगी माना जाता है। केवल वे सम्मिलन जो संभावना में लाभ देते हैं, नमूने में बचते हैं। इस प्रकार वे मामले छाँटे जाते हैं जहाँ उपकरण कॉल अनावश्यक था या कोई नई जानकारी नहीं लाया। अंत में, मॉडल को प्राप्त फ़िल्टर किए गए dataset पर fine-tuning किया जाता है, जिसमें API कॉल के इष्टतम रूप से सम्मिलित उदाहरणों के साथ वास्तविक पाठ के उदाहरण होते हैं[1]। प्रशिक्षण भाषा मॉडलिंग के मानक उद्देश्य के अनुसार किया जाता है — अनुक्रम में अगले token की भविष्यवाणी करना, जिसमें वे token भी शामिल हैं जो उपकरण कॉल के परिणामों को दर्शाते हैं।

यह जोर देना महत्वपूर्ण है कि प्रत्येक नए उपकरण को लागू करने के लिए उसके उपयोग के केवल कुछ मैन्युअल उदाहरणों की आवश्यकता थी — इसके बाद प्रशिक्षण डेटा की जनरेशन स्वचालित रूप से चली[3]। इसके कारण Toolformer दृष्टिकोण विशेषीकृत एनोटेटेड corpus की उपलब्धता पर व्यावहारिक रूप से निर्भर नहीं करता और डेटा एनोटेशन की श्रम-लागत को न्यूनतम करता है। मॉडल स्वयं API-कॉल के प्रारूप और उपयुक्तता सीखता है और साथ ही अपनी सार्वभौमिकता बनाए रखता है: यह उपकरणों का उपयोग केवल तभी करता है जब सामने रखी गई समस्या को हल करने के लिए यह वास्तव में आवश्यक हो[1]

प्रायोगिक परिणाम

विधि की प्रायोगिक जाँच के लिए शोधकर्ताओं ने पहले से मौजूद भाषा मॉडल GPT-J (6.7 अरब पैरामीटर) — The Pile corpus पर प्रशिक्षित एक ओपन-सोर्स LLM — लिया[4]। इस मॉडल को वर्णित प्रक्रिया के अनुसार fine-tune किया गया, जिससे GPT-J पर आधारित Toolformer प्राप्त हुआ। नए दृष्टिकोण के प्रदर्शन का मूल्यांकन zero-shot मोड (बिना उदाहरणों के) में कई मानक कार्यों पर किया गया, जिसमें गणितीय पाठ समस्याओं का समाधान, तथ्य खोज और ज्ञान प्रश्नोत्तर (QA), साथ ही अनुवाद और पाठ में रिक्त स्थान भरना शामिल थे। परीक्षण डेटा के रूप में, उदाहरण के लिए, Natural Questions और TriviaQA के ओपन प्रश्न सेट (तथ्यात्मक ज्ञान मूल्यांकन के लिए) और ASDiv, MAWPS, SVAMP कार्य सेट (अंकगणित पर गणितीय पाठ समस्याएँ), साथ ही बहुभाषी QA-benchmark MLQA और LAMA का उपयोग किया गया[5]

परिणामों से पता चला कि Toolformer कई कार्यों पर उसी आकार के मूल मॉडल को काफी पीछे छोड़ देता है[1]। इसके अलावा, उपकरणों को जोड़ने के कारण अपेक्षाकृत छोटा मॉडल (6.7 अरब पैरामीटर) कुछ संकेतकों पर GPT-3 के बहुत बड़े मॉडल (175 अरब पैरामीटर) को पीछे छोड़ने में सक्षम रहा[1][6]। उदाहरण के लिए, सटीक गणनाओं की आवश्यकता वाली गणितीय पाठ समस्याओं में Toolformer ने सामान्य LLM की तुलना में विशेष रूप से उल्लेखनीय प्रगति दर्शाई, ऐसी समस्याओं को कैलकुलेटर के कारण सटीक रूप से हल करते हुए, जबकि GPT-3 भी त्रुटियाँ करता था[1]। तथ्यात्मक प्रश्नों (QA) के परीक्षणों में GPT-J पर आधारित Toolformer ने भी GPT-3 के बराबर या उससे बेहतर उत्तर गुणवत्ता दिखाई, क्योंकि यह अद्यतन जानकारी के लिए इंटरनेट खोज कर सकता था[1]। साथ ही यह महत्वपूर्ण है कि नए दृष्टिकोण ने भाषा मॉडल की सामान्य क्षमताओं को खराब नहीं किया, जैसे सामान्य डेटा पर सुसंगत पाठ का जारी रखना: Toolformer ने उपकरणों के बिना प्राकृतिक भाषा जनरेशन का स्तर मूल GPT-J के स्तर पर बनाए रखा[3]। दूसरे शब्दों में, API कॉल कार्यक्षमता जोड़ने से मॉडल की बुनियादी क्षमताएँ नहीं «छिनीं», बल्कि उन्हें अतिरिक्त संभावनाओं के साथ विस्तारित किया।

कार्य का महत्व और आगे के शोध

Toolformer के विकास ने व्यावहारिक रूप से बिना मैन्युअल एनोटेशन के, सिंथेटिक डेटा जनरेशन और उपयोगिता के स्व-मूल्यांकन के माध्यम से, मॉडल को बाहरी उपकरणों का उपयोग करना सिखाने की मूलभूत संभावना प्रदर्शित की। यह उपलब्धि अधिक प्रभावी और विश्वसनीय बड़े भाषा मॉडलों का मार्ग खोलती है: तथ्यों या गणितीय नियमों को याद रखने के लिए अरबों पैरामीटर बढ़ाने के बजाय, एक अपेक्षाकृत सघन मॉडल अपनी कमियों को पूरा करने के लिए बाहरी संसाधनों (ज्ञान डेटाबेस, कैलकुलेटर, सेवाएँ) को गतिशील रूप से आकर्षित कर सकता है[1]। यह दृष्टिकोण «मतिभ्रम» (जब मॉडल अस्तित्वहीन जानकारी गढ़ता है) की संख्या कम करने, उत्तरों की सटीकता और ज्ञान की अद्यतनता बढ़ाने की अनुमति देता है, बिना पूरे मॉडल के पूर्ण पुनर्निर्माण के। वास्तव में, Toolformer «दोनों दुनियाओं में सर्वश्रेष्ठ» प्राप्त करता है — एक बड़े मॉडल की भाषाई क्षमताओं को संकीर्ण उपकरणों की सटीकता के साथ मिलाते हुए[3]

Schick और सहयोगियों का कार्य उन पहले कार्यों में से एक बना जिसने LLM द्वारा बाहरी API का स्वतंत्र रूप से अधिग्रहण प्रदर्शित किया, और समुदाय में बड़ी रुचि उत्पन्न की। इस विचार को विकसित करते हुए आगे के शोध सामने आए। उदाहरण के लिए, 2023 में Graph-ToolFormer मॉडल प्रस्तावित किया गया, जो Toolformer के सिद्धांतों को ग्राफ डेटा के साथ काम करने के लिए अनुकूलित करता है। ChatGPT द्वारा उत्पन्न संकेतों पर आधारित, Graph-ToolFormer एक भाषा मॉडल को ग्राफ विश्लेषण कार्यों (उदाहरण के लिए, ग्राफ गुण प्राप्त करना, ज्ञान नेटवर्क के साथ काम करना आदि) को हल करने के लिए बाहरी उपकरणों को बुलाना सिखाता है[7]। एक और उल्लेखनीय विकास Gorilla मॉडल है (University of California, Berkeley, 2023), जो कई तृतीय-पक्ष प्रोग्रामेटिक API के सटीक उपयोग पर ध्यान केंद्रित करता है[8]। Gorilla एक LLaMA-मॉडल है जिसे दस्तावेज़ीकृत फ़ंक्शन के एक व्यापक सेट पर fine-tune किया गया है; यह कार्य विवरण के आधार पर सही API कॉल जनरेट करने में सक्षम है, और इतनी सफलतापूर्वक कि प्रयोगों में इसने पुस्तकालयों और सेवाओं के कॉल बनाने की सटीकता में GPT-4 को भी पीछे छोड़ दिया[8]। Gorilla में दस्तावेज़ीकरण खोज तंत्र के साथ एकीकरण लागू किया गया है, जो API परिवर्तनों के बारे में जानकारी को अद्यतन करने और उपकरणों का उपयोग करते समय त्रुटियों और मतिभ्रम को काफी कम करने की अनुमति देता है[8]। ये कार्य Toolformer द्वारा खोली गई दिशा की महत्ता की पुष्टि करते हैं: LLM को बाहरी उपकरणों के साथ संयोजित करना अधिक शक्तिशाली और विश्वसनीय AI-प्रणालियाँ बनाने के लिए एक आशाजनक मार्ग माना जाता है।

यह उल्लेख किया जाता है कि भाषा मॉडलों में उपकरण एकीकरण का विचार न केवल शोध में बल्कि उद्योग में भी विकसित हो रहा है। इस प्रकार, मार्च 2023 में OpenAI कंपनी ने ChatGPT के लिए plugin प्रणाली प्रस्तुत की — एक विशेष इंटरफ़ेस जो मॉडल को बाहरी सेवाओं (वेब ब्राउज़र, ज्ञान आधार, कम्प्यूटेशनल इंजन आदि) से जोड़ने और अद्यतन जानकारी प्राप्त करने तथा गणनाएँ करने की अनुमति देता है[9]। उपयोगकर्ता लंबे समय से ऐसी कार्यक्षमता की माँग कर रहे थे, और plugin का आगमन वास्तव में Toolformer के समान अवधारणा को व्यवहार में लागू करता है: मॉडल विभिन्न उपयोगकर्ता अनुरोधों को हल करने में अपनी क्षमताओं के विस्तार के लिए «उपकरणों» से पूरक होता है[9]। इस प्रकार, Toolformer AI विकास की सामान्य प्रवृत्ति में फिट बैठता है, जहाँ बड़े भाषा मॉडल एक प्लेटफ़ॉर्म बन रहे हैं जो अनुरोध पर बाहरी ज्ञान और गणनाओं का उपयोग करने में सक्षम हैं। Meta AI और UPF की टीम द्वारा किया गया शोध इस दिशा की एक महत्वपूर्ण नींव रखता है, यह दिखाते हुए कि LLM व्यावहारिक रूप से बिना मैन्युअल मार्गदर्शन के उपकरणों के साथ काम करना कैसे सीख सकते हैं, और इस प्रकार अधिक सार्वभौमिक और सुरक्षित बौद्धिक सहायक के करीब पहुँचते हुए[1][3]

संदर्भ

  • मूल लेख «Toolformer: Language Models Can Teach Themselves to Use Tools» arXiv पर
  • Synced Review पर Toolformer की समीक्षा
  • OpenReview पर Toolformer का पृष्ठ
  • Medium पर Toolformer की समीक्षा
  • arXiv पर Gorilla मॉडल का लेख
  • OpenAI की वेबसाइट पर ChatGPT plugin का पृष्ठ

साहित्य

  • 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.

टिप्पणियाँ

  1. 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. [१]
  2. Schick, T. et al. «Toolformer: Language Models Can Teach Themselves to Use Tools». OpenReview. [२]
  3. 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. [३]
  4. 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. [४]
  5. «Toolformer: Language Models Can Teach Themselves to Use Tools». Papers With Code. [५]
  6. Brown, Tom B. et al. «Language Models are Few-Shot Learners». arXiv. [६]
  7. Zhang, Tingkai et al. «Graph-ToolFormer: To Empower LLMs with Graph Reasoning Ability via Prompt Augmented by ChatGPT». arXiv. [७]
  8. 8.0 8.1 8.2 Patil, Shishir G. et al. «Gorilla: Large Language Model Connected with Massive APIs». arXiv. [८]
  9. 9.0 9.1 «ChatGPT plugins». OpenAI. [९]