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