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
کلمه‌ها رو چطور میشه عدد کرد؟ پرده اول - توی جلسه ارائه پوستر داشتم با عکاس اون ایونت که از قضا ایرانی هم بود صحبت میکردم و قشنگ یادمه که سر پوستر xLSTM وایستاده بودیم و پرسید که اع چرا این پوستر انقدر شلوغه بعد شروع کردم یکم توضیح دادن و با توجه به بازخوردش…
خب آقا با ما در شهر بمانید که قراره این سری از مطالب Language modeling رو شروع کنیم به زودی. چیزهایی جالبی پیدا کردم و فک کنم چیزهایی جالبی میشه گفت. احتمالا یه مدتی زمینه اصلی کانال این بمونه. شروع کنیم با هم به اشتراک گذاشتن چیزهای جالب در مورد این مدل‌ها و از نگاه‌های مختلف بررسی‌اش کنیم. و من بیشتر بگم چرا من فکر میکردم و میگفتم که این مدل‌ها هنوز کار دارن تا به AGI و مرحله خطرناک برسن.

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

@SingularThinker
👍4🔥1
خب ولی اول یه کم میم ببینیم. میم‌های این سری خدان😂مخصوصا اون تفاوت همبستگی و علیت خیلی باحال بود.
#meme
@SingularThinker
👍5
از قمر الملوک وزیری نخستین خواننده زن در تاریخ ایران که بدون حجاب روی صحنه رفت تا #پرستو_احمدی که شجاعت روی صحنه رفتن در این زمانه رو به جان خرید.

🔗 معین (@moviizz)

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

لینک کنسرت پرستو احمدی در یوتیوب

#music
@SingularThinker
5🔥2
مدلسازی زبان - قسمت اول

میخوای بدونی چطوری ربات chatgpt خودتو بسازی و باهاش پول دربیاری؟ پس این مطلبو بخون تا نشونت بدم.

نه وایسا اینجا ازین خبرا نیست ولی بجاش تلاش میکنم تا در مورد چیزای جالبی در مورد مدل های زبانی که در موردشون صحبت شده با هم حرف بزنیم و فکر کنیم.

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

چیزی که همین الان به ذهنم رسید اینه که اگه chatgpt رو به صورت یه غذا ببینیم میتونیم به این فک کنیم که مواد اولیه و دستور پخت اون چی باید باشه. پس شروع میکنم با مواد لازم برای طرز تهیه chatgpt:

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

خب حالا اگه از دید خیلی سطح بالا بخوایم مراحل پختشو نگاه کنیم اول باید داده‌ها و مدل رو بریزیم تو gpuها و زیرشو زیاد کنیم تا جوش بیاد و کامل بپزه بعد پس از آبکشی در آخر دم میکنیمش(واقعا پختنش دو مرحله ایه و به مرحله اول میگن pre-training و به مرحله دوم میگن fine-tuning. فعلا نمیخواد نگران باشید که چین اینا بعدا بهش میپردازیم.) اما همین طور که میدونید فرق هست بین قرمه سبزی که مامان میپزه و چمن پلو سلف. پس جزئیات و چگونگی ترکیب کردن این ها هم خیلی مهمه.‌

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

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

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

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

- منبع خوب متنی در مورد tokenization

#note #language_modeling
@SingularThinker
🔥8👍2