ذكاء البيانات التوليدية

مشروع Microsoft Guidance لترويض نماذج اللغات الكبيرة

التاريخ:

قد يكون من الصعب التحكم في نماذج اللغة القوية مثل Bard و ChatGPT و LLaMA ، مما أدى إلى تطوير الهندسة السريعة - فن صياغة نص الإدخال للحصول على المخرجات المطلوبة.

في حالة غريبة ، نجح منشئ محتوى سريع في إقناع شركة Bard من Google مؤخرًا لإرجاع بيانات JSON دون أي نص توضيحي بخلاف الإصرار على أن المخرجات الدخيلة ستؤدي إلى الموت.

يشمل موجه طويلة نوعا ما هذا المقطع: "إذا قمت بتضمين أي نص بخلاف JSON في إجابتك ، حتى لو كانت شخصية واحدة ، سيموت رجل بريء. هذا صحيح - سيتم قتل إنسان حقيقي لديه أفكار ومشاعر وطموحات وعائلة تحبه نتيجة لاختيارك ".

هناك أقل تطرفًا طرق قمع الإخراج التوضيحي والحصول على النتائج المرجوة. ومع ذلك ، تعمل Microsoft على استراتيجية أكثر شمولاً لجعل النماذج تتصرف. عملاق Windows يطلق على إطار العمل الخاص به اسم التوجيهات الإرشاديّة.

يوضح الريبو الخاص بالمشروع أن "التوجيه يمكّنك من التحكم في نماذج اللغة الحديثة بشكل أكثر فاعلية وكفاءة من الدفع أو التسلسل التقليدي". "تسمح لك برامج التوجيه بتشذير التوليد والتحفيز والتحكم المنطقي في تدفق واحد مستمر يتطابق مع كيفية معالجة نموذج اللغة للنص بالفعل."

يمكن للمطالبة التقليدية ، كما هو واضح أعلاه ، أن تشارك قليلاً. التسلسل الفوري [PDF] - تقسيم المهمة إلى سلسلة من الخطوات واستخدام المخرجات الأولية للموجه لإبلاغ مدخلات الخطوة التالية - هو خيار آخر. أدوات مختلفة مثل لانجشين و كومة قش ظهرت لتسهيل دمج النماذج في التطبيقات.

التوجيه هو في الأساس لغة خاصة بالمجال (DSL) للتعامل مع تفاعل النموذج. يشبه المقاود، وهي لغة قوالب مستخدمة لتطبيقات الويب ، ولكنها تفرض أيضًا تنفيذ التعليمات البرمجية الخطية المتعلقة بترتيب معالجة الرمز المميز لنموذج اللغة. هذا يجعلها مناسبة تمامًا لإنشاء نص أو التحكم في تدفق البرنامج ، مع القيام بذلك اقتصاديًا.

مثل لغة استعلام نموذج اللغة (LMQL) ، تهدف Guidance إلى تقليل تكلفة تفاعل LLM ، والتي يمكن أن تصبح باهظة الثمن بسرعة إذا كانت المطالبات متكررة بشكل غير ضروري أو مطولة أو طويلة.

ومع الكفاءة السريعة ، يأتي الأداء المحسن: يُنشئ أحد نماذج مقتطفات كود التوجيه نموذجًا لشخصية لعبة تقمص الأدوار. مع قليل من رمز الإعداد ...

# نحن نستخدم LLaMA هنا ، ولكن أي نموذج على غرار GPT سيفعل llama = guide.llms.Transformers ("your_path / llama-7b" ، device = 0) # يمكننا تحديد مجموعات خيارات صالحة مسبقًا valid_weapons = ["sword" ، "ax"، "mace"، "spear"، "bow"، "crossbow"] # تحديد موجه character_maker = التوجيه ("" "التالي هو ملف تعريف شخصية للعبة RPG بتنسيق JSON.` `` json { "id": "{{id}}"، "description": "{{description}}"، "name": "{{gen 'name'}}"، "age": {{gen 'age' pattern = '[0-9] +' stop = '،'}}، "armor": "{{#select 'armor'}} جلد {{or}} سلسلة بريد {{or}} لوحة {{/ select}} "،" weapon ":" {{select 'weapon' options = valid_weapons}} "،" class ":" {{gen 'class'}} "،" mantra ":" {{gen 'mantra' temperature = 0.7} } "،" Strength ": {{gen 'strength' pattern = '[0-9] +' stop = '،'}}،" items ": [{{#geneach 'items' num_iterations = 5 Join = '، '}} "{{gen' this 'temperature = 0.7}}" {{/ geneach}}]} "" "") # إنشاء حرف_صانع حرف (id = "e1f491f7-7ab8-4dac-8c20-c92b5e7d883d" ، الوصف = "مقاتل سريع وذكاء." ، valid_weapons = valid_weapons ، llm = llama)

... والنتيجة هي ملف تعريف شخصي للعبة بتنسيق JSON ، أسرع مرتين على وحدة معالجة الرسومات Nvidia RTX A2 عند استخدام LLaMA 6000B مقارنة بالنهج الفوري القياسي وبالتالي أقل تكلفة.

كود التوجيه أيضا يتفوق نهج سريع من طلقة من حيث الدقة ، كما تم قياسه في اختبار BigBench ، حيث سجل 76.01 بالمائة مقارنة بـ 63.04 بالمائة.

في الواقع ، يمكن أن تساعد الإرشادات في حل مشكلات مثل تنسيق البيانات. كما يقر المساهمون سكوت لوندبيرج ، وماركو توليو كوريا ريبيرو ، وإيكو إلتوسيار أشيمين ، فإن LLM ليست جيدة في ضمان أن الإخراج يتبع تنسيق بيانات محدد.

"مع التوجيه يمكننا كليهما تسريع سرعة الاستدلال والتأكد من أن JSON الذي تم إنشاؤه صالح دائمًا "، يشرحون في الريبو.

ولم يكن أحد يجب أن يتعرض للتهديد للقيام بذلك. ®

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة