تنظیم دقیق با Gemini API

استراتژی‌های طراحی سریع مانند درخواست چند شات ممکن است همیشه نتایج مورد نیاز شما را تولید نکنند. تنظیم دقیق فرآیندی است که می‌تواند عملکرد مدل شما را در کارهای خاص بهبود بخشد یا به مدل کمک کند تا زمانی که دستورالعمل‌ها کافی نیستند و شما مجموعه‌ای از نمونه‌ها را دارید که خروجی‌های مورد نظرتان را نشان می‌دهند، به الزامات خروجی خاص پایبند باشد.

این صفحه یک نمای کلی مفهومی از تنظیم دقیق مدل متنی در پشت سرویس متنی API Gemini ارائه می دهد. هنگامی که برای شروع تنظیم آماده شدید، آموزش تنظیم دقیق را امتحان کنید. اگر می‌خواهید مقدمه‌ای کلی‌تر برای سفارشی‌سازی LLM‌ها برای موارد استفاده خاص داشته باشید، LLMs: تنظیم دقیق، تقطیر و مهندسی سریع را در دوره آموزشی Crash Learning Machine بررسی کنید.

تنظیم دقیق چگونه کار می کند

هدف از تنظیم دقیق، بهبود بیشتر عملکرد مدل برای کار خاص شما است. تنظیم دقیق با ارائه یک مجموعه داده آموزشی به مدل کار می کند که شامل نمونه های زیادی از کار است. برای کارهای خاص، می توانید با تنظیم مدل بر روی تعداد کمی از نمونه ها، پیشرفت های قابل توجهی در عملکرد مدل داشته باشید. این نوع از تنظیم مدل گاهی اوقات به عنوان تنظیم دقیق نظارت شده نامیده می شود تا آن را از سایر انواع تنظیم دقیق متمایز کند.

داده های آموزشی شما باید به عنوان نمونه هایی با ورودی های سریع و خروجی های پاسخ مورد انتظار ساختار بندی شوند. همچنین می‌توانید مدل‌ها را با استفاده از داده‌های نمونه مستقیماً در 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 دارای محدودیت های زیر است:

  • حداکثر اندازه ورودی در هر نمونه 40000 کاراکتر است.
  • حداکثر اندازه خروجی در هر نمونه 5000 کاراکتر است.

اندازه داده های آموزشی

شما می توانید یک مدل را با حداقل 20 نمونه تنظیم کنید. داده های اضافی به طور کلی کیفیت پاسخ ها را بهبود می بخشد. بسته به کاربردتان باید بین 100 تا 500 نمونه را هدف بگیرید. جدول زیر اندازه های داده توصیه شده را برای تنظیم دقیق یک مدل متنی برای کارهای رایج مختلف نشان می دهد:

وظیفه تعداد نمونه در مجموعه داده
طبقه بندی 100+
خلاصه سازی 100-500+
جستجوی سند 100+

مجموعه داده تنظیم خود را آپلود کنید

داده ها یا با استفاده از API یا از طریق فایل های آپلود شده در Google AI Studio منتقل می شوند.

برای استفاده از کتابخانه مشتری، فایل داده را در فراخوانی createTunedModel ارائه دهید. محدودیت حجم فایل 4 مگابایت است. برای شروع، شروع سریع تنظیم دقیق با پایتون را ببینید.

برای فراخوانی REST API با استفاده از cURL، نمونه‌های آموزشی را با فرمت JSON به آرگومان training_data ارائه دهید. برای شروع، شروع سریع تنظیم با cURL را ببینید.

تنظیمات تنظیم پیشرفته

هنگام ایجاد یک کار تنظیم، می توانید تنظیمات پیشرفته زیر را مشخص کنید:

  • Epochs: یک پاس آموزشی کامل در کل مجموعه آموزشی به طوری که هر نمونه یک بار پردازش شده است.
  • اندازه دسته ای: مجموعه ای از نمونه های مورد استفاده در یک تکرار آموزشی. اندازه دسته تعداد نمونه ها را در یک دسته تعیین می کند.
  • نرخ یادگیری: یک عدد ممیز شناور که به الگوریتم می‌گوید با چه شدتی پارامترهای مدل را در هر تکرار تنظیم کند. به عنوان مثال، نرخ یادگیری 0.3 می تواند وزن ها و سوگیری ها را سه برابر قوی تر از نرخ یادگیری 0.1 تنظیم کند. نرخ یادگیری بالا و پایین دارای مبادلات منحصر به فرد خود هستند و باید بر اساس موارد استفاده شما تنظیم شوند.
  • ضرب کننده نرخ یادگیری: ضرب کننده نرخ، نرخ یادگیری اصلی مدل را تغییر می دهد. مقدار 1 از نرخ یادگیری اصلی مدل استفاده می کند. مقادیر بیشتر از 1 میزان یادگیری را افزایش می دهد و مقادیر بین 1 تا 0 میزان یادگیری را کاهش می دهد.

جدول زیر پیکربندی های توصیه شده برای تنظیم دقیق مدل فونداسیون را نشان می دهد:

فراپارامتر مقدار پیش فرض تنظیمات توصیه شده
دوران 5

اگر زیان قبل از 5 دوره شروع به افزایش کرد، از مقدار کمتری استفاده کنید.

اگر از دست دادن همگرا است و به نظر نمی رسد فلات باشد، از یک مقدار بالاتر استفاده کنید.

اندازه دسته 4
میزان یادگیری 0.001 برای مجموعه داده های کوچکتر از مقدار کمتری استفاده کنید.

منحنی ضرر نشان می دهد که پیش بینی مدل پس از هر دوره چقدر از پیش بینی های ایده آل در مثال های آموزشی انحراف دارد. در حالت ایده‌آل، می‌خواهید تمرین را در پایین‌ترین نقطه منحنی، درست قبل از اینکه فلات کند، متوقف کنید. به عنوان مثال، نمودار زیر منحنی تلفات را در حدود دوره 4-6 نشان می دهد که به این معنی است که می توانید پارامتر Epoch را روی 4 تنظیم کنید و همچنان همان عملکرد را داشته باشید.

نمودار خطی که منحنی ضرر را برای مدل نشان می دهد. این خط بین دوره اول و دوم اوج می گیرد، سپس به شدت به تقریبا 0 کاهش می یابد و پس از سه دوره به سطح می رسد.

وضعیت کار تنظیم را بررسی کنید

می توانید وضعیت کار تنظیم خود را در استودیوی هوش مصنوعی Google در برگه My Library یا با استفاده از ویژگی metadata مدل تنظیم شده در Gemini API بررسی کنید.

عیب یابی خطاها

این بخش شامل نکاتی در مورد نحوه رفع خطاهایی است که ممکن است هنگام ایجاد مدل تنظیم شده خود با آن مواجه شوید.

احراز هویت

تنظیم با استفاده از API و کتابخانه مشتری نیاز به احراز هویت دارد. می توانید احراز هویت را با استفاده از یک کلید API (توصیه می شود) یا با استفاده از اعتبارنامه OAuth تنظیم کنید. برای مستندات مربوط به تنظیم یک کلید API، به تنظیم کلید API مراجعه کنید.

اگر خطای 'PermissionDenied: 403 Request had insufficient authentication scopes' ، ممکن است لازم باشد احراز هویت کاربر را با استفاده از اطلاعات کاربری OAuth تنظیم کنید. برای پیکربندی اعتبارنامه OAuth برای Python، از آموزش راه اندازی OAuth ما دیدن کنید.

مدل های لغو شده

شما می توانید قبل از اتمام کار، هر زمان که بخواهید یک کار تنظیم دقیق را لغو کنید. با این حال، عملکرد استنتاج یک مدل لغو شده غیرقابل پیش بینی است، به خصوص اگر کار تنظیم در اوایل آموزش لغو شود. اگر به دلیل اینکه می‌خواهید آموزش را در دوره قبلی متوقف کنید لغو کردید، باید یک کار تنظیم جدید ایجاد کنید و دوره را روی مقدار کمتری تنظیم کنید.

محدودیت های مدل های تنظیم شده

توجه: مدل های تنظیم شده دارای محدودیت های زیر هستند:

  • محدودیت ورودی یک مدل فلش جمینی 1.5 تنظیم شده 40000 کاراکتر است.
  • حالت JSON با مدل های تنظیم شده پشتیبانی نمی شود.
  • فقط ورودی متن پشتیبانی می شود.

بعدش چی

با آموزش های تنظیم دقیق شروع کنید: