Telegram Web Link
مدل WebGPT؛ به GPT-3 اینترنت و مرورگر دادند!

چند وقت قبل شرکت OpenAI از مدل WebGPT رونمایی کرد که باعث شگفتی خیلی‌ها شد و خیلی ترکوند.

شرکت OpenAI با یه تیم متشکل از یه نیسان آدم اومده GPT-3 رو فاین‌تیون کرده تا بتونه سوال‌های دامنه‌باز رو با استفاده از یک مرورگر (browser) پاسخ بلند (در حد پاراگراف) بده! یعنی واقعا یه مرورگر تکستی درست کردند و دادند دست مدل GPT-3 که با بینگ (موتور جستجوی مایکروسافت) سرچ کنه و جواب سوال رو «تولید» کنه.

در این پست خلاصه‌ای از نحوه‌ی کار و نتایج این مدل رو بررسی کردیم. اگر به نظرتون خوب بود، لایک کنید و دست به دست کنید.

https://virgool.io/overfit/papers-webgpt-a0xvwzafrj2q

#overfit
#read
#blog

پ.ن. رسیدیم به دو کا. مبارکا. ممنون که به بقیه، اندک کانال خودتون رو معرفی می‌کنید. تشکرات!

@nlp_stuff
خط‌کشی برای سنجش کیفیت document understanding

در این پست می‌خوایم به معرفی benchmark برای تسک document undestanding بپردازیم. این benchmark تسک document undestaning رو تبدیل به سه مساله اصلی کرده:

- تسک اول Document QA است که از روی layout داکیومنت می‌تونه سوال بپرسه و مدل باید جواب بده. در این حالت سوال‌ها به صورت زبان طبیعی پرسیده میشه اما کانتکست درواقع یه داکیومنته که layout داره (متنی که استایل داره یعنی فونت یا سایزهای متفاوتی داره). مثلا از مدل می‌پرسند که دو نوع تاریخی که در این داکیومنت وجود داره چه چیزهایی هستند؟ و مدل هم باید مثلا بگه تاریخ فاکتور و تاریخ پرداخت.

- تسک دوم key information extraction است که شبیه تسک اوله با این تفاوت که دیگه query با زبان طبیعی مطرح نمیشه بلکه مدل اطلاعات کلیدی این داکیومنت رو باید بیرون بکشه. مثلا مجموع فاکتور برابر با ۲۰۰۰ دلاره.

- تسک سوم هم Table QA/NLI هست که کار QA و یا NLI رو بر روی جداول انجام می‌ده. این تسک مشخصا بر روی جداول تمرکز داره و سعی می‌کنه برخی از عبارات رو با استفاده از جدول موجود در داکیومنت verify کنه. مثلا یه جمله ورودی می‌گیره که آیتم شماره ۱ به مقدار ۲۰۰ قلم فروخته شده و مدل باید بگه که این جمله درسته یا نه. البته میشه از روی جدول، سوال هم پرسید و مدل باید بتونه جواب بده.

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

لینک benchmark:
https://duebenchmark.com/leaderboard

لینک github:
https://github.com/due-benchmark

لینک مقاله:
https://datasets-benchmarks-proceedings.neurips.cc/paper/2021/file/069059b7ef840f0c74a814ec9237b6ec-Paper-round2.pdf

#read
#paper

@nlp_stuff
مینی‌پستی برای استخراج patch

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

لینک رشته توییت:
https://mobile.twitter.com/MishaLaskin/status/1478500251376009220

#read
#tweet
#code

@nlp_stuff
گنج قارون! مجموعه مساله‌های یادگیری عمیق برای مصاحبه‌های آکادمیک و یا شغلی

امروز کتابی رو براتون معرفی می‌کنیم که شامل مساله‌های متنوعی در حوزه یادگیری ماشین و یادگیری عمیقه. این مساله‌ها عموما سوالاتی هستند که در مصاحبه‌های آکادمیک و یا شغلی پرسیده می‌شوند. حالا این کتاب به طرز نکویی این مساله‌ها رو به همراه جواب‌هاشون گردآوری کرده که می‌تونید برای افزایش توانمندی‌هاتون ازش استفاده کنید. سوالات این کتاب عموما یا سوالات مفهومی و پایه‌ای حول اون حوزه هستند و یا سوالات کاربردی که هر کدوم چالش‌های خاص خودش رو داره. مثلا در سوالاتی کاربردی ممکنه یه تیکه کد به PyTorch داده باشه و بخواد که شما بگید چی کار می‌کنه. فصل‌های این کتاب به ترتیب از مباحث پایه‌ای مثل logistic regression شروع میشه و به مفاهیم پیچیده‌تر در حوزه شبکه‌های عمیق مثل CNNها و مساله‌های مربوطه می‌رسه. توصیه می‌کنیم اول سوال‌ها رو نگاه بندازید و بعد سعی کنید اون‌ها رو حل کنید. اگه جوابی به ذهن‌تون نمیرسه به جای اینکه مستقیم سراغ بخش solutions برید سعی کنید در کتاب‌های دیگه در حوزه یادگیری ماشین و یادگیری عمیق جواب اون سوال رو پیدا کنید. مثلا یکی از سوال‌هاش اینه:
کدوم توزیع آماری بیشترین آنتروپی رو در یه بازه بسته داره؟ اول کمی فکر کنید و بعد جوابش رو در تصویر می‌تونید ببینید.

لینک کتاب:
https://arxiv.org/abs/2201.00650

#book
#read

@nlp_stuff
در انتقال یادگیری از لایه‌های میانی غافل نشوید

در سناریو انتقال یادگیری و هنگامی که بخواهیم شبکه پیش آموزش دیده روی تسک مبدا را برای تسک مقصد استفاده کنیم، دو راه پیش‌روی خود داریم. راه اول این است که شبکه را به اصطلاح فریز کنیم و یک لایه خطی روی فیچر‌های لایه آخر شبکه برای تسک مقصد استفاده کنیم. راه دوم هم این است که کل شبکه را مورد فاین تیون قرار بدهیم. حالا مقاله‌ای اومده که نشون داده راه سومی هم جز این دو هست و این راه فریزکردن شبکه و در عین حال سوارکردن یک لایه خطی بر روی فیچرهای تمام لایه‌های میانی شبکه است (نه فقط فیچرهای لایه آخر). در واقع سوالی که منجر به این ایده شده این بوده که Fine-tuning با این که پیچیدگی و تعداد پارامتر بیشتری نسبت به حالت فریزکردن مدل داره چرا بهتر عمل میکنه؟ نکنه در سناریو Fine-tuning صرفا فیچرهای میانی شبکه دارند به آخر شبکه پاس داده می‌شوند؟؟)

این مقاله ابتدا اومده imagenet رو به عنوان تسک مبدا در نظر گرفته و ۱۹ دیتاست دیگه مثل Cifar100 و Clevr و Pets و ... رو به عنوان تسک مقصد در نظر گرفته. سپس یک مقداری تحت عنوان domain affinity محاسبه کرده که نشون میده هر کدوم از این ۱۹ تسک مقصد چه قدر به imagenet نزدیک هستند. حالا اومدند و برای هر کدوم از این دیتاست‌ها سه سناریو دسته‌بند خطی روی شبکه مبدا فریزشده (Linear)، فاین تیون‌کردن شبکه مبدا (Fine-tuning) و اموزش دادن از اول (Scratch) و نتایج این روشها رو تو عکس figure2 ای که مشاهده میکنید گذاشتند. در این نمودار دیتاست های سمت چپ دارای affinity کمتر و دیتاست‌های سمت راست دارای affinity بیشتری هستند. نمودار نشون میده که برای دیتاست‌های چپ سناریو Scratch جواب‌بهتری از بقیه میده و برای دیتاست‌های راست هم سناریو Linear جواب خوبی میده ( که منطقی هم هست).

در گام بعدی مقاله اومده و مدل خودش یعنی Head2Toe رو مطرح کرده. در این مدل ابتدا شبکه مبدا (همون پیش آموزش دیدهه روی imagent) فریز میشه و سپس تمامی فیچر‌های میانی شبکه انتخاب می‌شوند. از اونجایی که سایز اینها خب زیاده فیچرهای هر لایه توسط یک مکانیزم pooling ابعادشون کاهش پیدا میکنه. در نهایت تمامی این فیچرهای کاهش بعد داده شده تمامی لایه‌ها با هم کانکت می‌شوند و یک بردار ویژگی بزرگ به دست میاد (اسمش رو h_all بذارید). از اونجایی که این h_all هم بزرگه و آموزش دادن کلاسیفایر خطی روش ممکنه منجر به اورفیت بشه، مقاله اومده از رگولاریزیشن Group lasso برای آموزش یک دسته‌بند خطی روی این بردار بزرگ استفاده کرده تا وزن‌هایی که به دست میان اسپارس باشن و هم به نوعی عمل فیچر سلکشن رو روی h_all انجام داده. در نهایت هم اومدن head2Toe رو روی اون ۱۹ دیتاست مختلف اجرا کردند و نشون دادند که در میانگین روششون بهتر از سناریو‌های دیگه نظیر Linear و حتی Fine-tune داره عمل میکنه!

لینک مقاله:
https://arxiv.org/abs/2201.03529

#read
#paper

@nlp_stuff
مدل رترو؛ ترکیب مدل زبانی و دیتابیس!

شرکت دیپ‌مایند مدلی به نام رترو داده که با ۷.۵ میلیارد پارامتر با مدل‌هایی مثل GPT-3 با ۲۵ برابر پارامتر در تسک‌های بر پایه‌ی اطلاعات (مثل پرسش و پاسخ) برابری می‌کند.
همونطور که می‌دونید مدل‌های زبانی برای پیش‌بینی احتمال یک کلمه با توجه به کلمات قبل و بعد ساخته شده‌اند. این پیش‌بینی گاهی نیاز به دانش زبانی مانند گرامر و درک معنا داره و گاهی نیز نیاز به اطلاعات دانش عمومی داره. مثلا در جمله‌ی «علی کاپوت ماشین را … زد.» مدل باید با دانش زبانی بگه: «بالا» و مثلا در جمله‌ی «کارگردان فیلم یک تکه نان … است» باید مدل با اطلاعات و دانش، جای خالی رو با «کمال تبریزی» پر کنه (البته طبیعتا نباید این موضوع را قبلا در داده‌ی آموزش دیده باشه).

مدل‌های زبانی غول‌آسا مثل جی‌پی‌تی تمام اطلاعات را در پارامترهای مدلشون ذخیره می‌کنند. برای دانش زبانی شاید این روش جواب بده اما برای دانش عمومی قطعا کارا نیست چون شونصد تا فکت وجود داره. حالا تیم دیپ مایند مدلی به نام RETRO (Retrieval Enhanced TRansfOrmers) ارائه کرده که از یک مدل زبانی خیلی کوچکتر از جی‌پی‌تی برای دانش‌های زبانی و یه دیتابیس بزرگ از اطلاعات عمومی داره استفاده می‌کنه. حالا این روش چند تا فایده بزرگ داره: اول اینکه مدل زبانی میتونه خیلی کوچیکتر باشه و فقط روی بحث‌های زبانی تمرکز کنه که این یعنی سریعتره و استفاده و دیپلویش هم راحت‌تر میشه. دوم. واسه اینکه سوال‌ها و داده‌های جدید (مثلا سوال: «ماتریکس (۴) در چه سالی ساخته شد؟») را هم مدل پاسخ بده لازم نیست دیگه دوباره آموزش داده بشه و کافیه که دیتابیس به‌روز بشه. در پست webgpt شرکت OpenAI قسمت بازیابی رو روی دوش اینترنت انداخته بود و توصیه می‌کنیم حتما اون پست را هم بخونید.

حالا مدل retro مثل مدل T5 در حقیقت یک انکودر-دیکودره و از یک دیتابیس استفاده می‌کنه. دیتابیس به صورت key-value داده‌ها رو ذخیره کرده. مقدار دو بخش داره: neighbor که یک متنه و امبدینگ برتش میشه کلید و بخش دوم به نام completion که ادامه‌ی متن neighbor است. این دیتابیس ۲ تریلیون توکن داره!!
نحوه آموزش بدین شکله که ورودی اول میره داخل برت و با استفاده از میانگین‌گیری از امبدینگ‌های کلمات، امبدینگ جمله ساخته میشه. با این بردار، به دیتابیس کوئری زده میشه و نزدیکترین همسایه‌ها با الگوریتم scann پیدا میشه. حالا این متن‌ها (همسایه‌ها و ادامه‌شون) با متن ورودی اصلی، میشن ورودی به رترو تا آموزش ببینه که پاسخ رو تولید بکنه. یعنی اینجوری مدل یاد میگیره با دیتابیس و نه فقط با پارامترهاش جواب رو تولید کنه. معماری کلی مدل در مقاله توضیح داده شده و مفصلش رو نگاهش کنید؛ دو استک انکودر و دیکودر داره که استک انکودر ۳۲ تا بلوک انکودر ترنسفورمری عادی داره و استک دیکودر از بلوک‌های دیکودر ترنسفورمری و یک سری بلوک بلوک دیکودر رترو ساخته شده. این معماری دیکودر رترو هم یه بخش اضافه به نام chunked cross-attention داره. مدل را در تسک‌هایی مثل تسک مدل زبانی و تسک پرسش و پاسخ و … هم امتحان کردند و نتایجش را در مقاله ببینید.

تصاویری از خلاصه معماری و نحوه عملکرد مدل رو هم می‌تونید در ضمیمه مشاهده کنید.

لینک مقاله:
https://arxiv.org/abs/2112.04426

لینک رشته توئیت خلاصه مقاله:
https://threadreaderapp.com/thread/1474702607444815873.html

#read
#paper

@nlp_stuff
کورس CS224U: فهم مدل زبانی

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

لینک صفحه کورس:
https://web.stanford.edu/class/cs224u/

لینک یوتیوب کورس:
https://www.youtube.com/playlist?list=PLoROMvodv4rPt5D0zs3YhbWSZA8Q_DyiJ


پ.ن. با تشکر از آقای صدرا صبوری که این کورس رو بهمون فرستادند که در کانال قرار بدیم. شما هم مطلب مفیدی بود بفرستید.

#coach
#course


@nlp_stuff
لیبل استودیو؛ ابزاری که باید پر شال هر دیتاساینتیست باشد!

طبیعتا گام اول و تقریبا مهم‌ترین گام در هر پروژه مدل‌سازی، جمع‌آوری دیتا و به‌خصوص دیتای لیبل‌خورده است. حتما می‌دونید که این کار چقدر مشقت‌باره و زمان زیادی رو از تیم اشغال می‌کنه. حالا در این پست می‌خوایم یه ابزاری رو معرفی کنیم که خیلی راحت می‌تونید راه‌اندازی‌ش کنید و خیلی راحت استفاده کنید. بله؛ label studio. این ابزار به راحتی با یه دستور pip نصب میشه و روی پورت موردنظر بالا میاد. سپس می‌تونید به‌مقصود پروژه‌های مختلف در حوزه تکست، ویژن، ویدیو، صوت، دیتای ساختاریافته و خیلی چیزای دیگه پروژه بسازید و از تمپلیت‌های آماده اون استفاده کنید. بعد به راحتی دیتاتون رو لیبل بزنید و به فرمت‌های خروجی معتبر خروجی بگیرید. مثلا برای تسک named entity recognition می‌تونید به فرمت معتبر CoNLL خروجی بگیرید. البته این ابزار برای زبان فارسی چون پشتیبانی RTL نداره یه مقدار اذیت‌کننده است که در اون صورت می‌تونید از ریپوی معرفی شده ابزار رو clone کنید و به صورت local نصب کنید.

لینک ابزار:
https://labelstud.io

لینک ریپوی ساپورت RTL:
https://github.com/mmaghajani/label-studio

لینک ریپوی اصلی:
https://github.com/heartexlabs/label-studio

#tool
@nlp_stuff
داستان ترنسفورمرها (۶): داستان XLNet

در ششمین قسمت از سریال «داستان ترنسفورمرها»، رفتیم سراغ داستان شبکه XLNet که از خانواده مدل‌های autoregressive است. این مدل به نوعی در برابر BERT قد علم کرده و میراث‌دار نبرد تاریخی بین مدل‌های autoregressive و autoencoder است. برای اینکه این نبرد رو بشناسید و با XLNet هم آشنا بشید این پست ویرگول رو از دست ندید.

پ.ن.۱: کم‌کاری نکنید. نظر بدید و با بقیه به اشتراک بذارید.
پ.ن.۲: اگر پست خوبی داشتید خبر بدید که در انتشارات بذاریم.

لینک پست ویرگول:
https://virgool.io/overfit/transformers6-xlnet-ufgmgu9rl8rs

#read
#blog
#overfit

@nlp_stuff
گلچین ۲۰۲۱ رودر

آقای رودر به رسم هر ساله اومده خلاصه‌ای از مقالات ۲۰۲۱ در زمینه ML و NLP رو منتشر کرده. این خلاصه رو در ۱۵ بخش کاملا متنوع که در تصویر می‌بینید تقسیم کرده. نیم ساعت بذارید کلشو مرور می‌کنید و یهو می‌بینید که انگار دوپینگ کردید.


لینک پست:
https://ruder.io/ml-highlights-2021

#read
#blog

@nlp_stuff
تشخیص خارج از توزیع با تولید داده پرت ساختگی

تشخیص خارج از توزیع یا out of distribution یکی از مسائل مورد توجه و مهم در شبکه های عصبیه. سناریویی رو در نظر بگیرید که شما مدل تشخیص اشیاتون رو برای یک ماشین خودران روی کلاس های مختلف آموزشش داد و حالا در وقت اجرا ناگهان با گوزنی مواجه میشید که در کلاس های آموزشیتون نداشتید. در اینجا مدل چون بالاخره بایستی جوابی تولید کنه در نهایت لیبلی اشتباه به این گوزن میزنه و ممکنه باعث مشکلات بعدی بشه. راهکارهای زیادی برای ood اعلام شده که البته هر کدام مشکلات خاص خودشون رو دارند. حالا پیپری اومده و روشی به نام vos ارائه کرده که جالبه.

اولین ایده ای که برای ood میتونه به ذهن بیاد اینه که یکسری داده ورودی (تصویر) خارج از توزیع بسازیم و با اونها مدل رو آموزش بدیم تا ood انجام بده. اما از اونجایی که خود تولید نمونه ورودی مساله سخت و پیچیده تریه پیپر vos پیشنهاد کرده تا دادگان پرت رو در سطح لایه قبل از لایه دسته بند بسازیم. منظور از این لایه در واقع آخرین لایه در شبکه است که مدل، لایه نهایی دسته بند رو بر روی ویژگی و بازنمایی های استخراج شده از این لایه قرار میده (اسم این لایه رو بازنمایی نهایی در نظر بگیرید). اما چطور داده پرت (outlier) بسازیم؟ کاری که vos میکنه اینه که میاد یک توزیع مخلوط گاوسی روی بازنمایی‌های نهایی کلاس های مختلف تخمین میزنه و سپس برای ساخت داده پرت میاد و به نحوی از این توزیع ها سمپل می‌گیره که احتمال این سمپل به شرط توزیع‌ها خیلی خیلی کم باشه. حالا تعدادی بازنمایی نهایی پرت داریم. در مرحله بعد، این بازنمایی‌های نهایی پرت به همراه بازنمایی های غیرپرت به لایه آخر دسته بند داده میشن و برای همشون logit یا امتیاز روی کلاس های مختلف به دست میاد. حالا vos میاد و یک تابع هزینه ای پیشنهاد میده که طبق این تابع هزینه، logit های داده های غیرپرت تشویق به قطعیت و logit های داده های پرت هم تشویق به عدم قطعیت می‌شوند. حالا مدل در طی آموزش علاوه بر این که روی لاس اصلی مساله خودش آموزش میبینه روی این لاس هم آموزش میبینه. در هنگام تست هم در صورتی که logit های یک نمونه از یک حدی عدم قطعیتشون بیشتر باشه اون نمونه به عنوان داده پرت فرض میشه. این مدل روی وظیفه تشخیص شی ارائه شده اما در واقع یک فریمورک است و میتونه روی وظایف دیگه انجام بشه.

لینک مقاله:
https://arxiv.org/abs/2202.01197

لینک ویدئو کیلچر در توضیح این مقاله:
youtu.be/i-J4T3uLC9M

#paper
#read
#watch

@nlp_stuff
معرفی کانال ارزشی MLST

اول از همه انشاءالله که سال و قرن خوبی داشته باشید.
به عنوان اولین پست قرن نو می‌خوایم یک کانال یوتیوبی فاخر و ارزشی در زمینه یادگیری ماشین رو معرفی کنیم. اسم این کانال Machine Learning Street Talk است. محتوای این کانال شامل مصاحبه‌های هر از چند گاهی با متفکران پیشرو هوش مصنوعی (نظیر بنجیو و لکان و شوله و مارکوس و ...) و بحث با اونها در مورد آینده هوش مصنوعی و شهودشون در مورد راه آینده در زمینه های مختلف است. ذکر این نکته لازمه که محتوای این مصاحبه‌ها و بحث‌ها خیلی خیلی فنیه و به جای این که به بحث در مورد مقالات مختلف در کاربردهای مختلف بپردازند (مثل کاری که کیلچر میکنه). موضوع، مباحثه کردن روی درک از فیل هوش مصنوعی در اتاق تاریک عصر فعلیه. اگر یک نگاه به ویدئوهای این کانال بیاندازید می‌بینید که طیف زیادی از موضوعات از زبانشناسی و مباحث تکنیکی خود یادگیری ماشین مثل یادگیری نیمه نظارتی و حملات خصمانه گرفته تا علوم اعصاب و علوم شناختی در این کانال با طراحی بسیار زیبا و شیوا مورد بحث و بیان قرار گرفته.

لینک کانال یوتیوب:
youtube.com/MachineLearningStreetTalk

#watch
#link

@nlp_stuff
دادن اطلاعات از شما، نوشتن متن با You

Hello,

If you're an artificial intelligence enthusiast, then you should definitely reshare posts from the nlp_stuff channel. nlp_stuff is a Telegram channel that's dedicated to AI news and advances. The subscribers of this channel can stay up to date with the latest in AI technology. However, some other channels do not comply with copyright law and copy posts from nlp_stuff into their own channels. This is unfair to the creators of nlp_stuff, and it also diminishes the quality of information that's available to AI enthusiasts. By resharing posts from the nLP_Stuff channel, you can help keep this information accessible and high-quality. Thanks for your support!

متنی که بالا دیدید رو هوش مصنوعی YOU نوشته (ما صرفا بهش توضیح بولتوار اندکی دادیم و این رو جنریت کرده). در سال‌های اخیر محصولاتی نظیر grammarly و wordtune با استفاده از هوش مصنوعی و پردازش زبان تونسته اند محصولاتی رو جهت کمک به کاربران در زمینه اصلاح و ویرایش متون انگلیسی ارائه کنند. حالا در آخرین مورد، شرکت YOU (که در اصل یک موتور جستجوگر هست که برخی میگویند در سال های آینده امکان داره شانه به شانه گوگل بزنه) اومده و یک سرویس برای رایتینگ در زبان انگلیسی ارایه داده. شما می‌تونید یک توضیح مختصر راجع به چیزی که میخواید بنویسید و بعد انتخاب کنید که چه نوع خروجی میخواید. آیا می‌خواهید یک متن میل مناسب خروجی بگیرید یا یک متن بلاگ طور یا یک انشا. سپس You یک متن برای این مشخصات تعیین‌شده توسط شما جنریت می‌کنه.
ما اندکی با این دمو ور رفتیم و مثال‌هایی رو پیوست کردیم. فهمیدیم که این سرویس می‌تونه حتی با ورودی گرفتن یک عبارت کوتاه، متنی مستند و منطقی تولید کنید (به مثالی که راجع به تولید دانش بنیان در ایران تولید کرده دقت کنید).
محصولاتی مثل Grammarly و Wordtune و You Write نشون میدن که میشه با پردازش زبان هم محصول واقعی تولید کرد.

لینک برای امتحان کردن:
You.com/write

#link
#tool

@nlp_stuff
ریزش برگ درختان با رونمایی از DALL-E 2

ساعاتی پیش شرکت Open AI از نسخه جدید مدل تولید تصویر DALL-E رونمایی کرد. این مدل نسبت به نسخه اول DALL-E که در ژانویه ۲۰۲۱ رونمایی شد (این جا قبلا پستش رو رفتیم: https://www.tg-me.com/nlp_stuff/114) بسیار واقعی‌تر، دقیق‌تره و البته رزولوشن تصاویر تولیدی‌اش هم نسبت به مدل قبلی چهار برابر شده. به طور خلاصه متدلوژی این مدل از دو قسمت تشکیل شده. قسمت اول از مدل clip برای تولید امبدینگ از روی caption استفاده میکنه و بعد قسمت دیکودر میاد و یک تصویر رو مشروط بر امبدینگ مرحله قبل تولید میکنه. طبق معمول هم یانیک کیلچر در همان اوقات اولیه دست یک ویدئو در توضیح این مدل ضبط کرده که لینکش رو این زیر گذاشتیم. حقیقتا کیفیت تصاویر تولیدی این مدل عجیبه.

لینک دمو برای وررفتن:
https://openai.com/dall-e-2/
لینک مقاله:
https://cdn.openai.com/papers/dall-e-2.pdf
لینک بررسی کیلچر:
https://www.youtube.com/watch?v=gGPv_SYVDC8

پ.ن.:در ضمن میتونید اطلاعاتتون رو در لیست انتظار وارد کنید و اگر خدا بخواد و شانس‌تون خوب باشه به این مدل دسترسی پیدا کنید:
https://labs.openai.com/waitlist

#paper
#link
#read
#watch

@nlp_stuff
دمو کردن ایده مثل آب خوردن

اگر کدی زدید که دوست دارید خیلی خیلی سریع و راحت ازش یه دمو بالا بیارید، از streamlit و Hugging Face Spaces می‌تونید استفاده کنید که هم یک ui خوشگلی داره، هم رایگانه و هم درگیر کانفیگ سرور و فلان هم نیستید. این پست بلاگ در عرض کمتر از ده دقیقه با دو تا مثال واقعی یادتون میده.

لینک بلاگ:
https://itnext.io/convert-your-ai-ideas-into-working-demos-on-hugging-face-spaces-2ba080482a16

لینک Hugging Face Spaces:
https://huggingface.co/spaces

#read
#blog
#tool

@nlp_stuff
تیپیکال سمپلینگ، تکه گم‌شده پازل تولید متن توسط ربات‌ها

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

پ.ن.۱: کم‌کاری نکنید. نظر بدید و با بقیه به اشتراک بذارید.
پ.ن.۲: اگر پست خوبی داشتید خبر بدید که در انتشارات بذاریم.

لینک پست ویرگول:
https://vrgl.ir/DNaDb

لینک مقاله:
https://arxiv.org/abs/2202.00666

#read
#blog
#overfit

@nlp_stuff
بررسی اهمیت فیچرها

احتمالا تا حالا پیش اومده که می‌خواستید اهمیت فیچر‌ها رو در یک تسک بسنجید. در چنین شرایطی استفاده از معیار feature_importance در دسته‌بندهای درختی مثل random forest شاید اولین گزینه‌ای باشه که به ذهن آدم میرسه. در این دسته‌بندها با توجه به اینکه در هر گره فیچری برای جداسازی داده انتخاب میشه که بیشترین کاهش رو در معیار impurity داشته باشه، مهم‌ترین فیچرها اون‌هایی هستند که به ریشه درخت نزدیک‌تر هستند. به عبارت دیگه فیچرهایی بیشترین importance رو به‌دست میارند که به‌صورت وزندار بیشترین کاهش رو در معیار impurity بر روی داده داشته باشند. اما لزوما اولین گزینه بهترین گزینه نیست. در واقع اگه شما در دیتاست‌تون فیچرهای categorical زیادی داشته باشید احتمالا این معیار، شما رو به اشتباه میندازه. در واقع دسته‌بندهای درختی به فیچرهای numerical که مقادیر unique value زیادی دارند حساس‌تر هستند. به خاطر همین ممکنه در ایجاد درخت تصمیم به فیچرهای categorical اهمیت کمتری بدند. این موضوع به‌خاطر اینه که این دسته‌بندها برای ایجاد درخت تصمیم از معیاری به نام impurity استفاده می‌کنند. مقدار feature importance که براساس معیار impurity در درخت‌های تصمیم حساب میشه می‌تونه ما رو به اشتباه بندازه. حالا چاره کار، استفاده از روش دیگه‌ای به نام permutation_importance است. در این روش در هر iteration یک فیچر انتخاب میشه و مقادیر اون به صورت رندم shuffle میشه ( در هر نمونه ورودی مقادیر همه فیچر‌ها ثابت می‌مونه و فقط یک فیچر بین نمونه‌های مختلف ورودی شافل میشه) و بعد، دیتاست شافل‌شده به مدل داده میشه تا ببینیم چه مقدار افت کیفیت پیدا می‌کنه. طبیعتا اون فیچری که بعد از شافل شدن افت عملکرد بیشتری رو به مدل تحمیل می‌کنه از اهمیت بالاتری برخورداره. همون‌طور که می‌بینید این روش model agnostic هست و بر روی هر مدل از‌قبل‌ترین‌شده‌ای کار می‌کنه. از طرفی می‌تونید این معیار رو هم بر روی مجموعه تست و هم مجموعه ترین محاسبه کنید در حالیکه impurity-based feature importanceها عملا بر روی داده ترین فقط محاسبه شده‌اند. مقایسه اهمیت برخی فیچرها در دیتای تست و ترین و تفاوت اون‌ها می‌تونه سرنخی از وقوع اورفیت باشه. در واقع فیچری که در دیتای ترین اهمیت بالایی داره ولی موقع تست و inference اهمیت پایینی داره می‌تونه باعث اورفیت بشه. پیاده‌سازی و نحوه استفاده از این روش رو در پکیج scikit می‌تونید مشاهده کنید.

لینک توضیح permutation_importance:
https://scikit-learn.org/stable/modules/permutation_importance.html#permutation-importance

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

#handsOn

@nlp_stuff
کشف خطاهای سیستماتیک مدل با Domino

با این که مدل‌های یادگیری ماشینی و به خصوص شبکه‌های عمیق بر روی خیلی از تسک‌ها و دیتاست‌ها امتیازهای بالایی را ثبت می‌کنند اما ممکن است هر مدلی بر روی قاچ‌‌های خاصی از داده دچار خطای سیستماتیک باشد. مثلا فرض کنید یک تسک دسته‌بندی تصویر داشته باشیم و مدل آموزش دیده یاد گرفته باشد که هر تصویری که در آن حیوانی را با پس زمینه زمین شنی دید آن را به عنوان شتر برچسب بزند. در این صورت ممکن است در هنگام تست با تصویر گاو بر روی شن مواجه شود و آن را به اشتباه شتر برچسب بزند. این مجموعه داده‌هایی که دارای یک خاصیت ویژه هستند و توسط مدل به اشتباه دسته‌بندی می‌شوند قاچ بحرانی (critical slice) گفته می‌شود. اهمیت پیدا کردن این قاچ‌های بحرانی و اصلاح تصمیم مدل برای آن‌ها برای عملی کردن مدل‌های ماشین لرنینگی بسیار مهم است اما معمولا به علت سختی کار نادیده گرفته می‌شود (برای مثال این کاربرد حیاتی را در نظر بگیرید یک مدل آموزش ‌داده‌اید که از روی تصاویر پزشکی تشخیص میدهد که آیا بیمار سرطان دارد یا خیر). حال دوستانی از استنفورد سعی کرده‌اند یک روش اتوماتیک برای کشف قاچ‌های بحرانی هر مدل با نام Domino ارائه دهند. صورت مساله Domino این است که در واقع با ورودی گرفتن یک مدل و یک دیتاست بایستی تعدادی قاچ‌ پیدا شوند که اولا دیتاهای این قاچ با همدیگر مرتبط باشند؛ یعنی مثلا همگی گاو‌های روی شن باشند و دوما این که عملکرد مدل بر روی دادگان این قاچ‌ها افتضاح باشد.

روش کار domino شامل سه بخش است. به صورت خلاصه domino ابتدا دادگان دیتاست ورودی را با استفاده از مدل‌های cross-modal به یک فضای امبدینگی مشترک با متن می‌برد. (برای مثال اگر دیتاست از جنس تصویر باشد میتوان از مدل قدرتمند clip استفاده کرد) سپس تعدادی از متن‌های کاندیدا برای توضیح این قاچ‌ها نیز توسط همین مدل cross-modal به فضای مشترک نگاشت می‌شوند. سپس در گام دوم، Domino با استفاده از یک مدلسازی mixture سعی در خوشه‌بندی داده‌های به اشتباه برچسب‌گذاری‌شده می‌کند. این مدلسازی برای هر قاچ شامل چهار متغیر S و Z و Y و Y_hat است به ترتیب احتمال تعلق داده به قاچ S، امبدینگ داده، برچسب واقعی داده، توزیع برچسب حدس زده شده توسط مدل). در این مدلسازی فرض شده است که Z و Y و Y_hat به شرط S از یکدیگر مستقل هستند و در واقع از روی S تولید می‌شوند ( برای توضیحات بیشتر می‌توانید قسمت ۵ مقاله را بخوانید). این مدل روی likelihood داده‌های اشتباه برچسب‌گذاری شده به صورت mixture آموزش داده می‌شود. سپس در گام سوم، Domino برای هر slice با توجه به کاندیدای متنی مرحله اول، یک توضیح متنی آماده می‌کند (مثلا "گاو‌های بیابانی")

در ادامه هم اومدند و برای مثال Domino را، روی Resnet آموزش دیده بر روی ImageNet، تست کردند و نشون دادند که Resnet رو قاچ‌های تصاویر داخل ماشین و تصاویر از دور ماشین‌های مسابقه‌ای، مشکل سیستماتیک داره. بعد از این که با این مدل، قاچ‌های بحرانی کشف شدند حالا میشه با تمرکز روی اون قاچ‌ها و مثلا استفاده از افزون‌ساده داده مشکل رو تخفیف داد. کدهای Domino هم منتشر شده و لینک رپوش در صفحه بلاگ حاضره و می‌تونید ازش استفاده کنید. ضمنا این مقاله در ICLR2022 قبول شده.

لینک بلاگ Domino:
https://ai.stanford.edu/blog/domino/
لینک مقاله:
https://arxiv.org/abs/2203.14960

پ.ن. از آقای دکتر شریفی زارچی تشکر می‌کنیم که این مقاله رو در رشته توئیتی برای مقالات خوب کنفرانس ICLR2022 معرفی کردند.

#paper
#read

@nlp_stuff
از DALL-E2 تا AGI؛ خیلی دور خیلی نزدیک

بعد از رونمایی از DALL-E2 توسط OpenAI؛ امکان استفاده از این مدل، در اختیار معدودی از افراد قرار داده شد و این دوستان هم با تست کردن و اشتراک‌گذاری خروجی‌های DALL-E هی بر حیرت همگان افزودند. کیفیت تصاویر تولیدی DALL-E و همچنین تنوع بالای کپشن‌هایی که این مدل می‌تواند از آن‌ها عکس تولید کند آن قدر بالاست که حتی برخی پیش‌بینی کرده‌اند که این مدل در کاربرد صنعتی می‌تواند جایگزین سایت‌های فراهم‌کننده تصویر نظیر Getty Image شود. در این فضای هایپ آلود، عده‌ای با توجه به مثال‌های تولیدی این مدل معتقدند که راه AGI یا همان Artificial General Intelligence از همین مسیر تهیه و تدوین مدل‌هایی نظیر GPT و DALL-E می‌گذرد و یادگیری عمیق برای رسیدن ما به سرمنزل موعود هوش مصنوعی کافی است. در مقابل اما عده‌ای از منتقدین و باریک‌بینان با نشان دادن مثال‌های خاصی از خروجی‌ها DALL-E نشان داده‌اند که نه خیر هنوز با اندک‌ استاندارد‌های AGI فاصله بسیاری داریم.
در همین راستا آقای بنجامین هیلتون در رشته توییتی در مورد محدودیت‌های DALL-E بحث کرده و آن‌ها را با مثال توضیح داده است:
https://twitter.com/benjamin_hilton/status/1520032772072607747

از جالب‌ترین این موارد می‌توان به عدم توانایی DALL-E در شمارش (مثلا "تصویری از پنج سیب") و سلبی‌سازی (مثلا "تصویری قاره‌ها بدون حضور اروپا") اشاره کرد. (عکس‌های رشته توییت رو ببینید)
گری مارکوس هم که از اول آبش با یادگیری عمیق در یک جوب نمی‌رفته، با تست کردن و تحلیل خروجی‌های DALL-E پیپری منتشر کرده که خواندنش خالی از لطف نیست:
https://arxiv.org/abs/2204.13807

اما اگر پس از خواندن دو مطلب به این نتیجه رسیدید که DALL-E هم بیشتر از آن چه که باید هایپ شده است می‌توانید برای تلطیف فضا کلیپ پیوست‌شده از تصاویر تولیدی‌اش در این پست را ببینید.

حقیقتا هم تصاویر تولیدی DALL-E و هم نقد‌های وارد منتقدان به حدی است که نمی‌توان جانب یک طرف را گرفت.

#tweet

@nlp_stuff
2025/07/05 03:48:09
Back to Top
HTML Embed Code: