School of AI – Telegram
School of AI
10.6K subscribers
290 photos
94 videos
11 files
612 links
هدف ما در این اجتماع کوچک، آموزش و ترویج هوش مصنوعی و افزایش سطح آگاهی و تخصص نسبت به آن است.
باشد که دست در دست هم، آینده‌ی این صنعت را در میهن‌مان ایران بسازیم.

https://www.aparat.com/v/Pmrs8
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
پژوهش‌گران گوگل و دانشگاه MIT با استفاده از یک Diffusion Model توانستند ویژگی‌های مادی مربوط به جنس اشیا مثل شفافیت (Trasparency)، زبری (Roughness)، فلزی بودن (Metalic) و سپیدایی (Alpedo) را در تصاویر تغییر دهند.

اطلاعات فنی:
www.prafullsharma.net/alchemist/

مقاله:
arxiv.org/pdf/2312.02970
👍25👏13
This media is not supported in your browser
VIEW IN TELEGRAM
دومین نسخه از مدل Segment Anything یا SAM 2 توسط متا منتشر شد!

مدل SAM یک مدل بنیادین برای بخش‌بندی (Segmentation) تصاویرست که می‌تواند با دریافت یک پرامپت به صورت نقطه یا Bounding Box هر موجودیتی را در تصویر، سگمنت کند.

نسخه‌ی دوم علاوه بر تصویر، از ویدئو هم با سرعت ۶ برابر (۴۴ فریم-بر-ثانیه - مناسب کاربردهای بی‌درنگ) و عمل‌کردی حیرت‌انگیز پشتیبانی می‌کند.

وزن‌های مدل، کد و مجموعه‌داده‌ی SA-V، به‌صورت کاملا اوپن‌سورس‌ و تحت یک لیسانس Apache 2 permissive منتشر شده‌اند.

بلاگ‌پست معرفی:
https://ai.meta.com/blog/segment-anything-2/

دمو:
https://sam2.metademolab.com/
https://huggingface.co/spaces/SkalskiP/segment-anything-model-2

نوت‌بوک:
https://colab.research.google.com/github/roboflow-ai/notebooks/blob/main/notebooks/how-to-segment-images-with-sam-2.ipynb
👍287
پدیده‌ی Double Descent


در یادگیری ماشین، می‌دانید که اگر مدل خیلی ساده‌تر از حد نیاز باشد، آموزش نمی‌بیند و درنهایت، پس از چند تلاش، کم‌برازش (Underfit) خواهد شد. هرچه مدل را پیچده‌تر کنیم (مثلا تعداد پارامترها را بیش‌تر کنیم)، بیش‌تر آموزش می‌بیند و قابلیت تعمیم (Generalization) آن به‌تر می‌شود. این به‌ترشدن قابلت تعمیم، از روی کاهش مقدار خطا به‌ازای داده‌های ارزیابی مشخص‌ست.

اما این خطا تا کجا کاهش می‌یابد؟ آیا هرچه‌قدر مدل پیچیده‌تر شود، خطای ارزیابی آن کمتر و قابلیت تعمیم آن بیش‌تر می‌شود؟!

در مدل‌های ساده‌تر و سنتی‌تر یادگری ماشین، هرچه مدل پیچیده‌تر می‌شد، نیاز به داده‌ی آموزشی بیش‌تری هم داشت. بنابراین با ثابت بودن سایز مجموعه داده، افزایش پیچیدگی از یک‌جا به بعد باعث بیش‌برازش (Overfitting) مدل و حفظ‌کردن داده‌ها و نویزها می‌شد و قابلیت تعمیم مدل از بین می‌رفت.

اما در دنیای مدل‌های جدید (مثلا مدل‌های زبانی بزرگ) شاهد آن‌یم که مدل هرچه بزرگ‌تر و پیچیده‌تر می‌شود قدرت‌مندتر و قابل تعمیم‌تر می‌شود! این تناقض ناشی از چی‌ست؟!

از پدیده‌ی جالبی به‌نام Double Descent که در شبکه‌های عصبی بسیار بزرگ دیده می‌شود. نوعی Regularization ضمنی که ظاهرا به‌علت رویه‌ی آموزش (مثلا الگوریتم کاهش گرادیان) اتفاق می‌افتد. در این حالت، با پیچیده‌تر شدن مدل (مثلا بیشترشدن تعداد پارامترها)، ابتدا خطای ارزیابی کاهش یافته، پس از آن در جایی با پدیده‌ی بیش‌برازش روبه‌رو شده و خطای ارزیابی افزایش می‌یابد، اما با پیچیده‌ترشدن مدل، از جایی به بعد، برای بار دوم خطای ارزیابی کاهشی شده و عمومیت مدل به‌تر می‌شود!

تصویر زیر را ببینید 👇👇👇
👍31
👍25🔥4👏2
Forwarded from Recommender system (MehriMah Amiri)
This media is not supported in your browser
VIEW IN TELEGRAM
استودیو LangGraph: اولین محیط یکپارچه توسعه هوش مصنوعي

استودیو LangGraph یک IDE تخصصی برای Visualization، Interaction و Debugging کردن برنامه‌های پیچیده Agentic فراهم می‌کند.

با استفاده از استودیو LangGraph، می‌توانید به راحتی برنامه‌های Agentic خود را روی دسکتاپ مشاهده و با آن‌ها تعامل کنید و همچنین مشکلات موجود در آن‌ها را برطرف کنید.

اگر به دنبال ابزاری قدرتمند برای مدیریت و بهبود برنامه‌های Agentic خود هستید، استودیو LangGraph راه‌حلی مناسب برای شماست و همچين ميتواند كار شما را براي كاركردن با مدل هاي زباني بزرگ راحت كند.

لينك
👍27
در لینک زیر می‌توانید مدل‌های اوپن‌-سورس جدید و محبوب مثل Llama 3.1-405b و stable-video-diffusion رو که توسط NVIDIA NIM سرو می‌شه، امتحان کنید.

https://build.nvidia.com/explore/discover‌
😍10👍6🙏2
شبکه‌های عصبی کولموگروف-آرنولد (KANs)

درشبکه‌های عصبی، ما معمولا به‌دنبال تخمین‌زدن یک تابع چندمتغیره‌ی پیوسته‌ی بسیار پیچیده هستیم!

در شبکه‌های عصبی سنتی (MLP ها)، هر سیگنال ورودی به‌صورت خطی، در یک پارامتر (وزن یال‌ها) ضرب شده، حاصل این ضرب‌ها وارد node های لایه‌های بعدی شده و آن‌جا با هم تجمیع (+) می‌شوند و حاصل‌جمع از یک تابع غیرخطیِ ثابت (Activation Function) مثل ReLU یا Sigmoid عبور می‌کند. قضیه‌ی Universal Approximation می‌گه، از نگاه تئوری، یک MLP با فقط با یک لایه‌ی پنهان (شامل تعداد نورون متناهی اما گاها خیلی زیاد) قادرست هر تابع چندمتغیره‌ی پیوسته، با هر میزان پیچیدگی را با هر دقتی که مدنظر ما باشد، تخمین بزند.

شبکه‌های KAN اما براساس قضیه‌ی Kolmogorov-Arnold Representation شکل گرفته‌اند که می‌گه، هر تابع چندمتغیره‌ی پیوسته (هرچند پیچیده) رو می‌شه به‌صورت جمع تعداد متناهی (اما گاها بسیار زیاد) تابع تک متغیره‌ی پیوسته نوشت (به‌صورت دقیق!) بنابراین، در شبکه‌های KAN، هر سیگنال ورودی به‌جای ضرب ساده و خطی در یک پارامتر ثابت (وزن یال)، از یک تابع تک‌متغیره‌ی پیوسته (آموزش دیده‌شده) می‌گذرد و هر نورون فقط مسئول تجمیع (+) خروجی این توابع‌ست. درواقع، به‌جای هر وزن روی هر یال، یک تابع آموزش داده می‌شود و بنابراین هر نورون می‌تواند فقط شامل یک جمع ساده باشد.

توابعی که روی هر یال، آموزش می‌بینند، از نوع ‌Spline اند. توابع اسپلاین، در بازه‌های مختلف و متفاوت از دامنه‌ی خود به‌شکل چندجمله‌ای‌های مجزا تعریف شده و قادرند هر منحنی (هرچند پیچیده) را تخمین بزنند. ازین رو گزینه‌ی مناسبی برای توابع آموزش‌پذیر در KAN ها اند.

یکی از مشکلات شبکه‌های عصبی سنتی، فراموشی ناگوار (Catastrophic Forgetting) است. وقتی یک داده‌ی جدید را به شبکه آموزش می‌دهیم، تعداد بسیار زیادی پارامتر تغییر می‌کنند (به علت تاثیر هر تابع فعال‌سازی بر تعداد بسیار زیادی پارامتر روی یال‌های ورودی به نورون) و ممکن‌ست دانشی که از داده‌های قبلی به‌دست آمده،‌ فراموش شود. اما در KAN ها به علت محلی بودن هر تابع اسپلاین، تعداد بسیار کم‌تری پارامتر تغییر کرده و فراموشی ناگوار در این شبکه‌ها به‌مراتب کم‌تر‌ست و این شبکه‌ها نسبت به نویز مقاوم‌ترند.

باتوجه به قدرت بالای توابع اسپلاین در یادگیری توابع غیر خطی، و همین‌طور مشخص‌بودن یال‌های بی‌اهمیت و قابل هرس (Pruning) از روی تابع تخمین‌زده‌شده، تعداد لایه‌های مورد نیاز در کل شبکه و تعداد نورون‌های هر لایه، می‌توانند به‌مراتب کم‌تر بوده و با تعداد پارامتر آموزش‌پذیر کم‌تر به Generalization بیش‌تر و سریع‌تر رسید. ازطرفی مدل‌های KAN بسیار تفسیرپذیرتر بوده و می‌توانند ضابطه‌ی ریاضی تابع تخمین‌زده‌شده‌ی نهایی را نیز معرفی کنند! (شکل زیر)

با این همه خوبی، آیا قراره شبکه‌های KAN جایگزین شبکه‌های فعلی در هوش مصنوعی شن؟! معلومه که نه! اساس پیش‌رفت شبکه‌های عصبی در سال‌های اخیر، استفاده از GPU برای ضرب بهینه‌ی همین ماتریس‌های وزنی‌ست که در KAN حذف شده 😀 بنابراین (تا جایی که فعلا می‌دونیم) این شبکه‌ها برای کاربردهای علمی و مهندسی مناسب‌اند نه پردازش الگوهای پیچیده مثل بینایی ماشین و مدل‌سازی زبان.
👍2410
سامانه‌های RAG چگونه ارزیابی می‌شوند؟

سامانه‌های RAG، دانش دقیق و به‌روز که هنگام آموزش LLM دردسترس نبوده رو در یک پایگاه دانش (Knowledge Base) ذخیره کرده و براساس درخواست (پرسش) کاربر، آن‌را بازیابی کرده و به‌شکل In-context Learning به LLM می‌دهند.

پیاده‌سازی این سامانه‌ها به‌ویژه به‌کمک چارچوب‌هایی مثل LangChain ساده‌ست اما ارزیابی عمل‌کرد این سامانه‌ها به این سادگی نیست.

چارچوب Ragas یا RAG Assessment یکی از ابزارهایی‌ست که برای ارزیابی عمل‌کرد سامانه‌های RAG به‌کار می‌رود و می‌توان آن را با پایپلاین CI/CD و هم‌چنین LangSmith نیز یک‌پارچه کرد.

این ابزار به‌کمک یه مدل زبانی، خروجیِ دو مرحله‌ی retrieval و generation رو بررسی کرده و امتیازهایی مثل faithfullness و relevancy را گزارش می‌دهد.


مقاله:
https://arxiv.org/pdf/2309.15217

سایت رسمی:
https://docs.ragas.io/en/stable/

‌پست آموزشی:
https://docs.smith.langchain.com/old/cookbook/testing-examples/ragas
https://cobusgreyling.medium.com/rag-evaluation-9813a931b3d4
https://towardsdatascience.com/rag-evaluation-using-ragas-4645a4c6c477
👍1610
مدل یا سامانه؟!

در پیاده‌سازی اپلیکیشن‌های مبتنی بر هوش مصنوعی دو رویکرد کلی وجود دارد:
۱. ساخت یک مدلِ End-to-End که صفر تا صد کار را از روی داده‌ی آموزشی، یادگرفته و در قالب یک مدلِ یک‌پارچه به انجام کار (Task) می‌پردازد.
۲. ساخت یک سامانه‌ی Compound AI که از اجزای مختلف از جمله مدل‌ها و ماژول‌ها و ابزارهای نرم‌افزاری مختلف تشکیل شده و در قالب یک سامانه‌ی ترکیبی،‌ به انجام کار می‌پردازد. این سامانه در حین انجام کار ممکن‌ست چندین بار، یک مدل مشخص را به‌شکل‌های مختلف فراخوانی کند.

روش اول ساده‌تر و تاحدی سریع‌ترست. پژوهشی موسوم به Scaling Laws هم نشان می‌دهد که با افزایش پیچیدگی محاسباتی مدل می‌توان به نتایج بهتری رسید. ازطرفی بهینه‌سازی کلیِ این روش ساده‌ست چون برخلافِ یک سامانه‌ی AI متشکل از اجرایی مثل موتور جستجو، همه‌ی اجزای یک مدل End-to-End مشتق‌پذیر و قابل‌بهینه‌سازی‌اند.

بااین‌حال، روندها نشان‌دهنده‌ی این‌اند که علاقه‌مندی بیشتر به‌سمت طراحی سامانه‌ها (System Design) و بهره‌گیری از ابزارها و روش‌های موجود در مهندسی‌ست. در زیر، شش دلیل برای این علاقه‌مندی آمده‌ست.

- وقتی از مدل‌ها استفاده می‌کنیم، هزینه‌ی تمام‌شده و دقت، مشخص و ثابت‌ست اما اپلیکیشن‌ها و بخش‌های مختلف آن‌ها، بسته به کاربرد، نیاز به دقت و هزینه‌ی متفاوت دارند. مثلا وقتی قرارست یک متن حقوقی دقیق نوشته شود، هزینه‌ی GPT-4o اصلا برای کاربر دغدغه نیست اما زمانی که اپلیکیشنی مثل GitHub Copilot قصد کمک به تکمیل کد برنامه‌نویس در هر خط را دارد، احتمالا استفاده از یک مدل ساده‌تر و ارزان‌تر مطلوب‌ترست.

- در بعضی از تسک‌ها (مثلا حل مسابقات برنامه‌نویسی)، افزایش جدی هزینه‌ی آموزش مدل (مثلا افزایش سه‌برابری)، باعث بهبود عملکرد مدل می‌شود ولی نه زیاد (مثلا دقت ۳۰ درصد می‌شه ۳۵ درصد) اما فقط با مهندسی‌ِ یک سامانه‌ی Compound AI ممکن‌ست بهبود بسیاری حاصل شود (مثلا ۸۰ درصد) - منبع

- مدل‌های ML (با وجود قابلیت Generalization) محدود به داده‌های آموزشی‌اند ولی اپلیکیشن‌های AI نیاز به پویایی دارند. استفاده از یک سامانه به‌جای یک مدل، امکان استفاده‌ی لحظه‌ای از جستجو و بازیابی به‌منظور دریافت اطلاعت جدید و دقیق را به اپلیکیشن اضافه می‌کند. با دسترسی مستقیم به مراجع خارجی در کنار دانش داخلیِ مدل، اپلیکیشن قابلیت شفافیت (Transparency) و تفسیرپذیری (Interpretability) بیشتری پیدا می‌کند که این قدم مهمی در راستای Trustworthy AI است.

- خیلی از داده‌ها را به‌علت رعایت مسايل مربوط به privacy و copyright و safety نمی‌توان موقع آموزش به مدل نشان داد. استفاده از سامانه‌های Compound AI به ما اجازه‌ی کنترل داده‌ها باتوجه به سطح دسترسی افراد (ACL) را می‌دهد. به‌این شکل اپلیکیشن در هنگام استفاده‌ی کودک به داده‌های مشخص‌تر و امن‌تری دسترسی دارد، فایل‌های شخصی افراد فقط براستفاده‌ی خودشان قابل بازیابی‌اند، برای دسترسی به بعضی از داده‌ها می‌توان حقوق مولف را درنظر گرفت و …

- مدل‌ها پتانسیل بالایی در تولید توهم (Hullucination) دارند. استفاده از ابزارهایی مثل Guardrails و Outlines و LMQL و SGLang در سامانه‌های AI، به ما اجازه‌ی ارزیابی، پایش و پالایش خروجی مدل را می‌دهند. این موضوع می‌تواند در کنترل سوگیری‌های اجتماعی (Social Bias) ازجمل سوگیری‌های سیاسی، نژادی، مذهبی و … کمک‌کننده باشد. پژوهش جدیدی نشان می‌دهد که بیش‌تر مدل‌های زبانی موجود (به‌‌علت سوگیری در داده‌های جمع‌آور‌ی‌شده از رسانه‌ها) ازنظر سیاسی چپ-‌گرا‌اند.

- با این‌که همه‌ی اجزای یک سامانه‌ی AI مشتق‌پذیر نیستند اما ابزارهایی مانند DSPy معرفی شده‌اند که به‌روش‌هایی سعی در بهینه‌کردن کل پایپ‌لاین سامانه به‌صورت End-to-End دارند.


مرجع: بخش‌های از نوشتار بالا از این بلاگ‌پست برداشت شده‌ست.
👍167
پژوهش‌گران، یک AI Agent مبتنی بر LLM را معرفی کردند که قادرست مقاله‌های علمی هوش مصنوعی در سطح کنفرانس را نوشته و ارزیابی کند!

https://arxiv.org/pdf/2408.06292
👍19
اگر قصد مطالعه‌ی مقاله‌ی Attention is All You Need رو دارید،
به‌جاش لینک زیر رو مطالعه کنید.

https://nlp.seas.harvard.edu/annotated-transformer/

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

مهم‌تر این‌که، هم‌گام با مقاله، کد پاتورچ هم زده شده که به درک مقاله کمک شایانی می‌کنه.
🔥30👍17
School of AI
شبکه‌های عصبی کولموگروف-آرنولد (KANs) درشبکه‌های عصبی، ما معمولا به‌دنبال تخمین‌زدن یک تابع چندمتغیره‌ی پیوسته‌ی بسیار پیچیده هستیم! در شبکه‌های عصبی سنتی (MLP ها)، هر سیگنال ورودی به‌صورت خطی، در یک پارامتر (وزن یال‌ها) ضرب شده، حاصل این ضرب‌ها وارد node…
همین هفته‌ی پیش بود که در مورد شبکه‌های عصبی کولموگروف-آرنولد نوشتیم، حالا دومین نسخه از این معماری معرفی شده‌ست.

در نسخه‌ی نخست، هر نورون فقط یک جمع‌کننده‌ی ساده بود و یال‌ها به‌جای وزن‌های ساده‌ی قابل آموزش، توابع اسپلاین آموزش‌پذیر بودند. در دومین نسخه ظاهرا به این پرسش پرداخت شده که چرا نورون‌ها فقط جمع‌کننده‌ها‌ی ساده باشند؟!

https://arxiv.org/pdf/2408.10205
14👍8🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
پروژه‌ی ChatDev یک سامانه‌ی چندعاملی (Multi-agent) مبتنی بر LLM است که یک شرکت نرم‌افزاری کامل شامل مدیر ارشد اجرایی، مدیر ارشد محصول، مدیر ارشد فناوری، برنامه‌نویس، آزمون‌گر، طراح و … را شبیه‌سازی می‌کند.

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

این مجموعه می‌تواند تسک‌هایی مثل “ساخت بازی پینگ‌پونگ” را گرفته و آن را با هم‌کاری تیمی انجام دهد.


گیت‌هاب:
https://github.com/OpenBMB/ChatDev

مقاله:
https://arxiv.org/pdf/2307.07924
👍14🔥5
خوب احتمالا بیش‌تر دوستان می‌دونن که در ساخت سامانه‌های نرم‌افزاری مبتنی بر LLM ها (منظورم Compound AI System هاست) از پایپلاین RAG برای بازیابی دانش به‌روزِ لازم و ارسال اون به LLM استفاده می‌شه.

در این صورت لازمه که دانش موردنظر رو ازقبل Embed کرده و در یک دیتابیس برداری مثل Picone یا دیتابیس گرافی مثل Neo4j ذخیره کنیم.

اما در سامانه‌های بی‌درنگ (Realtime) با جریان (Stream) داده‌ها روبه‌روییم و لازم‌ست آن‌ها را Embed کرده و در اولین فرصت ممکن برای بهره‌برداری توسط RAG آماده کنیم.

مرسوم‌ترین ابزار برای استریم‌کردن داده‌ها Apache Kafka است که اگر به‌صورت جدی و در مقیاس بزرگ باهاش کار کرده‌ باشید، بعیده موی مشکی داشته باشید و دراین‌صورت Redpanda دوست خوب شماست :)

مقاله‌ی زیر آموزش ساخت یک سامانه‌ی RAG به‌صورت Realtime و به‌کمک Redpanda و LangChain و MongoDB رو آموزش می‌ده.

https://medium.com/@jameskinley/streaming-text-embeddings-for-retrieval-augmented-generation-rag-95da9249a548
26👍6
This media is not supported in your browser
VIEW IN TELEGRAM
اگر در زمینه‌ی بینایی رایانه (Computer Vision) فعال باشید، حتما Roboflow رو می‌شناسید.

مهم‌ترین قابلیتی که Roboflow به متخصصان CV ارائه می‌ده، قابلیت Annotate کردن تصاویر و آماده‌سازی و میزبانی دیتاست‌ست.

این ابزار از مدل‌های بنیادین مثل GroundingDINO و SAM استفاده کرده و تا جای ممکن، عمل Annotation رو به‌صورت خودکار انجام می‌ده.

امروز SAM2 به روبوفلو اضافه شد که عمل‌كرد بی‌نظیر اون رو در تصویر می‌بینید.
👍41
دوستان عزیزی که محتوای کانال رو در رسانه‌های خودتون، به‌جای فروارد، کپی می‌کنید،

نوش جون‌تون،
اگه هدف‌تون رسوندن دانش و اخبار به مخاطبه،
دم‌تون هم گرم،
نیازی به cite و کردیت نیست.

اما دیگه حداقل زیرش کپی‌رایت خودتون رو نزنید 😄

لینک‌های وسط پُست هم خیلی مهم‌اند، پاکشون نکنید 😕

پی‌نوشت: اسم کانال رو شطرنجی نکردم که کردیت لازم به کانالی که تصویر ازش برداشت شده، حفظ شه 🤭
👏519👍7😍1
Forwarded from DeepMind AI Expert (Mehdi Dehghani)
ورکشاپ #Diffusion_Models در #NeurIPS_2023

این ورکشاپ حدود 8 ساعت هست، در قسمت Schedule میتونید بخش دلخواه از ورکشاپ را ببینید:
https://neurips.cc/virtual/2023/workshop/66539


لینک زیر لیست سایر ورکشاپ های NeurIPS 2023 هست:
https://neurips.cc/virtual/2023/events/workshop

#منابع #ورکشاپ #کنفرانس #دیفیوژن #NeurIPS

🔸 مطالب بیشتر 👇👇

@AI_DeepMind
🔸 @AI_Person
👍136🔥1
پژوهش جدید و جالب از تیم پروفسور Manning - دانشگاه استنفورد

Recurrent Neural Networks Learn to Store and Generate Sequences
using Non-Linear Representations

https://arxiv.org/pdf/2408.10920
👍19🔥4
یک مقاله‌ی خوب و کامل برای بازنگری روش‌های GraphRAG

https://arxiv.org/pdf/2408.08921
👍82
اگه در حال طراحی یک AI Agent برای … هستید،
دست نگه دارید!
طراحی Agent تون رو به Agent جدید بچه‌های دانشگاه UBC و آزمایشگاه‌های Vector و CIFAR بسپارید.

https://arxiv.org/pdf/2408.08435
🔥15👍71