مجله هوش مصنوعی (شماره 1)
این اولین شماره مجله هوش مصنوعی هوسم هست! 🥳 ما در هوسم، هر روز با هوش مصنوعی درگیر هستیم. میخواهیم مطالب جالب و جدید را در قالب مجله در هوسم منتشر کنیم. امیدواریم که استمرار داشته باشیم و شما هم دوست داشته باشید. بزن بریم…
شبکه xLSTM 🔥
خانـــمها و آقایــــان،
شبکه xLSTM تنه به تنه LLM-های ترنسفوری میزند!
شبکه جدیدی به نام xLSTM یا Extended LSTM معرفی شده که توجه زیادی را به خودش جلب کرده است. این مقاله را آقای Sepp Hochreiter همراه با تیمش ارائه کرده است. حالا آقای Sepp Hochreiter چه کسی است؟ همان کسی که 30 سال پیش شبکه عصبی LSTM را همراه با آقای Jürgen Schmidhuber پیشنهاد کردند. حالا بعد از 30 سال، نسخه امروزی (شاید مدرن!) شبکه LSTM را همراه با تیمش پیشنهاد کردهاند.
آنها شبکه LSTM را طوری توسعه دادهاند که قابلیت Scale شدن پیدا کند. یعنی شبکههای LSTM بیلیون پارامتری داشته باشیم! مثل LLM-ها (مدلهای زبانی بزرگ) امروزی مانند GPT و Llama که میلیاردها (همان بیلیونها!) پارامتر دارند.
بهصورت کلی، ساختار شبکه xLSTM در تصویر زیر نشون داده شده است. اما توضیحات شکل زیر از چپ به راست:
- سلول حافظه در شبکه عصبی LSTM که شامل c و h هست. همان شبکه قدیمی…
- با توسعه LSTM اصلی، دو سلول حافظه (Memory Cell) با نامهای sLSTM و mLSTM ساخته شده است.
- sLSTM و mLSTM را در ساختار Residual Block (همان شورتکاتهای شبکه ResNet) قرار میدهیم تا xLSTM Block شکل بگیرد.
- نهایتا با Stack کردن بلوکهای xLSTM به معماری یا شبکه xLSTM میرسیم!
نتایج گزارش داده شده در مقاله نشان میدهد که این شبکه قابلیت Scale شدن دارد و از لحاظ کارایی قابل رقابت با مدلهای زبانی بزرگ است.
شبکه Kolmogorov-Arnold Networks یا شبکه KAN 💣
شبکه Kolmogorov-Arnold Networks یا KAN یک شبکه عصبی جدید است که مولفانش آن را آلترناتیوی برای MLP میدانند. البته، معتقد هستند که شبکه KAN نسبت به MLP دقیقتر و تفسیرپذیرتر هست. این شبکه با الهامگیری از تئوری بازنمایی Kolmogorov-Arnold یا Kolmogorov-Arnold Representation Theorem ساخته شده است.
اما شبکه KAN بهصورت کلی چگونه کار میکند؟ قبل از اینکه به این سوال پاسخ دهیم، بهتر است مرور کنیم که شبکه MLP چگونه کار میکند؛ در شبکه عصبی MLP مجموعهای لایه فولی کانکتد وجود دارد. یک لایه فولی کانکتد، ورودی x در ماتریس وزن W ضرب و سپس با بایاس b جمع میشود. درنهایت، از یک تابع فعالساز مانند سیگموید یا رلو عبور میکند. همچنین، به کمک الگوریتم پسانتشار خطا به دنبال یافتن مقادیر بهینه W و b هستیم.
اما شبکه KAN با بازتعریف نقش و عملکرد توابع فعالسازی، تغییری اساسی در شبکه MLP ارائه کرده است. توابع فعال سازی شبکه MLP ثابت و غیر قابل یادگیری هستند. اما شبکه KAN دارای توابع تک متغیرهای است که هم به عنوان وزن و هم به عنوان توابع فعال سازی عمل می کنند. در شکل زیر، معماری شبکه MLP و KAN نشان داده شده است؛
- شبکه MLP روی یالها (Edge) وزن دارد. بعد از اعمال وزنها و نهایتا تابع فعال ساز اعمال میشود.
- شبکه KAN روی یالها، تابع تک متغیره (Φ) دارد که نقش تابع فعال ساز و وزن دارد.
مشاهده انیمیشن زیر هم خالی از لطف نیست؛
همانطور که گفته شد، شبکه KAN آلترناتیوی برای MLP است. MLP یک شبکه پایهای است که در دل بسیاری از شبکههای دیگر مانند شبکه های بازگشتی یا ترنسفورمر وجود دارد. یعنی، شبکه KAN میتواند جایگزین MLP در شبکه های بازگشتی، ترنسفورمر و غیره شود. اتفاقا، در همین راستای کارهایی انجام شده است؛ بهعنوان، شبکه کانولوشنی برمبنای KAN یا شبکه GPT برمبنای KAN. در لینک زیر، مطالب مرتبط با شبکه KAN جمعآوری شده است.
ارائه ترنسفورمر در بینایی کامپیوتر
همانطور که میدانید، شبکه ترنسفورمر اولین بار در تسک ترجمه ماشینی در حوزه پردازش زبان طبیعی معرفی شد. اما، به سرعت این شبکه وارد حوزه بینایی کامپیوتر شد. مثلا، در سال 2020 شبکه ویژن ترنسفورمر (Vision Transformer) ViT توسط گوگل برای دستهبندی تصاویر ارائه شد. پس از این شبکه، معماریهای مختلفی از ترنسفورمرها برای کامپیوتر ویژن ارائه شد. این مدلها از ساختار ترنسفورمر برای استخراج ویژگی از تصاویر و آشکارسازی ارتباط بین قسمتهای مختلف تصویر استفاده میشوند.
در این بخش میخواهیم یک ارائه (Talk) نیم ساعته درباره آخرین دستاوردها از ترنسفورمر در بینایی کامپیوتر را به شما معرفی کنیم؛ در این ارائه، طبیعتا ترنسفورمرها تدریس نشدهاند، اما نگاهی مروری به مقالههای مبتنی بر ترنسفورمر در بینایی کامپیوتر شده است. مقالاتی که در این ارائه معرفی شده است:
- ViT
- DINOv2
- SigLip
- OWL
- Segment Anything
- Depth Anything
- KOSMOS-2
- و …
البته، ارائه فقط شامل معرفی شبکه نبود؛ درباره موارد زیر هم توضیح داده شده است:
- Hugging Face
- اجرای مدلهای ویژن ترنسفورمر در هاگینگ فیس
- فاینتیون (Fine-tune)
کتابخانه جدید پایتورچ برای LLM بهنام torchtune
پایتورچ یک کتابخانه جدید به نام torchtune معرفی کرده که مخصوص فاینتیون کردن LLM-هاست.
torchtune is a Native-PyTorch library for LLM fine-tuning.
با این کتابخانه میتوانید LLM-ها را Finetune کنید و روی آنها آزمایش انجام دهید. برای شروع، دو لینک را به شما پیشنهاد میدهیم:
- چشماندازی از کتابخانه و قابلیتهای آن لینک
- نمونه مثال از شبکه Llama3 که شامل بخشهای معرفی مدل، دسترسی به مدل، فایلتیون کردن با تورچتیون، ارزیابی مدل فایلتیونشدن، تولید متن، تولید سریعتر متن با کوانتیزیشن هست. لینک
نرم افزار PyCharm مجهز به LLM
JetBrains یک شرکت نرمافزاری است که برنامههای توسعه نرمافزاری قدرتمندی تولید میکند؛ از جمله محصولات معروف آن میتوان به IntelliJ IDEA، PyCharm، PhpStorm، و RubyMine اشاره کرد. شرکت Jetbrains آمده IDE-هایش را به یک مدل LLM محلی (Local) 100 میلیون پارامتری با Context سایز 1500 توکن مجهز کرده است. منظور از مدل محلی هم یعنی اینکه مدل از سختافزار شما برای اجرا استفاده میکند و نیازی به اینترنت ندارد.
اما چگونه کار میکند؟ اگر با پایچارم کار کرده باشید، میدانید که auto complete قوی دارد و همین که یکی دو حرف از دستور را بنویسیم، سریع دستورات مرتبط را پیشنهاد میدهد. حالا با مدل LLM تعبیهشده در IDE-هادیگر کلا دستور را همراه با ورودی و خروجی به شما پیشنهاد میدهد. به خاطر همین، نام آن را full line code complete گذاشتهاند!
وبلاگ Jetbrains برای اطلاعات بیشتر
اولین، سری مجله هوش مصنوعی تمام شد! چطور بود؟ لطفا نظرات خود را با ما به اشتراک بگذارید. نظرات شما به کمک میکند که در سریهای بعدی بهتر شویم. سپاس 🙏
مطالب زیر را حتما مطالعه کنید
مجله هوش مصنوعی (شماره 2)
12 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
بینظیر بود👌
سپاس فراوان بابت جمعآوری و به اشتراک گذاری چنین مطالب بهروز و ارزشمندی
انشاءالله ما هم بتوانیم روزی جا پای بزرگانی چون شما بگذاریم و انقدر برای مملکتمون مفید واقع شیم
سایهتون مستدام استاد
ممنون، لطف دارید.
براتون بهترینها رو آرزومندیم.
خیلی خیلی عالی و مفید بودش، ممنون از تیم هوسم، بازم مثل همیشه حسابی گل کاشتید🌷
ان شاءالله موفق و سلامت باشید و همینطور پرقدرت و بروز برید جلو😇✌🏻 لطفاً ادامه بدید ✨
ممنون امیرمحمد عزیز 😊🙏🌹
عالی بود. مرسی
🙏🌹
سلام خیلی خوب بود
عملکرد KAN خیلی هوشمندانه بود، یه متغیر هم اکتیویشن فانکشن باشه و هم وزن
امیدوارم این مجله رو ادامه بدید، ممنون.
ممنون 😊🌺
عالی بود، عالی
شبکه xLSTM خیلی برام جالب بود.
ممنون که مطالب بروز قرار میدید.
موفق باشید همیشه 🌷
سپاس 😊🌺🙏
عالی بود استاد، مخصوصا لینک ارائه ترنسفورمر ها
کلی مطالب جدید متوجه شدم،
امیدوارم همینطور ادامه دار باشه ✌️🌹
خوشحالیم که مفید بوده 😊
ممنون 🙏