Skip to content

Latest commit

 

History

History
114 lines (78 loc) · 20.3 KB

File metadata and controls

114 lines (78 loc) · 20.3 KB

Open Source Models

تنظیم دقیق مدل زبان بزرگ شما

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

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

اهداف یادگیری

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

تا پایان این درس، باید بتوانید به سوالات زیر پاسخ دهید:

  • تنظیم دقیق برای مدل‌های زبان چیست؟
  • چه زمانی و چرا تنظیم دقیق مفید است؟
  • چگونه می‌توانم یک مدل پیش‌آموزش‌دیده را تنظیم دقیق کنم؟
  • محدودیت‌های تنظیم دقیق چیست؟

آماده‌اید؟ بیایید شروع کنیم.

راهنمای تصویری

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

Illustrated Guide to Fine Tuning Language Models

تنظیم دقیق مدل‌های زبان چیست؟

به طور تعریف، مدل‌های زبان بزرگ بر روی حجم زیادی از متن پیش‌آموزش دیده‌اند که از منابع متنوعی از جمله اینترنت گردآوری شده است. همان‌طور که در درس‌های قبلی یاد گرفتیم، ما به تکنیک‌هایی مانند مهندسی پرامپت و تولید تقویت‌شده با بازیابی نیاز داریم تا کیفیت پاسخ‌های مدل به سوالات کاربر ("پرامپت‌ها") را بهبود بخشیم.

یکی از تکنیک‌های محبوب مهندسی پرامپت، دادن راهنمایی بیشتر به مدل درباره آنچه در پاسخ انتظار می‌رود است، یا با ارائه دستورالعمل‌ها (راهنمایی صریح) یا دادن چند مثال (راهنمایی ضمنی). این به عنوان یادگیری چند نمونه‌ای شناخته می‌شود اما دو محدودیت دارد:

  • محدودیت توکن‌های مدل می‌تواند تعداد مثال‌هایی را که می‌توانید بدهید محدود کند و اثربخشی را کاهش دهد.
  • هزینه توکن‌های مدل می‌تواند اضافه کردن مثال‌ها به هر پرامپت را گران کند و انعطاف‌پذیری را کاهش دهد.

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

چه زمانی و چرا باید مدل‌ها را تنظیم دقیق کنیم؟

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

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

پس، قبل از اینکه یاد بگیرید "چگونه" مدل‌های زبان را تنظیم دقیق کنید، باید بدانید "چرا" باید این مسیر را طی کنید و "چه زمانی" باید فرآیند تنظیم دقیق را شروع کنید. ابتدا این سوالات را از خود بپرسید:

  • مورد استفاده: مورد استفاده شما برای تنظیم دقیق چیست؟ می‌خواهید کدام جنبه از مدل پیش‌آموزش‌دیده فعلی را بهبود دهید؟
  • جایگزین‌ها: آیا تکنیک‌های دیگری را برای رسیدن به نتایج دلخواه امتحان کرده‌اید؟ آن‌ها را استفاده کنید تا یک خط پایه برای مقایسه بسازید.
    • مهندسی پرامپت: تکنیک‌هایی مانند پرامپت چند نمونه‌ای با مثال‌های پاسخ‌های مرتبط را امتحان کنید. کیفیت پاسخ‌ها را ارزیابی کنید.
    • تولید تقویت‌شده با بازیابی: پرامپت‌ها را با نتایج جستجو در داده‌های خود تقویت کنید. کیفیت پاسخ‌ها را ارزیابی کنید.
  • هزینه‌ها: آیا هزینه‌های تنظیم دقیق را شناسایی کرده‌اید؟
    • قابلیت تنظیم — آیا مدل پیش‌آموزش‌دیده برای تنظیم دقیق در دسترس است؟
    • تلاش — برای آماده‌سازی داده‌های آموزشی، ارزیابی و بهینه‌سازی مدل.
    • محاسبات — برای اجرای کارهای تنظیم دقیق و استقرار مدل تنظیم شده
    • داده — دسترسی به مثال‌های کافی و با کیفیت برای تأثیر تنظیم دقیق
  • مزایا: آیا مزایای تنظیم دقیق را تأیید کرده‌اید؟
    • کیفیت — آیا مدل تنظیم شده بهتر از خط پایه عمل کرده است؟
    • هزینه — آیا با ساده‌سازی پرامپت‌ها مصرف توکن را کاهش می‌دهد؟
    • قابلیت توسعه — آیا می‌توانید مدل پایه را برای حوزه‌های جدید بازاستفاده کنید؟

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

می‌خواهید دیدگاه‌های بیشتری در روند تصمیم‌گیری بدست آورید؟ ویدیوی برای تنظیم دقیق یا عدم تنظیم دقیق را تماشا کنید.

چگونه می‌توانیم یک مدل پیش‌آموزش‌دیده را تنظیم دقیق کنیم؟

برای تنظیم دقیق یک مدل پیش‌آموزش‌دیده، شما نیاز دارید به:

  • یک مدل پیش‌آموزش‌دیده برای تنظیم دقیق
  • یک مجموعه داده برای استفاده در تنظیم دقیق
  • یک محیط آموزشی برای اجرای کار تنظیم دقیق
  • یک محیط میزبانی برای استقرار مدل تنظیم شده

تنظیم دقیق در عمل

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

ارائه‌دهنده آموزش توضیحات
OpenAI چگونه مدل‌های چت را تنظیم دقیق کنیم یاد بگیرید چگونه یک gpt-35-turbo را برای حوزه‌ای خاص ("دستیار دستور پخت") تنظیم دقیق کنید، با آماده‌سازی داده‌های آموزشی، اجرای کار تنظیم دقیق، و استفاده از مدل تنظیم شده برای استنتاج.
Azure OpenAI آموزش تنظیم دقیق GPT 3.5 Turbo یاد بگیرید چگونه مدل gpt-35-turbo-0613 را روی Azure تنظیم دقیق کنید با طی مراحل ایجاد و بارگذاری داده‌های آموزشی، اجرای کار تنظیم دقیق، استقرار و استفاده از مدل جدید.
Hugging Face تنظیم دقیق LLMها با Hugging Face این پست وبلاگی شما را در تنظیم دقیق یک مدل زبان باز (مثلاً CodeLlama 7B) با استفاده از کتابخانه transformers و تقویت یادگیری تبدیل‌کننده (TRL) همراه با مجموعه داده‌های باز در Hugging Face راهنمایی می‌کند.
🤗 AutoTrain تنظیم دقیق LLMها با AutoTrain AutoTrain (یا AutoTrain Advanced) یک کتابخانه پایتون توسعه یافته توسط Hugging Face است که امکان تنظیم دقیق برای بسیاری از وظایف از جمله تنظیم دقیق مدل‌های زبان را فراهم می‌آورد. AutoTrain یک راه‌حل بدون کدنویسی است و تنظیم دقیق می‌تواند در فضای ابری شما، روی Hugging Face Spaces یا به صورت محلی انجام شود. این کتابخانه از GUI مبتنی بر وب، CLI و آموزش از طریق فایل‌های پیکربندی yaml پشتیبانی می‌کند.
🦥 Unsloth تنظیم دقیق LLMها با Unsloth Unsloth یک چارچوب متن‌باز است که از تنظیم دقیق مدل‌های زبان و یادگیری تقویتی (RL) پشتیبانی می‌کند. Unsloth آموزش، ارزیابی و استقرار محلی را با دفترچه‌های آماده استفاده ساده می‌کند. همچنین از تبدیل متن به گفتار (TTS)، مدل‌های BERT و مدل‌های چندرسانه‌ای پشتیبانی می‌کند. برای شروع، راهنمای گام به گام تنظیم دقیق LLMها را مطالعه کنید.

تمرین

یکی از آموزش‌های بالا را انتخاب کنید و آن را دنبال کنید. ممکن است یک نسخه از این آموزش‌ها را برای مرجع در دفترچه‌های Jupyter در این مخزن بازتولید کنیم. لطفاً برای دریافت آخرین نسخه‌ها مستقیماً از منابع اصلی استفاده کنید.

کار عالی! یادگیری خود را ادامه دهید.

پس از اتمام این درس، مجموعه یادگیری هوش مصنوعی تولیدی ما را بررسی کنید تا دانش خود در زمینه هوش مصنوعی تولیدی را ارتقا دهید!

تبریک می‌گوییم!! شما آخرین درس از سری v2 این دوره را به پایان رساندید! دست از یادگیری و ساختن برندارید. **صفحه منابع را برای لیستی از پیشنهادهای اضافی فقط در همین موضوع بررسی کنید.

سری درس‌های v1 ما نیز با تمرین‌ها و مفاهیم بیشتری به‌روزرسانی شده است. پس یک دقیقه وقت بگذارید دانش خود را تازه کنید - و لطفاً سوالات و بازخوردهای خود را به اشتراک بگذارید تا به ما در بهبود این درس‌ها برای جامعه کمک کنید.


سلب مسئولیت:
این سند با استفاده از خدمات ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود، باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، توصیه می‌شود از ترجمه‌های حرفه‌ای انسانی استفاده شود. ما در قبال هرگونه سوءتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.