بلاگ ارزشمند خانم Chip Huyen
از متن بالا مشخص هست که تخصصش چی هست و درمورد چی صحبت میکنه. قاعدتا، اگه دنبال کار باشید، بعد از یاد گرفتن ماشین لرنینگ، میرید به این سمت که از فاز پروداکشن بیشتر بدونید. اگه در چنین مقطعی هستید، حتما به بلاگش سر بزنید.
به عنوان پیشنهاد، اینها رو چک کنید:
۱- کورس CS329S استنفورد که توسط ایشون و تیمش تدریس شد. عنوان کورس این هست:
CS 329S: Machine Learning Systems Design
۲- کتابی که برمبنای کورس بالا نوشته شده:
Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications
۳- بخش MLOps guide در سایتش:
لینک
یک لیست ۱۰۰ هم توی سایتش داره که قبل مرگش میخواد اونها رو انجام بده. یکیش اینه که بیاد تهران!
@pytorch_howsam
I help companies deploy machine learning into production. I write about AI applications, tooling, and best practices.
از متن بالا مشخص هست که تخصصش چی هست و درمورد چی صحبت میکنه. قاعدتا، اگه دنبال کار باشید، بعد از یاد گرفتن ماشین لرنینگ، میرید به این سمت که از فاز پروداکشن بیشتر بدونید. اگه در چنین مقطعی هستید، حتما به بلاگش سر بزنید.
به عنوان پیشنهاد، اینها رو چک کنید:
۱- کورس CS329S استنفورد که توسط ایشون و تیمش تدریس شد. عنوان کورس این هست:
CS 329S: Machine Learning Systems Design
۲- کتابی که برمبنای کورس بالا نوشته شده:
Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications
۳- بخش MLOps guide در سایتش:
لینک
یک لیست ۱۰۰ هم توی سایتش داره که قبل مرگش میخواد اونها رو انجام بده. یکیش اینه که بیاد تهران!
@pytorch_howsam
Media is too big
VIEW IN TELEGRAM
مدتی هست که Lightning.ai سرویسی بنام Studio معرفی کرده که میشه رقیب گوگل کولب هست.
اما مزایای این سرویس چی هست:
* میتونید بهصورت لوکال هم کد بزنید. یعنی توی VSCode یا پایچارم روی سیستم خودتون کد بزنید، ولی از سختافزار استودیو استفاده کنید.
* دادههاتون حفظ میشه و حذف نمیشه.
* میتونید Web App بالا بیارید یا وزن مدلهایی که ساختید رو به اشتراک بذارید.
* 22 ساعت GPU رایگان برای یک ماه هم میده.
بعضی از مزایاش جالب هستن ولی خب مثلا مدت زمان GPU آنچنان زیاد نیست. بد نیست ویدئوی بالا رو ببینید.
بههرصورت، رفتیم که تستش کنیم؛ درخواست فرستادیم و بعد از سه روز درخواست تایید شد. وارد فاز بعدی شدیم که باید دوباره چند مرحله ثبت نام رو پشت سر میذاشتیم. رفتیم جلو و رسیدیم به شماره تلفن برای Verification! اول، خیلی سرخوش شماره ایران رو زدیم که خب هیچی! بعدش، رفتیم یه شماره مجازی گرفتیم که اونم هیچی! 😢 بعدشم که دیگه کلا Mission Failed! 😭 خلاصه اینکه، به قول بانو هایده: تا میخواستیم لب معشوقو ببوسیم، پریدیم که...
حالا شما اگه تجربه کردی به ما بگو که اینجا به اشتراک بذاریم...
link
@pytorch_howsam
اما مزایای این سرویس چی هست:
* میتونید بهصورت لوکال هم کد بزنید. یعنی توی VSCode یا پایچارم روی سیستم خودتون کد بزنید، ولی از سختافزار استودیو استفاده کنید.
* دادههاتون حفظ میشه و حذف نمیشه.
* میتونید Web App بالا بیارید یا وزن مدلهایی که ساختید رو به اشتراک بذارید.
* 22 ساعت GPU رایگان برای یک ماه هم میده.
بعضی از مزایاش جالب هستن ولی خب مثلا مدت زمان GPU آنچنان زیاد نیست. بد نیست ویدئوی بالا رو ببینید.
بههرصورت، رفتیم که تستش کنیم؛ درخواست فرستادیم و بعد از سه روز درخواست تایید شد. وارد فاز بعدی شدیم که باید دوباره چند مرحله ثبت نام رو پشت سر میذاشتیم. رفتیم جلو و رسیدیم به شماره تلفن برای Verification! اول، خیلی سرخوش شماره ایران رو زدیم که خب هیچی! بعدش، رفتیم یه شماره مجازی گرفتیم که اونم هیچی! 😢 بعدشم که دیگه کلا Mission Failed! 😭 خلاصه اینکه، به قول بانو هایده: تا میخواستیم لب معشوقو ببوسیم، پریدیم که...
حالا شما اگه تجربه کردی به ما بگو که اینجا به اشتراک بذاریم...
link
@pytorch_howsam
دوستان، مدتی هست دوره رایگان پایتورچ رو در هوسم ارائه کردیم. مطالبش به صورت هفتگی منتشر میشه و تا الان چهار هفته (حدود 7.5 ساعت) رو منتشر کردیم.
انتشار ویدئوها رو در کانال اصلی سایت هوسم اطلاعرسانی میکنیم:
https://t.iss.one/howsam_org
دسترسی به دوره:
https://howsam.org/downloads/pytorch-course/
@pytorch_howsam
انتشار ویدئوها رو در کانال اصلی سایت هوسم اطلاعرسانی میکنیم:
https://t.iss.one/howsam_org
دسترسی به دوره:
https://howsam.org/downloads/pytorch-course/
@pytorch_howsam
Telegram
آکادمی هوشمصنوعی هُوسم
آکادمی هوش مصنوعی هوسم
برگزاری دورههای آموزشی در حوزه هوش مصنوعی
(howsam.org)
🆔 ارتباط با ادمین :
@howsam_support
برگزاری دورههای آموزشی در حوزه هوش مصنوعی
(howsam.org)
🆔 ارتباط با ادمین :
@howsam_support
دوستان عزیز و گل،
مدت کوتاهی هست که توی X (توییتر سابق) هم فعالیت میکنیم. باحاله و میخواییم فعالیتمون رو بیشتر کنیم. دوست داشتید اونجا هم ما رو فالو کنید. 🤗
خوبی X اینه که خیلی از محققها اونجا فعالیت میکنن و مطالب جالبی میذارن. ما هم سعی میکنیم مفید باشیم. :)
https://x.com/pytorch_ai
آپدیت: ممنون که دارید فالو میکنید. ایشالا با مطالب خوب جبران کنیم. 🫶
@pytorch_howsam
مدت کوتاهی هست که توی X (توییتر سابق) هم فعالیت میکنیم. باحاله و میخواییم فعالیتمون رو بیشتر کنیم. دوست داشتید اونجا هم ما رو فالو کنید. 🤗
خوبی X اینه که خیلی از محققها اونجا فعالیت میکنن و مطالب جالبی میذارن. ما هم سعی میکنیم مفید باشیم. :)
https://x.com/pytorch_ai
آپدیت: ممنون که دارید فالو میکنید. ایشالا با مطالب خوب جبران کنیم. 🫶
@pytorch_howsam
This media is not supported in your browser
VIEW IN TELEGRAM
خیلیها دوست دارن یادگیری تقویتی یاد بگیرن. واقعا هم جذابه که بازیهای معروف رو با هوش مصنوعی انجام بدی. اما از طرفی، به محض اینکه میری سمتش، با انبوهی از ریاضیات و مباحث پیچیده مواجه میشی.
میخوام یه آموزش کوتاه و خوب بهتون پیشنهاد بدم که فقط با کدنویسی (بدون ریاضی) چند تا بازی ساده رو با هوش مصنوعی کد بزنید و انجام بدید. این آموزش رو آقای Nicholas Renotte آماده کرده که حدود سه ساعت هست. قبلا، من این آموزش رو دیدم. برید ببینید و عشق کنید!
توی این سه ساعت چه چیزهایی میگه:
* یکمی مقدمه و تئوری میگه (خیلی سبک)
* ابزارهای موردنیاز رو معرفی میکنه
* سه تا پروژه هم انجام میده:
1. بازی Cart Pole
2. بازی Breakout
3. بازی Car Racing
بعدش خودتون میتونید یک عالمه بازی و سناریوی ساده در همین سطح انجام بدید.
لینک آموزش
@pytorch_howsam
میخوام یه آموزش کوتاه و خوب بهتون پیشنهاد بدم که فقط با کدنویسی (بدون ریاضی) چند تا بازی ساده رو با هوش مصنوعی کد بزنید و انجام بدید. این آموزش رو آقای Nicholas Renotte آماده کرده که حدود سه ساعت هست. قبلا، من این آموزش رو دیدم. برید ببینید و عشق کنید!
توی این سه ساعت چه چیزهایی میگه:
* یکمی مقدمه و تئوری میگه (خیلی سبک)
* ابزارهای موردنیاز رو معرفی میکنه
* سه تا پروژه هم انجام میده:
1. بازی Cart Pole
2. بازی Breakout
3. بازی Car Racing
بعدش خودتون میتونید یک عالمه بازی و سناریوی ساده در همین سطح انجام بدید.
لینک آموزش
@pytorch_howsam
PyTorch Howsam
Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks مدل Vision-Language مایکروسافت بنام Florence-2 شاخصههای مهم این کار: * خیلی سَبُکه. خبری از بیلیون پارامتر نیست! * یک شبکه همه کاره هست؛ یعنی، دیتکشن، سگمنتیش و غیره * یک دیتاست…
احتمالا خبر دارید که اخیرا کنفرانس CVPR 2024 برگزار شد. میخوام، به مرور چند تا مقاله خوب و خوندنی این کنفرانس رو معرفی کنم. قبلا، Florence-2 رو معرفی کردم. امروز یک مقاله از حوزه شبکههای مگس وزن براتون آوردم! 😁
قبل از ظهور ترنسفورمر و ViT، شبکههای سبک و موبایلی زیادی داشتیم که مبتنی بر CNN بودن. مثل موبایلنت 1، 2، 3 و خیلی موارد دیگه. خب، در سالهای اخیر شبکههای موبایلی مبتنی بر ViT هم پیشنهاد شدن که اتفاقا از لحاظ سبکی و Latency بهتر از کانولوشنیها بودن. شبکههایی مثل FastViT، EfficientFormer و غیره.
اما، توی این مقاله شبکهای مبتنی بر CNN پیشنهاد شده که مُچ شبکههای ترنسفورمری رو خوابونده! توی تصویر بالا هم میتونید مقایسه دقت و Latency بین این شبکه و سایرین رو ببینید.
ریپوی خوبی داره. وزنهاش در دسترسه. مورد استقبال قرار گرفته. همچنین، اومدن این شبکه رو با SAM (همون Segment Anything) ترکیب کردن و چیز جالبی دراومده! کد این هم توی ریپو موجود هست.
مقاله | گیتهاب
@pytorch_howsam
RepViT: Revisiting Mobile CNN From ViT Perspective
قبل از ظهور ترنسفورمر و ViT، شبکههای سبک و موبایلی زیادی داشتیم که مبتنی بر CNN بودن. مثل موبایلنت 1، 2، 3 و خیلی موارد دیگه. خب، در سالهای اخیر شبکههای موبایلی مبتنی بر ViT هم پیشنهاد شدن که اتفاقا از لحاظ سبکی و Latency بهتر از کانولوشنیها بودن. شبکههایی مثل FastViT، EfficientFormer و غیره.
اما، توی این مقاله شبکهای مبتنی بر CNN پیشنهاد شده که مُچ شبکههای ترنسفورمری رو خوابونده! توی تصویر بالا هم میتونید مقایسه دقت و Latency بین این شبکه و سایرین رو ببینید.
ریپوی خوبی داره. وزنهاش در دسترسه. مورد استقبال قرار گرفته. همچنین، اومدن این شبکه رو با SAM (همون Segment Anything) ترکیب کردن و چیز جالبی دراومده! کد این هم توی ریپو موجود هست.
مقاله | گیتهاب
@pytorch_howsam
CAP6412 Advanced Computer Vision - Spring 2024
اگه به دیپ لرنینگ مسلط هستید و تلاش میکنید خودتون رو بروز نگه دارید، کورس بینایی کامپیوتر پیشرفته دانشگاه UCF رو مدنظر داشته باشید. این کورس توسط مبارک شاه از بزرگان حوزه بینایی کامپیوتر در بهار 2024 ارائه شده.
هدف این دوره چی هست؟
- این دوره روی VLM-ها (Vision Language Models) تمرکز داره.
- مقاله-محور هست. مقالههای مهم VLM رو تشریح میکنه.
- راه انداختن دانشجوها در تحلیل مقاله، ایده زدن و ...
جلساتش طولانی نیست و حدود 30 دقیقه هست. توی جلسه اولش که معرفی دوره هست، نکات جالبی درمورد نحوه مطالعه و تحلیل مقاله، تسکها و غیره میده که جالبه. من میخوام توی برنامه بذارم که ویدئوها رو نگاه کنم.
لینک یوتوب
@pytorch_howsam
اگه به دیپ لرنینگ مسلط هستید و با دنیای بینایی کامپیوتر هم آشنایی دارید، کورس متن-محور هاگینگفیس رو دریابید! 13 فصل داره و شبکههای زیادی رو در هر فصل معرفی کرده.
سرفصلها رو نگاه کنید:
UNIT 1 - FUNDAMENTALS
UNIT 2 - CONVOLUTIONAL NEURAL NETWORKS
UNIT 3 - VISION TRANSFORMERS
UNIT 4 - MULTIMODAL MODELS
UNIT 5 - GENERATIVE MODELS
UNIT 6 - BASIC CV TASKS
UNIT 7 - VIDEO AND VIDEO PROCESSING
UNIT 8 - 3D VISION, SCENE RENDERING AND RECONSTRUCTION
UNIT 9 - MODEL OPTIMIZATION
UNIT 10 - SYNTHETIC DATA CREATION
UNIT 11 - ZERO SHOT COMPUTER VISION
UNIT 12 - ETHICS AND BIASES
UNIT 13 - OUTLOOK
کورسهای هاگینگفیس، مختصر، مفید و دقیق هستن. به همین خاطر به هرکسی که میخواد توی بینایی کامپیوتر خودش رو بروز کنه، این کورس رو پیشنهاد میکنم. به نظرم، برای کسایی که به دیپ لرنینگ مسلط نیستن، کورس سنگینی محسوب میشه.
چند تا پیشنهاد هم دارم:
1) لینکهای مطالعه بیشتر که میذاره رو جدی بگیرید.
2) مقاله شبکههایی رو که معرفی میکنه رو بخونید. تونستید، یکمی روی کدهاشون هم وقت بذارید. هیولا میشید!
لینک کورس
@pytorch_howsam
سرفصلها رو نگاه کنید:
UNIT 1 - FUNDAMENTALS
UNIT 2 - CONVOLUTIONAL NEURAL NETWORKS
UNIT 3 - VISION TRANSFORMERS
UNIT 4 - MULTIMODAL MODELS
UNIT 5 - GENERATIVE MODELS
UNIT 6 - BASIC CV TASKS
UNIT 7 - VIDEO AND VIDEO PROCESSING
UNIT 8 - 3D VISION, SCENE RENDERING AND RECONSTRUCTION
UNIT 9 - MODEL OPTIMIZATION
UNIT 10 - SYNTHETIC DATA CREATION
UNIT 11 - ZERO SHOT COMPUTER VISION
UNIT 12 - ETHICS AND BIASES
UNIT 13 - OUTLOOK
کورسهای هاگینگفیس، مختصر، مفید و دقیق هستن. به همین خاطر به هرکسی که میخواد توی بینایی کامپیوتر خودش رو بروز کنه، این کورس رو پیشنهاد میکنم. به نظرم، برای کسایی که به دیپ لرنینگ مسلط نیستن، کورس سنگینی محسوب میشه.
چند تا پیشنهاد هم دارم:
1) لینکهای مطالعه بیشتر که میذاره رو جدی بگیرید.
2) مقاله شبکههایی رو که معرفی میکنه رو بخونید. تونستید، یکمی روی کدهاشون هم وقت بذارید. هیولا میشید!
لینک کورس
@pytorch_howsam
huggingface.co
Welcome to the Community Computer Vision Course - Hugging Face Community Computer Vision Course
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
متا بهینهسازی بنام Schedule-free Optimizer معرفی کرده که مورد توجه قرار گرفته. خیلیها درحال ارزیابیش هستن و فیدبک مثبت دادن. چه ویژگی مثبتی داره که ترند شده؟
عملکرد بهتری نسبت به بهینهسازهای رایج مثل SGD و Adam داره. شکل بالا رو ببینید. این بهینهساز نسبت به بهینهساز AdamW با تابع پلهای یا کسینوسی همگرایی سریعتری داره.
نیازی به تنظیم لرنینگ ریت (LR Scheduler) نداره. یعنی، دیگه نیازی نیست که لرنینگ ریت رو حین آموزش تغییر بدید.
چطوری ازش استفاده کنیم؟ اول که نصب:
بعدش هم میتونید از بهینهساز مبتنی بر SGD یا AdamW استفاده کنید:
نهایتا، توی تابع train و test باید مشخص کنید که الان بهینهساز توی حالت train و eval هست! توی پایتورچ، برای مدل این کار رو میکنیم دیگه. یعنی توی تابع train باید بنویسید:
و توی تابع eval هم:
تامام! لینک زیر، اومدن یک شبکه CNN رو روی دیتاست MNIST با این بهینهساز آموزش دادن:
لینک کد
گیتهاب Schedule-free
@pytorch_howsam
عملکرد بهتری نسبت به بهینهسازهای رایج مثل SGD و Adam داره. شکل بالا رو ببینید. این بهینهساز نسبت به بهینهساز AdamW با تابع پلهای یا کسینوسی همگرایی سریعتری داره.
نیازی به تنظیم لرنینگ ریت (LR Scheduler) نداره. یعنی، دیگه نیازی نیست که لرنینگ ریت رو حین آموزش تغییر بدید.
چطوری ازش استفاده کنیم؟ اول که نصب:
pip install schedulefree
بعدش هم میتونید از بهینهساز مبتنی بر SGD یا AdamW استفاده کنید:
optimizer = schedulefree.AdamWScheduleFree(model.parameters(), lr=args.lr)
نهایتا، توی تابع train و test باید مشخص کنید که الان بهینهساز توی حالت train و eval هست! توی پایتورچ، برای مدل این کار رو میکنیم دیگه. یعنی توی تابع train باید بنویسید:
optimizer.train()
و توی تابع eval هم:
optimizer.eval()
تامام! لینک زیر، اومدن یک شبکه CNN رو روی دیتاست MNIST با این بهینهساز آموزش دادن:
لینک کد
گیتهاب Schedule-free
@pytorch_howsam
میخوام یک ریپوی عالی بنام Transformers-Tutorials رو بهتون معرفی کنم؛ این ریپو شامل یک عالمه دمو هست که برمبنای لایبرریهای هاگینگفیس مثل transformers datasets و غیره آماده شده. تعداد دموها بسیار زیاده، ولی توی عکس بالا بخشی از دموها رو میتونید ببینید. خوبی این دموها این هست که هم با شبکههای جدید در قالب یک مینیپروژه ساده کار میکنید و آشنا میشید و هم با لایبرریهای هاگینگفیس کار میکنید.
Transformers-Tutorials
اما این ریپو رو کی آماده کرده؟ آقای Niels Rogge که ML Engineer در هاگینگفیس هست. توی توییتر که هست و یوتوب هم کمی فعالیت داره. هدر اکانت توییترش هم باحاله! توییت معروف Karpathy درمورد پایتورچ! 😂 عکس دوم بالا رو ببینید...
@pytorch_howsam
Transformers-Tutorials
اما این ریپو رو کی آماده کرده؟ آقای Niels Rogge که ML Engineer در هاگینگفیس هست. توی توییتر که هست و یوتوب هم کمی فعالیت داره. هدر اکانت توییترش هم باحاله! توییت معروف Karpathy درمورد پایتورچ! 😂 عکس دوم بالا رو ببینید...
@pytorch_howsam
PyTorch Howsam
Florence-2: Advancing a Unified Representation for a Variety of Vision Tasks مدل Vision-Language مایکروسافت بنام Florence-2 شاخصههای مهم این کار: * خیلی سَبُکه. خبری از بیلیون پارامتر نیست! * یک شبکه همه کاره هست؛ یعنی، دیتکشن، سگمنتیش و غیره * یک دیتاست…
MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases link
متا یک شبکه جدید بنام MobileLLM معرفی کرده که جز دسته شبکههای مگسوزن محسوب میشه. هدفشون این بوده که مدلهای LLM برای موبایلها بسازن. دو تا مدل 125 و 350 میلیون پارامتری هم معرفی کردن که مناسب کارهای موبایلی هست.
در بخش Introduction مقاله، به یکسری از چالشهای اساسی اجرای مدل LLM روی موبایلها اشاره کرده که جالبه. توی این پست میخوام درباره این چالشها بنویسم. سه چالش مهم که بهش اشاره شده اینها هستن:
* مصرف RAM موبایل (DRAM) در LLM-ها
* مصرف باتری
* سرعت تولید متن در ثانیه
چالش اول، مصرف RAM موبایل (DRAM) در LLM-هاست؛ الان مقدار DRAM برای موبایلهای سطح بالا بین 6 گیگ (آیفون 15) تا 12 گیگ (گوگل پیکسل 8 پرو) هست. حالا نگید نه داش آخرین مدل سامسونگ 24 گیگه! این اعداد رو مقاله گفته! 😁 حالا، نکته مهم اینجاست که ما نمیتونیم مدلی توی موبایل بذاریم که کل این ظرفیت 6 تا 12 گیگ رو پر کنه! به خاطر اینکه این مقدار DRAM سهم سیستم عامل و سایر اپهای توی موبایل هم هست! در مقاله ذکر شده که یک اپ موبایل نباید بیشتر از 10% DRAM رو اشغال کنه. یعنی، برای DRAM با 12 گیگ ظرفیت نهایتا 1.2 گیگ دردسترس هست. حالا، همون مدل لاما با 7 میلیارد پارامتر، حتی با وزنهای 8 بیتی، بازهم حدود 7 گیگ فضای DRAM رو اشغال میکنه. پس این چالش انگیزهای هست که مدلهای LLM کوچکتر (پارامترهای کمتر) ساخته بشه. در مقاله گفته ما مدلهای Sub-bilion parameter LLMs میخواییم خلاصه...
چالش دوم، مصرف انرژی LLM-هاست؛ مدل LLaMA v2 با 7 بیلیون پارامتر، به ازای هر توکن 0.7 ژول انرژی مصرف میکنه. زیاده یا کم؟ زیاده! یک آیفون با شارژ کامل حدودا 50 هزار ژول انرژی داره. مقاله میگه که هر 64 توکن حدود 0.2% از باتری رو مصرف میکنه که خب خیلی زیاده. یعنی، کل باتری در کمتر از دو ساعت مکالمه با مدل تَه میکشه. البته، من حساب و کتاب که کردم، هر 64 توکن حدود 0.08% باتری مصرف میکنه. اما شاید این محاسبه روی کاغذ هست و بخشهای جانبی هم دارن باتری میخورن. مدل 350 میلیون پارامتری این مقاله، حدود 0.035 ژول برای هر توکن مصرف میکنه. مقایسه کنید با 0.7 ژول مدل لاما! 20 برابر مصرف کمتری داره. به عبارتی، باتری فول شارژ برای یک روز مکالمه کافیه.
چالش سوم، سرعت هست؛ سرعت تولید متن مدل لامای 7 بیلیونی روی آیفون، 3~6 توکن بر ثانیه هست. خودمونی بگم، چتبات در هر ثانیه 4 5 کلمه برامون مینویسه. کمه واقعا! اما مدل 125 میلیونی این مقاله حدود 50 توکن بر ثانیه سرعت داره.
از این مقاله خیلی خوشم اومد و درحال مطالعش هستم. دوست داشتم درموردش بنویسم. البته، مطالب جالب توی مقاله زیاده. نوشتنش وقت زیادی میبره، ولی تلاشمو میکنم که بنویسم.
@pytorch_howsam
کورس بینایی کامپیوتر 2024 دانشگاه MIT
یکی از اساتید این دوره، آقای Kaiming He هست. ایشون یکی از محققهای برجسته بینایی کامپیوتر هست. شبکه ResNet، مقداردهی اولیه Kaiming و شبکه Mask R-CNN سه نمونه از کارهایی هست که ایشون انجام داده.
همچنین، یکی از ویژگیهای مثبت این کورس، مطالب پایانی کورس هست. در انتهای کورس درباره Deploy و Research صحبت شده:
+ Deployable CV
+ How To Do Research
+ How To Write Papers
+ How To Give Talks
توی بخش Research نموداری آوردن که توی تصویر بالا میتونید ببینید. این نمودار اثر کیفیت مقاله روی کریر فرد رو نشون میده. بعضی مقالههایی که میدیم، اثر منفی روی کریر ما میذارن. یکسری مقاله بود و نبودشون فرقی نداره. البته، به نظرم شروع مقاله دادن در ایران در حد همون Ok باشه، خوبه. توی مقالههای بعدی میشه کیفیت بهتری ارائه داد.
آپدیت: دوستان اومدن گفتن که کورس رو معرفی کردی، ولی لینک نذاشتی! شعر گفتم ولی نمیتونم بنویسم! 🥸
لینک
@pytorch_howsam
یکی از اساتید این دوره، آقای Kaiming He هست. ایشون یکی از محققهای برجسته بینایی کامپیوتر هست. شبکه ResNet، مقداردهی اولیه Kaiming و شبکه Mask R-CNN سه نمونه از کارهایی هست که ایشون انجام داده.
همچنین، یکی از ویژگیهای مثبت این کورس، مطالب پایانی کورس هست. در انتهای کورس درباره Deploy و Research صحبت شده:
+ Deployable CV
+ How To Do Research
+ How To Write Papers
+ How To Give Talks
توی بخش Research نموداری آوردن که توی تصویر بالا میتونید ببینید. این نمودار اثر کیفیت مقاله روی کریر فرد رو نشون میده. بعضی مقالههایی که میدیم، اثر منفی روی کریر ما میذارن. یکسری مقاله بود و نبودشون فرقی نداره. البته، به نظرم شروع مقاله دادن در ایران در حد همون Ok باشه، خوبه. توی مقالههای بعدی میشه کیفیت بهتری ارائه داد.
آپدیت: دوستان اومدن گفتن که کورس رو معرفی کردی، ولی لینک نذاشتی! شعر گفتم ولی نمیتونم بنویسم! 🥸
لینک
@pytorch_howsam
PyTorch Howsam
کورس بینایی کامپیوتر 2024 دانشگاه MIT یکی از اساتید این دوره، آقای Kaiming He هست. ایشون یکی از محققهای برجسته بینایی کامپیوتر هست. شبکه ResNet، مقداردهی اولیه Kaiming و شبکه Mask R-CNN سه نمونه از کارهایی هست که ایشون انجام داده. همچنین، یکی از ویژگیهای…
وقتی پست بالا رو مینوشتم، نگاهی به سایر اساتید دوره انداختم. یکیشون Sara Beery بود. به صفحه شخصیش رفتم و خب خیلی شاخ بود! :) رسیدم به یک مقاله جالب که در ECCV 2022 منتشر کرده بودن:
در این مقاله یک دیتاست جدید برای شمارش و ردیابی ماهیها در ویدئوهای Sonar معرفی شده. به تصویر بالا نگاه کنید تا با خروجی Sonar و کار آشنا بشید.
لینک دانلود دیتاست رو هم در ریپو گذاشتن و فکر کنم حدود 100 گیگ میشه.
خیلیها از من درباره موضوع پایاننامه ارشد میپرسن. معمولا، من بهصورت کلی توضیح میدم که چطوری موضوع پیدا کنن. به نظرم، کار روی این مساله میتونه برای ارشد مناسب باشه. نکات مثبت و منفی از نظر خودم:
+ موضوع جالب و کاربردی
+ دیتاست جدید و معتبر
- حجم دیتاست زیاد برای ایران
- احتمال نیاز به چند GPU
- موضوع نسبتا مشکل ردیابی چندهدفه
چنانچه خواستید این موضوع رو انتخاب کنید، قبلش حتما تحقیق کنید، دیتاست رو دانلود و بررسی کنید، مقاله مرجع رو بخونید، کد نمونه اجرا کنید و با چند متخصص مشورت کنید.
لینک
@pytorch_howsam
The Caltech Fish Counting Dataset: A Benchmark for Multiple-Object Tracking and Counting
در این مقاله یک دیتاست جدید برای شمارش و ردیابی ماهیها در ویدئوهای Sonar معرفی شده. به تصویر بالا نگاه کنید تا با خروجی Sonar و کار آشنا بشید.
لینک دانلود دیتاست رو هم در ریپو گذاشتن و فکر کنم حدود 100 گیگ میشه.
خیلیها از من درباره موضوع پایاننامه ارشد میپرسن. معمولا، من بهصورت کلی توضیح میدم که چطوری موضوع پیدا کنن. به نظرم، کار روی این مساله میتونه برای ارشد مناسب باشه. نکات مثبت و منفی از نظر خودم:
+ موضوع جالب و کاربردی
+ دیتاست جدید و معتبر
- حجم دیتاست زیاد برای ایران
- احتمال نیاز به چند GPU
- موضوع نسبتا مشکل ردیابی چندهدفه
چنانچه خواستید این موضوع رو انتخاب کنید، قبلش حتما تحقیق کنید، دیتاست رو دانلود و بررسی کنید، مقاله مرجع رو بخونید، کد نمونه اجرا کنید و با چند متخصص مشورت کنید.
لینک
@pytorch_howsam
PyTorch Howsam
ویدئوی جدید Andrej Karpathy 🤩 Let's Reproduce GPT-2 (124M) 4 ساعت! 😁 بریم ببینیم چطوری GPT-2 رو پیادهسازی کرده! لینک ویدئو
امروز، کمی زمان خالی داشتم و رفتم ادامه ویدئوی چهارساعته Andrej Karpathy برای پیادهسازی و آموزش GPT-2 رو ببینم. این ویدئو شامل چند بخش هست که من قبلا بخش اول رو دیده بودم. در بخش اول، مدل GPT-2 رو کامل پیادهسازی کرد و کارهای اولیه برای آموزش مدل رو انجام داد.
بخش دوم این ویدئو مربوط به کاهش زمان فرآیند آموزش مدل هست. در پایان بخش اول، مدت زمان آموزش مدل برای هر ایپاک روی دیتاست شکسپیر حدود 1000 میلی ثانیه هست. در بخش دوم، تکنیکهای مختلفی رو گام به گام اعمال میکنه و مدت زمان آموزش مدل رو کاهش میده. درادامه، بهصورت خلاصه این تکنیکها رو همراه با عدد و رقم گفتم...
در اولین گام، بجای آموزش مدل با float32 از TF32 یا تنسورفلوت 32 بیتی استفاده کرد. این باعث شد که مدت زمان اجرای هر ایپاک از 1000 به 333 میلی ثانیه کاهش پیدا کنه! البته، روی کاغذ انتظار 8 برابر بهتر شدن سرعت میرفت، ولی در عمل 3 برابر شد. این قابلیت TF32 بیتی برای هر GPU-ای فعال نیست. مثلا، A100 این قابلیت رو داره. مطالعه بیشتر
در گام دوم، بجای TF32 از bFloat16 استفاده کرد و زمان اجرای هر ایپاک از 333 به 300 میلی ثانیه رسید. بازهم این قابلیت در همه GPU-ها وجود نداره.
در گام سوم، از torch.compile پایتورچ استفاده کرد و مدت زمان اجرای هر ایپاک از 300 به 130 میلی ثانیه کاهش پیدا کرد. کاهش زمانی بسیار زیادی بود. کار سادهای هم هست.
در گام چهارم، بجای attention از flash attention استفاده کرد و مدت زمان از 130 به 96 میلی ثانیه رسید! این flash attention توی پایتورچ موجود هست و نیازی به پیادهسازی از صفر یا کتابخونه جانبی هم نیست.
و اما گام پنجم! پیشنهاد کرد که اعداد و هایپرپارامترهای موجود در کد رو به توانی از 2 تبدیل کنیم. توانی از 2 رو اعداد نایسی میدونه و GPU باهاش بهینهتر کار میکنه. مثلا وکب سایزش 50257 بود که این عدد زشتی هست! عدد رو تبدیل به 50304 کرد که باعث شد مدت زمان از 96 به 93 میلی ثانیه برسه! وکب سایز بزرگتر شد، ولی زمان کل کمتر! 😁 درسته که 50304 توانی از 2 نیست، اما تقریبا نایس هست، چون بر 2 4 8 16 32 64 128 بخشپذیره. اعداد زشت دیگهای هم توی کد بود؛ مثل تعداد لایهها، تعداد head در اتنشن که دیگه اینها رو دستکاری نکرد. بقیه زشتها با من و شما...
خلاصه اینکه، با یکسری تکنیک ساده ولی هوشمندانه، مدت زمان آموزش مدل به ازای هر ایپاک رو از 1000 میلی ثانیه به 93 میلی ثانیه رسوند. البته، خیلی از این روشها الان در مقالات استفاده میشن و اینطور نیست که وجود نداشته باشه.
یبار نگی 1000 میلی ثانیه برای یک ایپاک چیزی نیست! گناه بزرگیه! بخش سوم رو هنوز ندیدم...
@pytorch_howsam
بخش دوم این ویدئو مربوط به کاهش زمان فرآیند آموزش مدل هست. در پایان بخش اول، مدت زمان آموزش مدل برای هر ایپاک روی دیتاست شکسپیر حدود 1000 میلی ثانیه هست. در بخش دوم، تکنیکهای مختلفی رو گام به گام اعمال میکنه و مدت زمان آموزش مدل رو کاهش میده. درادامه، بهصورت خلاصه این تکنیکها رو همراه با عدد و رقم گفتم...
در اولین گام، بجای آموزش مدل با float32 از TF32 یا تنسورفلوت 32 بیتی استفاده کرد. این باعث شد که مدت زمان اجرای هر ایپاک از 1000 به 333 میلی ثانیه کاهش پیدا کنه! البته، روی کاغذ انتظار 8 برابر بهتر شدن سرعت میرفت، ولی در عمل 3 برابر شد. این قابلیت TF32 بیتی برای هر GPU-ای فعال نیست. مثلا، A100 این قابلیت رو داره. مطالعه بیشتر
در گام دوم، بجای TF32 از bFloat16 استفاده کرد و زمان اجرای هر ایپاک از 333 به 300 میلی ثانیه رسید. بازهم این قابلیت در همه GPU-ها وجود نداره.
در گام سوم، از torch.compile پایتورچ استفاده کرد و مدت زمان اجرای هر ایپاک از 300 به 130 میلی ثانیه کاهش پیدا کرد. کاهش زمانی بسیار زیادی بود. کار سادهای هم هست.
در گام چهارم، بجای attention از flash attention استفاده کرد و مدت زمان از 130 به 96 میلی ثانیه رسید! این flash attention توی پایتورچ موجود هست و نیازی به پیادهسازی از صفر یا کتابخونه جانبی هم نیست.
و اما گام پنجم! پیشنهاد کرد که اعداد و هایپرپارامترهای موجود در کد رو به توانی از 2 تبدیل کنیم. توانی از 2 رو اعداد نایسی میدونه و GPU باهاش بهینهتر کار میکنه. مثلا وکب سایزش 50257 بود که این عدد زشتی هست! عدد رو تبدیل به 50304 کرد که باعث شد مدت زمان از 96 به 93 میلی ثانیه برسه! وکب سایز بزرگتر شد، ولی زمان کل کمتر! 😁 درسته که 50304 توانی از 2 نیست، اما تقریبا نایس هست، چون بر 2 4 8 16 32 64 128 بخشپذیره. اعداد زشت دیگهای هم توی کد بود؛ مثل تعداد لایهها، تعداد head در اتنشن که دیگه اینها رو دستکاری نکرد. بقیه زشتها با من و شما...
خلاصه اینکه، با یکسری تکنیک ساده ولی هوشمندانه، مدت زمان آموزش مدل به ازای هر ایپاک رو از 1000 میلی ثانیه به 93 میلی ثانیه رسوند. البته، خیلی از این روشها الان در مقالات استفاده میشن و اینطور نیست که وجود نداشته باشه.
یبار نگی 1000 میلی ثانیه برای یک ایپاک چیزی نیست! گناه بزرگیه! بخش سوم رو هنوز ندیدم...
@pytorch_howsam
گوگل دیپمایند مدل Gemma-2 با دو بیلیون پارامتر رو عرضه کرده. یکی از بزرگترین دستاوردهای این کار، عملکرد بهتر مدل در پلتفرم ارزیابی Chatbot Arena نسبت به مدل GPT-3.5 هست! مدل GPT-3.5 بیش از 175 بیلیون پارامتر و Gemma-2 تنها با دو بیلیون پارامتر داره! 🤯 تصویر زیر هم مربوط به LMSYS Chatbot Arena هست که عملکرد مدل Gemma-2 رو نسبت به سایر مدلها نشون میده.
علاوه بر Gemma-2 2B دو نسخه دیگه بنام GemmaShield و GemmaScope هم عرضه شده که اینها هم کاربردهای بسیار جالبی دارن.
شاید ندونید LMSYS Chatbot Arena چی هست؟ یک پلتفرم آنلاین و آزاد هست برای ارزیابی LLM-ها و VLM-هاست. ارزیابیهای جالبی هم داره؛ مثلا، یک حالت Battle داره. شما یک سوال میپرسید و دو مدل A و B نامشخص بهش جواب میدن. شما جوابها رو میخونید و بعد میتونید انتخاب کنید که کدوم جواب بهتر هست. بعد از اینکه جواب دادید، بهتون میگه این دو مدل که بهت جواب دادن اسمشون چی بوده. حالتهای دیگه مثل side-by-side و Direct Chat هم داره. معیارهای ارزیابی مختلفی هم برای مقایسه داره. پیشنهاد میکنم به این سایت سر بزنید.
وبلاگ گوگل برای Gemma-2
@pytorch_howsam
علاوه بر Gemma-2 2B دو نسخه دیگه بنام GemmaShield و GemmaScope هم عرضه شده که اینها هم کاربردهای بسیار جالبی دارن.
شاید ندونید LMSYS Chatbot Arena چی هست؟ یک پلتفرم آنلاین و آزاد هست برای ارزیابی LLM-ها و VLM-هاست. ارزیابیهای جالبی هم داره؛ مثلا، یک حالت Battle داره. شما یک سوال میپرسید و دو مدل A و B نامشخص بهش جواب میدن. شما جوابها رو میخونید و بعد میتونید انتخاب کنید که کدوم جواب بهتر هست. بعد از اینکه جواب دادید، بهتون میگه این دو مدل که بهت جواب دادن اسمشون چی بوده. حالتهای دیگه مثل side-by-side و Direct Chat هم داره. معیارهای ارزیابی مختلفی هم برای مقایسه داره. پیشنهاد میکنم به این سایت سر بزنید.
وبلاگ گوگل برای Gemma-2
@pytorch_howsam
PyTorch Howsam
MobileLLM: Optimizing Sub-billion Parameter Language Models for On-Device Use Cases link متا یک شبکه جدید بنام MobileLLM معرفی کرده که جز دسته شبکههای مگسوزن محسوب میشه. هدفشون این بوده که مدلهای LLM برای موبایلها بسازن. دو تا مدل 125 و 350 میلیون پارامتری…
اگه خاطرتون باشه، قبلا درمورد MobileLLM نوشته بودم. همچنین، گفتم تلاش میکنم بیشتر ازش بگم. خب اومدم که بگم، بالاخره آماده شد...
یک پست نسبتا طولانی درمورد MobileLLM در هوسم نوشتم. از چالشها و ایدههای کار گفتم. امیدوارم، مفید باشه.
همچنان کار و مطالعه MobileLLM رو ادامه میدم. ممکن هست با خبرهای جذابتری برگردم...
https://howsam.org/mobilellm/
@pytorch_howsam
یک پست نسبتا طولانی درمورد MobileLLM در هوسم نوشتم. از چالشها و ایدههای کار گفتم. امیدوارم، مفید باشه.
همچنان کار و مطالعه MobileLLM رو ادامه میدم. ممکن هست با خبرهای جذابتری برگردم...
https://howsam.org/mobilellm/
@pytorch_howsam
This media is not supported in your browser
VIEW IN TELEGRAM
اگه توی حوزه بینایی کامپیوتر کار میکنید، مجموعه ultralytics رو مدنظر داشته باشید.
یک کتابخونه بنام ultralytics داره که یولو 8 در این کتابخونه هست. بهصورت پیوسته هم یولو 8 رو آپدیت میکنن. اخیرا به نسخه 8.2 آپدیت شده. قبلا در مورد یولو 8 صحبت کردیم و وبلاگ هم براش نوشتیم. لینک وبلاگ یولو 8 در سایت هوسم
اما، یک بخش دیگه از همین کتابخونه ultralytics، ماژول solutions هست. برای سناریوهای مختلفی که در دنیای واقعی پیش میاد، الگوریتمهایی رو آماده کردن. من چند نمونه از الگوریتمهایی که در بخش solutions وجود داره رو لیست کردم:
- Object Counting
- Object Blurring
- Speed Estimation
- Distance Calculation
- Parking Management
- Live Inference with Streamlit
مثلا، در ویدئوی بالا با Object Counting، اشیای موجود در ویدئو با دقت خوبی درحال شمارش هستن.
خلاصه اینکه، بهتون دید میده که بینایی کامپیوتر در چه جاهایی میتونه کاربرد داشته باشه. همچنین، در یک پروژه با ساختار مشابه میتونید از ایدهها و متدهای بخش solutions کتابخونه ultralytics استفاده کنید.
لینک بخش solutions در کتابخونه ultralytics
@pytorch_howsam
یک کتابخونه بنام ultralytics داره که یولو 8 در این کتابخونه هست. بهصورت پیوسته هم یولو 8 رو آپدیت میکنن. اخیرا به نسخه 8.2 آپدیت شده. قبلا در مورد یولو 8 صحبت کردیم و وبلاگ هم براش نوشتیم. لینک وبلاگ یولو 8 در سایت هوسم
اما، یک بخش دیگه از همین کتابخونه ultralytics، ماژول solutions هست. برای سناریوهای مختلفی که در دنیای واقعی پیش میاد، الگوریتمهایی رو آماده کردن. من چند نمونه از الگوریتمهایی که در بخش solutions وجود داره رو لیست کردم:
- Object Counting
- Object Blurring
- Speed Estimation
- Distance Calculation
- Parking Management
- Live Inference with Streamlit
مثلا، در ویدئوی بالا با Object Counting، اشیای موجود در ویدئو با دقت خوبی درحال شمارش هستن.
خلاصه اینکه، بهتون دید میده که بینایی کامپیوتر در چه جاهایی میتونه کاربرد داشته باشه. همچنین، در یک پروژه با ساختار مشابه میتونید از ایدهها و متدهای بخش solutions کتابخونه ultralytics استفاده کنید.
لینک بخش solutions در کتابخونه ultralytics
@pytorch_howsam
مجموعه poloclub ابزاری تحت عنوان Transformer Explainer معرفی کرده که برای اهداف آموزشی فوقالعاده هست. کار کردن با این ابزار رو پیشنهاد میکنم، اگه میخوایید به درک عمیقتری در ترنسفورمر و مدلسازی زبان (Language Modeling) برسید.
این ابزار بر پایه مدل GPT-2 کار میکنه. یعنی، واقعا محاسبات پشت GPT-2 رو به شما مرحله به مرحله نشون میده. کل مراحل رو میتونید ریز به ریز ببینید: توکن امبدینگ، پوزیشنال انکدینگ، مولتی هد اتنشن، mlp و الی آخر. همچنین، خروجی معنیدار تولید میکنه. با کلیک روی بخشهای مختلف، میتونید محاسبات مربوط به هر بخش رو ببینید.
مثلا، توی تصویر بالا ببینید برای ورودی Data visualization empowers users to در خروجی مدل چه پیشنهادهایی داده.
البته، poloclub سالهاست که چنین ابزارهایی میسازه. اگه به این آدرس برید، ابزارهایی که در گذشته ساختن رو میتونید ببینید. به عنوان نمونه، CNN Explainer و GAN Lab هم از کارهای این مجموعه هست. این هم شعارشون:
@pytorch_howsam
این ابزار بر پایه مدل GPT-2 کار میکنه. یعنی، واقعا محاسبات پشت GPT-2 رو به شما مرحله به مرحله نشون میده. کل مراحل رو میتونید ریز به ریز ببینید: توکن امبدینگ، پوزیشنال انکدینگ، مولتی هد اتنشن، mlp و الی آخر. همچنین، خروجی معنیدار تولید میکنه. با کلیک روی بخشهای مختلف، میتونید محاسبات مربوط به هر بخش رو ببینید.
مثلا، توی تصویر بالا ببینید برای ورودی Data visualization empowers users to در خروجی مدل چه پیشنهادهایی داده.
البته، poloclub سالهاست که چنین ابزارهایی میسازه. اگه به این آدرس برید، ابزارهایی که در گذشته ساختن رو میتونید ببینید. به عنوان نمونه، CNN Explainer و GAN Lab هم از کارهای این مجموعه هست. این هم شعارشون:
Scalable. Interactive. Interpretable.
@pytorch_howsam