PyTorch Howsam
3K subscribers
336 photos
48 videos
5 files
472 links
از هوش مصنوعی میگیم...

ارتباط با ادمین
@howsam_support
Download Telegram
PyTorch Howsam
کتاب درباره LLM با عنوان Build a Large Language Model نویسنده این کتاب آقای سباستین راشکا (Sebastian Raschka) هست که فرد شناخته‌شده‌ای هست. همچنین، این کتاب در Manning منتشر شده. البته، هنوز کامل نشده و فصل‌های ابتدایی کتاب منتشر شده. به‌صورت آنلاین و البته…
اگه میخواید درباره Multimodal LLM بیشتر بدونید، بلاگ زیر از آقای Sebastian Raschka رو بهتون پیشنهاد می‌کنم. هم رهیافت پایه‌ای رو گفته و هم مقاله‌های بروز ازجمله Llama 3.2 رو تشریح کرده. خودم شروع کردم به مطالعه این وبلاگ طولانی...

لینک وبلاگ Multimodal LLM

راستی، محض یادآوری، آقای Sebastian Raschka یک کتاب درباره LLM هم داره که قبلا معرفی کرده بودم. من مشغول مطالعه این کتاب هستم و تا اواسط فصل 4 این کتاب رو مطالعه کردم. کتاب منسجم و روانی هست. پست معرفی کتاب رو ریپلای کردم.

@pytorch_howsam
کانال یوتوب Umar Jamil یکی از بهترین کانال‌های آموزش مباحث بروز و پیچیده یادگیری عمیق هست. به نظرم تعداد سابسکرایبرها و ویوهاش اصلا در حد محتواش نیست. فقط نگاه کن ویدئوهای آخر کانالش چه آموزش‌هایی هست:
- پیاده‌سازی Vision Language Model با پایتورچ از صفر
- تفسیرپذیری در ماشین لرنینگ
- شبکه KAN
- و ...

امروز یک ویدئوی 7 ساعته از آموزش و پیاده‌سازی Flash Attention منتشر کرده!

فلش اتنشن می‌دونید چیه؟
یک الگوریتم بهینه‌سازی شده برای محاسبه اتنشن در شبکه‌های ترنسفورمری هست که منجر به افزایش سرعت و کاهش مصرف حافظه میشه. به تصویر پایین نگاه کنید؛ سمت راست تصویر، یک نمودار مقایسه زمان محاسبات اتنشن با فلش اتنشن وجود داره. از فلش اتنشن در مدل‌های ترنسفورمری کوچک و بزرگ استفاده میشه.

کانال یوتوب Umar Jamil

@pytorch_howsam
The ChatGPT Desktop app for Windows is now available for all users.

Get faster access to ChatGPT with the Alt + Space shortcut, and use Advanced Voice Mode to chat with your computer and get hands-free answers while you work.

https://openai.com/chatgpt/desktop/
سایت Cohere به مدیریت Luis Serrano و همکاری Jay Alammar و Meor Amer کورسی بنام LLM University ساخته. افرادی رو که اسم بردم، در زمینه تولید محتواهای آموزشی جذاب در هوش مصنوعی سابقه درخشانی دارن. حالا، با همکاری هم، این کورس جالب رو با هدف آشنایی افراد با GenAI LLM NLP راه انداختن.

یک نگاهی بندازیم به ماژول‌های این کورس:
1. Large Language Models
2. Text Representation
3. Text Generation
4. Deployment
5. Semantic Search
6. Prompt Engineering
7. Retrieval-Augmented Generation (RAG)
8. Tool Use
9. Cohere on AWS

لینک کورس

@pytorch_howsam
کورس دانشگاهی Diffusion Models [پاییز 2024]

کورس سطح بالایی هست. باید دانشتون در یادگیری عمیق و GenAI خوب باشه تا بتونید مطالب این کورس رو دنبال کنید. اسلایدها و ویدئوها در دسترس هست. جدا از کورس، منابع و مقاله‌هایی که لیست کردن منابع مفیدی هستن.

https://mhsung.github.io/kaist-cs492d-fall-2024/

@pytorch_howsam
چند وقت پیش، یک مقاله Survey درباره Small Language Models (SLM) خوندم. در یکی از بخش‌ها، معماری ترنسفورمر براساس 6 فاکتور آنالیز شده بود. هدف مولف‌ها این بود که نشون بدن چه تنظیماتی در ترنسفورمر بیشتر استفاده میشن. می‌خوام 4 فاکتور از اون 6 فاکتور رو توضیح بدم. یکم تخصصی هست و باید به معماری ترنسفورمر مسلط باشید...

1. نوع Attention: مطابق با داده‌های ارائه‌شده در مقاله، از سال 2022 تا 2024، استفاده از Multi-Head Attention (MHA) به‌تدریج کاهش پیدا کرده و مکانیزم Group-Query Attention (GQA) جایگزین اون شده.

2. نوع Feed-Forward Neural Network (FFN): استفاده از Standard FFN کاهش یافته و Gated FFN به دلیل عملکرد بهتر و انعطاف‌پذیری بیشتر جایگزین اون شده.

3. تابع فعال‌سازی در FFN: در سال 2022، ReLU بیشترین استفاده رو داشت. در سال 2023، GELU و GELUtanh به تدریج جایگزین ReLU شدن. در سال 2024، SiLU به عنوان تابع غالب مورد استفاده قرار گرفته.

4. نوع لایه نرمالیزیشن: در سال 2022، LayerNorm انتخاب غالب بود. اما، در سال‌های 2023 و 2024، RMSNorm به‌تدریج جایگزین LayerNorm شد.

@pytorch_howsam
این پست از ابعاد مختلف مهم هست...

حدود چهار ماه پیش، آقای Andrej Karpathy پستی در X منتشر کرد که ترجمه خلاصه اون رو به کمک ChatGPT در زیر آوردم:

در سال ۲۰۱۹، OpenAI مدل GPT-2 رو معرفی کرد. امروز، بعد حدودا ۵ سال، می‌تونید مدل مشابهی رو تنها با حدود ۶۷۲ دلار و یک نود 8XH100 GPU طی ۲۴ ساعت آموزش بدید. پروژه llm.c که روی اون کار کردم، راهنمای کاملی برای این فرآیند ارائه میده.

پیشرفت‌های سخت‌افزاری (مثل، GPUهای H100)، نرم‌افزاری (CUDA، cuBLAS، FlashAttention) و داده‌های باکیفیت (مثل FineWeb-Edu) هزینه‌ها رو چشم‌گیر کاهش دادن. llm.c مستقیماً با C/CUDA نوشته شده و نیازی به محیط‌های پیچیده Python یا ابزارهایی مانند pip نداره. فقط یک نود GPU ابری رو راه‌اندازی می‌کنید، ملزومات رو نصب می‌کنید و در چند دقیقه آماده اجرا میشه.

این پروژه از علاقه‌ام به بازتولید GPT-2 برای یک ویدیوی آموزشی شروع شد. اما در ادامه مسیر، یادگیری بیشتر CUDA، بازنویسی همه‌چیز از صفر (حدود ۵,۰۰۰ خط کد برای llm.c) و ساخت سیستمی سریع، کوچک و پایدار رو در پی داشت.

هنوز کارهای زیادی باقی مونده، از جمله بهبود پایداری آموزش برای مدل‌های بزرگ‌تر، تست fp8 و اضافه کردن معماری‌های مدرن‌تر.


خب، مثل خیلی از کارهای Karpathy، این کار هم با استقبال قابل توجهی مواجه شد. مثلا، یک پویشی راه افتاد که هزینه آموزش مدل GPT-2 124M رو روی دیتاست FineWeb برای رسیدن به لاس 3.28 کاهش بدن. در واقع، هدف این بود که بیایید یک کاری کنیم، هرچه سریع‌تر به لاس 3.28 روی ولیدیشن دیتاست FineWeb برسیم.

این مدت، من می‌دیدم که افرادی از کاهش زمان آموزش مدل می‌گفتن و مدام پیگیری می‌کردم. مثلا، Keller Jordan خیلی روی این پروژه کار کرد و خیلی پست میذاشت. حالا بعد از چهار ماه، Karpathy یک پستی درباره این ماجرا منتشر کرده:

یادتون میاد با llm.c بازتولید آموزش مدل GPT-2 124M حدود ۴۵ دقیقه روی 8XH100 زمان می‌برد؟ از اون موقع، Keller Jordan (و حالا خیلی‌های دیگه) روی نسخه جدید و اصلاح‌شده NanoGPT کار کردن و این زمان رو به فقط ۵ دقیقه کاهش دادن! عاشق این ریپو هستم؛ 👏 ۶۰۰ خط کد!


لیست کارهای Keller Jordan برای رسیدن به 5 دقیقه رو می‌تونید در تصویر پست بعدی ببینید. سعی کردم لینک‌های مهم رو در متن براتون بذارم.

مدت‌ها بود که می‌خواستم درباره این ماجرا بنویسم، اما نمی‌تونستم به شکل خوبی مطلب رو بیان کنم. برای من این پروژه خیلی آموزنده و الهام‌بخش بود و خیلی پیگیرش بودم و هستم...

@pytorch_howsam
تصویر بالا، درخت تکامل مدل‌های زبانی بزرگ (LLM) رو از سال ۲۰۱۸ تا ۲۰۲۴ نشون میده.

نمودار سه شاخه اصلی داره:
* شاخه قرمز شامل مدل‌های Encoder-only مثل BERT هست.
* شاخه سبز شامل مدل‌های Encoder-Decoder مثل T5 هست.
* شاخه آبی شامل مدل‌های Decoder-only مثل GPT هست.

توی هر شاخه، برگ‌ها مسیر پیشرفت مدل‌ها رو نشون میدن. مثلا، در شاخه آبی، شروع‌کننده تقریبا GPT-2 بوده و جدیدترین‌ هم Llama 3.2 هست.

@pytorch_howsam
👶🤗

هاگینگ‌فیس، یکسری مدل و دیتاست در مقیاس کوچک (Small) داره که اسمشون رو smol گذاشته!

مثلا، مجموعه SmolLM مدل زبانی کوچک با سایزهای 360M 135M و 1.7B پارامتر هست. این مدل‌ها قدرتمندتر از مدل‌های رقیب مثل MobileLLM متا عمل کردن. قبلا درباره MobileLLM اینجا، اینجا و اینجا نوشتم.

مدل‌های SmolLM روی یک مجموعه دیتاست باکیفیت بنام SmolLM-Corpus آموزش داده شدن. این مجموعه دیتاست هم منتشر شده و می‌تونید برای آموزش مدل‌های زبانی کوچک ازش استفاده کنید.

اخیرا، SmolVLM رو منتشر کردن که یک vision Language Model هست. این مدل هم با داشتن 2B پارامتر جز VLM-های کوچک محسوب میشه. توی تصویر بالا هم جایگاه این مدل رو نسبت به سایر مدل‌های کوچک می‌تونید ببینید.

یک نکته جالب هم اینکه، وبلاگ SmolVLM در سایت هاگینگ‌فیس اینطوری شروع شده:
This year has seen a boom in multimodal AI with many large vision language models released.


@pytorch_howsam
امروز سایت deep-ml.com رو بررسی کردم؛ این سایت، شامل یکسری مساله تمرینی در حوزه هوش مصنوعی هست. برای هر مساله توضیحاتی ارائه شده و میشه به‌صورت آنلاین کدنویسی و نتیجه رو برای چک کردن سابمیت کرد.

بیشتر تمریناتش مربوط به جبر خطی، یادگیری ماشین و یادگیری عمیق هست. فقط یک یا دو مساله برای بینایی کامپیوتر و پردازش زبان طبیعی داره. امیدوارم، مساله‌ها بیشتر بشه. خودم علاقه‌مند شدم که در طراحی مساله باهاشون همکاری کنم! :)

به عنوان معلم، همیشه به دوستان پیشنهاد کردم که در آموزش صرفا تماشاگر نباشید و حتما روی مباحث تئوری و کدنویسی تمرین حل کنید.

@pytorch_howsam
مهدی، از بچه‌های هوسم، مطلبی درباره فریمورک Polars در گروهمون به اشتراک گذاشته. جالبه!

سلام دوستان
اگر با داده‌های جدولی حجیم سر و کار دارید پیشنهاد می‌کنم Polars رو امتحان کنید.
با زبان Rust نوشته شده که یکی از سریع‌ترین زبان‌هاست.
از معماری columnar (ستونی) برای پردازش داده‌ها استفاده می‌کنه که باعث می‌شه عملکرد فوق‌العاده‌ای داشته باشه، به‌ویژه برای تحلیل داده‌های بزرگ.
امکان استفاده از چندین هسته CPU و حتی GPU رو فراهم می‌کنه که برای پردازش‌های سنگین عالیه.
از توابع کاربردی مثل groupby، join، aggregation، و window functions پشتیبانی می‌کنه.
من شخصاً از Polars برای پردازش یک فایل CSV با حجم ۹.۵ گیگابایت استفاده کردم و بدون هیچ مشکلی، با سرعت خیلی خیلی خوبی کارم رو انجام داد. می‌تونید توی Google Colab یا kaggle و gpu که در اختیارتون میگذاره استفاده کنید.
https://github.com/pola-rs/polars


@pytorch_howsam
قبلا، چند تا کتاب درباره LLM معرفی کرده بودم. توی دو ماه گذشته مشغول مطالعه دو کتاب زیر بودم:
کتاب درباره Build a Large Language Model از Sebastian Raschka
کتاب Hands-on LLMs از آقای Jay Alammar

احتمالا یک نقد و بررسی از اون دو کتاب می‌نویسم. فعلا، در این حد بگم که هر دو کتاب خوب هستن و ارزش خوندن دارن.

اما، الان به این فکر می‌کنم که بعد از این کتاب‌ها چه کتابی مطالعه کنم؛ تمایل دارم، کتابی انتخاب کنم که تمرکز بیشتری روی پروداکشن داشته باشه. خوشبختانه، چند تا کتاب از Manning دیدم که جالب هستن. هنوز دقیق بررسی نکردم، اما لیست کتاب‌ها رو اینجا میذارم:
کتاب LLMs in Production (از فهرست مطالب این کتاب خیلی خوشم اومد)
کتاب AI Agents in Action (فهرست مطالب خوبی داره)
کتاب Generative AI in Action (بعید هست کتاب بعدیم این باشه)
کتاب Build LLM Applications (from Scratch) (هنوز کامل منتشر نشده)
کتاب Hugging Face in Action (🧐)

این کتاب هم فهرست مطالب خوبی داره:
کتاب LLM Engineer's Handbook

بعدا نتیجه بررسی و مطالعه کتاب‌ها رو اینجا می‌نویسم.
می‌خوام از این بعد پست‌های جالب فارسی/انگلیسی در X (توییتر سابق) رو همراه با رفرنس در این کانال بذارم.

با یک پست جالب از آقای Andrej Karpathy شروع کنیم! 😊

یکی از کارایی که خیلی دوست دارم با مدل‌های زبانی بزرگ انجام بدم اینه که باهاشون کتاب بخونم. مثلاً وقتی دارم یه کتاب می‌خونم، بتونم سوال بپرسم یا بحث‌هایی که خودش تولید می‌کنه (مثل سبک NotebookLM) رو بشنوم، در حالی که مدل خودش به‌طور خودکار از محتوای متن یاد می‌گیره. به نظرم اگه آمازون یا یه شرکت دیگه یه کیندل هوشمند با هوش مصنوعی بسازه که "درست کار کنه"، خیلی موفق می‌شه.

فعلاً می‌شه با یه سری اسکریپت این ایده رو تا حدی پیاده کرد. شاید هم یکی قبلاً یه اپلیکیشن خفن برای خوندن کتاب با هوش مصنوعی ساخته باشه و من خبر نداشته باشم!


لینک پست در X

@pytorch_howsam
آقای Ilya Sutskever توی X (توییتر سابق) ترند شده. یک سخنرانی با موضوع زیر در کنفرانس NeurIPS 2024 داشته:
Sequence to sequence learning with neural networks: what a decade

لینک ویدئوی سخنرانی (حدودا 25 دقیقه)

خودم هم درحال دیدن ویدئو هستم. منتها چون وقتم کم هست، مجبورم تکه تکه ببینم! تموم شد، سعی می‌کنم خلاصه‌ای از صحبتش رو اینجا بذارم.

فعلا، خیلی خلاصه بگم که، ماجرای این سخنرانی برمیگرده به دهه 2014 تا 2024 در Sequence to sequence learning که با کار ایلیا و همکارانش در گوگل در سال 2014 با مقاله زیر آغاز شده:
Sequence to Sequence Learning with Neural Networks link


@pytorch_howsam
یک مدتی هست سایتی بنام aman.ai رو کشف کردم؛ حجم محتواهای آموزشی این سایت به شکل عجیبی زیاده! پر از بلاگ پست از سطح مقدماتی تا سطح بالا هست. حتی، کورس‌های معروف استنفورد و کورسرا رو نت‌برداری کردن! دوست دارم بیشتر بررسیش کنم.

شخصا وبلاگ و تولید محتوا رو دوست دارم و براش زیاد وقت میذارم. اما الان سوالم این هست که اینها چطوری این حجم محتوا رو آماده کردن؟! 🧐

شما فقط به لیست مطالبی که برای LLM آوردن، نگاه کن:
Primers • Overview of Large Language Models
توجه: برای شروع LLM روی این آموزش سرمایه‌گذاری نکنید. هم از مطالبی که در صفحه بالا گفتن و هم عنوانش مشخص هست که برای افراد از آب و گل دراومده هست!


@pytorch_howsam
This media is not supported in your browser
VIEW IN TELEGRAM
کگل و کولب!

به روشی که در ویدئوی بالا گفته شده، می‌تونید نوتبوک کگل رو در کولب باز کنید. عالی! 🤌

@pytorch_howsam
Please open Telegram to view this post
VIEW IN TELEGRAM