Toolformer (UR)

From Systems analysis Wiki
Jump to navigation Jump to search

Toolformer — یہ بڑے زبانی ماڈلز (LLM) بنانے کا ایک طریقہ ہے جو انہیں API کالز کے ذریعے بیرونی اوزار خود بخود استعمال کرنے کی صلاحیت دیتا ہے[1]۔ یہ طریقہ 2023 میں Meta AI Research کے محققین کی ایک ٹیم نے یونیورسٹی آف پومپیو فابرا (اسپین) کے اشتراک سے پیش کیا۔ اپنی تحقیق «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]۔ تین منظرناموں میں زبانی ماڈل کے متن جاری رکھنے کے امکان کا موازنہ کیا جاتا ہے: (الف) بغیر کسی کال کے، (ب) نتیجے کی تبدیلی کے بغیر اوزار کی کال کے ساتھ، (ج) کال اور تبدیل شدہ نتیجے کے ساتھ[4]۔ اگر کسی مخصوص API جواب کی شمولیت سے جملے کے صحیح جاری رکھنے کا ماڈلی امکان بڑھتا ہے (یعنی واقعی ماڈل کو اگلے الفاظ کی پیش گوئی میں مدد ملتی ہے)، تو وہ مثال مفید مانی جاتی ہے۔ صرف وہی داخلے نمونے میں رہتی ہیں جو امکان میں اضافہ کریں۔ اس طرح وہ صورتیں چھان لی جاتی ہیں جہاں اوزار کی کال زائد از ضرورت تھی یا نئی معلومات نہ لائی۔ آخر میں ماڈل حاصل شدہ فلٹر شدہ dataset پر fine-tuning کی جاتی ہے، جس میں زبانی متن کی اصل مثالیں ہوتی ہیں جن میں API کالز بہترین طریقے سے داخل کی گئی ہوتی ہیں[1]۔ تربیت زبانی ماڈلنگ کے معیاری مقصد کے مطابق ہوتی ہے — ترتیب کے اگلے token کی پیش گوئی، بشمول وہ tokens جو اوزاروں کی کالز کے نتائج کو ظاہر کرتے ہیں۔

یہ بات خاص طور پر قابل ذکر ہے کہ ہر نئے اوزار کو شامل کرنے کے لیے صرف چند دستی مثالیں درکار تھیں — اس کے بعد تربیتی ڈیٹا کی تیاری خود کار طریقے سے ہوتی تھی[3]۔ اس کی بدولت Toolformer کا طریقہ خصوصی تشریح شدہ corpora کی موجودگی پر تقریباً منحصر نہیں اور ڈیٹا تشریح کی محنت کو کم سے کم کرتا ہے۔ ماڈل خود 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 بینچ مارک 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]۔ یہ طریقہ «hallucinations» (جب ماڈل غیر موجود معلومات گھڑتا ہے) کی تعداد کم کرنے، جوابات کی درستگی بڑھانے اور پورے ماڈل کی مکمل تجدید کے بغیر علم کو تازہ رکھنے کی اجازت دیتا ہے۔ بنیادی طور پر Toolformer «دونوں دنیاؤں کا بہترین» حاصل کرتا ہے — بڑے ماڈل کی زبانی مہارتوں کو مخصوص اوزاروں کی درستگی کے ساتھ یکجا کرتے ہوئے[3]۔

Schick اور ساتھیوں کا کام پہلے کاموں میں سے ایک بن گیا جس نے LLM کا بیرونی API کا خود مختارانہ انداز میں استعمال ظاہر کیا، اور اس سے برادری میں گہری دلچسپی پیدا ہوئی۔ اس خیال کو آگے بڑھانے والی مزید تحقیقات سامنے آئیں۔ مثلاً 2023 میں Graph-ToolFormer ماڈل پیش کیا گیا، جو Toolformer کے اصولوں کو گراف ڈیٹا کے ساتھ کام کرنے کے لیے ڈھالتا ہے۔ ChatGPT کے تیار کردہ اشاروں پر تکیہ کرتے ہوئے، Graph-ToolFormer زبانی ماڈل کو گراف تجزیے کے مسائل (مثلاً گراف کی خصوصیات حاصل کرنا، علمی نیٹ ورکس کے ساتھ کام وغیرہ) حل کرنے کے لیے بیرونی اوزار کال کرنا سکھاتا ہے[7]۔ ایک اور قابل ذکر پیشرفت Gorilla ماڈل ہے (Univ. of California, Berkeley, 2023)، جو متعدد تھرڈ پارٹی سافٹ ویئر API کے درست استعمال پر توجہ مرکوز کرتا ہے[8]۔ Gorilla ایک LLaMA ماڈل ہے جسے دستاویز شدہ functions کے ایک وسیع سیٹ پر fine-tune کیا گیا ہے؛ یہ کام کی تفصیل کی بنیاد پر درست API کالز تیار کر سکتا ہے، اور اتنی کامیابی سے کہ تجربات میں یہ لائبریریوں اور سروسز کی کالز بنانے کی درستگی میں GPT-4 سے بھی آگے نکل گیا[8]۔ Gorilla میں دستاویزات کی تلاش کے طریقہ کار کے ساتھ انضمام نافذ کیا گیا ہے، جو API تبدیلیوں کے بارے میں معلومات کو تازہ رکھنے اور اوزاروں کے استعمال میں غلطیاں اور hallucinations نمایاں طور پر کم کرنے کی اجازت دیتا ہے[8]۔ یہ کام اس سمت کی اہمیت کی تصدیق کرتے ہیں جو Toolformer نے کھولی: LLM کو بیرونی اوزاروں کے ساتھ یکجا کرنا زیادہ طاقتور اور قابل اعتماد AI نظاموں کی تخلیق کا ایک امید افزا راستہ سمجھا جا رہا ہے۔

یہ بات قابل ذکر ہے کہ زبانی ماڈلز میں اوزاروں کے انضمام کا خیال نہ صرف تحقیق میں بلکہ صنعت میں بھی پروان چڑھ رہا ہے۔ چنانچہ مارچ 2023 میں OpenAI نے ChatGPT کے لیے پلگ ان کا نظام پیش کیا — ایک خاص انٹرفیس جو ماڈل کو بیرونی سروسز (ویب براؤزر، علمی بنیادیں، حسابی انجن وغیرہ) سے جوڑنے کی اجازت دیتا ہے تاکہ تازہ معلومات حاصل کی جا سکیں اور حسابات انجام دیے جا سکیں[9]۔ صارفین عرصے سے ایسی فعالیت کا مطالبہ کر رہے تھے، اور پلگ ان کا ظہور عملاً اس تصور کو نافذ کرتا ہے جو 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 پلگ ان کا صفحہ

کتابیات

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