استفاده از مدلهای زبان بزرگ برای ساخت برنامههای هوش مصنوعی مولد همراه با چالشهای جدیدی است. یکی از مسائل کلیدی، اطمینان از کیفیت پاسخها (دقت و مرتبط بودن) در محتوای تولید شده توسط مدل برای یک درخواست کاربر خاص است. در درسهای قبلی، تکنیکهایی مانند مهندسی پرامپت و تولید تقویت شده با بازیابی را بررسی کردیم که سعی دارند این مشکل را با تغییر ورودی پرامپت به مدل موجود حل کنند.
در درس امروز، به تکنیک سوم، آموزش دقیق میپردازیم که سعی میکند این چالش را با آموزش مجدد مدل خود با دادههای اضافی حل کند. بیایید به جزئیات بپردازیم.
این درس مفهوم آموزش دقیق برای مدلهای زبان پیشآموزشدیده را معرفی میکند، مزایا و چالشهای این رویکرد را بررسی میکند و راهنماییهایی درباره زمان و نحوه استفاده از آموزش دقیق برای بهبود عملکرد مدلهای هوش مصنوعی مولد شما ارائه میدهد.
تا پایان این درس، باید بتوانید به سوالات زیر پاسخ دهید:
- آموزش دقیق برای مدلهای زبان چیست؟
- چه زمانی و چرا آموزش دقیق مفید است؟
- چگونه میتوانم یک مدل پیشآموزشدیده را دقیقتر آموزش دهم؟
- محدودیتهای آموزش دقیق چیست؟
آمادهاید؟ بیایید شروع کنیم.
میخواهید قبل از شروع، کلیت آنچه را که پوشش خواهیم داد ببینید؟ این راهنمای مصور را بررسی کنید که سفر یادگیری این درس را توصیف میکند - از یادگیری مفاهیم اصلی و انگیزه آموزش دقیق، تا درک فرآیند و بهترین روشها برای اجرای وظیفه آموزش دقیق. این موضوع جذابی برای اکتشاف است، پس صفحه منابع را برای پیوندهای بیشتر برای حمایت از سفر یادگیری خودتان فراموش نکنید!
از نظر تعریفی، مدلهای زبان بزرگ بر روی حجم زیادی از متن که از منابع متنوع از جمله اینترنت گردآوری شده آموزش پیشپردازششده دارند. همانطور که در درسهای قبلی آموختهایم، ما به تکنیکهایی مانند مهندسی پرامپت و تولید تقویتشده با بازیابی نیاز داریم تا کیفیت پاسخهای مدل به سوالات کاربر ("پرامپتها") را بهبود بخشیم.
یک تکنیک محبوب مهندسی پرامپت، دادن راهنماییهای بیشتر به مدل درباره انتظارات از پاسخ است؛ یا با ارائه دستورالعملها (راهنمایی صریح) یا دادن چند نمونه (راهنمایی ضمنی). به این روش یادگیری چند نمونهای گفته میشود اما دو محدودیت دارد:
- محدودیت توکنهای مدل میتواند تعداد نمونههایی را که میتوانید بدهید محدود کند و اثربخشی را کاهش دهد.
- هزینههای توکن ممکن است افزودن نمونهها به هر پرامپت را پرهزینه کند و انعطافپذیری را محدود کند.
آموزش دقیق یک روش رایج در سیستمهای یادگیری ماشین است که در آن مدل پیشآموزشدیده را با دادههای جدید مجدداً آموزش میدهیم تا عملکرد آن را روی یک وظیفه مشخص بهبود دهیم. در زمینه مدلهای زبان، میتوانیم مدل پیشآموزشدیده را با مجموعهای انتخابشده از نمونهها برای یک وظیفه یا حوزه کاربردی خاص آموزش دقیق کنیم تا یک مدل سفارشی ایجاد کنیم که ممکن است برای آن وظیفه یا حوزه خاص دقیقتر و مرتبطتر باشد. یک مزیت جانبی آموزش دقیق این است که میتواند تعداد نمونههای مورد نیاز برای یادگیری چند نمونهای را کاهش دهد - که به کاهش مصرف توکن و هزینههای مرتبط کمک میکند.
در این زمینه وقتی درباره آموزش دقیق صحبت میکنیم، منظور ما آموزش دقیق نظارتشده است که در آن آموزش مجدد با افزودن دادههای جدید انجام میشود که جزو مجموعه دادههای آموزش اصلی نبودهاند. این با روش آموزش دقیق بدون نظارت متفاوت است که در آن مدل روی دادههای اصلی اما با پارامترهای متفاوت آموزش میبیند.
نکته کلیدی این است که آموزش دقیق یک تکنیک پیشرفته است که نیاز به سطح خاصی از تخصص برای رسیدن به نتایج مطلوب دارد. اگر اشتباه انجام شود، ممکن است بهبودهای مورد انتظار را فراهم نکند و حتی عملکرد مدل برای حوزه هدف شما را کاهش دهد.
پس قبل از اینکه یاد بگیرید "چگونه" مدلهای زبان را آموزش دقیق دهید، باید بدانید "چرا" باید این مسیر را انتخاب کنید و "کی" باید فرآیند آموزش دقیق را شروع کنید. با پرسیدن این سوالات از خود شروع کنید:
- موارد استفاده: کاربرد شما برای آموزش دقیق چیست؟ کدام جنبه از مدل پیشآموزشدیده فعلی را میخواهید بهبود دهید؟
- جایگزینها: آیا روشهای دیگر برای رسیدن به نتایج مطلوب را امتحان کردهاید؟ از آنها برای ایجاد یک پایه مقایسه استفاده کنید.
- مهندسی پرامپت: تکنیکهایی مانند پرامپت چندنمونهای با نمونههایی از پاسخهای مرتبط را امتحان کنید. کیفیت پاسخها را ارزیابی کنید.
- تولید تقویتشده با بازیابی: پرامپتها را با نتایج جستجو در دادههای خود تقویت کنید. کیفیت پاسخها را ارزیابی کنید.
- هزینهها: آیا هزینههای آموزش دقیق را شناسایی کردهاید؟
- قابلیت آموزش - آیا مدل پیشآموزشدیده در دسترس آموزش دقیق است؟
- تلاش - برای تهیه دادههای آموزش، ارزیابی و پالایش مدل.
- محاسبات - برای اجرای فرآیندهای آموزش دقیق و استقرار مدل آموزشدیده
- داده - دسترسی به نمونههای با کیفیت کافی برای تاثیر آموزش دقیق
- مزایا: آیا مزایای آموزش دقیق را تأیید کردهاید؟
- کیفیت - آیا مدل آموزشدیده، عملکرد بهتری نسبت به پایه داشت؟
- هزینه - آیا با سادهتر کردن پرامپتها، مصرف توکن را کاهش میدهد؟
- توسعهپذیری - آیا میتوانید مدل پایه را برای حوزههای جدید استفاده مجدد کنید؟
با پاسخ دادن به این سوالات، باید بتوانید تصمیم بگیرید آیا آموزش دقیق رویکرد درستی برای مورد استفاده شماست یا نه. ایدهآل این است که این رویکرد فقط زمانی معتبر است که مزایا از هزینهها بیشتر باشد. وقتی تصمیم به ادامه گرفتید، زمان فکر کردن به نحوه آموزش دقیق مدل پیشآموزشدیده است.
میخواهید در فرایند تصمیمگیری بیشتر بدانید؟ ویدیو آموزش دقیق یا نه را ببینید.
برای آموزش دقیق یک مدل پیشآموزشدیده، باید داشته باشید:
- یک مدل پیشآموزشدیده برای آموزش دقیق
- مجموعه داده برای استفاده در آموزش دقیق
- محیط آموزشی برای اجرای کار آموزش دقیق
- محیط میزبانی برای استقرار مدل آموزشدیده
منابع زیر آموزشهای گامبهگام برای راهنمایی شما در یک مثال واقعی با استفاده از مدلی انتخابشده با مجموعه داده انتخابشده را فراهم میکنند. برای انجام این آموزشها، نیاز به حساب کاربری در ارائهدهنده مربوطه به همراه دسترسی به مدل و دادههای مربوطه دارید.
| ارائهدهنده | آموزش | توضیحات |
|---|---|---|
| OpenAI | چگونه مدلهای چت را آموزش دقیق دهیم | یاد بگیرید چگونه مدل gpt-35-turbo را برای یک حوزه خاص ("دستیار دستور آشپزی") با آمادهسازی دادههای آموزشی، اجرای فرآیند آموزش دقیق و استفاده از مدل آموزشدیده برای استنتاج دقیقتر کنید. |
| Azure OpenAI | آموزش دقیق GPT 3.5 Turbo | روی Azure یاد بگیرید چگونه مدل gpt-35-turbo-0613 را آموزش دقیق دهید، گامهایی برای ایجاد و بارگذاری دادههای آموزشی را بردارید، فرآیند آموزش دقیق را اجرا کنید، مدل جدید را مستقر کرده و استفاده کنید. |
| Hugging Face | آموزش دقیق مدلهای بزرگ زبان با Hugging Face | این پست بلاگ شما را در آموزش دقیق یک مدل باز LLM (مثلاً CodeLlama 7B) با استفاده از کتابخانه transformers و یادگیری تقویتی ترنسفورمر (TRL) همراه با مجموعه دادههای باز در Hugging Face راهنمایی میکند. |
| 🤗 AutoTrain | آموزش دقیق مدلهای بزرگ زبان با AutoTrain | AutoTrain (یا AutoTrain Advanced) کتابخانهای پایتون توسعه یافته توسط Hugging Face است که امکان آموزش دقیق برای بسیاری از وظایف مختلف از جمله آموزش دقیق LLMها را فراهم میکند. AutoTrain یک راهحل بدون کد است و آموزش دقیق میتواند در فضای ابری خودتان، روی Spaces های Hugging Face یا بهصورت محلی انجام شود. این کتابخانه رابط کاربری گرافیکی وب، خط فرمان و آموزش از طریق فایلهای پیکربندی yaml را پشتیبانی میکند. |
| 🦥 Unsloth | آموزش دقیق مدلهای بزرگ زبان با Unsloth | Unsloth یک چارچوب متنباز است که آموزش دقیق LLM و یادگیری تقویتی (RL) را پشتیبانی میکند. Unsloth آموزش محلی، ارزیابی و استقرار را با دفترچههای آماده استفاده notebooks ساده میکند. همچنین از تبدیل متن به گفتار (TTS)، BERT و مدلهای چندرسانهای پشتیبانی میکند. برای شروع، راهنمای گام به گام آموزش دقیق LLMها را مطالعه کنید. |
یکی از آموزشهای بالا را انتخاب کرده و آن را دنبال کنید. ممکن است نسخهای از این آموزشها را در دفترچههای Jupyter در این مخزن به عنوان مرجع تهیه کنیم. لطفاً برای دریافت نسخههای بهروز، مستقیماً از منابع اصلی استفاده کنید.
پس از اتمام این درس، مجموعه Generative AI Learning را بررسی کنید تا دانش خود درباره هوش مصنوعی مولد را ارتقا دهید!
تبریک!! شما آخرین درس از سری v2 این دوره را به پایان رساندهاید! یادگیری و ساخت را متوقف نکنید. **صفحه منابع را برای فهرستی از پیشنهادات بیشتر در این موضوع بررسی کنید.
سری درسهای v1 ما نیز با تمرینها و مفاهیم بیشتری بهروزرسانی شده است. بنابراین یک دقیقه وقت بگذارید و دانش خود را تازه کنید - و لطفاً سوالات و بازخوردهای خود را به اشتراک بگذارید تا به ما در بهبود این درسها برای جامعه کمک کنید.
سلب مسئولیت: این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما برای دقت تلاش میکنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل اشتباهات یا نادرستیهایی باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات مهم، ترجمه حرفهای انسانی توصیه میشود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه نیستیم.

