تنظیم دقیق یک مدل هوش مصنوعی مولد (AI) مانند Gemma، رفتار مدل را تغییر میدهد. شما معمولاً Gemma را با هدف بهبود عملکرد آن در یک کار یا دامنه خاص یا برای انجام بهتر یک نقش، مانند خدمات مشتری، تنظیم میکنید. مدلهای Gemma با وزنهای باز منتشر میشوند، به این معنی که میتوانید آن وزنها را تغییر دهید، که سپس رفتار مدل را تغییر میدهد. مراحل کلی برای تنظیم دقیق یک مدل Gemma به شرح زیر است:
یک چارچوب انتخاب کنید
مدلهای Gemma با انواع چارچوبهای تنظیم هوش مصنوعی سازگار هستند. هر چارچوب مزایای مختلفی را ارائه میدهد و معمولاً به یک قالب مدل خاص محدود میشود. در اینجا راهنماهایی برای تنظیم مدلهای Gemma با چارچوبهای مختلف ارائه شده است:
- کراس با استفاده از LoRA
- کتابخانه Gemma برای JAX
- صورت در آغوش گرفته
- گوگل کلود GKE (چند پردازنده گرافیکی با ترانسفورماتورهای فرکانس بالا)
- هوش مصنوعی گوگل کلود ورتکس
- تنبلی
- آکسولوتل
- Keras با استفاده از تنظیم توزیع شده
مطمئن شوید که قالب مدل استقرار مورد نظر شما، مانند قالب Keras، Safetensors یا GGUF، به عنوان خروجی توسط چارچوب انتخابی شما پشتیبانی میشود.
جمعآوری دادهها
تنظیم مدل به داده نیاز دارد. دادههای تنظیم معمولاً شامل جفت دادههای ورودی با پاسخ مورد انتظار هستند. مجموعه دادههای عمومی زیادی برای آموزش در مورد وظایف یا خروجیهای مختلف به صورت آنلاین در دسترس هستند. به عنوان مثال، اگر میخواهید یک مدل Gemma را برای ترجمه توضیحات قطعات خودرو به شماره قطعات آموزش دهید، مجموعه دادههای شما ممکن است شامل موارد زیر باشد:
training_data = [
{"input_text": "Part number for A4 brake caliper", "output_text": "4M0615107BS"},
{"input_text": "Part number for Beetle fuel pump", "output_text": "6A127026H"},
{"input_text": "Part number for Camaro cylinder head", "output_text": "12711770"},
]
اگر میخواهید یک مدل Gemma مجموعهای از وظایف یا نقشهای خاص را انجام دهد، معمولاً باید مجموعهای از دادهها را گردآوری کنید که انواع مختلف آن وظیفه را نشان دهد. میزان دادههایی که برای تنظیم یک مدل نیاز دارید، به اهداف شما بستگی دارد، به ویژه اینکه چه مقدار تغییر رفتاری از مدل میخواهید و اینکه میخواهید مدل بر اساس وظیفهای که قرار است انجام شود و سطح تغییرات در دادههای ورودی، چقدر خوب عمل کند.
به طور کلی، شما باید با مجموعه کوچکی از دادهها برای تنظیم وظیفه خود شروع کنید، پارامترهای آموزشی را تنظیم کنید و دادهها را تا زمانی که به عملکرد وظیفهای که نیازهای شما را برآورده میکند، دست یابید، اضافه کنید. برخی از کاربردهای نمونه ما نشان میدهند که میتوانید با حداقل 20 جفت اعلان و پاسخ، بر رفتار یک مدل Gemma تأثیر بگذارید. برای جزئیات بیشتر، به «ساخت یک دستیار هوش مصنوعی ایمیل تجاری با Gemma» و «وظایف به زبانهای گفتاری با Gemma» مراجعه کنید.
مدل را تنظیم و آزمایش کنید
زمانی که یک چارچوب تنظیم و دادههای تنظیم را در اختیار داشتید، میتوانید فرآیند تنظیم مدل Gemma را آغاز کنید. هنگام انجام تنظیم، گزینههایی در مورد نحوه تنظیم دارید که بر منابع مورد نیاز برای تکمیل آن تأثیر میگذارد. همچنین باید یک برنامه آزمایش برای مدل تنظیم شده خود داشته باشید تا ارزیابی کنید که آیا پس از تنظیم، عملکرد مورد نظر شما را دارد یا خیر.
تنظیم پارامتر-کارآمد
هنگام تنظیم دقیق یک مدل وزن باز مانند Gemma، شما میتوانید تمام پارامترهای مدل را تنظیم کنید یا از یک تکنیک تنظیم پارامتر کارآمد با منابع کمتر استفاده کنید که زیرمجموعهای از آنها را بهروزرسانی میکند. رویکرد تنظیم کامل به این معنی است که همزمان با اعمال دادههای تنظیم، وزنهای جدیدی را برای تمام پارامترهای مدل محاسبه میکنید. این رویکرد به محاسبات و حافظه نیاز دارد، زیرا شما این محاسبات را برای میلیاردها پارامتر انجام میدهید. استفاده از رویکردهای تنظیم کمتر منابع، که تنظیم دقیق پارامتر کارآمد (PEFT) نامیده میشوند، از جمله تکنیکهایی مانند تنظیم آداپتور رتبه پایین (LoRA) میتواند نتایج مشابهی را با منابع محاسباتی کمتر ایجاد کند. برای جزئیات بیشتر در مورد نحوه انجام تنظیم با منابع کمتر با استفاده از LoRA، به مدلهای تنظیم دقیق Gemma در Keras با استفاده از LoRA و مدلهای تنظیم دقیق Gemma در Hugging Face مراجعه کنید.
آزمایش مدلهای تنظیمشده
پس از تنظیم یک مدل برای یک کار خاص، باید عملکرد آن را در برابر مجموعهای از وظایفی که میخواهید انجام دهد، آزمایش کنید. شما باید مدل خود را با وظایف یا درخواستهایی که به طور خاص برای آنها آموزش ندیده است، آزمایش کنید. نحوه آزمایش مدل تنظیم شده شما به وظیفهای که میخواهید انجام دهد و میزان دقت شما در مدیریت ورودیها و خروجیهای مدل بستگی دارد. یک روش معمول برای مدیریت آزمایش مدل مولد، استفاده از موارد موفقیت، شکست و مرزی است:
- آزمونهای موفقیت : درخواست میکند که مدل تنظیمشده همیشه بتواند با موفقیت عمل کند.
- آزمونهای شکست : درخواستهایی مبنی بر اینکه مدل تنظیمشده همیشه نباید قادر به انجام آنها باشد، یا در صورت درخواست، صریحاً از انجام آنها امتناع ورزد.
- آزمونهای مرزی : درخواستهایی که مدل تنظیمشده باید بتواند انجام دهد، اگر در یک مرز تعریفشده یا مجموعهای از مرزها از رفتار خروجی قابل قبول قرار گیرند.
هنگام آزمایش شکست یا شرایط مرزی برای برنامه هوش مصنوعی مولد خود، باید رویکردها، تکنیکها و ابزارهای ایمنی هوش مصنوعی مولد را نیز همانطور که در جعبه ابزار هوش مصنوعی مولد مسئولانه شرح داده شده است، اعمال کنید.
مدل را مستقر کنید
پس از تکمیل تنظیمات و تکمیل موفقیتآمیز آزمایشها، زمان آن رسیده است که مدل خود را مستقر کنید. معمولاً میتوانید برای نحوه استقرار یک مدل تنظیمشده به مستندات چارچوب انتخابی خود مراجعه کنید.
اگر در حال استقرار مدلی با وزنهای تنظیمشده LoRA هستید، توجه داشته باشید که با این تکنیک معمولاً هم مدل اصلی و هم وزنهای آن را با وزنهای LoRA به عنوان یک لایه محاسباتی اضافی برای مدل مستقر میکنید.