از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه، مدرس به توضیح فرایند نر انتیتی رکگنیشن (NER) در مدلهای LLM میپردازد. این فرایند شامل تبدیل متن به توکنها، امبدینگ آنها، استفاده از ترنسفورمر برای درک کانتکست و کلاسیفیکیشن هد برای تخصیص لیبل به هر توکن میشود. همچنین، مراحل پردازش توکن در مدلهای LLM به طور کامل توضیح داده میشود و خروجی نهایی به کاربر ارائه میگردد. مسیر کلیشه نیز در جلسه بعدی مورد بحث قرار خواهد گرفت.
نکات کلیدی
نر انتیتی رکگنیشن فرایند تشخیص موجودیتهای نامدار در متن است و هر توکن را به یک لیبل مربوط به نوع موجودیت تخصیص میدهد.
فرایند شامل توکنایزیشن، امبدینگ، استفاده از ترنسفورمر برای درک کانتکست و کلاسیفیکیشن هد برای تخصیص لیبل به هر توکن است.
توکنها به انتیتی تبدیل میشوند و خروجی نهایی به کاربر ارائه میشود.
مسیر کلیشه در جلسه بعدی مورد بحث قرار خواهد گرفت.
پرسشهای رایج
پاسخ کوتاه و مستقیم به پرسشهایی که معمولاً هنگام یادگیری این موضوع مطرح میشوند.
نر انتیتی رکگنیشن (NER) فرایند تشخیص موجودیتهای نامدار در متن است. این فرایند شامل تبدیل متن به توکنها، امبدینگ آنها، استفاده از ترنسفورمر برای درک کانتکست و کلاسیفیکیشن هد برای تخصیص لیبل به هر توکن است.
مراحل پردازش توکن در مدلهای LLM شامل توکنایزیشن، امبدینگ، استفاده از ترنسفورمر برای درک کانتکست و کلاسیفیکیشن هد برای تخصیص لیبل به هر توکن است.
مسیر کلیشه در جلسه بعدی مورد بحث قرار خواهد گرفت.
آخرین بهروزرسانی محتوای متنی:
در این دوره آموزشی، بهصورت عملی و پروژهمحور یاد میگیریم چگونه مدلهای زبانی بزرگ (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
دانلود بکنید.
این تصویر چی رو میخواد نشون بده؟ میگه
روند کامل یه دونه نر یا نیم انتیتی
رکوگنیشنو نشون میده. یعنی مدلی که یک
متنو میگیره و تلاش میکنه موجودیتهای
مهم داخلشو پیدا بکنه مثل نام افراد،
مکانها، سازمانها و موارد مشابه.
مثالی که تو خود تصویر زده این جملهست ما نیم از عمر
زوریخ
مد باید بفهمه که عمر اسمشه
زوریخ لوکیشن است پس هدف نر این نیست که
فقط کم کل جمله رو یک لیبل بده بلکه باید
برای بخشهای مختلف متن لیبل جداگانه
تولید بکنه
حالا برمیگردیم به این تصویرو بچهها نر مخفف چیه؟ نمد انتیتی رکگنیشن یعنی
پیدا کردن موجودیتهای نامدار در متن و
تشخیص نوع اون
مثلاً تو جمله ایلان ماسک فاندد اسپیس
ایکس این کالیفرنیا
یک مدل نر ممکنه تشخیص بده که ایلان ماسک
یه شخصه
اسپیس ایکس یه ارگانیزیشنه
کالیفرنیا یه لوکیشنه
بعد بفهمه که مایکروسافت یکزیشن لندن یه لوکیشن
حالا تفاوت نر با تکست کلاسیفیکیشن چیه ما
تکست کلاسیفیکیشنو تو ویدیو قبلی داشتیم
تو درس قبلیمون داشتیم
توی
تکست کلاسیفیکیشن ما میومدیم یک متنیو
میدادیم اون یک لیبلی رو به کل میداد
مثلاً یه کامنتیو میدادیم میگفت گفتیم
مثبته یا منفی
از کل جمله یه دونه لول میگرفت اما تو نر ما تقریباً برای هر جملهای که میدیم مدل
میاد چند تا توکن رو اختصاص میده برای
کلمات مختلفش یا برای توکنی مختلف
بنابراین یه نر خودش یه مدل توکن کلاسیفیکیشنه
خب خب این اصطلاح بعداً بچهها میگه خیلی
خواهیم بود تو آگین فیس
اتو مدل فور توکن کلاسیفیکیشن
خب میگه این تصویر فرایندو به این شکل نشون میده میگه اول متنو میگیره طبیعتاً
توکنایز میکنم انکودر میکنم
توکن کلاشفیکیشن هد پست پراسسینگ اوتپوت
انتیتی مراحلش اینه
یا میگه اینجوری میشه متنو میگیره توکن میکنه کانتکزنتیشن
بعد لبل اچ توکن یعنی به هر توکن یه لیبل
میده بعد میاد توکن های مرتبطو مرج میکنه
و در نهایت فاینال انتیتی حالا میگه بریم
تکتک این مراحلو بررسی بکنیم
از سمت چپ
خب طبیعتاً مرحله اول چیه ورودیمونه متن
ورودی
یه همچین چیزی
یه استرینگ معمولیو وارد میکنیم. مرحله
دوم توکنایزیشن
متنو میاد به واحدای کوچیکی به اسم توکن تبدیل میکنه که ما مفصل راجع به این صحبت
کردیم.
مثلاً تو این مورد ما ما از عمر ان زوریخ
یه همچین چیزی تبدیل میشه حتی اومده
زوریخو با د تا توکن تبدیل کرده
یعنی میخواد بگه که الزاماً بچهها هر کلمه یه توکن نیست یه جاهایی امکان داره
یک کلمه چند تا توکن باشه
میگه چرا توکنایزر بعضی موقعها کلماتو میشکونه به خاطر اینکه مدل نمیتونه برای
تمام کلمات ممکن زبان یک وکب بینهایت
داشته باشه. یعنی شما نمیتونید تمام
کلماتو به یه مدل آموزش بدید. بالاخره یه
سری کلمات تو اون دیتاش نیست.
مثلاً کلمه اینترنشنالیزیشن امکان داره توی دیتابیسش نباشه. میاد
چیکار میکنه؟ اینو مثلاً تبدیل میکنیم
به ۲ تا کلمه یا حتی بیشتر
که بهش میگن ساب وورد توکن اوکی
و این روش باعث میشود مدر بتونه با کلمات
جدید هم کار بکنه
بعد از توکنایزیشن هر توکن به یک عدد
تبدیل میشه که قبلاً راجع بهش صحبت کردیم
دوباره یه همچین چیزی مثلاً میشه
این ادا توکن آیدین
توکن توکن کنادی از کجا میاد؟ باز از همون
دیتابیس خودش میاد.
پس در نهایت به جای این یه همچین چیزی رو دریافت میکنه. مدل ما
میگه که شبکههای عصبی نمیتونن روی تکست کار بکنن. باید تبدیل به عدد بشه. برای من
مستقیماً رو تکست نمیتونن کار بکنن.
اگر توکن مربوط به عمر یه همچین چیزی باشه خود این عدد معنای زبانی نداره مدل میاد
اینو تبدیلش میکنه به یه وکتور به این
کار میگن امبدینگ
پس خود همین
توکن آیدیها هر کدوم باز تبدیل میشن به یه
وکتور
میگه مثلاً توی برد هر توکن وکتورش ۷۶۸ تاست
۷۶۸ تا از این عدداست
اوکی خب
روش مرحله بعدی ترنسفور ترنسفر انکودره
میگه حالا توکنا وارد ترنسفر انکودر میشن
درس مدل نمونه برته تو اینجا برتو داره
میگه
چون برت برای کارایی مثل این ساخته شده
اصلاً اوکی برت چیکار میکنه تو این مرحله
میگه برد فقط به خود توکن نگاه نمیکنه به
کانتکستم نگاه میکنه مثلاً کلمه اپل لحجه
یه خیلی بریتیش گفتم اپل
تو جمله مثلاً من یه لپتاپ اپل خریدم
اینجا مثلاً نمیاد بگه اپل منظور سیبه
میگه میام این اپلو میذارم کنار لپتاپ
منظور ارگانیزیشن یا اسم شرکته
اما مثلاً تو کل توی جمله آیت ا اپل اینجا
منظور واقعاً سیبه
پس میگه مدل باید کانتکستو بفهمه
خب باز صفر اتنشن داریم فرض کنیم میگه که ما یه جملهای داریم مای
نیم از عمر هنگام پرداش عمر مدل میتواند
به مای نیمز توجه بکنه وجود برای مای نیمز
به مدل سر نق میده که توکن بعدی احتمالاً
اسمه
پس این احتمالاً یه اسمه میگه این یکی از
قدرتهای اصلی ترنسفورمره
کانتال انبدی یعنی چی؟ در تصویر عبارت اینو دیده میشه تو این تصویری که اینور
داریم اینجاست اینهاش
یعنی ریپریزنتیشن هر توکن فقط معنی مستقل
آن توکن نیست بلکه معنی آن توکن در همان
جمله است مثلاً کلمه واشینگتن ممکنه در
کانتکستهای مختلف اسم شخص لوکیشن یا
ارگانیزیشن باشه
پس برای هر توکن میاد یک ریپریزنتیشن متفاوت میسازه.
پس اینا رو تبدیل میکنه به یه همچین
چیزی.
یعنی برای هر توکن ما یک وکتورو جدا داریم. یعنی یه تو یه توکن امکان داره تو
یه جمله یه وکتور داشته باشه. تو یه جمله
دیگه یه وکتور دیگه. این تفاوت مهم نرم با
سکونس کلاسیفیکیشنه.
چیه این میگه برد خودش رپریزنتیشن رو تولید میکنه
اما حالا باید برای هر توکن تصمیم بگیره
که این آیا پرسنه لوکیشنه ارگانیزیشنه یا
هیچ کدوم اینجا کلاسیفیکیشن هد وارد میشه
پس معماریمون اینجوری میشه توکن میره توی
برد کانتکست ریپریزنتیشن انجام میشه بعد
کلاسیفیکیشن هد روش سوار میشه و در نهایت
نیور میزنه این کار برای هر توکن انجام
میشه میگه فرض کنید لیول ما اینا باشن
حالا بفهم اینا یعنی چی او یعنی چی یعنی اوتساید یعنی توکن مورد نظر اینتتی خاصی
نداره
مثلاً ماین نیمز هر سه تا توکن او میشه
چون اینا نه پرسنن نه لوکیش شن نه اینت
خاصی
خب بیبرد چیه یعنی بیگینگ آف پرسن یعنی شروع یک انتیتی از نوع پرسن مثلاً عمر
بیپره
یعنی شروع اسم یک شخصه
پر مف مخفف چیه پرسه اوکی بیلوک چیه همون لوکیشنه
یعنی شروع یک انتیتی از جنس لوکیشن آی لوک چیه
یعنی این ساید لوکیشن اگر یک لوکیشن چند توکن داشته باشه
ممکنه اینجا نیویورکرو تبدیل بکنه به د تا
توکن نیو میشه بی لوک یعنی شروع یورک میشه
آی لوک
یو تگینگ چیه که این سیستم نامگذاری بیو نامیده میشه یعنی
بگینینگ اینساید آپسایت مثلاً جمله باراک
اوباما لیوز نیویورک میتوان چنین لو داشته
باشن باراک میشه بیپر او بابا میشه آیپر
لیوز که اوه اینم اوه نیو میشه بی لاک
یورک میشه آیلاک
این میشه نر بچهها
میگه چرا فقط پرسن نمویسی میگه فرض کن متن این باشه اگر بنویسیم باراک یه پرسن
اوباما یه پرسن خب این میشه د تا کلمه د
تا پرسن در که اینا یه پرسنن
بنابراین مین از این سیستم استفاده میکنم شروع و انتهای پرسنو مشخص میکنم که بعد
این د تا تبدیل میشن به یک انتیت
اومدم گفته بیپر یعنی شروع یک شخصه چون توکن دیگهای در ادامه وجود نداره
داره انتیتی اینجا تموم میشه در پست
پراسسینگ
این تبدیل میشه به یک پرسن
و اینم تبدیل میشه به یک پرسن
خب میگه فرض کن توکنایزر زوریخو تبدیل بکنه به زد یوآر آی سی اچ د تا توکن
مدر ممکن است پیشبینی کند که زد یوآر
بیلوکه ای سی اچ آیلوکه که یعنی این شروع
لوکیشن یعنی ادامهشه بعداً دوباره اینا رو
با هم متصل بکنیم
چرا مدل برای هر لیبل توکن میده ببخشید چرا برای هر توکن لیبل میده چون نر
یک توکن کلاسیفیکیشن تسکه برخلاف سانتیمنت
آنالیز
ما توی سانتیمنت آنالیز در نهایت برای یک
متن یه دونه لیبل داشتیم شیم ولی تو این
نر چندین لیول داریم
خب کلاسیفیکیشن هد چگونه لیولو انتخاب میکنه برای هر هد توکن یه سری لاجید
تولید میکنه
فرض کنیم کلاسمون اینا باشن چار پج تا کلاس داریم
میگه برای عمر امکان داره لاج تقریباً یه
همچین چیزی بشه
یادتونه میتونه راجع به اینا صحبت کردیم
دیگه بعد میشه اینا رو تبدیل کرد به
احتماد بیشترین اسکورو کدوم داره این داره
پس عمر میشه بیپر
خب سافت مکس کجاست تأثیر سافت مکسرو به تو سریع نشان نداد اما در یک توکن
کلاسیفیکیشن معمولی میتوان سراجیتها رو
برای هر توکن به پرابلیتی تبدیل کرد گفتم
بهتون الان میان اینو تبدیل میکنن به
احتمال بعد میگن احتمال کدوم از بیشتره
اونی که بیشتره رو اختصاص میدم به اون
توکن.
خب پشت پراسسینگ رسیدیم به اینجا چون خروجی خام مدل ممکن است در سطح سابورد
باشد مثلاً این ولی کاور انتظار داره چنین
چیزی ببینن انتظار نداره چنین چیزی ببینه
طبیعتاً اون میخواد اینو با همدیگه یه
کلمه ببینن پس پورس پروسسینگ توکن مربوط
به مرج کردنه
یعنی میاد اینو تبدیل میکنه به یک انتیتی
لوکیشن
اینم تبدیل میشه به
و در نهایت اوتپوت انتیتی که خروجی رو بهمون میده
اینم مسیر کلیشه
خب حالا اینو بذاریم تو جلسه بعدی صحبت کنیم یه تیکه رو چون کدشم این زیر هستش
[صدای خرناس]
بریم بیایم جلسه بریم سراغ کدمون فعلاً خداحافظ