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

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

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

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

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

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

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

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

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

التنسيق

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

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

في ما يلي مثال آخر على بيانات تدريب Python لتطبيق يُنشئ الرقم التالي في تسلسل:

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 مع النماذج المحسّنة.
  • لا تتوفّر تعليمات النظام مع النماذج المحسّنة.
  • لا يتوفّر إدخال سوى النصوص.

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

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