Singular Thinker – Telegram
Singular Thinker
948 subscribers
405 photos
17 videos
5 files
250 links
We talk about things that find them interesting.
توی این کانال از مطالبی که برامون جذاب باشه حرف
میزنیم، یا مطالب جذاب بقیه رو نشر می‌دیم.
Contact/راه ارتباطی:
@Singular_Thinker
Download Telegram
Singular Thinker
Photo
این #meme هم میریم که یه تنوعی بشه هم بخاطر میم آخر و پیوستن خانم zara به OF که من همین یه هفته پیش که داشتم تو یوتیوب میگشتم دنبال مطلب دیدم که چقدر ویدئوهاشون پرطرفداره😂🤦‍♂این ویدئو رو ببینید مثلا ۷۰۰ هزارتا ویو داره ولی بازم کفاف زندگی رو نمیداده گویا‌. وضع اقتصادی خرابه به نظر.
@SingularThinker
4💅3👎1🔥1
مدلسازی زبان - قسمت چهارم

خب تو قسمت سوم در مورد شبکه‌های عصبی بازگشتی ومشکلاتش صحبت کردیم و به این اشاره کردیم که کار رسید به سال ۲۰۱۷ و معماری ترنسفورمر توسط گوگل معرفی شد. ازون به بعد بواسطه یه سری از ویژگی‌هایی که داشت تبدیل شد به یکی از پایه‌های اصلی برای ساخت LLMها که امروزه دیگه همه جا اسمشون رو میشنوید. من میخواستم که امروز در مورد تاریخچه‌ی اینکه چی شد اصن که ایده ترنسفورمر شکل گرفت و انقدر موثر واقع شد صحبت کنم ولی گفتم احتمالا خیلیا اصن با خود ترنسفورمر آشنا نباشن پس قضیه رو الکی کشش ندم و اول به توضیح خود ترنسفورمر بپردازم و بعد
در مورد این جزئیات با هم صحبت کنیم.

خب پس بریم سر اصل مطلب. تا اینجا تو قسمت اول گفتیم که برای ساختن یه چت‌باتی مثل chatgpt به سه ماده اولیه احتیاج داریم:
یک- مدلِ به قدر کافی بزرگ(معمولا شبکه عصبی ترنسفورمر)
دو- مجموعه‌ی دادگان بسیار بسیار بزرگ
سه-تعداد بسیار زیادی gpu یا همون پردازنده گرافیکی برای اجرای برنامه بر روی آن

بعد گفتیم که با ترکیب این سه ماده و در طی دو مرحله(pre-training, fine-tuning) چت‌بات ما حاضره. ما تمرکزمون رو گذاشتیم که مورد اول رو با هم بررسی کنیم و تا الان در قسمت دوم و سوم مدل‌های زبانی قدیمی‌تر از ترنسفورمر رو بررسی کوتاهی کردیم. درباره‌ی مورد دوم و سوم از مواد لازم من توضیح خیلی خاصی ندارم که بدم شاید چون تجربه و دانشی خاصی خیلی در موردشون ندارم. فقط شاید بپرسید داده خیلی خیلی زیاد از کجا بیاریم؟ از هر جا که تونستید :)) و اینکه gpu به چه درد میخوره؟ به درد انجام محاسبات ماتریسی به طور سریع میخوره که در این مورد وقتی با ساختار ترنسفورمر آشنا شدیم یکم بیشتر توضیح میدم. سوال تکراری هم بپرسید که از کجا گیر بیاریم جواب تکراری میدم که از هر کجا که شد و دستتون رسید. پس به طور خلاصه :
ChatGPT = GPT + fine-tuning procedure
GPT(Generative Pre-trained Transformer) = a large language mode(LLM)

این Generative اش برمیگرده به این خاصیت مدل زبانی که متن تولید میکنه و pre-trained هم اشاره به فرآیند آموزش روی داده‌های بزرگ داره و این پیشوند pre نشون میده که باز هم میشه آموزشش داد.
حالا به چی چی میگن داف نه ببخشید ترنسفورمر؟ ترنسفورمر یک معماری به خصوص از شبکه عصبیه که شامل چهار بخش کلی هست که تو عکس پایین میبینیم:
- Embedding
- Encoder
- Decoder
- Unembedding

بخش Encoder و Decoder خودشون از دو بخش اصلی تشکیل شده که به ترتیب Multi-Head Attention و MLP یا feed-forward NN هست که راجع به هر کدوم تو قسمت‌های آینده توضیح میدم و با هم میریم جلو.

ولی الان صرفا بیاید به این فکر کنیم که چطوری جملات رو تبدیل به یه مشت عدد کنیم به طوری که معنا رو برای ما کدگذاری کنه؟ برای جواب این سوال این پست قبلی کانال رو بخونیم تا در قسمت بعدی بریم سراغ attention تا ببینیم همه ی چیزی هستش که بهش احتیاج داریم یا نه؟

منبع اصلی پست قبلی و این پست هم ویدئوهای بسیار زیبا از کانال 3blue1brown (سه آبی یه قهوه‌ای) هست که خیلی توصیه میکنم که خرد خرد شروع کنید به دیدن ویدئوهاش و عششش کنید.

سوال یا نظری داشتید بگید حتما و اگه دوست داشتید واسه بقیه هم بفرستید.
#notes #language_modeling
@SingularThinker
👍6🔥1
راهنمای مطالب کانال:

دسته بندی براساس نوع پست‌ها:

هشتگ #note برای یادداشت‌هایی که مینویسم
بعد #tweet و #video که مشخصه.
پادکستایی که حال بکنم رو با #podcast معرفی میکنم و همین طور #music. کلی #meme هم داریم. یه سری #شعر هم هست و در آخر ویدئوهای #youtube کانال رو هم میتونید بیابید.

دسته‌بندی براساس محتوا:
به طور کلی مطالب مربوط به ریاضی با #math و اون اوایل چندتا مطلب خوب در مورد #game_theory گذاشتم اگر دوست داشتید چک کنید.

یه سری راهنما برای #apply نوشتم و گاها #phd_position ها رو به اشتراک گذاشتم.

یه سری ابزار و توصیه در مورد تحقیق و پژوهش هم بوده که میشه با #research_stuff پیداشون کرد.

دو سه بار یه سری دوره هم معرفی کردم با #course اگه دوست دارید بگید بیشتر بذارم من کلی کورس میشناسم تو زمینه‌های مختلف.

با هشتگ #language_modeling هم میتونید پست‌های مربوطه‌ به chatgpt‌ و LLMها رو پیدا کنید.

یه سری وبینار و غیره مربوط به فیلد #learning_theory هم گذاشتم ولی فک کنم مخاطبای این مطالب خیلی کم باشیم. یکی از ترجیحای من این بود که اینجا علاوه بر مطالب عمومی یکم تخصصی‌تر هم در مورد این فیلد حرف بزنیم اگه پایه‌اید و علاقه‌مند یه ندا بهم بدید.

مطالب سریالی:
مدلسازی زبانی - قسمت اول/دوم/سوم/چهارم/ پنجم/ ششم/

فضای هیلبرت - معرفی/ قسمت اول/ قسمت دوم
توضیح نگار در مورد فضای هیلبرت

فضای هیلبرت reproducing kernel یا همون RKHS - قسمت اول/ قسمت دوم

اخیرا هم یه سری ویدئو از نظریه اطلاعات گذاشتم رو کانال یوتیوبم که میتونید اینجا پیداشون کنید:
مقدمات نظریه اطلاعات:‌جلسه اول/ دوم/ سوم / چهارم

در انتها هر نظر یا پیشنهادی یا هر حرفی دارید میتونید به صورت شناس به آیدی تو بیو و ناشناس با این لینک بگید بهم.
خرد یارتون و keep learning

@SingularThinker
👍2💅2
Singular Thinker pinned «راهنمای مطالب کانال: دسته بندی براساس نوع پست‌ها: هشتگ #note برای یادداشت‌هایی که مینویسم بعد #tweet و #video که مشخصه. پادکستایی که حال بکنم رو با #podcast معرفی میکنم و همین طور #music. کلی #meme هم داریم. یه سری #شعر هم هست و در آخر ویدئوهای #youtube…»
Mathematician and polymath John von Neumann was born on 28th December in 1903.

He could speak eight languages by the age of six, including Ancient Greek and Latin. He could divide eight-digit numbers in his head at the age of six. He was familiar with differential and integral calculus by the age of eight. He entered the University of Budapest at the age of 15 and earned a degree in chemical engineering at the age of 19. He obtained his Ph.D. in mathematics from the University of Berlin at the age of 22.

🔗 Physics In History (@PhysInHistory)

#tweet
@SingularThinker
5👍1💅1
نگار می‌گوید که
فروغ از انسان‌های موردعلاقه‌ی منه‌. من هیچوقت از آدم‌ها بت نمیسازم و نمیپرستمشون چون مسلما همه "آدمیم" و عاجز! ولی فاکتور‌های تحسین‌برانگیز آدم‌ها خیلی به چشمم میاد و وقتی اسم فروغ رو میشنوم فقط و فقط صفت جسارت توی ذهنم میاد. جسارت انتخاب کردن و جسارت زندگی…
جالب که زادروز فروغ و فان نیومن تو یه روز شده، دو تا انسان مورد علاقه من که جفتشون خیلی زود مردن :( یکی ۳۲ سالگی یکی دیگه ۵۳ سالگی.

به قول شفیعی کدکنی: 《هیچ روشنفکری بهتر از فروغ به ستیزه با سنّت برنخاست.》
🔥4💅1
My book is (at last) out, just in time for Christmas!
A blog post to celebrate and present it:
https://francisbach.com/my-book-is-out/

🔗 Francis Bach (@BachFrancis)

کتاب آقای باخ رو من شروع کردم و دو سه فصلی ازش رو خوندم و به نظرم جالبه. کلا متاسفانه کتاب خوب خیلی ندارم تو این فیلد ولی به نظرم این میتونه جای خالی رو پر کنه. اگه شروع کردید به خوندن بیاید بگید با هم در موردش حرف بزنیم. تو سایتش رایگان واسه دانلود هست.

#learning_theory #tweet
@SingularThinker
👍4🔥2
درامد دلاری با هوش مصنوعی || فرشید فرخی
قسمتی از تدریس هوش مصنوعی توسط بنده برای اساتید دانشگاها و مجهز سازی دانشگاه ها و اساتید به مهارت جهانی
هوش مصنوعی
واقعا دیگه این طوری نمیشه. این شما و این اولین هوش مصنوعیه که اجازه داره انسان با اون کار بکنه😂
ازین به بعد باید یه سری مطلبم بنویسم در مورد نحوه درآمد دلاری پسیو با هوش مصنوعی در آمریکا.
تعداد فالووئراش واقعیه؟ کلا هر کی زیاد از کلمه «هوش مصنوعی» استفاده میکنه میخوام کهیر بزنم.
خلاصه که خواستم بگم من هنوز زنده ام و زود زود با ادامه داستان مدلسازی زبانی برمیگردم.
💅8👍2🔥2
Singular Thinker
حالا چرا این بحثش برام جالب بود چون که اخیرا دوباره تو یک سری از کانال‌های خبری و حتی کانال‌های هوش مصنوعی خبرهایی از این دست که کوت کردم می‌دیدم یا مثلا این خبر از euronews با این تیتر که "هوش مصنوعی گوگل یک کاربر را به مرگ تهدید کرد؛ «تو لکه ننگ این جهانی،…
هر ایرانی، هر جا که هست یک قدم از استفاده از کلمه "هوش مصنوعی" فاصله بگیره | یادگیری آماری به عنوان رویکرد کلی حل مسئله

چرا اینو میگم؟ بخاطر اینکه هوش مصنوعی اسم یه زمینه تحقیقاتیه که از 1950 توسط Alan Turing و Marvin Minsky و این آدما شروع شده و زمینه‌های خیلی مختلف و متفاوتی داره. در واقع یه چتر بزرگیه که کلی زیربخش‌های دیگه رو تو خودش جا داده و رویکردهای مختلفی هم برای ساختن این هوش مصنوعی که توانایی‌های انسان‌گونه داشته باشه بوده و هست.

مثلا میتونیم به یکی از این رویکردها به اسم GOFAI اشاره کنیم که سرواژه‌های Good old fashioned AI عه و در واقع سعی میکردن به صورت Symbolic هوش انسانی رو مدلسازی بکنن و در مقابل ایده‌هایی مثل شبکه عصبی قرار میگیره.

من خیلی تاریخ هوش مصنوعی رو خودم مسلط نیستم و نمیخوام که الان تو این پیام توضیح بدم ولی اگه یه کتاب مرجع بخوایم بگیم میتونیم به کتاب Stuart Russell اشاره کنیم و بریم ببینیم که دقیقا هوش مصنوعی شامل چه چیزهایی میشه و اصن از کجا شروع شد و ...

اینا به کنار شاخه‌ای از این چتر بزرگ هوش مصنوعی وجود داره که تحت عنوان یادگیری ماشین یا یادگیری آماری ازش یاد میشه که در واقع یادگیری بر پایه‌ی داده یا همون نمونه هست. امروزه اساسا چیزهایی که ما معمولا بهشون میگیم هوش مصنوعی مربوط به این دسته از روش‌ها هستن.

حالا کل این جریان یادگیری آماری به نظر من مثل یه ابزار کلی برای حل مسئله است مثلا میشه به عنوان یه راه سومی از روش‌های حل مسئله مورد استفاده در علوم بهش نگاه کرد.

یعنی چی؟ یعنی تو علم ما میاییم به جهان اطراف نگاه میکنیم و سعی میکنیم بر اساس فیزیک و ریاضی یک سری معادله بنویسیم که بتونه رفتار پدیده‌ها رو در یک سطح انتزاعی توضیح بده و بعد سعی میکنیم که این معادلات رو حل کنیم و براشون جواب پیدا کنیم.

معمولا ابتدا سعی میکنیم که بتونیم با ابزار ریاضی مسئله رو به طور دقیق حلش بکنیم و به اصطلاح حل تحلیلی برای مسئله پیدا کنیم. اگه بتونیم مسائل رو به صورت تحلیلی حل کنیم که خیلی عالیه چون خیلی دقیقه. اما خیلی وقتا نمیتونیم مثلا نمیتونیم انتگرال‌ها رو حساب بکنیم یا معادله دیفرانسیل ها رو جوابشو پیدا کنیم.

پس چه کنیم؟ حالا روش دوم استفاده از روش‌های محاسبات عددیه. اینطوریه که سعی میکنیم که کمی مسئله رو برای تیکه‌های کوچیک و با کمی فرض‌های ساده سازی حل بکنیم و سعی کنیم مسئله اصلی رو به صورت مجموعی از این مسئله‌های ساده‌تر در نظر بگیریم و به اصطلاح تقریب بزنیم.

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

برای همین این جور ویدئوهای مثل پست قبلی یا این که میشنویم تیتر میزنن که هوش مصنوعی گفت که ۷۰ درصد شغل‌ها در ۵ ساله آینده از بین میرن و یا اینکه هوش مصنوعی گفت که نسل انسان رو میخواد منقرض کنه خیلی کله آدمو عصبی میکنه. چون هوش مصنوعی که یه شخص نیست بلکه یه اسم برای یه زمینه تحقیقاتی که شامل کلی زیربخشه. لطفا انسان‌پنداری‌اش هم نکنید حداقل فعلا. کلا به نظرم اصلا ازین کلمه استفاده نکنیم چه کاریه.

و این قضیه همونقدر به قول مهبد مسخره است اینکه ما بگیم هوش مصنوعی گفتش که مثلا من میخوام انسان‌ها رو بکشم که مثل این میمونه که اگه یک اکانتی تو اینستاگرام استوری گذاشت که برو بمیر بگیم که اینترنت گفت که برو بمیر. واقعا عین به عین همینه. چت جی پی تی مثل اینستاگرامه و هوش مصنوعی مثل اینترنت.

خلاصه که خواهشا هر کسی هر جا که هست، یک قدم از استفاده از کلمه هوش مصنوعی فاصله بگیره.
#note
@SingularThinker
👍115🔥1
مدلسازی زبان - قسمت پنجم

خب من بعد از یه وقفه‌ی طولانی برگشتم. قبل از هر توضیح اضافه‌ای بذارید بگم که کجا بودیم و اصلا میخواستیم چیکار کنیم. ما میخواستیم یه مدلسازی از زبان بکنیم به این صورت که اگه به ما یه جمله دادن ما بتونیم بگیم که کلمه‌ی بعدی احتمالا چی باید باشه. بعد دیدیم اولین ایده‌ای که به ذهن میرسه اینه که بریم تو مجموعه دادگان‌مون نگاه کنیم که بعد از این جمله چه کلماتی اومده و هر کدوم چندبار تکرار شدن و به نسبت این تکرار احتمال هر کلمه رو حساب میکنیم.

تو قسمت دوم دو تا مشکل خیلی اساسی این روشو گفتیم و بعد رفتیم دست به دامن شبکه های عصبی شدیم و دیدیم بر خلاف عکس و غیره اگه از ما بپرسن تو این جمله منظور از فلان ضمیر چیه ما اطلاعات کافی رو صرفا از خود این کلمه نمیتونیم بکشیم بیرون و باید کلمات و یا جملات قبلی رو هم در نظر بگیریم. اینجاست که میفهمیم به نوعی از شبکه عصبی احتیاج داریم که بتونه ترتیب رو متوجه بشه و رفتیم سراغ شبکه عصبی بازگشتی یا همون RNNها. بعد اومدیم اسم این اطلاعاتی که از کلمه های قبلی به بعدی منتقل میکنیم رو گذاشتیم hidden state یا memory state. بعد دیدیم مدلهای اولیه RNNها از کوتاهی حافظه رنج میبرن :)) و مثه ماهی گلی میمونن. بعد مدلهای LSTM اومدن که این مشکل حافظه رو حل بکنن.

اما این شبکه‌ها هم نتونستن به طور کامل مشکل به خاطر سپردن وابستگی‌های دور از هم رو حل بکنن. مثلا شما فرض کنید که تو دو جمله قبلی یه چیزی گفتید بعد الان با یه ضمیر دارید به اون اشاره می‌کنید این مدل مادر مرده باید تو بردار memory تونسته باشه اون مفهوم دو خط پیش رو نگه داره. از طرف دیگه این مدل‌ها نسبت به ترنسفورمر کمتر قابلیت موازی‌سازی محاسبات رو داره و از نظر مصرف میزان حافظه رو هم داره واسه همین وقتی مقاله ترنسفورمر تو سال ۲۰۱۷ اومد ترکوند.

خب آنچه در قسمت قبلی دیدید این بود که شبکه عصبی ترنسفورمر شامل چهار بخش کلی Embedding, Encoding, Decoding, Unembedding میشه. تو قسمت قبلی صرفا رو بخش اول تمرکز کردیم اینکه چطوری یه جمله شامل چندین کلمه رو میشه به بردارهایی تبدیل کرد که معنا رو کدگذاری میکنن و امیدوارم که این مفهومش جا افتاده باشه و این به خودی خود به نظرم خیلی مفهوم جالب و قشنگیه.

پیپر attention is all you need که تو سال ۲۰۱۷ اومد به نظرم یه شاهکار در زمینه مهندسیه چون به شکل خیلی هنرمندانه اومده کلی از ایده هایی که قبلا توسط بقیه معرفی شده بود رو به زیبایی در کنار هم قرار داده و جزو مقالات دارای پرشمارترین ارجاع هاست.

همچنین گفتم که :
بخش Encoder و Decoder خودشون از دو بخش اصلی تشکیل شده که به ترتیب Multi-Head Attention و MLP یا feed-forward NN هست.
حالا الان تمرکزمون رو بذاریم رو Multi-Head Attention و اصن Multi-Head اش رو هم بیخیال صرفا خود مکانیزم Attention. مکانیزم Attention چیه و اصن به چه دردی میخوره؟

اگه یادتون باشه تو بخش embedding ما هر token رو به صورت مجزا در نظر گرفتیم و تبدیلش کردیم به بردار و سعی کردیم معنا رو تو اون بردار کد کنیم. ولی دیدید میگن خب context هم مهمه واسه فهمیدن معنا یه جمله یا حتی یه کلمه اینجاست که بحث توجه میاد وسط به قول اون شعر معروف:

کار پاکان را قیاس از خود مگیر
گرچه باشد در نبشتن شیر شیر
آن یکی شیر است اندر بادیه
و آن دگر شیر است اندر بادیه
آن یکی شیر است که آدم می خورد
و آن دگر شیر است که آدم می خورد
حالا ما از کجا بفهمیم شیر که تو جمله میاد یعنی چی؟ باید ببینیم خب قبلش یا بعدش چی اومده و context یا همون بافتار این کلمه چیه. خب از کجا بدونیم به کجا باید «توجه» کنیم خب اونجاست که این مکانیزم کمک ما میکنه تا بتونیم بردار متناظر با هر token رو با استفاده از اطلاعات تو جمله بهبود ببخشیم. اما مکانیزم attention چطوری این کارو انجام میده؟
جواب به این سوال خیلی ظرافت داره. جواب خیلی کلی اینه که باید اون embedding خیلی خامی رو که داشتیم بروز بکنیم و از اطلاعات کلمه هایی که قبل و بعد هست استفاده کنیم حالا به بعضی از کلمه ها وزن بیشتری بدیم و به برخی دیگه وزن کمتر. سختیش کجاست اینکه دقیقا این وزنها و این به روزرسانی ها چطور انجام میشه و فرمولش چیه؟ اینجاییه که خیلی از آدما که تو فیلد کار میکنن نمیفهممن که چرا دقیقا این طوری حساب میکنیم. ازونجا که حس میکنم خیلی زبون درازی کردم و خیلی وقت نبودم این متن رو همین جا تمومش میکنم. باقی بقایتان.

ایشالا پنچ شنبه همین جمع (بزرگتر حتی) همینجا بریم برای قسمت ششم. پس تا بعد خرد یارتون🧠👋
#notes #language_modeling
@SingularThinker
🔥4💅1