الضبط الدقيق باستخدام Gemini API

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

تقدم هذه الصفحة نظرة عامة مفاهيمية حول ضبط النموذج النصي وراء خدمة Gemini API النصية عندما تكون مستعدًا لبدء التوليف، جرّب برنامج تعليمي حول التوليف الدقيق. إذا كنت ترغب في مقدّمة أكثر عمومية حول تخصيص النماذج اللغوية الكبيرة لحالات استخدام معيّنة خارج النماذج اللغوية الكبيرة: الضبط الدقيق والتقطير وهندسة الطلبات في دورة تدريبية مُكثَّفة عن تعلُّم الآلة.

آلية عمل التحسين

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

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

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

إعداد مجموعة البيانات

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

التنسيق

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

على سبيل المثال، إذا كانت الأمثلة في مجموعة البيانات تتضمن "question:" "context:"، يجب أيضًا تنسيق حركة بيانات الإنتاج لتشمل "question:" و"context:" بالترتيب نفسه الذي يظهر في مجموعة البيانات الأمثلة. وإذا استبعدت السياق، لن يتمكّن النموذج من التعرّف على النمط، حتى لو كان السؤال بالضبط في مثال في مجموعة البيانات.

وكمثال آخر، إليك بيانات التدريب على لغة بايثون لأحد التطبيقات التي ينشئ الرقم التالي في تسلسل:

training_data = [
  {"text_input": "1", "output": "2"},
  {"text_input": "3", "output": "4"},
  {"text_input": "-3", "output": "-2"},
  {"text_input": "twenty two", "output": "twenty three"},
  {"text_input": "two hundred", "output": "two hundred one"},
  {"text_input": "ninety nine", "output": "one hundred"},
  {"text_input": "8", "output": "9"},
  {"text_input": "-98", "output": "-97"},
  {"text_input": "1,000", "output": "1,001"},
  {"text_input": "10,100,000", "output": "10,100,001"},
  {"text_input": "thirteen", "output": "fourteen"},
  {"text_input": "eighty", "output": "eighty one"},
  {"text_input": "one", "output": "two"},
  {"text_input": "three", "output": "four"},
  {"text_input": "seven", "output": "eight"},
]

يمكن أن تساعد إضافة مطالبة أو مقدمة إلى كل مثال في مجموعة البيانات لديك أيضًا تحسين أداء النموذج الذي تم ضبطه. يُرجى العلم أنّه في حال تضمين طلب أو تمهيد في مجموعة البيانات، يجب تضمينه أيضًا في الطلب المُرسَل إلى النموذج الذي تم ضبطه في وقت الاستنتاج.

القيود

ملاحظة: تفرض مجموعات البيانات المخصّصة لتحسين نموذج Gemini 1.5 Flash القيود التالية:

  • الحد الأقصى لحجم الإدخال لكل مثال هو 40,000 حرف.
  • الحد الأقصى لحجم الإخراج لكل مثال هو 5,000 حرف.

حجم بيانات التدريب

يمكنك تحسين نموذج باستخدام 20 مثالًا فقط. تؤدي البيانات الإضافية عمومًا إلى تحسين جودة الردود. يجب استهداف ما بين 100 و500 مثال، حسب تطبيقك. يعرض الجدول التالي أحجام مجموعات البيانات المقترَحة لتحسين نموذج نصي للمهام الشائعة المختلفة:

المهمة عدد الأمثلة في مجموعة البيانات
التصنيف 100+
تلخيص 100-500+
البحث في المستندات 100+

تحميل مجموعة بيانات الضبط

يتمّ تمرير البيانات مضمّنةً باستخدام واجهة برمجة التطبيقات أو من خلال الملفات التي يتمّ تحميلها في Google AI Studio.

لاستخدام مكتبة العميل، قدِّم ملف البيانات في طلب createTunedModel. الحد الأقصى لحجم الملف هو 4 ميغابايت. اطّلِع على البدء السريع في تحسين الأداء باستخدام Python لبدء استخدام هذه الميزة.

لاستدعاء واجهة برمجة تطبيقات REST باستخدام cURL، قدِّم أمثلة تدريب بتنسيق JSON إلى الوسيطة training_data. يمكنك الاطّلاع على توليف ميزة "البدء السريع" باستخدام أداة cURL لبدء استخدامها

إعدادات التوليف المتقدمة

عند إنشاء مهمة توليف، يمكنك تحديد الإعدادات المتقدمة التالية:

  • العهود: هي دورة تدريبية كاملة على مجموعة التدريب بأكملها بحيث تتم معالجة كل مثال مرة واحدة.
  • حجم الدُفعة: مجموعة الأمثلة المستخدَمة في جولة تدريب واحدة. يحدِّد حجم الحزمة عدد النماذج في الحزمة.
  • معدل التعلّم: هو عدد بفاصل عشري يحدّد للخوارزمية مدى قوة تعديل مَعلمات النموذج في كلّ تكرار. على سبيل المثال، قد يؤدي معدل التعلم 0.3 إلى تعديل الأوزان والتحيزات أكثر بثلاث مرات أقوى بكثير من معدل التعلم 0.1. تتمتع معدلات التعلم العالية والمنخفضة المقايضات الفريدة الخاصة بها ويجب تعديلها بناءً على حالة استخدامك.
  • مُضاعِف معدّل التعلّم: يُعدّل مُضاعِف المعدّل معدّل التعلّم الأصلي للنموذج. عند ضبط القيمة على 1، يتم استخدام معدّل التعلّم الأصلي لل النموذج. تؤدي القيم الأكبر من 1 إلى زيادة معدل التعلُّم والقيم بين 1 و 0 يخفض معدل التعلم.

يعرض الجدول التالي الإعدادات المقترَحة لتحسين نموذج أساسي:

المعلَمة الفائقة القيمة التلقائية التعديلات المقترَحة
الحقبة 5

في حال بدء الخسارة في الهبوط قبل 5 فترات، استخدم قيمة أصغر.

إذا كان الخسارة متقاربة ولا يبدو أنها تستقر، استخدِم قيمة أعلى.

حجم الدفعة 4
معدّل التعلّم 0.001 استخدِم قيمة أصغر لمجموعات البيانات الأصغر حجمًا.

ويوضح منحنى الخسارة مدى انحراف توقع النموذج عن النموذج والتنبؤات في أمثلة التدريب بعد كل حقبة. من الأفضل إيقاف التدريب عند أدنى نقطة في المنحنى قبل أن يصل إلى ذروته. على سبيل المثال: يوضح الرسم البياني أدناه استقرار منحنى الخسارة في الحقبة 4-6 تقريبًا، مما يعني يمكنك ضبط المعلَمة Epoch على 4 مع الحفاظ على الأداء نفسه.

رسم بياني خطي يعرض منحنى الخسارة للنموذج. الارتفاع الخطي بين
الحقبتين الأولى والثانية، ثم تنخفض بشكلٍ كبير إلى 0 تقريبًا وخروج من المستويات
بعد ثلاث فترات.

التحقّق من حالة مهمة الضبط

يمكنك التحقّق من حالة مهمة الضبط في Google AI Studio ضمن علامة التبويب مكتبتي أو باستخدام السمة metadata للنموذج المحسَّن في Gemini API.

تحديد الأخطاء وتصحيحها

يتضمّن هذا القسم نصائح حول كيفية حلّ الأخطاء التي قد تواجهها أثناء إنشاء النموذج المحسَّن.

المصادقة

يتطلّب ضبط الأداء باستخدام واجهة برمجة التطبيقات ومكتبة العميل المصادقة. يمكنك إعداد المصادقة باستخدام إما مفتاح واجهة برمجة التطبيقات (يُنصح به) أو باستخدام OAuth بيانات الاعتماد. للاطّلاع على مستندات حول إعداد مفتاح واجهة برمجة التطبيقات، يُرجى الاطّلاع على مقالة إعداد مفتاح واجهة برمجة التطبيقات.

إذا ظهر لك الخطأ 'PermissionDenied: 403 Request had insufficient authentication scopes'، قد تحتاج إلى إعداد مصادقة المستخدم باستخدام بروتوكول OAuth. بيانات الاعتماد. لتهيئة بيانات اعتماد OAuth الخاصة بـ Python، انتقل إلى الدليل التعليمي حول إعداد بروتوكول OAuth.

النماذج المُلغاة

يمكنك إلغاء مهمة الضبط الدقيق في أي وقت قبل انتهاء المهمة. ومع ذلك، لا يمكن توقّع أداء الاستنتاج لنموذج تم إلغاؤه، لا سيما إذا تم إلغاء مهمة الضبط في وقت مبكر من عملية التدريب. في حال إلغاء الاشتراك لأنّك تريد إيقاف التدريب في حقبة سابقة، فيجب عليك إنشاء توليف جديد وتعيين الفترة على قيمة أقل.

قيود النماذج المحسَّنة

ملاحظة: تنطبق القيود التالية على النماذج المحسّنة:

  • الحدّ الأقصى المسموح به لإدخال نموذج Gemini 1.5 Flash الذي تم ضبطه هو 40,000 حرف.
  • لا يمكن استخدام وضع JSON مع النماذج التي تم ضبطها.
  • لا يتوفّر إدخال سوى النصوص.

الخطوات التالية

يمكنك البدء بالاطّلاع على الأدلة التعليمية التالية حول التحسين: