ToolLLM: تمكين النماذج اللغوية الكبيرة من إتقان أكثر من 16000 واجهة برمجة تطبيقات واقعية

على الرغم من التطورات التي حققتها النماذج الكبيرة المفتوحة المصدر للغة (LLMs)، مثل LLaMA، تبقى محدودة بشكل كبير في قدرات استخدام الأدوات، أي استخدام الأدوات الخارجية (واجهات برمجة التطبيقات/API) لتنفيذ التعليمات البشرية. والسبب في ذلك هو أن عملية التدريب الموجهة بالتعليمات (instruction tuning) الحالية تركز بشكل كبير على المهام اللغوية الأساسية، وتجاهل مجال استخدام الأدوات. ويختلف هذا عن القدرات الممتازة في استخدام الأدوات التي تمتلكها النماذج الكبيرة المغلقة المصدر الرائدة حاليًا، مثل ChatGPT. ولسد هذه الفجوة، نقدّم ToolLLM، وهي إطار عام لاستخدام الأدوات يشمل بناء البيانات، وتدريب النموذج، وتقييم الأداء. نحن أولًا نقدّم ToolBench، وهو مجموعة بيانات للتدريب الموجه بالتعليمات في مجال استخدام الأدوات، تم بناؤها تلقائيًا باستخدام ChatGPT. وتنقسم عملية البناء إلى ثلاث مراحل: (أ) جمع واجهات برمجة التطبيقات: نقوم بجمع 16,464 واجهة برمجة تطبيقات حقيقية من نوع RESTful تغطي 49 فئة من منصة RapidAPI Hub؛ (ب) إنشاء التعليمات: نستخدم ChatGPT لتكوين تعليمات متنوعة تتضمن هذه الواجهات، وتغطي سيناريوهات أحادية الأداة ومتعددة الأدوات؛ (ج) تسمية مسارات الحل: نستخدم ChatGPT للبحث عن مسار حل صحيح (سلسلة من استدعاءات واجهات برمجة التطبيقات) لكل تعليمات. ولتعزيز قدرات الاستدلال لدى النماذج الكبيرة للغة، نطور خوارزمية جديدة تعتمد على شجرة القرار القائمة على خوارزمية البحث بالعمق (depth-first search). وتُمكّن هذه الخوارزمية النماذج الكبيرة للغة من تقييم عدة مسارات استدلالية وتوسيع نطاق البحث. علاوةً على ذلك، ولتقييم قدرات استخدام الأدوات في النماذج الكبيرة للغة، نطوّر مُقيّمًا تلقائيًا يُسمى ToolEval. استنادًا إلى ToolBench، نُعدّل LLaMA لتكوين نموذج لغوي مُخصص يُسمى ToolLLaMA، ونزوّده بمحرّك API عصبي لاقتراح واجهات برمجة التطبيقات المناسبة لكل تعليمات. تُظهر التجارب أن ToolLLaMA يتمتع بقدرة ملحوظة على تنفيذ التعليمات المعقدة والتفعّل مع واجهات برمجة تطبيقات غير مسبوقة، ويُظهر أداءً مماثلًا لـ ChatGPT. كما تُظهر ToolLLaMA قدرة قوية على التعميم بدون تدريب (zero-shot) في مجموعة بيانات خارج التوزيع لاستخدام الأدوات: APIBench.