از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه پنجم این آموزش، مدرس به مفهوم لاگینگ در فرآیند ترینینگ مدلهای یادگیری ماشین میپردازد. با استفاده از ابزار دبلیو ان دی بی، اطلاعات مرتبط با ترینینگ مانند لاس، لرنینگ ریت و نتایج ولیدیشن به صورت ساختاری ثبت میشوند. این اطلاعات در فایلهای منحصر به فرد در پوشههای مشخص ذخیره میشوند تا بتوان از آنها در تحلیل و مقایسه نتایج استفاده کرد.
نکات کلیدی
لاگینگ به ثبت اطلاعات فرآیند ترینینگ مانند لاس، لرنینگ ریت و نتایج ولیدیشن میپردازد.
استفاده از دبلیو ان دی بی به مدیریت و ثبت اطلاعات ترینینگ به صورت ساختاری و منحصر به فرد انجام میشود.
اطلاعات لاگینگ در فایلهای منحصر به فرد در پوشههای مشخص ذخیره میشوند.
این فرآیند به تحلیل و مقایسه نتایج ترینینگ کمک میکند.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
از ابزار دبلیو ان دی بی برای لاگینگ در ترینینگ مدلها استفاده میشود.
اطلاعات مرتبط با ترینینگ مانند لاس، لرنینگ ریت و نتایج ولیدیشن در فرآیند لاگینگ ثبت میشوند.
اطلاعات لاگینگ در فایلهای منحصر به فرد در پوشههای مشخص ذخیره میشوند.
آخرین بهروزرسانی محتوای متنی:
آیا میخواهید واقعاً درک کنید که مدلهای زبانی بزرگ (Large Language Models) چگونه ساخته میشوند؟ در این دوره آموزشی، از سطح مفاهیم پایه شروع میکنیم و قدمبهقدم یک مدل زبانی بزرگ را از صفر با استفاده از PyTorch پیادهسازی میکنیم. هدف این دوره فقط استفاده از مدلهای آماده نیست؛ بلکه یاد میگیریم در پشت صحنه LLMها چه اتفاقی رخ میدهد و چگونه میتوان یک مدل زبانی را ساخت، آموزش داد، بهبود داد و برای کاربردهای واقعی آماده کرد. در طول این دوره، معماری داخلی مدلهای زبانی بزرگ، فرآیند آموزش، Alignment، Fine-Tuning و تکنیکهای مدرن بهینهسازی مدلها را بررسی خواهیم کرد. در این مسیر یاد میگیریم: 🔹 ساخت یک LLM کوچک از صفر و درک تمام مفاهیم کلیدی پشت آن 🔹 بررسی معماری Transformer و اجزای اصلی مدلهای زبانی 🔹 تحلیل عمیق نحوه عملکرد مدل با Visualizationهای پیشرفته 🔹 پیادهسازی و درک مفاهیم داخلی یک Advanced LLM 🔹 ساخت فرآیند Alignment از صفر و آشنایی با نحوه هماهنگسازی مدلها با اهداف انسانی 🔹 انجام Fine-Tuning مدلهای زبانی با استفاده از QLoRA 🔹 یادگیری تکنیکهای کاهش هزینه آموزش و بهینهسازی مدلها 🔹 بررسی ارتباط بین شبکههای عصبی، یادگیری ماشین و مدلهای مولد 🔹 توسعه درک عمیقتر از نحوه کارکرد مدلهای Generative AI سرفصلهای اصلی دوره: 📌 Coding a Small LLM from Scratch ساخت یک مدل زبانی کوچک و بررسی تمام مفاهیم پایه مورد نیاز 📌 Inside the AI Matrix Visualization و تحلیل عمیق ساختار داخلی LLMها 📌 Understanding Advanced LLMs بررسی معماری و مفاهیم پیشرفته مدلهای زبانی 📌 Building Alignment Process from Scratch درک فرآیند Alignment و نحوه آموزش مدل برای رفتار بهتر 📌 Fine-Tuning LLMs with QLoRA افزودن مهارتهای جدید به مدلهای زبانی با روشهای کمهزینه Fine-Tuning 📌 Origami + AI Learning بررسی ارتباط ایدههای یادگیری، شبکههای عصبی و هوش مصنوعی 📌 Activating the Generative Model of Your Own Mind نگاهی عمیقتر به مدلهای مولد و نحوه تفکر در مورد AI این دوره مناسب چه کسانی است؟ ✅ مهندسان یادگیری ماشین و هوش مصنوعی ✅ برنامهنویسان Python و PyTorch ✅ دانشجویان علاقهمند به Deep Learning ✅ افرادی که میخواهند از سطح استفادهکننده مدلهای AI به سطح سازنده مدل برسند ✅ کسانی که میخواهند درک عمیقی از ChatGPT، Llama و مدلهای مشابه داشته باشند پیشنیازهای پیشنهادی: آشنایی مقدماتی با Python آشنایی اولیه با Deep Learning آشنایی پایه با مفاهیم Neural Networks در این دوره، به جای اینکه فقط از LLMها استفاده کنیم، یاد میگیریم چگونه آنها را بسازیم، آموزش دهیم و شخصیسازی کنیم. 🎓 برای مشاهده کامل این دوره و دورههای تخصصی بیشتر در حوزه هوش مصنوعی، به کانال Pista Academy مراجعه کنید. #LLM #LargeLanguageModels #PyTorch #DeepLearning #GenerativeAI #FineTuning #QLoRA #ArtificialIntelligence #machinelearning pistaacademy.ir
هم یه بار ال ام رو در حقیقت پیاده سازی
خواهیم کرد.
میخوایم وارد موضوع لاگین بشین در زمان
ترینینگ
تو آموزش یه ال ام فقط اجرای مدل مهم نیست
باید بتونیم بفهمیم در طول هزاران استپ چه
اتفاقی داره میفته
آیا لاسمون داره کم میشه لینینگ ریتمون
داره چهجور تغییر میکنه ولیدیشن لاسمون
بهتر شده یا بدتر
آموزشمون چقدر داره طول میکشه آیا مدلمون
اورفیت شده و اگر
چند ترینینگ ران داشتیم کدوم تنظیمات بهتر
عمل کرده یعنی تو کدوم یکی از اون ففرآیند
آموزشمون مدل بهتر بوده
[گلویش را صاف میکند]
اینجا برای لاگینگ اومدیم از
دبلی ان دی بی استفاده کردیم اینجاهم
داریم کدش رو میبینیم بچهها حالا
برمیگردیم راجع بهش صحبت میکنیم
میگه که اینجا هستیم یعنی ما ترینمونو کانفیگ کردیم قبل شروع کردن ففرآیند ترین
لاگینگو اینجا پیادهسازی میکنیم
خب اصلاً لاگینگ یعنی چی؟ فرض کنید مدلمون قراره
۱۰۰ هزار بار آموزش ببینه ۱۰۰ هزار استپ
آموزش ببینه
در طول آموزش ممکنه اطلاعات تولید بشه
استپ ۱۰۰ مثلاً لاسمون انقده ولیدشمون
لاسمون انقده و لینگ ریتمون انقده استپ
۵۰۰ به این صورت استپ مثلاً ۱۰۰ اینجوری
تا ۱۰۰ هزار
اگر فقط اینا رو با پرینت تو ترمینال
نمایش بدیم بعداً تحلیل کردنش سخته چون
پرینت شده دیگه نداریمش جایی ثبت نشده
لاگین یعنی این اطلاعاتو به شکل ساختار
یافتهای ثبت کنیم یه جایی که بعداً
بخواستیم تحلیلش بکنیم بتونیم ازش استفاده
بکنیم
دبلی ان بی چیست مخفف ویت اند بایاس یه ابزار بسیار معروف برای اکسپریمنت ترک
ترکینگ
یعنی ترک کردن یا دنبال کردن یا رصد کردن
آزمایش
یعنی آزمایش ماشین لرنینگ و دیپ لینینگ رو
ثبت و مدیریت میکنه پس تو ماشین لرنینگم
میشه ازش استفاده کرد
مثلاً در پروژه ال ان ممکن است ۵ بار مدل رو ترن کنیم
این اطلاعات ۵ بارست
بدون لاگینگ بعد از مدتی ممکنست اصلاً
یادمون نباشه که کدوم مدل چه تنظیماتی
داشت
لاس کدوم بهتر بود کدوم لرنینگ ریت بهتر
جواب داد
دبلیو ان بی میاد این اطلاعات رو برای هر
راند جداگانه ذخیره میکنه
ما بریم سراغ خط به خط اینو با همدیگه ببینیم چیه من بذارید عکس اینو بگیرم که
دیگه هی بالا رو پایین نکنیم
نوشتهها رو گرفته جاشو الان بهتر شد خب حتی بالاتر
کجا بودیم اینجا بودیم اولین خطمون که میشه این
یعنی یه فلگ سادهست یعنی اینکه این فعال باشه یا نباشه همین چیز خاصی نیست وقتی تو
روئ یعنی لاگینگ فعاله فالس باشه یعنی
فعال نیست. حالا اگه جایی نیاز داشتیم
فعال نکنیم میتونیم اینجا فارس بذاریم.
دقیقاً میگه که یه جاهایی شاید ما بخوایم سریع مدلو تست بکنیم و اصلاً نیاز به ثبت
در حقیقت نداشته باشیم ثبت لاگ میتونیم
اینو غیر فعالش بکنیم. بیایم پایین.
دبلیو ان دی بی پراجکت خط بعدیمونه یعنی این اسمشو گذاشتیم ال ام ی که دقیقا اینجا
اسم پروژه رو مشخص میکنیم ما مثلاً
گذاشتیم ال ام ی
به این صورت
مثل این که شما بیاید یه پوشهای درست بکنید به اسم ال ام ی
تمام خروجی تمام مثلاً اون مراحل رو داخلش
ذخیره
بعدی چیه؟ اینه
این قسمت
این خط برای هر بار ترینینگ یک اسم منحصر
به فرد درست میکنه اسمنم چهجوری داره
درست میکنه؟ اسم پروژه
یه خط فاصله بعد اون لحظه طبیعتاً اون
لحظه یونیکه دیگه ترین بعدی لحظهمون عوض
شده زمانمون عوض شده پس این یه مقدار
یونیکه
یه همچین چیزی میشه
بنابراین هر بار که مدلو اجرا بکنیم یه زمان جدیده و میشه یه اسم جدید و لاگهای
اون ران به این اسم ذخیره میشه
ونا با همدیگه قاطی نمیشه
دیتا نام رو که میدونید یعنی الان این خیلی استفاده کردم
که با این میان اینو تبدیلشون میکنن به یک رشته
به این رشته دلخواه
اینم فرمتشه سال ماه روز ساعت دقیقه ثانیه
چرا زمانو داخل نام ران قرار دادیم؟ چرا اینجوری اسمشو درست کردیم؟ فرض کنید امروز
مدلو ۴ بار ترین کنیم اگر همشون اسمشون
این باشه از کجا بفهمیم کدوم کدوم؟ پس
باید یه اسم یونیک داشته باشن ترتیب رو هم
حتی اسمه نشون بده یعنی من الان از این
میفهمم که این اولی بوده بعد این بوده
بعد این بوده یعنی ترتیب رو هم میرسونه
علاوه بر اینکه اسماشون یونیکه پس این
خیلی اسم گذاری خوبیه
حتی تو توی بعضی پروژهها میگه میان هایپر پارامترای هر ران رو هم اضافه میکنن تو
اسم.
یعنی میفهمی که تو این رنوم ریتت این
بوده بعد سایزتم انقدر بوده. یعنی این رو
هم داخلش اضافه میکنم که خیلی کمک
میکنه. یعنی شما با یه نگاه میتونید یه
سری اطلاعات حداقل دستتون بیاد.
میرسیم به خط بعدی این ایف و دیبیور لاگ میایم داخل. یعنی اگر
لاگین فعال بود منظورش اینه این خط اونوقت
بیا داخل
اینو ایمپورت کن کتابخونه دبلیو ان بیو
ایمپورت کن اگه نباشه باید نصبش بکنین بعد
میتونین ایمپورتش کنین اینیشت اس اصلاً
مشخص از اسمش یعنی شروع بکن
این دستور یک اکسپریمنت ران جدید ایجاد میکند مثلاً این میگوید پرو ران را داخل
پروژه ال ام ۱ قرار بده
پس میگه این پروژه رو داخل اون قرار بده پس اگه اسمش پروژمون این باشه میاد اینو
داخل این قرار میده
ران بعدی که اینا عوض میشه رو دوباره
میریزه داخل این با اسم جدید
میگه اما فقط وند بی اینشیت کافی نیست این نکته مهمترین قسمت لاگینگه کدی که در هست
میین فقط قسمت لاگینگ رو آماده کرده هنوز
چیزی مثل لاس ثبت نشد حالا این قراره تو
ویدیو بعدی باشه و دار جلو جلو میگم برای
ثبت مقادیر باید داخل ترین تر ترنینگ لوپ
از این استفاده بشه حالا من میخواستم اینو
بذارم برای جلسه بعد
اجازه بدید بیام یه جلسه بگم یا نگم
خب بریم همین جلسه بگم خب اینو فعلاً لازم
نداریم چون دیگه تموم شد
میگید کدی که دست میبینید فقط سیستم لاگین رو آماده کردن هنوز چیزی مثل لا ثبت نشده
و ثبت مغز باید داخل یه لوپی قرارش بدیم
مثلاً یه همچین چیزی اگه ترن لوپ داشت داشته باشیم مثلاً میگیم
فور اس برای هر استپ داخل این رنج
بیا مثلاً چیکار کن لاسو حساب کن بعد اگر
این فعال بود بیا اون لاسه رو ثبت کن
ترینی لاس فقط کافی نیست حتی میان دقیقاً ولیدیشن رو اطلاعات ولیدیشن رو هم داخلش
ثبت میکنم تو هر لاک
این اطلاعات بچهها میره داخل یه دونه
فایل که اسمشم اون بالا گفتیم می ثبت میشه
داخل پوشه ال ام وان پس این سه تا اطلاعات
میره داخل یه فایلی به این اسم مثلاً
ذخیره میشه داخل پوشه ال ان وان
میتونید لرنین ریتوهم بچهها ذخیره کنین داخل لاک کماون که ما لیلین بیتو تو اسمشم
گذاشته بودیم ولی اینجا میتونیم جدا هم
ذخیره کنیم اونم داشته باشیم هایپر
پارامترام میتونیم ذخیره کنیم هر چیزی رو
بچهها شما میتونید این تو ذخیره کنید هر
چیزی که لازم دارید ثبت بشه
اینو اجازه بدید آخر دوره آخر این فصل میایم یه دونه پروژه با همدیگه کامل انجام
میدیم خب اینم از مفهوم لاگینگ بریم بیایم
جلسه بعدی بحثو ادامه بدیم فعلاً خلاص