از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در جلسه 2 دوره Pista Academy، مدرس به معرفی فایلهای لازم برای ساخت یک مدل LLM با PyTorch میپردازد. ابتدا به استفاده از Google Colab به عنوان یک سرویس رایگان برای اجرا و محدودیتهای آن اشاره میشود. سپس به نصب کتابخانههای لازم مانند IPykernel و torch و دانلود فایلهای مرتبط از یک سایت مشخص پرداخته میشود. فایلهای مختلف مانند فایل پیتی، فایل انکود دیتا و فایل توکنایزر معرفی میشوند و اهمیت آنها در فرآیند آموزش مدل LLM توضیح داده میگردد. در ادامه، مراحل ارسال دیتا به توکنایزر، سپس به مدل و در نهایت به دیتا لودر برای آموزش مدل توضیح داده میشود.
نکات کلیدی
استفاده از Google Colab به عنوان یک سرویس رایگان برای اجرا و محدودیتهای آن.
نصب کتابخانههای لازم مانند IPykernel و torch و دانلود فایلهای مرتبط.
معرفی فایلهای پیتی، انکود دیتا و توکنایزر و اهمیت آنها در فرآیند آموزش مدل LLM.
ارسال دیتا به توکنایزر، سپس به مدل و در نهایت به دیتا لودر برای آموزش مدل.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
Google Colab به عنوان یک سرویس رایگان برای اجرا استفاده میشود، اما دارای محدودیتهایی مانند زمان اجرا و حافظه است.
کتابخانههای لازم مانند IPykernel و torch نصب میشوند.
فایل پیتی برای انکد کردن دیتا استفاده میشود، فایل انکود دیتا برای ذخیره دیتا و فایل توکنایزر برای تبدیل متن به توکنهای آیدی است.
آخرین بهروزرسانی محتوای متنی:
آیا میخواهید واقعاً درک کنید که مدلهای زبانی بزرگ (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
تمام کدایی که قراره تو این دوره بزنیم رو
هم میتونیم داخل گوگل کلب این کارو بکنیم
سرویس رایگانیه که مال خود گوگله و از
ریسورس خود گوگل استفاده بکنید یا
میتونید رو سیستم خودتون داخل جوپتر
نوتبوک این کارو انجام بدید تفاوتی
نمیکنه بچهها
و فقط فرقش کجاست؟ اگر خواستید رو سیستم
خودتون کار بکنید باید حداقل یه دونه جی
پی یو داشته باشید با حدود ۴ گیگ مموری
اگر نداشته باشید یا کمتر باشه طبیعتاً
خیلی زمان میبره یا اگه بخواید با سی پی
یو ران کنید که خیلی [صدای خرناس] زمان
میبره برای همین پیشنهاد میدم برید سراغ
گوگل کلب یه سرویس رایگانی داره که میشه
از جیپیش استفاده کرد حت با یه
محدودیتهایی
خب بریم شروع بکنیم
اول میام توی یا قسمت ران تایم بچهها چنج
ران تایم میزنم اینو میذارم رو جی پی یو
و اینو سیوش میکنم
حتی پلنای غیر رایگانم داره بذار ببینم این چیه
اصلا به اینا هم میتونید دسترسی داشته
باشید قیمتاشم میتونید بریم ببینیم
۱۱ دلار در ماه هزینه کلپ پروئه
و تقریباً میشه حدود ۲ و نیم میلیون تومن
در ماه. خب ما فعلاً همینو فعلاً استفاده
میکنیم اگر بعداً مشکل خوردیم شاید
ارتقادات.
بریم اول چیزایی که لازم داریم رو ایمپورت
بکنیم.
ایمپورت میکنم. یه ذره زوم صفحه رو میخواید بیشتر کنم.
من نمیخوام با ایآی نمیخوام فعلاً کار کنم. همون کفایت میکنم.
فکر کنم زومش کفایت کنه ایمپورت او اس و
سیس
شیفت اینترم که بزنید هر سلول اجرا میشه
فعلاً من هر سل خط به خطو اجرا میکنم که
اگه خطهای چیزی داد با هم چک کنیم بعداً
اینا رو یکاسه میکنم
خب
ایمپورت
آیپی دی وی برای دیباگینگ استفاده میکنیم
جلوتر بریم هنوز سلول بالایی تموم نشد
اجراش
البته اینم بگم بچهها گوگل کلاً فکر کنم
فیلتره ویپی انم نیاز دارید
خیلی طولش میده نمیدونم چرا ولی حالا خب چی میگه
بذارید ببینم مشکل ویپی ان منه یا نه خب من یه رفرش کردم مشکل مشکل حل شد
امیدوارم جلوتری اذیت نکنه آیپی دی بی
خب چی میگه نو ماژول نیم آیپی بی آپی رو باید نصب بکنید اگه بخواید و نصب [ __ ]
خ سختی نیست واقعاً
خب اینم انجام شد بعد میام میگم که از تی کیو کیو دی ایمپورت بکن تی کیو دی حالا
اینا جلوتر میبینیم چین بچهها
خب اینم اوکی بود
فرام دی ‏Allم
ریکوست و
زیپ فایل
خب
من اینا رو برای اینکه بچهها شلوغ نشه
همه رو میبرم تو یه خط
یه دفعه اجرا میکنیم بیایم اینجا
بعد باید بریم سراغ کتابخونه پایتورچ اونو بیاریم پایین بیاریم داخل پروژهمون
فانکشنالو اف اسمشو میذاریم اف بزرگ
بعد توکنایزررو میخوایم
که اینارو جلوتر کامل توضیح میدما فعلاً
گرفتارش نشه
بعد یه سری بهبود انجام میدیم رو پرف
پرفورمنسش به این صورت
چیز داره بکند
کدا
پکز دات
این دات این
خب و
کشمونی جیپیو روم میتونید اینجا بچهها یه ریست بکنید مثلا با این دستور ترچ
امتی کش
خب مرحله بعدی کارمون چیه ما یه سری فایل نیاز داریم برای این دوره که باید
اونو از یه جایی دانلود بکنیم یه فایل
اگزمپلیه که مال یه وب سایتیه
من نمیخوام فعلاً توی فصل اول درگیر این
بشم که در حقیقت بخوام یه سری فایلا رو
درست بکنیم با همدیگه اون میره فصلای
دیگهست فعلاً ازی فایلای آماده میخوام
استفاده کنم یه سایتی رو باز میکنید
بچهها بذار آدرسشو بزنم
بذار اینجا آدرسشو بنویسم
فایلز مثلاً یوآر
فایل ترین ال اینو میتونید همین جا هم بچهها دانلود
کنید با این پرینت مثلاً این سید
توی کتابخونه ساده پایتون میتونید اینو دانلود بکنید و خودم نمیخواید مستقیم
دانلود کنید
ریکوست گت میزنید به همون آدرس فالیرl و در نهایت فایلا یه فایل زیپه
زیپ فایل
دات
زیپ فایل بزرگ
آ چیزایی که بالایمپورت کرده بودیم اینجا داریم استفاده میکنیم یه چیز داره باس
ریسپس
کنت
در نهایت دا اکرکت آ
توی همین مسیری که الان هستیم همین جایی
که الان هستیم یعنی اینجا
بذارین اول یه ران کنم بعد یه چیزی میخوام
بهتون نشون بدم این داره دانلود میکنه
فایلا رو حجمشم واقعاً نمیدونم چقدر یادم
رفته
میتونیم لینک روت باز کنیم اینجا ببینیم
دانلود میکنه
من خیلی وقت داخل کلا نرفته بودم امکاناتش خیلی بیشتر شده
خب خب داره فایله رو دانلود میکنه.
خب یه دونه فایل انکود دیتا داره یه دونه
مدلم داخلش داره که اینا داخلشن د تا مدله
یه دونه اینه این ولش ولش کنید این ویکی.
تیxی
و د تا فایل توکنایز شده حالا برای اینکه
بدونیم اینا چین بذارید از خودش عجبی این
کمک بگیرم برا که ننویسم چیزی یه لحظه.
خب بریم ببینیم فایلا چیه
این ساختار فایلمونه پوشه مدل که اینجا
داره میگه که برای نگهداری مدلای آموزش
دیده یا چک پوینتهای مدل استفاده میشه
حالا جلوتر صحبت میکنیم
میگه فایلا با پسوند پیت تی معمولاً
فایلای پایتور هستن کتابخونه پایتورژ که
ما موضوع این دورمونه فایلاش که میخوایم
ذخیره کنیم با پسوند پیت تی ذخیره میشن
برای مثال هنگام آموزش مدل میتونیم وزای
مدل رو به این شکل ذخیره بکنیم با یه
پسوند پیتی بعد دوباره اونو لودش بکنیم
استفاده کنیم یعنی ما یه چیز آمادهای از
قبل داریم میخوایم ازش استفاده بکنیم
گفتم تو فصل اول خیلی وارد جزئیات نخواهیم
شد میخوام یه بار فقط روندو ببینید
پس میگه که این فایلای پیتی که الان داخل
این فولدرن احتمالاً وزنای یک نز نسخهای
از ال ام آموزشیده هست یعنی همون ویتا
هستن
و میگه که احتمالاً وقتی مدلو آموزش دادن بعدش اینو ذخیره کردن من یه ذره آب بخورم
خب [گلویش را صاف میکند] من دورهها رو چون ساعت ۵ ش صبح ضبط
میکنم یه ذره صدام شاید خوب نباشه مجونم
هی آب بخورم
فال د هم میگه که باز یه در حقیقت چک
پوینت دیگه از همون مدله میایم پایینتر
این چیه؟ میگه انکود دیتا یکی از مهمترین فایلای پروژه است.
قبل از اینکه متنو بخوایم وارد ال ام کنیم
نمیتونیم متنام رو مستقیماً به یک شبکه
عصبی بدیم طبیعیه. شما نمیتونی یک متنو
بدی به شبکه عصبی. مثلاً این جمله رو اول
باید با استفاده از توکنایزر که فصلای
جلوتر راجع بهش صحبت خواهیم کرد تبدیل
کنیم به توکن. بچهها هر توکن لزوماً یه
دونه کلمه نیستا اصطلاحاً میگن هر توکن سه
چهارم یک کلمهست پس اگه جای دیدید یک کلمه
رو د تا توکن کرده به خاطر اینه بعد میگه
هر توکن به یک آیدی تبدیل میشه آیدی عددی
تبدیل میشه در نهایت خواهیم داشت یه همچین
چیزی و این داده رو میتوان در پایت ذخیره
کرد
بنابراین به احتمال زیاد شامل نسخه توکنا
شده و عددی شده دیتاست آموزشیه الان بین
فایلشو باز بکنم بهتون نشون بدم.
خب بچهها من اینو دانلودش کردم. حدود ۳۰۰
مگم هستش فایلش. اینه فایلاش. الان راجع
به کدوم صحبت کردیم؟ راجع به فایل پیتی
صحبت کردیم. یعنی این فایل. ببینیم ببینیم
این چیه. ببین میتونیم بازش کنیم مثلاً
با [گلویش را صاف میکند][صدای سرفه]
نتد اگه بازش کنیم به نظرتون نشون میده داخلش.
یه کارم دوست بکنیم با وی اس کد بازش کنم ببینم چهجوریه
حالا جلوتر فایلا رو تو خود پایتون بازش میکنیم داخل گوگل کلپ
بذار ببینم خدای چیز باز نمیکنه فایلشو ببندمش
اینو هی کرد حالا بگذرید یه همچین فایلیه
بچهها خلاصهشون یه همچین فایلیه بریم
جلوتر
پس اومده اون دیتای اصلی ترینو توکنایز کرده که دیگه لازم نباشه که ما این کارو
انجام بدیم و البته ما تو فصلای جلوتر
توکنایز کردن یاد میگیریم فعلاً کاری
نداریم باهاش
بیایم پایینتر این چه فایلیه
این فایل مربوط به توکنایزر پروژهست
خب و میگه احتمالاً با یه کتابخونه به نام
سنتنس پیس ساخته شده ال ام متن خامو
مستقیماً نمیفهمه برا من نیاز به
توکنایزر داریم توکنایزر متنو میگیره
تبدیل میکنه به این چیزی که این بالا
داشتیم
اوکی
حالا اینا راجع بهشون هم جلوتر هم فصلای دیگه مفصل صحبت میکنیم
یه فایل وکبم داریم این فایل وکبری مربوط
به همون توکنایزرست وکرا مجموعه توکنایی
که توکنایزر میشناسه فرض کنید وکر بسیار
سادهای داشته باشیم یه مجموعه از کلم
کلماته که بهش میدیم میگیم اینا به عنوان
توکن در نظر بگیر و هر کدومم یه شناسهای
دارن مثلاً کلمه ماشین شناسشه مثلاً
لیرنین شناسش هفته بنابراین
یه همچین چیزی میشه تقریباً عدد کنار توکنا معمولا یک اسکور مربوط به تو
الزاماً توکن آیدی نیست حالا راجع بهش
صحبت صحبت میکنیم فقط اینو بدونید که این
یک مجموعهای از کلماته که توکن توکنایزر
ازش استفاده میکنم.
تواف د تا چیه؟ میگه که توکنزر. مودل فایلیست که خود توکنایزر برای انکود و
دیکود کردن متن استفاده میکنه اما وکب
بیشتر برای مشاهده و بررسی وکبی رو ساخته
شده مناسبه. به زبون ساده مدل موتور
توکنایزر وکب درخ تبدیل میشه به لیستی از
توکنهایی که توکنیزر یاد گرفته.
اینم سمپل دیتاهم مال خود گوگل کلم اصلاً
نباید توضیح میدم
اینم میشه اون ترتیبی که داره
[صدای خرناس] میشه کل پروژه رو در سه مرحله اصلی ببینید ساخت توکنایزر
متن به توکنایزر بعد یه دونه مدل به یه
دونه وک آمادهسازی دیتا ست متنمونو میدیم
به مدل تبدیل میکنه به یه سری توکن آیدی
و در نهایت یه فایل پیتی رو به ما میده
همون فایل انکد شده که اولش صحبت کردیم
بعد این فایله رو میدیم به دیتا لودر دیتا
لودر میده به ال ام ال ام آموزش میبینه و
د تا به ما مدل میده
خب این تا اینجا به نظرم کافیه بریم
ادامهشو جلسه بعدی صحبت کنیم فعلاً
خداحافظ
دیتا ابتدا به توکنایزر ارسال میشود و به توکنهای آیدی تبدیل میگردد، سپس به مدل ارسال میشود و در نهایت به دیتا لودر میرود که مدل را آموزش میدهد.