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
شبکه‌های عصبی کولموگروف-آرنولد (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
پارادایم TAG یا Table-augmented Generation توسط پژوهش‌گران دانشگاه برکلی و استنفورد معرفی شده و برای تبدیل کوئری متنی به کد SQL روی دیتابیس استفاده می‌شود.

گیت‌هاب:
https://github.com/TAG-Research/TAG-Bench

مقاله:
https://arxiv.org/pdf/2408.14717v1
👍163
مایکروسافت ابزاری به‌نام AutoGen Studio را منتشر کرده که به پژوهش‌گران حوزه‌ی Multi Agent Systems اجازه می‌دهد بدون کدنویسی (فقط با drag-n-drop) یک سامانه‌ی چندعامله مبتنی بر GenAI را به‌عنوان پروتوتایپ و به‌سادگی چند کلیک پیاده‌سازی کنند.


pip install autogenstudio
autogenstudio ui -- port 8081


بلاگ‌پست معرفی:
https://www.microsoft.com/en-us/research/blog/introducing-autogen-studio-a-low-code-interface-for-building-multi-agent-workflows/

گیت‌هاب:
https://github.com/microsoft/autogen/tree/main/samples/apps/autogen-studio

مقاله:
https://arxiv.org/pdf/2408.15247
👍252🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
واترمارکینگ در مدل‌های GenAI

واترمارکینگ در GenAI به نشانه‌گذاری‌هایی درون محتوای تولیدشده (متن، تصویر، ویدئو، موسیقی و …) گفته می‌شود که از نگاه ما پنهان ولی در نگاه ماشین آشکار باشند.

مثلا گوگل در محصولات GenAI خود از ابزاری به‌نام SynthID استفاده کرده و محتوای تولید‌شده را واترمارک می‌کند.

بنابراین به‌عنوان‌نمونه شما در مواجهه با یک تصویر در بخش جست‌وجوی گوگل، می‌توانید با مراجعه به قسمت about this image واترمارک آن را بررسی کنید. یا با مراجعه به سایت‌هایی مثل ZeroGPT انسانی بودن یک متن را بررسی کنید.

روش عمل‌کرد واترمارک در LLM ها به‌این‌صورت‌ست که:
می‌دانیم، مدل زبانی، در هر لحظه، توکن بعدی را به‌صورت یک توزیع احتمال روی واژه‌نامه، پیش‌بینی می‌کند. ابزارهای واترمارکینگ، این توزیع احتمال را جوری‌که به دقت، صحت و خلاقیت متن آسیبی نرسد، تغییر می‌دهند. به‌این‌صورت، حتی در یک متن سه‌جمله‌ای نیز تعداد قابل توجهی واترمارک وجود دارد که از نگاه ما پنهان‌ست ولی ابزارهایی مانند SynthID یا ZeroGPT آن‌را آشکار می‌کنند.

https://deepmind.google/technologies/synthid/
👍231
گوگل نامِ TensorFlow Lite را به LiteRT تغییر داد.

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

اما در ادامه تبدیل به یک runtime عمومی برای اجرای مدل‌های یادگیری ماشین نوشته‌شده توسط TensorFlow و Keras و Pytorch و JAX برروی دستگاه‌های Edge از جمله موبایل‌های اندرویدی و iOS و همین‌طور Embedded Devices شد.

نام جدید، بیان‌گر ویژن جدید این محصول‌ست.

https://developers.googleblog.com/en/tensorflow-lite-is-now-litert/?linkId=10850223
👍129🔥1