Forwarded from DeepMind AI Expert (Mehdi Dehghani)
معرفی سایت nn.labml.ai
در این سایت پیاده سازی #پایتورچ مدل ها و الگوریتم های مهم هوش مصنوعی به همراه توضیح خط به خط کد و فرمول های ریاضی به کار رفته در کد مقالات است.
و منبع عالی برای #کدخوانی #مقالات هست.
لیست موضوعات پیاده سازی شده در این سایت:
✨ Transformers
✨ Low-Rank Adaptation (LoRA)
✨Eleuther GPT-NeoX
✨Diffusion models
✨Generative Adversarial Networks
✨Recurrent Highway Networks
✨ LSTM
✨ HyperNetworks - HyperLSTM
✨ ResNet
✨ ConvMixer
✨ Capsule Networks
✨ U-Net
✨ Sketch RNN
✨ Graph Neural Networks
✨ Reinforcement Learning
✨ Counterfactual Regret Minimization (CFR)
✨ Optimizers
✨ Normalization Layers
✨ Distillation
✨ Adaptive Computation
✨ Uncertainty
✨ Activations
✨ Language Model Sampling
✨ Scalable Training/Inference
#منابع #هوش_مصنوعی
#مقاله_خوانی
🔸 مطالب بیشتر 👇👇
✅ @AI_DeepMind
🔸 @AI_Person
در این سایت پیاده سازی #پایتورچ مدل ها و الگوریتم های مهم هوش مصنوعی به همراه توضیح خط به خط کد و فرمول های ریاضی به کار رفته در کد مقالات است.
و منبع عالی برای #کدخوانی #مقالات هست.
لیست موضوعات پیاده سازی شده در این سایت:
✨ Transformers
✨ Low-Rank Adaptation (LoRA)
✨Eleuther GPT-NeoX
✨Diffusion models
✨Generative Adversarial Networks
✨Recurrent Highway Networks
✨ LSTM
✨ HyperNetworks - HyperLSTM
✨ ResNet
✨ ConvMixer
✨ Capsule Networks
✨ U-Net
✨ Sketch RNN
✨ Graph Neural Networks
✨ Reinforcement Learning
✨ Counterfactual Regret Minimization (CFR)
✨ Optimizers
✨ Normalization Layers
✨ Distillation
✨ Adaptive Computation
✨ Uncertainty
✨ Activations
✨ Language Model Sampling
✨ Scalable Training/Inference
#منابع #هوش_مصنوعی
#مقاله_خوانی
🔸 مطالب بیشتر 👇👇
✅ @AI_DeepMind
🔸 @AI_Person
🔥2👍1
📣 It’s that time again: Free Access Week is around the corner!
Access DataCamp Premium for $0 and explore 500+ data and AI courses between Nov 4–10.
Want to learn Python, SQL, ChatGPT, machine learning, or Power BI for free? Now’s your chance.
https://www.linkedin.com/posts/datacampinc_its-that-time-again-free-access-week-activity-7258070618120581121-zirm?utm_source=share&utm_medium=member_desktop
Access DataCamp Premium for $0 and explore 500+ data and AI courses between Nov 4–10.
Want to learn Python, SQL, ChatGPT, machine learning, or Power BI for free? Now’s your chance.
https://www.linkedin.com/posts/datacampinc_its-that-time-again-free-access-week-activity-7258070618120581121-zirm?utm_source=share&utm_medium=member_desktop
🔥3
Forwarded from Deep Time
خداحافظ Adam
با معرفی ADOPT بهتره Optimizer مدلهای Deep Learning و LLM رو تغییر بدیم. مشکل اساسی Adam در واقع عدم تضمین convergence در فرآیند آپدیت وزنها بود که در ADOPT حل شده. اما این برتری فقط در تئوری نیست و در عمل هم در اکثریت مسائل بهتر بوده.
ایده اصلی و راه حل برای تضمین همگرایی هم دو مورد هست:
۱_ حذف گرادیان کنونی از تخمین momentum دوم
۲_ نرمالایز کردن گرادیان قبل از آپدیت momentum
Paper
Github
کد:
با معرفی ADOPT بهتره Optimizer مدلهای Deep Learning و LLM رو تغییر بدیم. مشکل اساسی Adam در واقع عدم تضمین convergence در فرآیند آپدیت وزنها بود که در ADOPT حل شده. اما این برتری فقط در تئوری نیست و در عمل هم در اکثریت مسائل بهتر بوده.
ایده اصلی و راه حل برای تضمین همگرایی هم دو مورد هست:
۱_ حذف گرادیان کنونی از تخمین momentum دوم
۲_ نرمالایز کردن گرادیان قبل از آپدیت momentum
Paper
Github
کد:
from adopt import ADOPT
#optimizer = Adam(model.parameters(), lr=1e-3)
optimizer = ADOPT(model.parameters(), lr=1e-3)
❤1
Forwarded from PyTorch Howsam
کانال یوتوب Umar Jamil یکی از بهترین کانالهای آموزش مباحث بروز و پیچیده یادگیری عمیق هست. به نظرم تعداد سابسکرایبرها و ویوهاش اصلا در حد محتواش نیست. فقط نگاه کن ویدئوهای آخر کانالش چه آموزشهایی هست:
- پیادهسازی Vision Language Model با پایتورچ از صفر
- تفسیرپذیری در ماشین لرنینگ
- شبکه KAN
- و ...
امروز یک ویدئوی 7 ساعته از آموزش و پیادهسازی Flash Attention منتشر کرده!
فلش اتنشن میدونید چیه؟
یک الگوریتم بهینهسازی شده برای محاسبه اتنشن در شبکههای ترنسفورمری هست که منجر به افزایش سرعت و کاهش مصرف حافظه میشه. به تصویر پایین نگاه کنید؛ سمت راست تصویر، یک نمودار مقایسه زمان محاسبات اتنشن با فلش اتنشن وجود داره. از فلش اتنشن در مدلهای ترنسفورمری کوچک و بزرگ استفاده میشه.
کانال یوتوب Umar Jamil
@pytorch_howsam
- پیادهسازی Vision Language Model با پایتورچ از صفر
- تفسیرپذیری در ماشین لرنینگ
- شبکه KAN
- و ...
امروز یک ویدئوی 7 ساعته از آموزش و پیادهسازی Flash Attention منتشر کرده!
فلش اتنشن میدونید چیه؟
یک الگوریتم بهینهسازی شده برای محاسبه اتنشن در شبکههای ترنسفورمری هست که منجر به افزایش سرعت و کاهش مصرف حافظه میشه. به تصویر پایین نگاه کنید؛ سمت راست تصویر، یک نمودار مقایسه زمان محاسبات اتنشن با فلش اتنشن وجود داره. از فلش اتنشن در مدلهای ترنسفورمری کوچک و بزرگ استفاده میشه.
کانال یوتوب Umar Jamil
@pytorch_howsam
🔥4
Forwarded from PyTorch Howsam
سایت 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
یک نگاهی بندازیم به ماژولهای این کورس:
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
Cohere
LLM University (LLMU)
Welcome to LLM University, your premier learning destination for mastering Enterprise AI technologies. Designed for developers and technical professionals, our hub offers comprehensive resources, expert-led courses, and step-by-step guides to help you start…
👍1
Forwarded from مرکز تحقیقات هوش مصنوعی پارت
جامعترین سیستم ارزیابی مدلهای زبانی فارسی متولد شد
🔹 متخصصان مرکز تحقیقات هوش مصنوعی پارت و آزمایشگاه پردازش زبان طبیعی دانشگاه صنعتی امیرکبیر با سرپرستی یکی از اساتید برجسته هوش مصنوعی کشور، سرکار خانم دکتر سعیده ممتازی، جامعترین و قدرتمندترین سیستم ارزیابی مدلهای زبانی فارسی (Open Persian LLM Leaderboard) را توسعه دادند، تا زیستبوم هوش مصنوعی کشور از این پس به سنجهای دقیق و یکپارچه برای ارزیابی LLMهای فارسی مجهز شود.
🔹 این سیستم ارزیابی شامل بیش از 40 هزار نمونه است که بخشی از آنها از چندین بنچمارک معتبر جهانی به فارسی برگردانده شده و بخشی دیگر در داخل کشور از پایه تهیه و برچسبزنی شدهاند. این تعداد نمونه، همواره در حال افزایش و بهروزرسانی است تا ضریب دقت در ارزیابیها هموار بهبود یابد. با این توضیحات، مدل ارائه شده، در کنار برترین بنچمارکهای جهانی قرار میگیرد.
🔹 بخش کوچکی از دادگان این سیستم ارزیابی (بنچمارک) هم اکنون به صورت متن باز در دسترس عموم قرار گرفته است.
🔗 برای ارزیابی مدل زبانی خود و دیگران کافی است کلیک کنید.
🆔 @Partdpai
🔹 متخصصان مرکز تحقیقات هوش مصنوعی پارت و آزمایشگاه پردازش زبان طبیعی دانشگاه صنعتی امیرکبیر با سرپرستی یکی از اساتید برجسته هوش مصنوعی کشور، سرکار خانم دکتر سعیده ممتازی، جامعترین و قدرتمندترین سیستم ارزیابی مدلهای زبانی فارسی (Open Persian LLM Leaderboard) را توسعه دادند، تا زیستبوم هوش مصنوعی کشور از این پس به سنجهای دقیق و یکپارچه برای ارزیابی LLMهای فارسی مجهز شود.
🔹 این سیستم ارزیابی شامل بیش از 40 هزار نمونه است که بخشی از آنها از چندین بنچمارک معتبر جهانی به فارسی برگردانده شده و بخشی دیگر در داخل کشور از پایه تهیه و برچسبزنی شدهاند. این تعداد نمونه، همواره در حال افزایش و بهروزرسانی است تا ضریب دقت در ارزیابیها هموار بهبود یابد. با این توضیحات، مدل ارائه شده، در کنار برترین بنچمارکهای جهانی قرار میگیرد.
🔹 بخش کوچکی از دادگان این سیستم ارزیابی (بنچمارک) هم اکنون به صورت متن باز در دسترس عموم قرار گرفته است.
🔗 برای ارزیابی مدل زبانی خود و دیگران کافی است کلیک کنید.
🆔 @Partdpai
🔥3
Forwarded from مرجع دیتاست فارسی (دیتاهابر)
تو این سایت میتونید مقالاتِ پولیِ مدیوم رو رایگان باز کنید. در واقع خودش اشتراکِ مدیوم خریده و از طریقِ این سایت در دسترسِ عموم قرار داده. مدیوم نقطهضعفهاش رو حل کرده. تمامِ روشهایِ قدیمیِ دورزدن paywall از کار افتاده. فقط همین روش جواب میده.
_Ayub Kokabi_
_Ayub Kokabi_
❤5
Forwarded from DeepMind AI Expert (Farzad 🦅)
نکاتی جذاب برای نوشتن مقالات و کارهای پژوهشی با LaTex
◾️ Tips for Writing a Research Paper using LaTeX
#مقاله
🔸 مطالب بیشتر 👇👇
✅ @AI_DeepMind
🔸 @AI_Person
◾️ Tips for Writing a Research Paper using LaTeX
#مقاله
🔸 مطالب بیشتر 👇👇
✅ @AI_DeepMind
🔸 @AI_Person
🔥2👎1
Forwarded from PyTorch Howsam
یک مدتی هست سایتی بنام aman.ai رو کشف کردم؛ حجم محتواهای آموزشی این سایت به شکل عجیبی زیاده! پر از بلاگ پست از سطح مقدماتی تا سطح بالا هست. حتی، کورسهای معروف استنفورد و کورسرا رو نتبرداری کردن! دوست دارم بیشتر بررسیش کنم.
شخصا وبلاگ و تولید محتوا رو دوست دارم و براش زیاد وقت میذارم. اما الان سوالم این هست که اینها چطوری این حجم محتوا رو آماده کردن؟! 🧐
شما فقط به لیست مطالبی که برای LLM آوردن، نگاه کن:
Primers • Overview of Large Language Models
@pytorch_howsam
شخصا وبلاگ و تولید محتوا رو دوست دارم و براش زیاد وقت میذارم. اما الان سوالم این هست که اینها چطوری این حجم محتوا رو آماده کردن؟! 🧐
شما فقط به لیست مطالبی که برای LLM آوردن، نگاه کن:
Primers • Overview of Large Language Models
توجه: برای شروع LLM روی این آموزش سرمایهگذاری نکنید. هم از مطالبی که در صفحه بالا گفتن و هم عنوانش مشخص هست که برای افراد از آب و گل دراومده هست!
@pytorch_howsam
aman.ai
Aman's AI Journal • Primers • Overview of Large Language Models
Aman's AI Journal | Course notes and learning material for Artificial Intelligence and Deep Learning Stanford classes.
Forwarded from هوشیو | رسانه تخصصی هوش مصنوعی
🔸 وبینار تخصصی: داده در مدلهای بزرگ زبانی (LLM)
💡 هوشیو با همکاری پژوهشکده هوش مصنوعی دانشگاه امیرکبیر برگزار میکند:
🗓 زمان: یکشنبه ۲۳ دی ۱۴۰۳، ساعت ۱۸:۳۰
🎙 مدرس: صدرا صبوری، دانشجوی دکتری علوم کامپیوتر در دانشگاه کالیفرنیای جنوبی (USC)
✳️ موضوعات وبینار:
◽️ اهمیت داده در توسعه LLMها
◽️ بررسی میزان دادههای کافی
◽️ روشهای ورود دادهها به مدلها
◽️ اصول تمیزسازی دادهها
◽️ مقایسه Fine-tuning با In-context Learning
◽️ ویژگیها و محدودیتهای In-context Learning
🔹 فرصت ویژه: با حمایت حامیان برنامه، تعداد محدودی بلیت با تخفیف ۸۰٪ در دسترس است!
برای ثبتنام، به لینک زیر مراجعه کنید:
👇
🌐 ثبتنام وبینار داده در LLM
🆔@hooshio
#هوشیو #هوش_مصنوعی #LLM #وبینار
💡 هوشیو با همکاری پژوهشکده هوش مصنوعی دانشگاه امیرکبیر برگزار میکند:
🗓 زمان: یکشنبه ۲۳ دی ۱۴۰۳، ساعت ۱۸:۳۰
🎙 مدرس: صدرا صبوری، دانشجوی دکتری علوم کامپیوتر در دانشگاه کالیفرنیای جنوبی (USC)
✳️ موضوعات وبینار:
◽️ اهمیت داده در توسعه LLMها
◽️ بررسی میزان دادههای کافی
◽️ روشهای ورود دادهها به مدلها
◽️ اصول تمیزسازی دادهها
◽️ مقایسه Fine-tuning با In-context Learning
◽️ ویژگیها و محدودیتهای In-context Learning
🔹 فرصت ویژه: با حمایت حامیان برنامه، تعداد محدودی بلیت با تخفیف ۸۰٪ در دسترس است!
برای ثبتنام، به لینک زیر مراجعه کنید:
👇
🌐 ثبتنام وبینار داده در LLM
🆔@hooshio
#هوشیو #هوش_مصنوعی #LLM #وبینار
👍1🔥1
دو تا ویدیو فوق العاده برای فهم NeRF و چرایی عملکرد فوق العادش:
https://youtu.be/WSfEfZ0ilw4?si=Hm8Eirm_Ga0wficH
https://youtu.be/dCmCZs2Hpi0?si=BXt28UyhfFJKZkeC
https://youtu.be/WSfEfZ0ilw4?si=Hm8Eirm_Ga0wficH
https://youtu.be/dCmCZs2Hpi0?si=BXt28UyhfFJKZkeC
YouTube
NeRFs: Neural Radiance Fields - Paper Explained
❤️ Support the channel ❤️
https://www.youtube.com/channel/UCkzW5JSFwvKRjXABI-UTAkQ/join
Paper: https://arxiv.org/abs/2003.08934
Full title: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
Paid Courses I recommend for learning (affiliate…
https://www.youtube.com/channel/UCkzW5JSFwvKRjXABI-UTAkQ/join
Paper: https://arxiv.org/abs/2003.08934
Full title: NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
Paid Courses I recommend for learning (affiliate…
نمیدونم شما با این پیج HuggingFace آشنا بودین یا نه ولی اگه آشنا بودین بهتون حسودی میکنم :)
https://huggingface.co/papers/2501.05441
برای اونایی که مثل من آشنایی نداشتن، پیپرا رو تو هاگینک فیس لینک میکنن ملت حاضر در صحنه توی کامیونیتی میتونن بیان کامنت بزارن در رابطش. یه چیزی شبیه ریویو های پابلیک کنفرانسی مثل openreview، ولی خب قاعدتاً خیلی سطحی تر و غیر رسمی تر :)
این پیپرم هایپ امروزه
خلاصش اینه که تو دورهای که دیفیوژن یکه تازی میکنه، نویسنده ها ادعا میکنن gan رو تونستن از گور بلند کنن و باهاش بیسلاین های دیفیوژنی رو هم outperform کنن.
https://huggingface.co/papers/2501.05441
برای اونایی که مثل من آشنایی نداشتن، پیپرا رو تو هاگینک فیس لینک میکنن ملت حاضر در صحنه توی کامیونیتی میتونن بیان کامنت بزارن در رابطش. یه چیزی شبیه ریویو های پابلیک کنفرانسی مثل openreview، ولی خب قاعدتاً خیلی سطحی تر و غیر رسمی تر :)
این پیپرم هایپ امروزه
خلاصش اینه که تو دورهای که دیفیوژن یکه تازی میکنه، نویسنده ها ادعا میکنن gan رو تونستن از گور بلند کنن و باهاش بیسلاین های دیفیوژنی رو هم outperform کنن.
huggingface.co
Paper page - The GAN is dead; long live the GAN! A Modern GAN Baseline
Join the discussion on this paper page
ML & AI resources
دو تا ویدیو فوق العاده برای فهم NeRF و چرایی عملکرد فوق العادش: https://youtu.be/WSfEfZ0ilw4?si=Hm8Eirm_Ga0wficH https://youtu.be/dCmCZs2Hpi0?si=BXt28UyhfFJKZkeC
شاید با دیدن این ویدیو فکر کنین که دیگه NeRF آخرت 3D Rconstruction و Novel View Synthesis محسوب میشه ولی باید بگم سخت در اشتباهین. NeRF درسته که نسبت به روشهای قبل از خودش، روش سریعتر و منعطف تری برای این تسکه، با این حال به شدت کنده و ماکزیمم frame rate که شما میتونین از بهینهترین پیاده سازی NeRF بهش برسین در اوردر ۱ تا ۱۰ fps میشه :)
از طرف دیگه، شما به هیچوجه دسترسی به 3D Structure ندارین و صرفا با استفاده از مدل اورفیت شده NeRF میتونین به صورت آفلاین view های جدید سنتز کنین.
برای حل این دو مشکل مفهومی تحت عنوان 3D Gaussian Splatting معرفی میشه (اگه اشتباه نکنم در SIGGRAPH23) به این شکل که یه موجودیت سه بعدی رو به جای اینکه به صورت یک Radiance Field در نظر بگیره، به ازای هر point در فضای سه بعدی یک گوی بیضوی (نمیدونم اصلا همچین ترمی درست هست یا نه ولی فعلا از من بپذیرین. در زبان خارجه بهش میگن 3D Gaussian Splat) در نظر گرفته میشه و با در نظر گرفتن Projection های مختلف از این جسم یا صحنه سهبعدی و اختلاف این Projected View و تصویر Ground Truth از اون زاویه دید، این گویها رو آپدیت میکنه.
وبسایت رسمی کار:
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
کانسپت جالبیه اگه دوست داشتین بیشتر بدونین این محتواها رو توصیه میکنم (از کوتاه به بلند :) ) :
۱. https://youtu.be/Tnij_xHEnXc?si=ZGAKXxQ7a-lOmDwe
۲. https://youtu.be/VkIJbpdTujE?si=W6NJ4mHbZp5LTK2F
۳. https://youtu.be/IUEzsWOOErE?si=bUkrLPWew6eLn1VX
مرور جزئیتر روی مقاله:
https://youtu.be/xTp88ZOtm58?si=nk3BJGwkbqdLj5KW
از طرف دیگه، شما به هیچوجه دسترسی به 3D Structure ندارین و صرفا با استفاده از مدل اورفیت شده NeRF میتونین به صورت آفلاین view های جدید سنتز کنین.
برای حل این دو مشکل مفهومی تحت عنوان 3D Gaussian Splatting معرفی میشه (اگه اشتباه نکنم در SIGGRAPH23) به این شکل که یه موجودیت سه بعدی رو به جای اینکه به صورت یک Radiance Field در نظر بگیره، به ازای هر point در فضای سه بعدی یک گوی بیضوی (نمیدونم اصلا همچین ترمی درست هست یا نه ولی فعلا از من بپذیرین. در زبان خارجه بهش میگن 3D Gaussian Splat) در نظر گرفته میشه و با در نظر گرفتن Projection های مختلف از این جسم یا صحنه سهبعدی و اختلاف این Projected View و تصویر Ground Truth از اون زاویه دید، این گویها رو آپدیت میکنه.
وبسایت رسمی کار:
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
کانسپت جالبیه اگه دوست داشتین بیشتر بدونین این محتواها رو توصیه میکنم (از کوتاه به بلند :) ) :
۱. https://youtu.be/Tnij_xHEnXc?si=ZGAKXxQ7a-lOmDwe
۲. https://youtu.be/VkIJbpdTujE?si=W6NJ4mHbZp5LTK2F
۳. https://youtu.be/IUEzsWOOErE?si=bUkrLPWew6eLn1VX
مرور جزئیتر روی مقاله:
https://youtu.be/xTp88ZOtm58?si=nk3BJGwkbqdLj5KW
YouTube
What is 3D Gaussian Splatting?
How does 3D Gaussian Splatting work? It's kinda complex but we are gonna break it down for you in 3 minutes.
3D Gaussian Splatting for Real-Time Radiance Field Rendering Paper:
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
Shoutout to Maged…
3D Gaussian Splatting for Real-Time Radiance Field Rendering Paper:
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
Shoutout to Maged…
❤4
Forwarded from Out of Distribution (Mahdi)
در مورد Quantization و مدلهای 1.58بیتی
امروز این مقاله رو دیدم که مدل Flux رو در ستینگ ۱.۵۸ بیتی، کوانتایز کرده بود و ادعا کرده بود که تقریبا همون کیفیت مدل Flux رو با صرف مموری کمتر ارائه میده (در واقع پارامترهای مدل رو کوانتایز کرده بودند طوری که حجم نگهداری این flux کوانتایزشده از ۲۳ گیگ به ۳ گیگ و میزان مموری لازم برای اینفرنس گرفتن هم براش از ۲۴ گیگ به کمتر از ۵ گیگ رسیده)
همین بهانهای شد تا وسوسه بشم بیشتر راجع به کوانتیزیشن مدلها بخونم. در همین راستا، این بلاگ فوقالعاده رو پیدا کردم که مساله رو از کف (از نحوه نمایش اعداد در فورمتهای مختلف fp32 و fp16 و bfp16 و uint18) شروع کرده و تا کوانتیزیشن ۱.۵۸ بیتی پیش برده.
به صورت خلاصه مساله اینه که در مواجهه با شبکههای عصبی ما با دو مجموعه value مواجه هستیم که باید روی این مقادیر، عملیاتهای ریاضی انجام بدیم و اونها رو نگهداری کنیم. مقادیر میانی شبکه (یا activationها) و وزنهای شبکه که پارامترهاش هستند. ما به صورت عادی این مقادیر رو به صورت fp32 باهاشون کار میکنیم. حالا کوانتیزیشن قصدش اینه که عوض این شبکهای داشته باشیم که این مقادیر رو fp32 نگهداری کنه، به شکلهای دیگهای مثل fp16 یا int8 نگهداری کنه تا هم مموری کمتری بخوان و هم اگر شد سریعتر بشه از شبکه inference گرفت. حالا ما دو نوع quantization میتونیم داشته باشیم. Post-Training Quantization و Quantization Aware Training. اولی این شکلیه که اول یک شبکه رو در همون حالت عادی fp32 آموزشش میدن و بعد از اتمام آموزش سعی میکنن تا مقادیر شبکه رو به تایپهای سبکتر کوانتایزش کنند. دومی این شکلیه که سعی میکنند در همون فرآیند آموزش شبکه، آموزش وزنها رو جوری انجام بدن که انگار واقعا در همون تایپ سبکتر دارن انجام میشن. دقت کیفیت مدلهای حاصل از روش دوم، نسبت به روش اول بالاتره قاعدتا. مساله ولی خب به این سادگیها نیست و پیچیدگیهایی برای خودش داره. مثلا نمیشه که پارامترهای شبکه رو کوانتایز کرد و مقادیر میانی رو به امان خدا ول کرد، این دو تا روی هم تاثیر دارند.
حالا یک سال پیش مقالهای به نام BitNet اومد و هدفش رو کوانتایزکردن وزنهای شبکه ترنسفورمری در یک بیت گذاشت. یعنی میخواست به شبکهای برسه که هر وزن شبکه یا ۱+ باشه یا ۱-. برای این کار اومد مقادیر میانی رو هم به uint8 کوانتایز کرد. اساس کارش هم این شکلی بود که اومد هر چی لایه Linear بود را با لایه ابداعی خودش تحت عنوان BitLlinear جایگزین کرد. در واقع لایههای خطی رو با لایههای خطی که وزنهاش فقط میتونستن یک یا منفی یک باشند جایگزین کرد. کلیت ایده هم این شکلیه که موقع آموزش مقدار هر وزن w در همون fp32 نگهداری میشه ولی از یک فانکشن sign رد میشن که مقادیرش رو به مثبت یک یا منفی یک تغییر میده. موقع بکوارد که گرادیان عقب میاد این w رو روش اثر میگذاره ولی موقع فوروارد پارامتری که در شبکه اثرگذاره همون نتیجه فانکنش sign بر w هست. وقتی هم که فرآیند آموزش تموم شد همون wهایی که صفر و یک هستند به عنوان مدل ریلیز میشن. مدتی بعد از این مقاله، یک مقاله دیگه با عنوان 1.58 - bit اومد. ایده کلی این مقاله این بود که وزنها بتونن عوض دو مقدار، حالا سه مقدار یک و صفر و منفییک بگیرند. ایده فنیتر این مقاله هم این بود که اگر لایهخطی رو این جوری فرض بگیریم که در ضرب ماتریسی، عناصر یک بردار ماتریس در یک بردار ضرب میشن و بعد با هم جمع میشن، با فرض این که وزنها میتونن صفر و یک و منفی یک باشند، میتونیم که تکه ضرب رو حذف کنیم و صرفا به جمع تبدیلش کنیم و این جوری در محاسبات و ذخیرهسازی صرفهجویی کنیم. از نشانههای قدرت این روش این که وقتی روی لاما ۱۳ بیلیونی اعمالش کردند، به مدلی بهتر، سریع تر، با میزان حافظه کمتر و مصرف انرژی کمتری نسبت به لامای ۳ میلیاردی fp16 ای رسیدند و کلی مورد مقایسه دیگه این شکلی.
لینک بلاگ:
https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-quantization
امروز این مقاله رو دیدم که مدل Flux رو در ستینگ ۱.۵۸ بیتی، کوانتایز کرده بود و ادعا کرده بود که تقریبا همون کیفیت مدل Flux رو با صرف مموری کمتر ارائه میده (در واقع پارامترهای مدل رو کوانتایز کرده بودند طوری که حجم نگهداری این flux کوانتایزشده از ۲۳ گیگ به ۳ گیگ و میزان مموری لازم برای اینفرنس گرفتن هم براش از ۲۴ گیگ به کمتر از ۵ گیگ رسیده)
همین بهانهای شد تا وسوسه بشم بیشتر راجع به کوانتیزیشن مدلها بخونم. در همین راستا، این بلاگ فوقالعاده رو پیدا کردم که مساله رو از کف (از نحوه نمایش اعداد در فورمتهای مختلف fp32 و fp16 و bfp16 و uint18) شروع کرده و تا کوانتیزیشن ۱.۵۸ بیتی پیش برده.
به صورت خلاصه مساله اینه که در مواجهه با شبکههای عصبی ما با دو مجموعه value مواجه هستیم که باید روی این مقادیر، عملیاتهای ریاضی انجام بدیم و اونها رو نگهداری کنیم. مقادیر میانی شبکه (یا activationها) و وزنهای شبکه که پارامترهاش هستند. ما به صورت عادی این مقادیر رو به صورت fp32 باهاشون کار میکنیم. حالا کوانتیزیشن قصدش اینه که عوض این شبکهای داشته باشیم که این مقادیر رو fp32 نگهداری کنه، به شکلهای دیگهای مثل fp16 یا int8 نگهداری کنه تا هم مموری کمتری بخوان و هم اگر شد سریعتر بشه از شبکه inference گرفت. حالا ما دو نوع quantization میتونیم داشته باشیم. Post-Training Quantization و Quantization Aware Training. اولی این شکلیه که اول یک شبکه رو در همون حالت عادی fp32 آموزشش میدن و بعد از اتمام آموزش سعی میکنن تا مقادیر شبکه رو به تایپهای سبکتر کوانتایزش کنند. دومی این شکلیه که سعی میکنند در همون فرآیند آموزش شبکه، آموزش وزنها رو جوری انجام بدن که انگار واقعا در همون تایپ سبکتر دارن انجام میشن. دقت کیفیت مدلهای حاصل از روش دوم، نسبت به روش اول بالاتره قاعدتا. مساله ولی خب به این سادگیها نیست و پیچیدگیهایی برای خودش داره. مثلا نمیشه که پارامترهای شبکه رو کوانتایز کرد و مقادیر میانی رو به امان خدا ول کرد، این دو تا روی هم تاثیر دارند.
حالا یک سال پیش مقالهای به نام BitNet اومد و هدفش رو کوانتایزکردن وزنهای شبکه ترنسفورمری در یک بیت گذاشت. یعنی میخواست به شبکهای برسه که هر وزن شبکه یا ۱+ باشه یا ۱-. برای این کار اومد مقادیر میانی رو هم به uint8 کوانتایز کرد. اساس کارش هم این شکلی بود که اومد هر چی لایه Linear بود را با لایه ابداعی خودش تحت عنوان BitLlinear جایگزین کرد. در واقع لایههای خطی رو با لایههای خطی که وزنهاش فقط میتونستن یک یا منفی یک باشند جایگزین کرد. کلیت ایده هم این شکلیه که موقع آموزش مقدار هر وزن w در همون fp32 نگهداری میشه ولی از یک فانکشن sign رد میشن که مقادیرش رو به مثبت یک یا منفی یک تغییر میده. موقع بکوارد که گرادیان عقب میاد این w رو روش اثر میگذاره ولی موقع فوروارد پارامتری که در شبکه اثرگذاره همون نتیجه فانکنش sign بر w هست. وقتی هم که فرآیند آموزش تموم شد همون wهایی که صفر و یک هستند به عنوان مدل ریلیز میشن. مدتی بعد از این مقاله، یک مقاله دیگه با عنوان 1.58 - bit اومد. ایده کلی این مقاله این بود که وزنها بتونن عوض دو مقدار، حالا سه مقدار یک و صفر و منفییک بگیرند. ایده فنیتر این مقاله هم این بود که اگر لایهخطی رو این جوری فرض بگیریم که در ضرب ماتریسی، عناصر یک بردار ماتریس در یک بردار ضرب میشن و بعد با هم جمع میشن، با فرض این که وزنها میتونن صفر و یک و منفی یک باشند، میتونیم که تکه ضرب رو حذف کنیم و صرفا به جمع تبدیلش کنیم و این جوری در محاسبات و ذخیرهسازی صرفهجویی کنیم. از نشانههای قدرت این روش این که وقتی روی لاما ۱۳ بیلیونی اعمالش کردند، به مدلی بهتر، سریع تر، با میزان حافظه کمتر و مصرف انرژی کمتری نسبت به لامای ۳ میلیاردی fp16 ای رسیدند و کلی مورد مقایسه دیگه این شکلی.
لینک بلاگ:
https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-quantization
Maartengrootendorst
A Visual Guide to Quantization
Exploring memory-efficient techniques for LLMs
🔥1
Forwarded from Geek Alerts
گوگل معماری جدیدی به نام «تایتانها» (Titans) برای هوش مصنوعی معرفی کرده که میتونه دادههای بلند مدت رو به خاطر بسپاره.
این از نظر کارایی بهتر از مدل قبلی و معروف Transformers هست.
کارکردش اینجوری که از یک ماژول حافظه عصبی استفاده میکنه و یاد میگیره چه چیزهایی رو به خاطر بیاره و کدومهارو فراموش کنه.
این ماژول اجازه میده میلیونها نقطه دیتا رو بدون از دست دادن با دقت بالا پردازش کنه.
در واقع تو ساختش از حافظه انسان الهام گرفتن، حافظه کوتاه مدت ما دقیق اما محدوده و حافظه بلند مدت ما برای مدت بیشتری دیتا رو ذخیره میکنه.
ما معمولا از ترکیب اینها استفاده میکنیم و این کاری هست که titans هم انجام میده.
نتیجه اینه که مدل میتونه مسائل بسیار پیچیدهتر رو حل کنه.
علی بهروز (ایرانی و دانشآموخته شریف) محقق ارشد این معماری جدید در گوگل هست.
https://arxiv.org/pdf/2501.00663v1
analyticsindiamag
@geekalerts
این از نظر کارایی بهتر از مدل قبلی و معروف Transformers هست.
کارکردش اینجوری که از یک ماژول حافظه عصبی استفاده میکنه و یاد میگیره چه چیزهایی رو به خاطر بیاره و کدومهارو فراموش کنه.
این ماژول اجازه میده میلیونها نقطه دیتا رو بدون از دست دادن با دقت بالا پردازش کنه.
در واقع تو ساختش از حافظه انسان الهام گرفتن، حافظه کوتاه مدت ما دقیق اما محدوده و حافظه بلند مدت ما برای مدت بیشتری دیتا رو ذخیره میکنه.
ما معمولا از ترکیب اینها استفاده میکنیم و این کاری هست که titans هم انجام میده.
نتیجه اینه که مدل میتونه مسائل بسیار پیچیدهتر رو حل کنه.
علی بهروز (ایرانی و دانشآموخته شریف) محقق ارشد این معماری جدید در گوگل هست.
https://arxiv.org/pdf/2501.00663v1
analyticsindiamag
@geekalerts
👍4❤2