از Pista Academy حمایت کنید
خلاصه آموزشی
مرور سریع مفاهیم اصلی پیش از تماشای کامل یا برای جمعبندی بعد از آموزش.
در این جلسه، مدرس به بررسی پایپلاین در کتابخانه ترنسفورمر میپردازد و توضیح میدهد که چگونه این ابزار مراحل اجرای مدلهای 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
یکی از سادهترین و مهمترین ایپیهای
کتابخانه ترنسفورمره.
ایده اصلیش اینه که چند مرحله برای اجرایی
مدل ترنسفورمر لازم داریم پشت یک رابطه
سنهام ساده پنهون بشن. یعنی چی؟ فرض کنیم
میخوایم یه مدل تحلیل احساسات اجرا کنیم
بدون پایپلاین مراحل چهجوریه قبلاً راجع
بهش صحبت کردیم توی دوره ال ام صحبت کردیم
البته تکستو میاریم
بعد توکنایزررو لود میکنیم اون مترو
توکنایزیشن میکنیم بعد تبدیلش میکنیم به
تنسو بعد مدلو لود میکنیم فوروارد پس گت
لاجید و الی آخر این کل مراحلیه که باید
انجام بشه
اما پایپلاین میایم چیکار میکنیم؟ میایم پایپلاینو از ترنسفورمر ایمپورت میکنیم
بعد یه کلاسیفایر درست میکنیم پایپلان
اسمشو میذاریم این
بعد ریزالت مثلاً میگم این متنه رو میدیم
به کلاسیفایر
خروجون یه چیزی شبیه این میشه یعنی چی؟ یعنی ما یه متنیو دادیم برامون
کلاسبندی کرد لیبل زد پوزیتیو با دقت
انقدر
و یعنی تمام اون اتفاقات پشت پرده میفته
دیگه
بنابراین پایپلان یک رابط سطح بالا برای
اجرای مدلهای هاگینگ فیسه مخصوصاً برای
اینفرنس پس من یه پایپلان آوردم گفتم این
مدلو اجرا کن اسمشه
و بعد متنو دادم ش
پایپلاین بچهها خودش مدل نیستا مدلا رو اجرا میکنه
خب یعنی قرار نیستش که یه مدل باشه
پایپلان نه
معمولاً پایپلان میاد چند تا بخش کنار هم
قرار میده توکنایز کردن و خود مدلو
پس پایپلاین یه ورپر
یا لایه ساده کننده
اگه خواستید ترنسفورمرو نصب بکنید توی حالا کدشو بزنید با یه دستور راحت
میتونید این کارو بکنید
بریم اصلاً این کارو انجام بدیم الان با همدیگه بذارید من گوگل کلمم باز کنم
خب
این دستورو کپی میکنم میارم اینجا
الان تعجب پشتش میذارم اینو را میکنم
میگه بهتره که پایتورچم نصب باشه میگم چشم
میارم
برای اینکه صفحهمون جابهجا نکنیم بذارید من اینو دو صفحهای کنم
اینم رفت رد شد حالا میریم اولیشو میاریم پایپلانمونو خب
حالا یه متنی بهش میدیم ببینیم که چه لیولی بهش میزنن.
ما اینجا به پایپلاین گفتیم که من دنبال یه مدلی هستم که احساساتو آنالیز بکنم.
خودش میره یه دونه مدل پیشفرض مناسب این
کار پیدا میکنه میاره. البته که شما
میتونید مدل رو حتی مشخصم بکنیدا. حالا
جلوتر راجعش میریم صحبت میکنیم.
الان داره می همه این کارا رو انجام بده
خب این انجام داد بریم بعدی
لول زد پوزیتیو با یه امتیازی پس تمام اون کارایی که ما دستی باید مرحله
مرحله انجام میدادیم رو برا ما به صورت
خودکار انجام میده حالا اگه دنبالمونید که
یک مدل مشخصی استفاده بکنید میتونید
اینجوری مدلو مشخص بکنید
خب مدل پایپلان چگونه مدلو دریافت میکنه؟
میگه وقتی مینویسیم پایپلان
یه همچین توضیحی و اسم مدل پشت صحنه یه
همچین اتفاقی داره میفته میره داخل هاگینگ
فیس هاب مثل گیتهاب میمونه بچهها میرید
توی مود ریپازیتوری
مدل و توکنایزرشو برمیداره میاره
مدل و توکنایزر دانلود میشه ببینید بالا
دیدید فنده دانلودشو و در کش سیستم ذخیره
میشه
بنابراین در اجرا بعدی معمولاً لازم نیست
دوباره دوباره همه چی دانلود بشه طبیعتاً
من اینکه من اینو ببندم دوباره باز کنم
یکی از مزایای پایپلاین این است که برای تعداد زیر تسک آماده شده مثلاً نگاه کنید
برای این تسکها اصلاً آماده هست بچهها
حالا لیستشو میتونید از تو اینترنت پیدا
کنید
مثلاً برای تست تکست کلاسیفیکیشن مثلاً
اینو داریم ببینیم چیه
یه مدل خاصی رم داره میاره الان یه متنیو بهش داده گفته اینو
دقت کلاسیفیکیشن میکن گفته این متن این
متنی که دادی منفی بوده با این امتیاز
دقیق
پایپلان بچهها فقط صرفاً متن نمیگیره ها
مثال بود اینا خب میتونیم یه بج بهش بدیم
یه دونه بچ بهش بدیم چند تا متنو بدیم بیا
این کارو بکنیم
خب برای مدلا تولید متنم میتونیم ازش استفاده بکنیم.
یه متنیو میدیم اولشو میگیم ادامشو تو درست کن.
باز رفت مدله رو دانلود کنم. مدل من اینجا مشخصم جی پی تی د
متنم تولید شد بچهها که حداکثر گفته بودم ۵۰ تا توکن داشته
باشه ۵۰ تا توکن میشه چند کلمه
هر
سه چهارم کلمه میشه یه توکن
پس تقریباً مثلاً میشه حدود ۴۰ و خورده
کلمه
این میشه پایپلان
خب چی داریم اینجا؟ یه مثال دیگه داره میزنه
میگه که مکسیم توکنو که بهتون گفتم دو
سمپل چیه؟ یعنی مدل اجازه داره سمپلینگ
انجام بده. تمپرچر بچهها حال و هوای متنو
مشخص میکنه. یعنی اینکه چقدر خلاقیت به
خرج بده. هرچی بیشتر باشه خلاقیتش بیشتر
میشه.
خب یه مدل دیگه هم اینجا آورده کوسنری.
یعنی ما یه م کانتکستیو میدیم بعد سؤال میپرسیم ازش. اینم باحاله.
این احتمالاً یه سری چیزاش دیپلیکیت شده حالا فعلاً کاری نداره بگذریم خب
اینم بیایم با هم چک کنیم ببینیم چهجوری
کار میکنن
آ میگه همچین چیزی من ندارم تو لیست پایپلانات
کوسن انسرینگ ندارم اشکال نداره
اوکی
میگه میتونی از این لیستی که اینجا بهت دادم استفاده بکنی فعلاً اصلاً ما کاری
نداریم ولش کنیم
اینم یه مدل دیگهست برای سامرایز کردن
بذار اینم چک کنیم اگه این نبود میدم خودش
ادجی ویتی ببینیم چی میگه
خب بذارید من اینو ببینم داستانش چیه یه لحظه
خب یه مدلی رو من مشخص بهش بگم از اون استفاده بکنه بذارید اینجا بگم که برای
سامرایزیشن بیا
از این استفاده بکن
این به خاطر اینه که بچهها نسخه نسخه که من دارم باهاش کار میکنم نسخه پ چاره
فکر کنم اجازه بدید
بذارم کدوم نسخه ترنسفورمرو دارم کار
میکنم باهاش
نسخه پرو دارم کار میکنم اوکی
میتونیم یه کار بکنیم اینو برگردونیم به نسخه قبلی یه نسخه بیایم پایینتر
بگیم این نسخه ۴رو نصب کن چون اینا سازگار نسخه چارن
خب میگه باید ریاستارت بکنه ریاستارتش میکنم
میام دوباره اینو اجرا میکنم
تو ورژن جدید ترنسفورمر بچهها کدو به این شکل نمینویسن. حالا من الان چجتی گرفتم
بهتون میگم.
خیلی فرق نمیکنه. یعنی حالا با چه ورژنی کار بکنید نهایتاً کدو میگیرید و استفاده
میکنید. خیلی طولش داره میده. بریم بعدی
رو ببینیم. فعلاً این برای ترنسلیشنه
از انگلیسی به فرانسوی. نگاه کنید بچهها
چی شد.
خب بذار من ران تایم اینو بذارم روی جی پی
یو.
که مثلاً میاد اینجا رو پرش میکنه با یه کلمه متناسب با این متن
و دیگه حالا مدلای مختلف بگذریم من دیگه
از اونا میگذرم صرفاً نیتم اون بود که
پایپلانو بهتون توضیح بدم
بریم جلوتر اینو که راجع بهش صحبت کردیم.
خب میگه پایپلاین فوقالعاده راحته ولی همین راحتی محدودیت داره. اگه بخوایم
کنترل کاملی روی این فراآیند داشته باشیم
پایپلاین مناسب نیست طبیعتاً چون پایپلاین
اجازه نمیده که خیلی دستمون باز بشه
بخوایم یه کارایی روشو انجام بدیم.
اینجاست که مفهوم اتو کلس وارد میشه.
حالا اتو کلاسو جلوتر راجع بهش صحبت
میکنیم. آیا پایپلان به فاین تیونینگه؟
به صورت معمول نه [صدای خرناس]
به صورت معمول میگه همچین چیزی نیستش میگه که پس پایپلان معمولاً قبل یا بعد از
فاین تیونینگ برای تست و استفاده از مدل
بسیار مناسبه پس قبل ترینینگ یا بعدش
استفاده میشه
اما بریم سراغ مفهوم اتو کلاس
میگه تقریباً در تمام پروژههای فاین تیونینگ آینده از اتوکلاس استفاده خواهیم
فرض کنیم از برت میخوایم استفاده بکنیم میتونیم بنویسیم یه همچین چیزی
این کد درسته اما اگر مدل را به این تغییر بدیم
یا اگر این باشه و اگر این باشه یعنی کد شدیداً به معماری وابستهست
پس اگر اینجا به جای بخوایم میخوایم از این استفاده کنیم باید اینو بنویسیم
اگه بخوایم از این استفاده کنیم باید اینو
بنویسیم ابتداش اگه بخوایم از لاما
استفاده کنیم باید اینو بنویسیم
اتو کلاس میتونه این مشکلو حل بکنه
چهجوری میگه میتونیم اینجوری بنویسیم
میگه برو از ترنسفورمر اتو توکنایزررو
بیار از این اینو بیار بعد مدل نیممونم
نوشته
بعد اتو توکنایزر و اتو تو مدل میگه اتو
توکنازر تشخیص میده که این چکونت مربوط به
برته
پس میاد توکنزر متناسب با برتو اجرا
میکنه
یعنی میاد اون کانفیگررو میخونه معماری رو تشخیص میده و مدل رو بر اساس اون
میسازه
پس اتو کلاس بچهها یک مدل مستقل نیست
مدل مستقل نیست نیست این به اساس کانفیگه
درق داره کار میکنه
بذار من این د تا رو بذارم کنارم دیگه یه
لحظه صب کنید که یه مقایسهای داشته باشیم
خب بذارید من اینو کپی کنم بیارم اینجا تست بکنیم
چه اتفاقی میفته اینجا میگه میگه اتو
توکنایزر یعنی این قسمت خب خودش این چک
پوینتو رو چک میکنه و میفهمه که این
مربوط به برته و میره توکنایزر متناسب با
برتو ایجاد میکنه.
یعنی اتوم مدل کانفیگو میخونه، معماریو
تشخیص میده بعد مدل کلاس مناسب رو
میسازه.
میگه اتوکلاس یک مدل مستقل نیست. میگه ما یک معماری شبکههایی به اسم اتومل
نیست بلکه یک فکتوریه یک کارخونهست
یعنی میاد کانفیگو چک میکنه بر اساس اون
کانفیگ که وجود داره میاد ت تصمیم میگیره
که چیکار بکنه
خب یه چیز دیگه داریم به نام فرام پلیترند میگه متدی که دائماً در هاگین فیس
میبینیم مثلاً این به زبان ساده مدل آیدی
هاگین فیس آپ بعد فایل کانفیگو میخونه
معماریو تشخیص میده مدلو میسازه وزنا رو
دانلود میکنه وزنا رو لود میکنه و مدلو
آماده میکنه کاری که این قسمت انجام میده
بچهها
یه اتو کانفیگم داریم مثل این چیزی که اینجا داریم میبینیم اتوکان کانفیگ
که منجر میشه به اینکه شما اون تنظیمات مربوط به معماری مدلو انجام بده یه اتو
توکنایزر داریم احتمالاً میگه پرستفادترین
کلاسیه که ما داریم اینجا
میگه اگه چند تا متن با طولهای متفاوت داشته باشیم میتونیم چیکار بکنیم؟
میتونیم اینجا یه پدینگ ترو بذاریم.
متن کوتاه پدینگ میشود. اتنی کاری میکنه که این د تا با همدیگه یکی بشه.
میگه اگه متنی که دادیم از اون محدودیتی که برای این توکنیزر گذاشتیم طولانیتر
بشه
میایم چیکار میکنیم؟ میایم ترانکیشنو تو
رو میذاریم. احتمالاً متنو چند تیکه
میکنه.
خب میگه مهمترین تفاوت اتوم مدل و اتو مدل فور این دو تا چه فرقی با همدیگه دارن
میگه که اتوم مدل میره یک ترنسفورمر پیر
ترندو میاره اما اتوم مدل فور فلان
یعنی اینکه
ترکیب این د تا با این ترکیب این د تاست
حالا به چه دردی میخوره؟
میگه اتوم مدل فور سیکونس کلاسیفیکیشن برای کارایی مثل تحلیل احساسات فیک نیوز
دیتکشن اسپم دیتکشن و تاپی کلاسیفیکیشن
استفاده میشه
این تعداد لیبلا رمز تعداد کلاسامون اینجا ست میکنیم
خب خب میریم پایینتر یه ذره این اتوم مدلا رو رد کنیم چون خیلی مفزش طولانیه
اوه چقدر زیاده ته نداره واقعاً ولی شما خیلی راحت
میتونید برای همین بشینیم یه مثال بزنیم
دونه دونه خب بریم بیم یه مثالو کامل با
هم ببینیم میگه میخوایم یه دونه تحلیل
احساسات رو بدون پایپلان اجرا کنیم تا
تفاوتو کامل ببینیم خب خب میایم اینجا
من میام اینجا
خب اینو میذارم اینجا اینو ران میکنم
یه اتو توکنایزر آوردیم یه دونه اتو مدل فورس کوینز کلاسیفیکیشن آوردیم که بالاتر
گفتیم برای تحلیل احساسات ازش استفاده
میکنیم
مدلایی که استفاده کردین د تائه
من اینا رو آماده کنم تا این میاد یه نتیجه نامیشو ببینید
باید الان یه متنی بهش بدیم ببینیم چیکار چیکار میکنیم؟
میبینید رفت اون بر اساس اون کافی که وجود داره رفت اون مدلو بیاره
خب
در نهایت تکستمون میدیم
بعد توکنایزر
یه همچین چیزی شده تبدیل شده به یه تنسور بعد خروجیمونو ببینیم
خروجیمون اینجاست
همین داشته باشیم
ورودیمونو دادیم به مدلمون بریم خروجیمونو ببینیم
یه تنسور بهمون داده حالا میایم اینو
دوباره ادامه پوزیتیو
حالا میگه همون کارو بخوایم با پایپلان انجام بدیم تمام مراحلو میشه یه همچین
چیزی
این همون کارو بخوایم شما مراحلشو با پایپلان انجام بدید به این شکل میشه
میگید توی پاپلاین میگید من میخوام این کارو انجام بدم مدلی که میخوام بکنم
استفاده کنم اینه و متنو بهش میدید
لول پوزیتیو زد با اسکور انقدر خب حالا تفاوت این دو تا رو با هم ببینیم
میگه اتو کلس توی لور لولا استفاده میشه
پایپلان توی های لول استفاده میشه
بعد
اتو کلس کنترول بیشتر داریم توی توکنا
توکنایزیشن
از لحاظ استفاده پایپلاین خیلی ساده است
ولی این اتوکلس ما کنترل بیشتری داریم از
لحاظ توکنایزیشن خودکار انجام میشه این
تحت کنترل مائه مدل خودکار تحت کنترل مائه
پست پراسسینگ خودکار معمولاً خودمون انجام
میدیم فاین تیونینگ نه بله
برای شروع این خوبه این نیازمند درک بیشتر
داره و همین یه مقدار پیچتر بود مطالبش
میگه این د تا رقیب هم نیستن در واقع
پایپلاین خودش میتوانه از مدل و توکنایزر
ساخته شده توسط اتوکلاس استفاده کند.
مثلاً این
یعنی شما این دو تا میتونید ترکیبم بکنید
اینجا
[صدای خرناس] خب بچهها من اینا رو خیلی سریع دارم ازش
رد میشم چون میخوام یه ذره بریم جلوتر.
ما اینا همشون قراره جلوتر ما کار کنیم
باهاشون و نمیخوام گیر بکنیم تو یه جایی
من خیلی عمیق وارد بشم دونه دونه اینا رو
بهتون بگم بریم بیایم ادامهشو جلسه بعدی
صحبت کنیم. فعلا خداحافظ