از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه، مدرس به توضیح مفاهیم اصلی مدلهای ترنسفورمر مانند کوی، ولیو و اتنشن پرداخته است. با استفاده از مثالهایی مانند جستجو در موتورهای جستجو و تحلیل جملات، نحوه عملکرد این سه مفهوم در فرایند پردازش زبان طبیعی به طور واضح توضیح داده شده است. همچنین، معماری ترنسفورمر با توضیح انکودر و دیکودر و نحوه عملکرد لایههای مختلف آن مورد بررسی قرار گرفته است.
نکات کلیدی
کوی، ولیو و اتنشن به عنوان سه مفهوم اصلی در مدلهای ترنسفورمر در فرایند پردازش زبان طبیعی عمل میکنند.
انکودر و دیکودر در معماری ترنسفورمر به صورت جداگانه یا همزاده عمل میکنند و هر کدام برای کاربردهای مختلفی طراحی شدهاند.
اتنشن به عنوان یکی از مفاهیم کلیدی در ترنسفورمر، به مدل کمک میکند تا اطلاعات را به طور موثر و دقیق پردازش کند.
درک معماری ترنسفورمر به ویژه انکودر و دیکودر برای طراحی مدلهای هوش مصنوعی اختصاصی ضروری است.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
کوی (Query)، ولیو (Value) و اتنشن (Attention) در مدلهای ترنسفورمر به عنوان سه مفهوم اصلی عمل میکنند. اتنشن به مدل کمک میکند تا اطلاعات را به طور موثر و دقیق پردازش کند، در حالی که کوی و ولیو به عنوان ورودیهای اصلی در این فرایند استفاده میشوند.
انکودر در معماری ترنسفورمر برای پردازش ورودیها استفاده میشود، در حالی که دیکودر برای تولید خروجیها مانند جملات یا پاسخها مورد استفاده قرار میگیرد. هر کدام برای کاربردهای مختلفی طراحی شدهاند.
اتنشن به مدل کمک میکند تا اطلاعات را به طور موثر و دقیق پردازش کند. این مفهوم به مدل امکان میدهد تا توجه خود را به جزئیات مهم متن معطوف کند و در نتیجه دقت و کارایی مدل را افزایش دهد.
آخرین بهروزرسانی محتوای متنی:
در این دوره آموزشی، بهصورت عملی و پروژهمحور یاد میگیریم چگونه مدلهای زبانی بزرگ (Large Language Models) را برای کاربردهای خاص خودمان Fine-Tune کنیم. امروزه مدلهایی مانند LLaMA، Mistral، BERT، T5 و مدلهای مبتنی بر Transformer تواناییهای بسیار قدرتمندی دارند؛ اما برای رسیدن به بهترین عملکرد در یک حوزه تخصصی، معمولاً نیاز داریم آنها را با دادههای اختصاصی خودمان تنظیم کنیم. در این دوره از پایه با مفاهیم Fine-Tuning شروع میکنیم و سپس به تکنیکهای پیشرفته و بهینه مانند LoRA، QLoRA و PEFT میپردازیم تا بتوانیم مدلهای بزرگ را حتی با منابع سختافزاری محدود آموزش دهیم. در طول دوره با استفاده از اکوسیستم Hugging Face، کتابخانههای Transformers، Datasets، PEFT، Accelerate و TRL مدلهای مختلف را Fine-Tune کرده و پروژههای واقعی را پیادهسازی میکنیم. در این دوره چه چیزهایی یاد میگیریم؟ 🔹 آشنایی عمیق با معماری Transformer و مفاهیم پایه LLMها 🔹 کار با Hugging Face Transformers و مدلهای Pre-trained 🔹 آمادهسازی Dataset برای Fine-Tuning مدلهای زبانی 🔹 تفاوت روشهای مختلف Fine-Tuning و انتخاب روش مناسب 🔹 آموزش و Fine-Tuning مدلهای BERT برای Classification 🔹 استفاده از Knowledge Distillation برای ساخت مدلهای کوچکتر و سریعتر 🔹 Fine-Tuning مدلهای DistilBERT و TinyBERT 🔹 Fine-Tuning مدلهای T5 برای Text Summarization 🔹 Fine-Tuning Vision Transformer برای Image Classification 🔹 مفهوم Instruction Tuning و Chat Models 🔹 Fine-Tuning مدلهای LLaMA برای ساخت مدلهای مکالمهای 🔹 Fine-Tuning مدلهای Qwen برای کاربردهای مختلف 🔹 آشنایی کامل با LoRA (Low-Rank Adaptation) 🔹 Fine-Tuning بهینه با QLoRA و Quantization 🔹 استفاده از PEFT برای کاهش هزینه آموزش مدلهای بزرگ 🔹 Fine-Tuning مدلهای LLM روی Datasetهای شخصی 🔹 ساخت مدلهای Voice و Audio با استفاده از LLMها و Qwen-TTS 🔹 Fine-Tuning مدلهای صوتی با دادههای اختصاصی پروژههایی که در این دوره انجام میدهیم: ✅ ساخت مدل Classification اختصاصی با BERT ✅ تشخیص موجودیتهای نامدار (NER) با مدلهای Transformer ✅ ساخت سیستم خلاصهسازی متن با T5 ✅ Fine-Tuning مدلهای LLM برای Chat و Instruction Following ✅ تنظیم مدلهای LLaMA و Qwen روی دادههای سفارشی ✅ استفاده از LoRA و QLoRA برای آموزش مدلهای بزرگ با GPU محدود ✅ Fine-Tuning مدلهای صوتی برای کاربردهای Voice AI این دوره مناسب چه کسانی است؟ این دوره برای افرادی مناسب است که: ✔ با Python آشنایی دارند و میخواهند وارد حوزه LLM Engineering شوند ✔ میخواهند مدلهای زبانی موجود را برای پروژههای واقعی شخصیسازی کنند ✔ قصد دارند در حوزه Generative AI، NLP و مدلهای مولد فعالیت کنند ✔ میخواهند به جای استفاده صرف از APIها، مدلهای AI اختصاصی خودشان را بسازند ✔ علاقهمند به تحقیق و توسعه در حوزه مدلهای زبانی بزرگ هستند پیشنیازهای دوره: آشنایی متوسط با Python آشنایی اولیه با Machine Learning و Deep Learning آشنایی مقدماتی با PyTorch آشنایی کلی با مفاهیم Neural Networks در پایان این دوره شما قادر خواهید بود مدلهای زبانی بزرگ را با استفاده از جدیدترین تکنیکهای روز مانند LoRA، QLoRA و PEFT روی دادههای اختصاصی خودتان Fine-Tune کنید و مدلهای آماده Hugging Face را برای ساخت اپلیکیشنهای واقعی هوش مصنوعی بهینهسازی کنید. 🚀 برای یادگیری عملی LLM Engineering و ساخت مدلهای AI اختصاصی، این دوره را از دست ندهید. #LLM #FineTuning #HuggingFace #LoRA #QLoRA #PEFT #GenerativeAI #AI #MachineLearning #DeepLearning #Transformers #LLaMA #Qwen #NLP
نشون میدیم و ولیو با وی.
خب بریم یه میگه بریم یه تشبیه ساده بزنیم
که کمک بکنه یعنی چی.
فرض کنید تو یه موتور جستجو مثل گوگل یه چیزی شبیه این بنویسید بست لپتاپ فور ایآی
بهترین لپتاپ برای ایآی چیه؟
این میشه کووریمون
هر داکیومنت یک سری اطلاعات داره
که برای مچینگ استفاده میشه
میشه کلید و محتوای واقعی داکومنت میشه
ولیو
پس
ما کوی میزنیم با کلیدها مقایسه میشه
مقادیر مرتبط پیدا میشه
اتنشن هم تقریباً من همین منطق رو داره
بچهها. پس شما وقتی یه چیزی رو سرچ
میکنید
این میره با یه سری کلیدی که وجود داره
مقایسه میشه مقادیر مرتبط میشه ولیوها رو
پیدا میکنن.
خب تو ترنسفرمور چه اتفاقی میفته؟
میایم از اون سه تا وکتور میسازیم. کیو کی و وی
یعنی با سه ماتریکس قابل آموزش سه
ریپریزنتیشن متفاوت تولید میکنیم.
کووری چیه؟
اینکه این توکن دنبال چه نوع اطلاعاتیه
کلید چیه؟ این توکن چه اطلاعاتی ارائه
میده و برای چه کویایی مرتبطه.
ولیو چیه؟
این چپ و راست که میشه جمله بندیش سخت میشه بذار ببینم این میشه کارش کردی صبر
کنید
خب این میشه ولیو محتواییست که اگر توکن مهم تشخیص داده شود به اوتپوت منتقل تغییر
میشود
بریم این مثال با هم بزنیم پس که ما یه
جملهی داریم د کت س مت ا واز تیر
یه گربهاای یه جایی نشسته چون خستهست متن
نمیدونم یعنی چی
اولین بار این کلام رو میبینم خیلی جالبه چیه
آها متن اینا که اینجا رو از اینا میذارن
جلو دریا پا دریا خب
میگه گربه روی کمپادریا نشسته چون خستهست برای توکن ایت یعنی اینجا
یک کووری ساخته میشه
بعد میاد این کووری رو با کلیدهای همه
توکنها مقایسه میکنه
با د کت سط آن د بیکاز ا واز تا این د
مقایسه میشن
ممکنه بیشترین شباهت رو با کت داشته باشه
در نتیجه ولیو مربوط به کت نقش زیادی در
ریپرزنتیشن جدید ایت خواهد داشت این میشه
کل فرایندش
خب حالا بریم فرمول اتنشن و اصلی اتنشنو با همدیگه ببینیم
میشه سافت مکس این این د تا حالا یه فرمول
عجیب غریبی هم هست مهم نیست فرمولش بچهها
مهم نیست
خودشم داره میبینی فرمول تو نگاه اول
ترسناکه ولی بسیار سادهتر از چیزیه که به
نظر میاد بریم ببینیم چیه
میگه مرحله اول میایم کویا
[گلویش را صاف میکند] رو با کلیدها
مقایسه میکنیم دقیقاً همون چیزی که الان
بهتون گفتم
داد پروداکت میزان شباهت یا کامپتیبیلیتی رو اندازهگیری میکنه
پس هر کلمه رو هر توکنو میاد بقیه کلیدها
مقایسه میکنه میزان شباهتو به دست میاره
میشه یه سری عدد
عدد بزرگتر یعنی ارتباط بیشتر
بعد یه تقسیمی کرده بر دیک
اگر دایمنشن وکتورها بزرگ باشه دات
پروداکت ممکن است خیلی بزرگ بشه مثلاً این
و وقتی سافت مکس روی این اعداد حماشد
خروجی بسیار شدید میشود برای کنترل این
موضوع تقسیم بر این میکنه
که میشه ابعاد کی
پس برای اینکه زیاد عدد گنده نشه میاد
تقسیم بر تعداد کلیدها میکنه
یه مثالی داره میزنه میگه فرض کنیم اسکورامون این عدده د و ۱ چ و ۸ یک و د
بعد سافت مکس میشه یه همچین چیزی فرول
سافت مکسم قبلاً داشتیم دیگه کاری نداریم
تبدیلش میکنید اینا رو به احتمال میگین
احتمالش ۹۰ ۶ و و این پایینی هم ۱۴ست
اینا میشن اتنشن ویت
حالا میاد در ولیو ضربش میکنه هر کدومو در یه ولیویی ضرب میکنه
خروجیمون یه وکتور جدیده
کل فرایند یه بار دیگه با هم ببینیم این
کوریمونه میاد با تمام کلیدا مقایسه میشه
یه اسکوری در میاد اسکیل میشه سافت مکس
میشه اتنشن وید بعد
ضرب در وزنها میشه با همدیگه جمع میشن
تبدیل میشه به یک بردار جدید
ترنسفورمر اصلی دو بخش بزرگ داره انکودر استک دیکودر استک
اینم معماریشه اینپوت میره تو انکودر
انکودرپوت بعد میره تو دیکودر
بود
میگه انکودر شامل چند بلاک مشابهست یه سری لایهست پشت هم که هر لایه تقریباً
یه همچین ساختاری داره یه مولتی هد سلف
اتنشن داره یه اد و نرمالزیشن داره یه فیت
فوروارد باز دوباره یه اد و نرمالزیشن
دیکودر چی داره اونم باز یه لایه داره که هر لایهش یه همچین چیزیه ماسک سف اتنشن
کراس اتنشن و فیت فور
مدلای امروزی میگه سه خانواده مهم دارن یکی انکودر اونلیه مثل برت روبرتا یا
دیبرتا
که اینا برای کلاسیفیکیشن و نر و امبدینگ
استفاده میشن
یه مدل داریم دیکودر اونلی مثل جی پی دی
لاما میسرال کوین
که برای تولید متن و چت و کد استفاده میشن
اینا مناسباً
یه دونه داریم هم اینکودره هم دیکودر مثل تی فا مثل برت اینا برای ترنسلیشن
سامریزیشن و سکونس تو سکونس تسک استفاده
میشه
فرقاشونو بچهها میفهمید دیگه
ببینید بچهها اینجا رو تو انکودر خب ما
یه ورودی رو میگیریم انکود میکنیم این
مفهوم کلاسیفیکیشنه مفهوم نره
تو دیکودر برعکسه
ما یه خروجی میخوایم میخوایم دیکود بکنه
میخوایم متن نهایی رو به ما میده پس میشه
جی پی دی متنی که جی پی تی به شما میده
بچهها متن قابل فهمه نیاز نیست این انک
دیکود بشه دیکود شدهست هست
یه سری مدلم داریم جفتشو با هم انجام میده
یعنی یه ورودی میگیره انکود میکنه بعد
دوباره دیکود میکنه دوباره خروجی میده
انگار که یه مثل مثلاً ترنسلیشنا مثل
سامریزیشنا سامریزیشن چیکار میکنه یه متن
رو میگیره اینو انکود میکنه یه فعل فعال
روش انجام میده خلاصه میکنه دیکود میکنه
تحویل شما میده این میشه س مدل خانواده
مختلف مدلای امروزه
خب بریم میگه انکود رو یه ذره با همدیگه دقیقتر بررسی کنیم میگه فرض کنید یه
جملهای داریم آی لا ایآی به عنوان ورودی
میدیم این توکنایز میشه اول انقدر این
توکناز اینرو تکرار بکنیم که دیگه براتون
عادی بشه بعد تبدیل میشه به توکن آیدی
بعد اینا امبدینگ اتفاق میفته یعنی هر
توکن به یک وکتور تبدیل میشه
بعد پوزیشنال اینکودینگ انجام میشه که
یادتونه گفتم دیگه کلمه در جمله معنی داره
پس پوزیشن کلمه خیلی مهمه
پس میان اطلاعات موقعیت رو هم بهش اضافه میکنن که این کلمه کجای جمله بوده چون
مهمه
بعد سلف اتنشن داریم حالا هر توکن میتونه به تمام توکن دیگه نگاه بکنه
و یاد میگیره که کدوم رابطه مهمتره
بعد یه دونه اد امن نرم داریم بعد خروجی
اتش با ورود اولیه جمع میشه
بهش میگن رزیدوال کانکشن بعد نرمالزیشن اتفاق میفته روش
میگه چرا رزیدوال کانکشن مهمه باعث میشه
اطلاعات اصلی راحتتر از لایهها عبور کنه
بدون اون ترینینگ شبکههای عمیق سخت میشه
یه فید فوروارد نتورک داریم هر توکن وارد
یک شبکه فولی کانکتد میشه فولی کانکتد
یعنی چی
یعنی که هر نورون یک شب لایه به تمام نورونهای لایه بعد و قبلش وصله.
این این میشه فول کانکتد. این نورون به تمام نورونهای بعدش وصله و همچنین قبلش.
به این میگن فولی کانکتد نوت دک
که معمولاً یه همچین ساختاری دارن. یه
لایهست یه اکتیویشن فانکشنه یه لاینیره.
پس انکودر لایه انکودر کاملمون تشکیل میشه از اینپوت وارد میشه میرید تو سلف اتنشن
میری تو رزیدوال به اضافه لایر نرم یا
نرمالزیشن اتفاق میفته بعد میرید تو فید
فوروارد بعد رزیدوال باز دوباره نرمالزیشن
و اوتپوتو به ما میده و این بلاک بارها و
بارها تکرار میشه
خب
اما پوزیشنر انکودینگ چیه؟ چیه؟ میگه ترنسفورمرها برخلاف آر ان ان ذاتاً ترتیبو
متوجه نمیشن. برای مثال مثلاً جمله داگ
بایتس من یه سگی یه مردی رو گاز گرفت. با
من بایتس داگ توکنهای مشابه دارن اما
کاملاً د تا جمله متفاوتن.
[صدای خرناس] پس ترنسفورمر باید بدونه که
پوزیشن این کلمه در این جمله کجاست.
برای همین میایم اطلاعات پوزیشنو اضافه میکنیم.
[صدای خرناس] میگه در ترنسفر اولی از سینوس و کسینوس
استفاده میشد. چرا کسینوس از کجا اومد؟
مهم نیست.
بعد برای هر پوزیشن یه وکتور مخصوص
میساخت. یعنی خود توکن به اضافه پوزیشنش
با هم جمع میشد.
یعنی این وکتور خود این توکن است اینم پوزیشنشه این د تا با هم جمع میشد میشد یه
وکتور جدید در نتیجه مدل هم معنی توکنو
میدونه هم پوزیشنشو میدونه
میگه مدلای مختلف پوزیشن رو به شکلهای متفاوت نمایش میده مثلاً
یه دونه داریم لرن پوزیشنال بدینگ یه دونه
داریم رب یه دونه داریم علیبی بی
میگه بسیاری از ال ام های مدرن مثل لاما
از روپ یا روتری پوزیشنال امبدینگ استفاده
میکنن.
اوکی بریم بعدی.
خب به نظرم اینو بذاریم جلسه بعدی تو موضوع دیگهایه. ادامهشو جلسه بعدی صحبت
کنیم. فعلاً خداحافظ. ‏M.