مجله هوش مصنوعی (شماره 2)
دومین شماره مجله هوش مصنوعی هوسم رسید! 😊 از شما بابت استقبال از اولین شماره مجله هوش مصنوعی بسیار ممنونیم. امیدواریم، به کمک شما هر روز بهتر و بهتر شویم.
شبکه عصبی ViL
در شماره اول مجله هوش مصنوعی درباره شبکه xLSTM صحبت شد. این شبکه عصبی بسیار مورد توجه قرار گرفت. یکی از اتفاقات جالب پس از این شبکه عصبی، ارائه شبکه عصبی ViL بود. شبکه ViL مخفف Vision-LSTM هست. یک شبکه عصبی مخصوص حوزه بینایی (Vision) که بر مبنای شبکه xLSTM طراحی شده است! به زبان ساده، شبکه xLSTM برای کار با داده دنبالهای (متن) طراحی شده بود، اما آن را برای داده تصویری بازطراحی کردهاند. نکته جالبتر این هست که این شبکه هم توسط همان تیم اروپایی xLSTM به سرپرستی Sepp Hochreiter ارائه شده است! نام مقاله، خود گویای همه چیز هست:
Vision-LSTM: xLSTM as Generic Vision Backbone
ساختار کلی شبکه عصبی ViL یا Vision-LSTM در شکل زیر نشان داده شده است. ساختاری مشابه با ViT یا Vision Transformer دارد؛ تصویر ورودی، پچبندی و بعد Linear Projection اعمال میشود. بردارهای Position (با قابلیت یادگیری) با پچها جمع میشوند تا مجموعهای توکن برای ورود به شبکه تولید شود. پس از ورود توکنها به ViL Encoder، توکنهای Latent در خروجی بدست میآید. درنهایت، میانگین توکنهای اول و آخر به بخش طبقهبندی (Classifier) داده میشود.
حتما کنجکاو هستید که از ViL Encoder بیشتر بدانید! شبکه عصبی ViL شامل L لایه بلوک mLSTM است. در xLSTM دو سلول حافظه بنام mLSTM و sLSTM وجود داشت که در اینجا تنها از mLSTM استفاده شده است. ساختار mLSTM موجود در ViL در شکل زیر نشان داده شده است. البته، فقط لایههای زوج شامل بلوکهای Flip برای Flip کردن دنباله توکنها است. با این Flip یک اتفاق جالب میافتد؛ لایههای فرد در شبکه، تصویر را از گوشه بالا-چپ (top-left) به سمت گوشه راست-پایین (bottom-right) پردازش میکنند و لایههای زوج برعکس عمل میکنند.
شبکه TimesFM
اخیرا، گوگل در مقالهای با عنوان زیر مدلی بنام TimesFM برای پیشبینی در دادههای سری زمانی ارائه کرده است.
A decoder-only foundation model for time-series forecasting
همانطور که در عنوان مقاله اشاره شده، هدف، ساخت یک Foundation Model برای داده سری زمانی است. این کار مشابه با LLM-ها در NLP انجام داده شده و محققان گوگل به دنبال مدل کردن داده سری زمانی هستند. مشابه با مدل سازی زبان یا Language Modeling در NLP که یک مدل زبانی (LM) روی دادههای متنی آموزش میدهیم. هدفمان این هست که زبان را مدل کنیم. در LLM هم آن L اول (Large) نشان دهنده این هست که یک مدل زبانی بسیار بزرگ داریم که روی حجم بسیار زیادی داده متنی آموزش داده شده است. برای آشنایی بیشتر با مدلسازی زبان و LLM پست مدل زبانی چیست؟ و LLM چیست؟ را مطالعه کنید.
البته، این اولین بار نیست که یک Foundation Model برای داده سری زمانی ارائه شده است. اولین Foundation Model، به آگوست 2023 برمیگردد که TimeGPT پیشنهاد شد. بعد از آن هم، مدلهای دیگری ارائه شد، اما این یکی (TimesFM) یک چیز دیگست! 😊
نکته جالب این هست که شبکه TimesFM به بزرگی مدلهای LLM نیست و فقط ۲۰۰ میلیون پارامتر دارد! مقایسه کنید با مدلهای بیلیون پارامتری LLM… در تصویر زیر، نمایی از شبکه TimesFM نشان داده شده است. داده ورودی بهصورت Auto-regressive به مدل داده میشود. داده ورودی به پچهای به طول 32 دیتاپوینت تقسیمبندی میشود و مدل در خروجی یک پچ به طول 128 ارائه میدهد. سپس، این خروجی به عنوان ورودی به مدل داده میشود تا خروجی بعدی را پیشبینی کند. این پروسه همینطور ادامه پیدا میکند…
دو نوع دیتاست برای آموزش مدل استفاده شده است: ۱) دادههای ساختگی، ۲) دادههای واقعی که شامل ۱۰۰ بیلیون دیتاپوینت هست! 😲 نتایج بدست آمده، بسیار امیدوارکننده هست. ازجمله اینکه مدل TimesFM خاصیت Zero-shot دارد؛ یعنی، روی دیتاستهایی که آموزش ندیده، عملکرد خوبی از خود نشان داده است. اطلاعات بیشتر
آموزش پیاده سازی شبکه GPT-2 با Andrej Karpathy
آقای Andrej Karpathy که یکی از افراد مشهور و اثرگذار در حوزه هوش مصنوعی هست. هرازگاهی ویدئوی آموزشی در یوتوب منتشر میکند که بسیار آموزنده و سطح بالاست. حالا، در جدیدترین ویدئوی خود به پیاده سازی شبکه GPT-2 را آموزش داده است! البته، این ویدئو صرفا شامل پیاده سازی شبکه نیست. بلکه، آموزش و تست شبکه، بهینهسازی شبکه برای دستیابی به سرعت بالاتر از جمله مباحثی است که در این ویدئو آموزش داده شده است. مدت زمان این ویدئو 4 ساعت است! 😋 پیشنهاد میکنیم این ویدئوی آموزشی را از دست ندهید و پیش از مشاهده آن، پست LLM چیست؟ هوسم را مطالعه کنید.
حالا که صحبت از آقای Karpathy شد، کم لطفی است اگر کمی از ایشان نگوییم! ایشان از افرادی بودند که سالها پیش دوره معروف CS231 دیپ لرنینگ استنفورد را همراه با سایر دانشجویان استنفورد به سرپرستی خانم دکتر Fei Fei Li برگزار کردند. همچنین، Head AI در شرکت تسلا بودند و مدتی هم در شرکت OpenAI کار کردند. آقای Lex Fridman یک مصاحبه جالب با آقای Karpathy انجام داده است؛ و این سوال و جالب در مصاحبه:
- Fridman: عاشق درس دادن هستی؟
- Karpathy: نمیتونم بگم که عاشق درس دادن هستم. اما وقتی میبینم که این کار من باعث خوشحال شدن بقیه میشه، انجامش میدم!
لینک یوتوب آموزش پیاده سازی GPT-2
کتاب درباره LLM
این روزها، حسابی بحث Large Language Models یا LLMs داغ داغ است. مدام LLM-های جدید با اندازههای مخوف معرفی میشود و ما هم 🤯! اخیرا، دو کتاب درباره LLM معرفی شده که بسیار ارزشمند هستند. در این بخش، این دو کتاب را به شما معرفی میکنیم.
کتاب اول، Build a Large Language Model (From Scratch) از آقای Sebastian Raschka هست که در مجموعه دوستداشتنی Manning منتشر شده است. در این کتاب، تئوری و کدنویسی LLM تشریح شده است. نویسنده این کتاب از افراد مشهور و اثرگذار در حوزه هوش مصنوعی است. اگر میخواهید به درک عمیقی در LLM برسید، این کتاب به شما پیشنهاد میشود. فصلهایی از کتاب را بهصورت آنلاین میتوانید مطالعه کنید.
کتاب Build a Large Language Model (From Scratch)
کتاب دوم، Building LLMs for Production است. همانطور که از عنوان مشخص هست، کتاب رویکردی تجاری دارد. این کتاب توسط مجموعه Towards AI با همکاری جمعی از متخصصین طی حدود 1.5 سال کار آماده شده است. نویسنده اول این کتاب، آقای Louis-François Bouchard هست که شخص شناختهشدهای در حوزه هوش مصنوعی است. این کتاب را میتوان مکمل کتاب اول دانست؛ در کتاب اول، مباحث تئوری، کدنویسی، آموزش و ارزیابی LLM پوشش داده شده و در کتاب دوم مباحث لازم برای تولید محصول تجاری مبتنی بر LLM را آموزش داده شده است.
کتاب Building LLMs for Production
کتابخانه PyGWalker
کتابخانه PyGWalker، یک ابزار خوب برای تحلیل اکتشافی داده (EDA) هست.
PyGWalker: A Python Library for Exploratory Data Analysis with Visualization
در Exploratory Data Analysis یا EDA دنبال استخراج اطلاعات و پیدا کردن الگوهای مهم از دل دیتاست هستیم. اگر دوره یادگیری ماشین هوسم را گذرونده باشید، احتمالا به خوبی با مفهوم و کارکرد EDA آشنا هستید. برای EDA، معمولا از Pandas Matplotlib و یکسری کتابخانههای دیگر استفاده میشود. اما کتابخانه PyGWalker شاخصهای دارد که آن را متمایز از کتابخانههای پانداس و متپلات میکند! با PyGWalker در ژوپیتر نوتبوک، میتوانید از طریق یک رابط گرافیکی EDA انجام دهید. برای درک بهتر این کتابخانه، ویدئوی زیر را مشاهده کنید:
PyGWalker را چگونه تلفظ کنیم؟! در معرفی کتابخانه، توسعهدهندهگان گفتهاند که تلفظ آن چگونه هست: 😁
PyGWalker (pronounced like “Pig Walker”, just for fun) is named as an abbreviation of “Python binding of Graphic Walker”.
مشاهده معماری داخلی شبکه عصبی
گوگل پکیجی بنام model_explorer دارد که به شما امکان ویژوالایز کردن مدلها را میدهد. چنین پکیجی برای بررسی المانهای تشکیلدهنده یک مدل میتواند مفید باشد. مثلا، تصمیم دارید که از جزئیات داخلی مدل TimesFM بیشتر بدانید. اگرچه که بسیاری از مدلها در یک مقاله آکادمیک با جزئیات تشریح شدهاند، اما به هر صورت بازهم مواردی پیش میآید که نیاز به بررسی معماری داخلی یک مدل داشته باشیم. ویدئوی زیر کارکرد این کتابخانه را نشان میدهد.
ما هم در قالب یک نوتبوک، دستورات لازم برای نصب و استفاده از کتابخانه را گفتیم.
این هم از شماره دوم مجله هوش مصنوعی! امیدواریم، خوشتان آمده باشد. 🤞
مطالب زیر را حتما مطالعه کنید
مجله هوش مصنوعی (شماره 1)
8 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
عالی بود
ممنون 😊🙏🌹
1- حتی تلفظ صحیح🤦♂️کامااان! چقدر ی گروه میتونه کاردرست باشه آخه
2- آموزش پیادهسازی GPT همون چیزی بود که امروز بعد الکامپ تو فکرش بودم👌
3- پیگ واکر رو باید فورواردش کنم برا دوستم که قشنگ نسخ همچین ابزاریِ برا پایاننامهش😁
مرسی که هستید❤️
خیلی خوشحالیم که مفید بوده.
ممنون از شما برای حمایتتون ❤️
سلام، این کاری که شروع کردین فوق العاده اس ✌️😍
من به شخصه کلی مطالب جدید آموختم، و قطعا هرکدام از بخش ها نیازمند به مطالعه بیشتری داره که با لینک های پیوست شده این امر میسر میباشد.
خیلی ممنون بابت کارای قشنگتون🌹❤️ امیدوارم همچنان ادامه دار باشه ✌️✌️
ممنون برای تشویق و انرژی مثبت 😊🙏🌹
سلام
من مجله هوش مصنوعی 2 رو خوندم
خیلی خیلی خوب بود واقعا لذت بردم هم خیلی ساده توضیح داده بودید هم مطالب تنوع خوبی داشت مثلا شامل مقالات جدید و مباحث کاربردی مثل معرفی کتابخونه ها و … بود خلاصه که ممنون و تشکر
خوشحالیم که دوست داشتید میلاد عزیز 😊🙏