This media is not supported in your browser
VIEW IN TELEGRAM
مدلهای document parsing در هاگینگفیس
دو مدل LayoutLMv2 و LayoutXLM از مایکروسافت برای پارس کردن تصاویر متنی به هاگینگ فیس اضافه شده و دمویی هم در لینک زیر براشون قرار داده شده که میتونید امتحان کنید. به این مدلها مولتیمودال بین متن و لایوت و تصویر گفته میشه. این مدلها کلمههای داخل عکس را یکی از تگهای مثل QUESTION/ANSWER/HEADER/OTHER میزنند و یعنی دارند کل جدول رو براتون پارس میکنند که باعث میشه خیلی راحتتر بتونید با مقادیر جدول کار کنید.
مدل LayoutXLM روی ۵۳ تا زبون (از جمله فارسی) پیشآموزش داده شده.
- دموی مدل LayoutLMv2:
https://huggingface.co/spaces/nielsr/LayoutLMv2-FUNSD
- لینکهای مقاله و هاگینگفیس مدل LayoutXLM:
https://huggingface.co/microsoft/layoutxlm-base
https://arxiv.org/abs/2104.08836
- لینکهای مقاله و هاگینگفیس مدل LayoutLMv2:
https://huggingface.co/microsoft/layoutlmv2-base-uncased
https://arxiv.org/abs/2012.14740
#tool
#link
@nlp_stuff
دو مدل LayoutLMv2 و LayoutXLM از مایکروسافت برای پارس کردن تصاویر متنی به هاگینگ فیس اضافه شده و دمویی هم در لینک زیر براشون قرار داده شده که میتونید امتحان کنید. به این مدلها مولتیمودال بین متن و لایوت و تصویر گفته میشه. این مدلها کلمههای داخل عکس را یکی از تگهای مثل QUESTION/ANSWER/HEADER/OTHER میزنند و یعنی دارند کل جدول رو براتون پارس میکنند که باعث میشه خیلی راحتتر بتونید با مقادیر جدول کار کنید.
مدل LayoutXLM روی ۵۳ تا زبون (از جمله فارسی) پیشآموزش داده شده.
- دموی مدل LayoutLMv2:
https://huggingface.co/spaces/nielsr/LayoutLMv2-FUNSD
- لینکهای مقاله و هاگینگفیس مدل LayoutXLM:
https://huggingface.co/microsoft/layoutxlm-base
https://arxiv.org/abs/2104.08836
- لینکهای مقاله و هاگینگفیس مدل LayoutLMv2:
https://huggingface.co/microsoft/layoutlmv2-base-uncased
https://arxiv.org/abs/2012.14740
#tool
#link
@nlp_stuff
آشنایی با متد gather در pytorch
استفاده از حلقهها نظیر for در کدهای یادگیری عمیق به شدت قبیح و سخیف است، از این نظر که فلسفه یادگیری عمیق را که مبتنی بر موازیسازی است تباه میسازد و باعث کاهش سرعت در اجرای کد میشود. نحوه پاکسازی کد از حلقه در بعضی مواقع با تکنیکهای indexing یا slicing واضح و روشن است اما در بعضی مواقع دیگر نیز حذف حلقه و استفاده از توابع وکتوری، نیازمند آشنایی با توابع خاص منظوره این موارد است. یکی از موارد سناریویی است که در آن تنسوری به ما داده شده و بایستی در راستای یک محور تنسوری مقادیر خاصی را استخراج کنیم. انجام این عملیات با indexing ممکن نبوده و راه حل فرار از حلقه for در این سناریو در چارچوب پایتورچ، استفاده از متد gather است.
در صورتی که علاقهمند به آشنایی با gather و آموختن این تکنیک هستید، میتوانید از پست جدید ما در ویرگول که در این باره است استفاده کامل را ببرید.
لینک ویرگول:
https://virgool.io/overfit/gather-in-pytorch-lhce2bm1wkb3
#read
#blog
#overfit
@nlp_stuff
استفاده از حلقهها نظیر for در کدهای یادگیری عمیق به شدت قبیح و سخیف است، از این نظر که فلسفه یادگیری عمیق را که مبتنی بر موازیسازی است تباه میسازد و باعث کاهش سرعت در اجرای کد میشود. نحوه پاکسازی کد از حلقه در بعضی مواقع با تکنیکهای indexing یا slicing واضح و روشن است اما در بعضی مواقع دیگر نیز حذف حلقه و استفاده از توابع وکتوری، نیازمند آشنایی با توابع خاص منظوره این موارد است. یکی از موارد سناریویی است که در آن تنسوری به ما داده شده و بایستی در راستای یک محور تنسوری مقادیر خاصی را استخراج کنیم. انجام این عملیات با indexing ممکن نبوده و راه حل فرار از حلقه for در این سناریو در چارچوب پایتورچ، استفاده از متد gather است.
در صورتی که علاقهمند به آشنایی با gather و آموختن این تکنیک هستید، میتوانید از پست جدید ما در ویرگول که در این باره است استفاده کامل را ببرید.
لینک ویرگول:
https://virgool.io/overfit/gather-in-pytorch-lhce2bm1wkb3
#read
#blog
#overfit
@nlp_stuff
ویرگول
متد gather در pytorch
با gather آشنا شویم تا کمتر از for قبیح وقت گیر در پایتورچ استفاده کنیم!
نوتبوک داینامیک پدینگ
یکی از تفاوتهای اساسی دادههای متنی با دادههای تصویری، سایز مختلف نمونههای متنی (طول متن) نسبت به یکدیگره. برای حل این معضل راهکار padding استفاده میشه که در آن، طول تمامی نمونههای یک بچ یکسانسازی میشه. سادهترین استراتژی در این راستا میتونه این باشه که همه متنها رو به اندازه طول بزرگترین متن پد کنیم، اما خب واضحه که با این کار وقت و منابع زیادی رو برای بچ هایی که طول طولانیترین متنشون به اندازه طولانیترین متن کل دادهها نیست، هدر میدهیم. استراتژی موثرتر میتونه استفاده از داینامیک پدینگ باشه که تو این روش دادهها رو فقط به اندازه طولانیترین متن حاضر در هر بچ پد کنیم. باز هم اینجا ممکنه یک متن طولانی با یک متن کوتاه با هم در یک بچ حاضر بشوند و منابع زیادی برای پد کردن این بچ به هدر بره. راهکارهای دیگه مثل سورت کردن یا شبه سورت کردن دادهها برای حل این مشکل وجود دارند. آقای ایوبی اومدند و در راستای این دسته روشهای مطرح شده نوتبوکی رو آماده کردهاند و در اختیار بقیه قرار دادند. این نوتبوک شامل کدهای مربوط به انجام هر یک از این روشهاست و البته توضیحشون و مزایا و معایبشون هم قرار داده شده. میتونید مشاهده کنید و در صورت نیاز در کدهاتون استفاده کنید.
لینک نوتبوک:
https://sajjjadayobi.github.io/blog/tips/2021/08/09/sortish-bathes.html
پ.ن. با تشکر از آقای ایوبی بابت فرستادن این پست. شما نیز اگر مطلب یا محتوای جالبی در دست دارید، بفرستید تا با اسم خودتون در کانال قرار داده بشه.
#code
@nlp_stuff
یکی از تفاوتهای اساسی دادههای متنی با دادههای تصویری، سایز مختلف نمونههای متنی (طول متن) نسبت به یکدیگره. برای حل این معضل راهکار padding استفاده میشه که در آن، طول تمامی نمونههای یک بچ یکسانسازی میشه. سادهترین استراتژی در این راستا میتونه این باشه که همه متنها رو به اندازه طول بزرگترین متن پد کنیم، اما خب واضحه که با این کار وقت و منابع زیادی رو برای بچ هایی که طول طولانیترین متنشون به اندازه طولانیترین متن کل دادهها نیست، هدر میدهیم. استراتژی موثرتر میتونه استفاده از داینامیک پدینگ باشه که تو این روش دادهها رو فقط به اندازه طولانیترین متن حاضر در هر بچ پد کنیم. باز هم اینجا ممکنه یک متن طولانی با یک متن کوتاه با هم در یک بچ حاضر بشوند و منابع زیادی برای پد کردن این بچ به هدر بره. راهکارهای دیگه مثل سورت کردن یا شبه سورت کردن دادهها برای حل این مشکل وجود دارند. آقای ایوبی اومدند و در راستای این دسته روشهای مطرح شده نوتبوکی رو آماده کردهاند و در اختیار بقیه قرار دادند. این نوتبوک شامل کدهای مربوط به انجام هر یک از این روشهاست و البته توضیحشون و مزایا و معایبشون هم قرار داده شده. میتونید مشاهده کنید و در صورت نیاز در کدهاتون استفاده کنید.
لینک نوتبوک:
https://sajjjadayobi.github.io/blog/tips/2021/08/09/sortish-bathes.html
پ.ن. با تشکر از آقای ایوبی بابت فرستادن این پست. شما نیز اگر مطلب یا محتوای جالبی در دست دارید، بفرستید تا با اسم خودتون در کانال قرار داده بشه.
#code
@nlp_stuff
Telegram
stuff
جعبهابزار یادگیری ماشین!
هر فردی که در حوزه یادگیری ماشین و مشتقاتش داره فعالیت میکنه حتما لازمه که برای خودش یه جعبهابزار داشته باشه. برادر آمیت این جعبه ابزار رو آماده کرده و کل ابزارها رو به ۵ دسته آمادهسازی داده، اکتشاف داده، مدلسازی، ولیدیشن و پروداکشن از استکها و تسکهای مختلف تقسیم کرده.
این پست رو حتما یه گوشهای ذخیره کنید که هر وقت به دوشواری خوردید، یه سری بهش بزنید.
لینک جعبهابزار:
https://amitness.com/toolbox
#tool
@nlp_stuff
هر فردی که در حوزه یادگیری ماشین و مشتقاتش داره فعالیت میکنه حتما لازمه که برای خودش یه جعبهابزار داشته باشه. برادر آمیت این جعبه ابزار رو آماده کرده و کل ابزارها رو به ۵ دسته آمادهسازی داده، اکتشاف داده، مدلسازی، ولیدیشن و پروداکشن از استکها و تسکهای مختلف تقسیم کرده.
این پست رو حتما یه گوشهای ذخیره کنید که هر وقت به دوشواری خوردید، یه سری بهش بزنید.
لینک جعبهابزار:
https://amitness.com/toolbox
#tool
@nlp_stuff
بعضی seedها برابرترند
همانطور که احتمالا تا حالا دیده اید در خیلی از مقالات یادگیری ماشین به جای گزارش یک عدد به عنوان امتیاز معدل، چندین بار آزمایش روی مدل صورت میگیره و امتیاز مدل در این آزمایشها به صورت یک بازه گزارش میشود. حالا آقای پیکارد اومدند و سعی کردند بررسی کنند که تاثیر seed های مختلف بر روی عملکرد مدل به چه صورته. ایشون سعی کردند پاسخ به سه سوال رو پیدا کنند:
۱- توزیع امتیاز مدلها با توجه به seed انتخابی به چه صورته؟
۲- آیا پدیده قوی سیاه رو بین مدلها با seedهای مختلف میشه مشاهده کرد؟ یعنی seed ای هست که منجر به مدلی با امتیاز خیلی بالا یا پایین بشه؟
۳- آیا پیش آموزش روی دیتاستهای بزرگتر باعث تخفیف تنوع پذیری امتیاز مدل با توجه به seedها میشه؟
پیکارد بر همین اساس اومده و تسکهای دستهبندی تصویر بر روی cifar10 و imagenet رو برای انواع seedها انجام داده و بر اساس نتایج پاسخهایی رو برای سه سوال بالا ارائه داده. نکته جالب در نتایج اینه که واقعا انتخاب seed میتونه بر امتیاز مدل تاثیرگذار باشه و حتی اگر میزان ایپاکهای آموزش رو بیشتر کنیم هم فاصله طبقاتی میان خوششانسترین و بدشانسترین مدلهای برآمده از seed های مختلف کاهش پیدا نمیکنه. نکته اخلاقی این پست اینه که اگر مدلی رو توسعه دادید و خواستید میزان عملکردش رو گزارش بدید حواستون باشه که randomness اولیه رو هم در نظر بگیرید و به جای گزارش یک عدد، باید یک بازه رو ارائه داد (البته که اگر مدل یا دادگان به اندازه ای بزرگ باشند که نشه چندبار فرآیند آموزش دادن رو انجام داد این سناریو با دشواری مواجه میشه و باید فکری دیگهای به حالش کرد که میتونه موضوع پژوهشهای دیگهای باشه)
لینک مقاله:
https://arxiv.org/abs/2109.08203
پ.ن: با نشر مطالب دوستان خود را نیز از لذت فراگیری بهرهمند سازید.
#paper
#read
@nlp_stuff
همانطور که احتمالا تا حالا دیده اید در خیلی از مقالات یادگیری ماشین به جای گزارش یک عدد به عنوان امتیاز معدل، چندین بار آزمایش روی مدل صورت میگیره و امتیاز مدل در این آزمایشها به صورت یک بازه گزارش میشود. حالا آقای پیکارد اومدند و سعی کردند بررسی کنند که تاثیر seed های مختلف بر روی عملکرد مدل به چه صورته. ایشون سعی کردند پاسخ به سه سوال رو پیدا کنند:
۱- توزیع امتیاز مدلها با توجه به seed انتخابی به چه صورته؟
۲- آیا پدیده قوی سیاه رو بین مدلها با seedهای مختلف میشه مشاهده کرد؟ یعنی seed ای هست که منجر به مدلی با امتیاز خیلی بالا یا پایین بشه؟
۳- آیا پیش آموزش روی دیتاستهای بزرگتر باعث تخفیف تنوع پذیری امتیاز مدل با توجه به seedها میشه؟
پیکارد بر همین اساس اومده و تسکهای دستهبندی تصویر بر روی cifar10 و imagenet رو برای انواع seedها انجام داده و بر اساس نتایج پاسخهایی رو برای سه سوال بالا ارائه داده. نکته جالب در نتایج اینه که واقعا انتخاب seed میتونه بر امتیاز مدل تاثیرگذار باشه و حتی اگر میزان ایپاکهای آموزش رو بیشتر کنیم هم فاصله طبقاتی میان خوششانسترین و بدشانسترین مدلهای برآمده از seed های مختلف کاهش پیدا نمیکنه. نکته اخلاقی این پست اینه که اگر مدلی رو توسعه دادید و خواستید میزان عملکردش رو گزارش بدید حواستون باشه که randomness اولیه رو هم در نظر بگیرید و به جای گزارش یک عدد، باید یک بازه رو ارائه داد (البته که اگر مدل یا دادگان به اندازه ای بزرگ باشند که نشه چندبار فرآیند آموزش دادن رو انجام داد این سناریو با دشواری مواجه میشه و باید فکری دیگهای به حالش کرد که میتونه موضوع پژوهشهای دیگهای باشه)
لینک مقاله:
https://arxiv.org/abs/2109.08203
پ.ن: با نشر مطالب دوستان خود را نیز از لذت فراگیری بهرهمند سازید.
#paper
#read
@nlp_stuff
Telegram
stuff
ورکشاپ یادگیری گراف استنفورد
ورکشاپ گراف دانشگاه استنفورد (آزمایشگاه آقای لسکوکاینا) دو هفته پیش برگزار شد و افراد خوف و خفن زیادی در این زمینهها اومدند و راجع به مسائل مختلف گرافی در صنعت و آکادمیک صحبت کردند.
اسلایدها و ویدیوهاشون هم طبق معمول با سخاوت به اشتراک گذاشتند.
بحثهای ترکیبی خیلی جذابی مثل کاربردهای گراف در پردازش زبان طبیعی، ویژن و تشخیص fraud و نفوذ شبکه و … ارائه شده.
کتابخونههایی مثل PyG و GraphGym هم توش معرفی شدند.
خلاصه یه روزتون رو کامل میسازه و کلی چیز یاد میگیرید.
پ.ن. اگر کلا نمیدونید داستان یادگیری گراف چیه، این پست [https://t.iss.one/nlp_stuff/163] و این پست [https://t.iss.one/nlp_stuff/223] رو ببینید.
لینک صفحهی ورکشاپ:
https://snap.stanford.edu/graphlearning-workshop/
لینک یوتیوب ورکشاپ:
https://youtu.be/NKZdqCi5fVE
#link
#conf
@nlp_stuff
ورکشاپ گراف دانشگاه استنفورد (آزمایشگاه آقای لسکوکاینا) دو هفته پیش برگزار شد و افراد خوف و خفن زیادی در این زمینهها اومدند و راجع به مسائل مختلف گرافی در صنعت و آکادمیک صحبت کردند.
اسلایدها و ویدیوهاشون هم طبق معمول با سخاوت به اشتراک گذاشتند.
بحثهای ترکیبی خیلی جذابی مثل کاربردهای گراف در پردازش زبان طبیعی، ویژن و تشخیص fraud و نفوذ شبکه و … ارائه شده.
کتابخونههایی مثل PyG و GraphGym هم توش معرفی شدند.
خلاصه یه روزتون رو کامل میسازه و کلی چیز یاد میگیرید.
پ.ن. اگر کلا نمیدونید داستان یادگیری گراف چیه، این پست [https://t.iss.one/nlp_stuff/163] و این پست [https://t.iss.one/nlp_stuff/223] رو ببینید.
لینک صفحهی ورکشاپ:
https://snap.stanford.edu/graphlearning-workshop/
لینک یوتیوب ورکشاپ:
https://youtu.be/NKZdqCi5fVE
#link
#conf
@nlp_stuff
راه جنرالیزیشن از اورفیت میگذرد
معمولا رسم بر این بوده که هر وقت مدل به حالت overfit میرسه آموزشدادنش متوقف بشه و دیگه امیدی به اصلاح مدل نمیره. اما مقالهای اومده و نشون داده که در صورت ادامه به آموزش مدل، خیلی خیلی گام بعدتر از اورفیت هم همچنان میتونه اتفاق جالبی که به عنوان grokking نامگذاری شده، بیافته. توضیح این مقاله رو میشه در دو بخش تسک تعریف شده و پدیدهی رخداده در فرآیند آموزش پی گرفت.
در قسمت تعریف تسک، این مقاله یک تسک تقریبا نمادی (symbolic) رو درست کردهاند. به این صورت که تابعی دلخواه از دو سیمبل ورودی که هر کدوم میتونن مقادیر نمادی a و b و .. را بپذیرند را در نظر گرفته اند. مقدار این تابع برای تمامی مقادیر ممکن ورودی محاسبه میشه (جدول پیوست شده رو میتونید نگاه کنید) و تعدادی از خانههای این جدول خالی میشوند و باقی به عنوان داده آموزشی به مدل داده میشود. حال مدل بایستی با آموزش روی دادههای داده شده، جاهای خالی جدول را پر کند.
اما نکته اصلی مقاله، در فرآیند آموزش آن قرار دارد. پس از تعدادی گام آموزش، مدل بر روی دادگان آموزشی اورفیت میکند در حالی که دقت آن بر روی دادههای validation تقریبا صفر است. اما با ادامه دادن آموزش حتی پس از اورفیت، پس از تعداد خیلی خیلی زیادی گام آموزشی، در نهایت مدل به یکباره و سرعت از اورفیت خارج میشود و دقت آن بر روی دادههای validation به ۹۹ درصد میرسد که این پدیده grokking نامگذاری شده است.
نکته جالب این ماجرا در این جاست که داشتن داده کم ولی ادامه دادن آموزش پس از اورفیت میتواند منجر به مدلی بهتر از مدلی با تعداد داده بیشتر شود. البته که مقیاس تعداد گامهای لازم بسیار زیاد است و مساله از نظر عملی قابل اشکال است.
در صورت علاقهمندی بیشتر میتواند یوتیوب توضیحات کیلچر درباره این مقاله را ببینید:
https://youtu.be/dND-7llwrpw
لینک مقاله:
https://mathai-iclr.github.io/papers/papers/MATHAI_29_paper.pdf
#read
#paper
#watch
@nlp_stuff
معمولا رسم بر این بوده که هر وقت مدل به حالت overfit میرسه آموزشدادنش متوقف بشه و دیگه امیدی به اصلاح مدل نمیره. اما مقالهای اومده و نشون داده که در صورت ادامه به آموزش مدل، خیلی خیلی گام بعدتر از اورفیت هم همچنان میتونه اتفاق جالبی که به عنوان grokking نامگذاری شده، بیافته. توضیح این مقاله رو میشه در دو بخش تسک تعریف شده و پدیدهی رخداده در فرآیند آموزش پی گرفت.
در قسمت تعریف تسک، این مقاله یک تسک تقریبا نمادی (symbolic) رو درست کردهاند. به این صورت که تابعی دلخواه از دو سیمبل ورودی که هر کدوم میتونن مقادیر نمادی a و b و .. را بپذیرند را در نظر گرفته اند. مقدار این تابع برای تمامی مقادیر ممکن ورودی محاسبه میشه (جدول پیوست شده رو میتونید نگاه کنید) و تعدادی از خانههای این جدول خالی میشوند و باقی به عنوان داده آموزشی به مدل داده میشود. حال مدل بایستی با آموزش روی دادههای داده شده، جاهای خالی جدول را پر کند.
اما نکته اصلی مقاله، در فرآیند آموزش آن قرار دارد. پس از تعدادی گام آموزش، مدل بر روی دادگان آموزشی اورفیت میکند در حالی که دقت آن بر روی دادههای validation تقریبا صفر است. اما با ادامه دادن آموزش حتی پس از اورفیت، پس از تعداد خیلی خیلی زیادی گام آموزشی، در نهایت مدل به یکباره و سرعت از اورفیت خارج میشود و دقت آن بر روی دادههای validation به ۹۹ درصد میرسد که این پدیده grokking نامگذاری شده است.
نکته جالب این ماجرا در این جاست که داشتن داده کم ولی ادامه دادن آموزش پس از اورفیت میتواند منجر به مدلی بهتر از مدلی با تعداد داده بیشتر شود. البته که مقیاس تعداد گامهای لازم بسیار زیاد است و مساله از نظر عملی قابل اشکال است.
در صورت علاقهمندی بیشتر میتواند یوتیوب توضیحات کیلچر درباره این مقاله را ببینید:
https://youtu.be/dND-7llwrpw
لینک مقاله:
https://mathai-iclr.github.io/papers/papers/MATHAI_29_paper.pdf
#read
#paper
#watch
@nlp_stuff
Telegram
stuff
Transfer_learning_in_nlp_by_Huggingface_Mahdi_Samiei_WSS_2020.mp4
296.8 MB
ویدئوی ورکشاپ انتقال یادگیری با هاگینگفیس
این فایل ویدئوی ورکشاپ مهدیمون در کنفرانس WSS2020 با موضوع «یادگیری انتقالی در پردازش زبان طبیعی با استفاده از کتابخانهی هاگینگ فیس» است. ابتدا مباحث تئوری رو توضیح میده و بعد هم با استفاده از کتابخونههای پایتورچ و هاگینگفیس کد میزنه.
متاسفانه علی رغم قولهایی که داده بودند، با ۷ ماه فاصله ویدیو رو منتشر کردند و این باکیفیتترین ویدیوئیه که به دستمون رسیده.
پ.ن. این پست رو دست به دست کنید که افراد بیشتری ببینند. انشاءالله به زودی از این ورکشاپها خودمون بیشتر و بهتر برگزار میکنیم.
لینک آپارات ویدئو:
https://aparat.com/v/4Jivq
لینک اسلایدها و نوتبوکها (استار فراموش نشه):
https://github.com/mmsamiei/huggingface-workshop
#coach
#watch
#overfit
@nlp_stuff
این فایل ویدئوی ورکشاپ مهدیمون در کنفرانس WSS2020 با موضوع «یادگیری انتقالی در پردازش زبان طبیعی با استفاده از کتابخانهی هاگینگ فیس» است. ابتدا مباحث تئوری رو توضیح میده و بعد هم با استفاده از کتابخونههای پایتورچ و هاگینگفیس کد میزنه.
متاسفانه علی رغم قولهایی که داده بودند، با ۷ ماه فاصله ویدیو رو منتشر کردند و این باکیفیتترین ویدیوئیه که به دستمون رسیده.
پ.ن. این پست رو دست به دست کنید که افراد بیشتری ببینند. انشاءالله به زودی از این ورکشاپها خودمون بیشتر و بهتر برگزار میکنیم.
لینک آپارات ویدئو:
https://aparat.com/v/4Jivq
لینک اسلایدها و نوتبوکها (استار فراموش نشه):
https://github.com/mmsamiei/huggingface-workshop
#coach
#watch
#overfit
@nlp_stuff
مقاله جامع data augmentation در پردازش زبان طبیعی
این مقالهی survey در سیواندیصفحه، دل و رودهی مبحث data augmentation رو ریخته روی داریه.
اول اومده روشهای data augmentation در پردازش زبان رو به سه دستهی مدلهای برپایهی Paraphrasing و Noising و Sampling تقسیمبندی کرده و روشهای ارائهشده در هر دسته رو خیلی زیبا و نیکو آورده و با شکل و مثال توضیح داده و از جهات مختلف اونا رو مقایسه کرده. بعد هم اومده اینا رو از منظرهای مختلف شکافته؛ مثلا گفته هر روشی چه هایپرپاارامترهای موثری داره یا هر یک از روشها چه کاربردهایی داره.
و یه حرکت تمیز دیگهای زده و تایملاین مقالات این زمینه رو درست کرده تا بدونید به چه ترتیبی باید بخونید.
خلاصه که زبونبستهها هر چه در توان داشتند مایه گذاشتند و یه مقاله خیلی کامل درست کردند؛ پس بخونید و لذت ببرید.
لینک مقاله:
https://arxiv.org/abs/2110.01852
پ.ن.۱. پنج تا تصاویر ضمیمه شده. ورق بزنید. اگر همه رو نمیبینید، اینجا قرار داده شدند.
پ.ن.۲. اگر کلا نمیدونید داستان چیه، این پست [https://t.iss.one/nlp_stuff/71] رو بخونید.
#read
#paper
@nlp_stuff
این مقالهی survey در سیواندیصفحه، دل و رودهی مبحث data augmentation رو ریخته روی داریه.
اول اومده روشهای data augmentation در پردازش زبان رو به سه دستهی مدلهای برپایهی Paraphrasing و Noising و Sampling تقسیمبندی کرده و روشهای ارائهشده در هر دسته رو خیلی زیبا و نیکو آورده و با شکل و مثال توضیح داده و از جهات مختلف اونا رو مقایسه کرده. بعد هم اومده اینا رو از منظرهای مختلف شکافته؛ مثلا گفته هر روشی چه هایپرپاارامترهای موثری داره یا هر یک از روشها چه کاربردهایی داره.
و یه حرکت تمیز دیگهای زده و تایملاین مقالات این زمینه رو درست کرده تا بدونید به چه ترتیبی باید بخونید.
خلاصه که زبونبستهها هر چه در توان داشتند مایه گذاشتند و یه مقاله خیلی کامل درست کردند؛ پس بخونید و لذت ببرید.
لینک مقاله:
https://arxiv.org/abs/2110.01852
پ.ن.۱. پنج تا تصاویر ضمیمه شده. ورق بزنید. اگر همه رو نمیبینید، اینجا قرار داده شدند.
پ.ن.۲. اگر کلا نمیدونید داستان چیه، این پست [https://t.iss.one/nlp_stuff/71] رو بخونید.
#read
#paper
@nlp_stuff
سرو مدلهای تورچی با TorchServe
پایتورچ هم مثل تنسرفلو بالاخره کتابخونه سروینگش رو ارائه کرده. معادلش tfserve برای تنسرفلو میشه.
کاری که TorchServe انجام میده اینه که مدل شما رو به صورت یه http api تحویل میده. یعنی شما مدلتون رو آماده کنید و این براتون بالا میاره که راحت مثلا backendتون بهش درخواست بده و اینا از هم جدا باشند.
یه ویدیوی آموزشی هم دادند که مراحلش را توضیح میده. برای چند تا تسک مثل image classification کارهای سرو مدل رو خودش انجام میده و برای بقیه مدلها هم کافیه چهار تابع از یه کلاس رو پیاده کنید تا مثلا برای مدلهای هاگینگفیس هم بتونید راحت سرو کنید.
برای استفاده در kubeflow و mlflow یکپارچهاش کردند و مثالهای متنوعی واسه کتابخونه ترنسفورمرز هاگینگفیس و MMF و .. هم درست کردند که بهره ببرید.
لینک ویدیوی توضیح و دمو (حتما لینکهای توضیحات زیرش رو هم ببیینید):
https://www.youtube.com/watch?v=XlO7iQMV3Ik
پ.ن. پیش از این راجع به tfx در این پست [https://t.iss.one/nlp_stuff/157] صحبت کرده بودیم.
#tool
#watch
@nlp_stuff
پایتورچ هم مثل تنسرفلو بالاخره کتابخونه سروینگش رو ارائه کرده. معادلش tfserve برای تنسرفلو میشه.
کاری که TorchServe انجام میده اینه که مدل شما رو به صورت یه http api تحویل میده. یعنی شما مدلتون رو آماده کنید و این براتون بالا میاره که راحت مثلا backendتون بهش درخواست بده و اینا از هم جدا باشند.
یه ویدیوی آموزشی هم دادند که مراحلش را توضیح میده. برای چند تا تسک مثل image classification کارهای سرو مدل رو خودش انجام میده و برای بقیه مدلها هم کافیه چهار تابع از یه کلاس رو پیاده کنید تا مثلا برای مدلهای هاگینگفیس هم بتونید راحت سرو کنید.
برای استفاده در kubeflow و mlflow یکپارچهاش کردند و مثالهای متنوعی واسه کتابخونه ترنسفورمرز هاگینگفیس و MMF و .. هم درست کردند که بهره ببرید.
لینک ویدیوی توضیح و دمو (حتما لینکهای توضیحات زیرش رو هم ببیینید):
https://www.youtube.com/watch?v=XlO7iQMV3Ik
پ.ن. پیش از این راجع به tfx در این پست [https://t.iss.one/nlp_stuff/157] صحبت کرده بودیم.
#tool
#watch
@nlp_stuff
YouTube
How to Serve PyTorch Models with TorchServe
Hamid Shojanazeri is a Partner Engineer at PyTorch, here to demonstrate the basics of using TorchServe. As the preferred model serving solution for PyTorch, TorchServe allows you to expose a web API for your model that may be accessed directly or via your…
اتحاد کانولووشن و ترنسفورمر برای بازشناسی گفتار
اگه اهل بازشناسی گفتار باشید باید حتما اسم conformer به گوشتون خورده باشه. این معماری که توسط گوگل و حدود یک سال پیش معرفی شد در زمان خودش پرچمدار بود و مرزهای دانش رو جابهجا کرد. ایدهاش هم خیلی ساده و زیبا بود. لایههای کانولووشنی خیلی خوب فیچرهای لوکال رو استخراج میکنند و از طرفی بلوکهای ترنسفورمر هم خیلی خوب کانتکست و فیچرها رو به صورت گلوبال استخراج میکنند. خب عقل سلیم چی میگه؟ آقای Gulati و یه مینیبوس از همکاراش سریعا به این نتیجه رسیدند که چرا توی کاربرد صوت که هم به فیچرهای لوکال و هم به کانتکست گلوبال نیاز داریم نیایم و این دوتا رو بریزیم روی هم؟ خلاصه که باز یه خارش جدید در حوزه دانش منجر به ایجاد یه معماری خوب و بهینه برای بازشناسی گفتار شد.
در واقع conformer یه بلوک انکودر هست که میتونه خیلی خوب اصوات رو برای مقاصد بازشناسی گفتار انکود کنه. هر بلاکش شامل چهار ماژول اصلی هست که به ترتیب عبارتند از: یه لایه feed forward، یه لایه multi-head self attention، یه لایه کانوولوشن و دوباره یه لایه feed forward. وجود لایه multi-head self-attention و لایه کانولووشنی باعث میشه که مدل همزمان بتونه هم فیچرهای لوکال رو خوب استخراج کنه (همونطور که میدونید وقتی شما حرف میزنید دهانتون پیوسته تکون میخوره و فرکانس تولیدی حروف به نرمی درون همدیگه ادغام میشند و تغییرات فرکانس به نرمی صورت میگیره. درست مثل تصاویر که در یک قسمت عکس با احتمال بالا، مقادیر RGB به هم نزدیک هستند مگر اینکه یه آبجکت جدید وجود داشته باشه و همین افزونگی میتونه فیچرهای خوبی به ما بده) و هم اینکه با استفاده از لایه attention کانتکست و فیچرهای گلوبال رو هم خوب بفهمه. نتیجه اینکه این مدل در سه سایز عرضه شده و در سایز متوسطش که تنها ۳۰ میلیون پارامتر داره تونسته مدل SOTA قبلی رو که ۱۱۸ میلیون پارامتر داره شکست بده و در حالتی که ۱۱۸ میلیون پارامتر داشته به WER بینظیر ۱.۹ درصد بر روی دادگان LibriSpeech رسیده. حتما شاید براتون سوال شده باشه که آیا همه این ماژولهای conformer لازم هست؟ برای این کار هم مطالعه Ablation انجام شده (در این مطالعه هر قسمت رو از مدل حذف میکنند تا ببینند آیا نتایج ثابت میمونه یا بدتر میشه درصورتی که بدتر بشه تاثیرگذار بودن اون قسمت اثبات میشه. توصیه میشه در کارهاتون همیشه ablation study داشته باشید تا جایی نخوابید که آب زیرتون بره و مثلا کلی پارامتر اضافی تولید کرده باشید!). معماری این مدل رو در تصاویر میتونید ببینید. توصیه میکنیم این مقاله کوتاه رو حتما مطالعه کنید. همچنین این معماری در ابزار OpenSpeech هم وجود داره که میتونید به راحتی ازش استفاده کنید.
لینک مقاله:
https://arxiv.org/abs/2005.08100
لینک OpenSpeech:
https://github.com/openspeech-team/openspeech
#read
#paper
@nlp_stuff
اگه اهل بازشناسی گفتار باشید باید حتما اسم conformer به گوشتون خورده باشه. این معماری که توسط گوگل و حدود یک سال پیش معرفی شد در زمان خودش پرچمدار بود و مرزهای دانش رو جابهجا کرد. ایدهاش هم خیلی ساده و زیبا بود. لایههای کانولووشنی خیلی خوب فیچرهای لوکال رو استخراج میکنند و از طرفی بلوکهای ترنسفورمر هم خیلی خوب کانتکست و فیچرها رو به صورت گلوبال استخراج میکنند. خب عقل سلیم چی میگه؟ آقای Gulati و یه مینیبوس از همکاراش سریعا به این نتیجه رسیدند که چرا توی کاربرد صوت که هم به فیچرهای لوکال و هم به کانتکست گلوبال نیاز داریم نیایم و این دوتا رو بریزیم روی هم؟ خلاصه که باز یه خارش جدید در حوزه دانش منجر به ایجاد یه معماری خوب و بهینه برای بازشناسی گفتار شد.
در واقع conformer یه بلوک انکودر هست که میتونه خیلی خوب اصوات رو برای مقاصد بازشناسی گفتار انکود کنه. هر بلاکش شامل چهار ماژول اصلی هست که به ترتیب عبارتند از: یه لایه feed forward، یه لایه multi-head self attention، یه لایه کانوولوشن و دوباره یه لایه feed forward. وجود لایه multi-head self-attention و لایه کانولووشنی باعث میشه که مدل همزمان بتونه هم فیچرهای لوکال رو خوب استخراج کنه (همونطور که میدونید وقتی شما حرف میزنید دهانتون پیوسته تکون میخوره و فرکانس تولیدی حروف به نرمی درون همدیگه ادغام میشند و تغییرات فرکانس به نرمی صورت میگیره. درست مثل تصاویر که در یک قسمت عکس با احتمال بالا، مقادیر RGB به هم نزدیک هستند مگر اینکه یه آبجکت جدید وجود داشته باشه و همین افزونگی میتونه فیچرهای خوبی به ما بده) و هم اینکه با استفاده از لایه attention کانتکست و فیچرهای گلوبال رو هم خوب بفهمه. نتیجه اینکه این مدل در سه سایز عرضه شده و در سایز متوسطش که تنها ۳۰ میلیون پارامتر داره تونسته مدل SOTA قبلی رو که ۱۱۸ میلیون پارامتر داره شکست بده و در حالتی که ۱۱۸ میلیون پارامتر داشته به WER بینظیر ۱.۹ درصد بر روی دادگان LibriSpeech رسیده. حتما شاید براتون سوال شده باشه که آیا همه این ماژولهای conformer لازم هست؟ برای این کار هم مطالعه Ablation انجام شده (در این مطالعه هر قسمت رو از مدل حذف میکنند تا ببینند آیا نتایج ثابت میمونه یا بدتر میشه درصورتی که بدتر بشه تاثیرگذار بودن اون قسمت اثبات میشه. توصیه میشه در کارهاتون همیشه ablation study داشته باشید تا جایی نخوابید که آب زیرتون بره و مثلا کلی پارامتر اضافی تولید کرده باشید!). معماری این مدل رو در تصاویر میتونید ببینید. توصیه میکنیم این مقاله کوتاه رو حتما مطالعه کنید. همچنین این معماری در ابزار OpenSpeech هم وجود داره که میتونید به راحتی ازش استفاده کنید.
لینک مقاله:
https://arxiv.org/abs/2005.08100
لینک OpenSpeech:
https://github.com/openspeech-team/openspeech
#read
#paper
@nlp_stuff
Telegram
stuff
مدل MEND؛ ادیت سریع، فوری و انقلابی مدلهای زبانی
همانطور که مستحضرید، امروزه فرمان هوش مصنوعی در دست مدلهای از پیش آموزش دیده بزرگ نظیر GPTهاست و این مدلها تختهگاز در هر حوزهای مشغول تاختنند و تقریبا پرچمدار تمامی وظایفند. این مدلها دانش غنی گستردهای رو در خودشون دارند و حتی با عملکرد فوق انسانی خودشون باعث شگفتی میشوند. اما این مدلها هم در برابر گذر زمان بی عیب نیستند. GPT3 رو در نظر بگیرید. این مدل به هنگامی بر روی دادگان آموزشیاش تعلیم دیده که ترامپ هنوز رییس جمهور بوده. حال اگر همین الان از این مدل بپرسید که چه کسی رییس جمهور آمریکاست با پاسخ ترامپ ناامیدتون میکنه. چاره چیه؟
بدیهیترین چاره که به ذهن میرسه میتونه این باشه که این مدلها رو هر از گاهی روی دادگان جدید فاین تیون کنیم. اما در عمل نشون داده شده که این کار باعث اورفیت مدل بر روی این اندک (در قیاس با دادههای اولیه) دادههای جدید میشه و عملکرد کلی مدل هم آسیب میبینه. از طرفی اگر بخوایم این دادهها رو هم به دادههای قدیمی الحاق کنیم و مدل رو هر بار از اول روی همه این دادهها آموزش بدیم بایستی دارای عمر نوح باشیم که نشدنیه. برای این درد ادیت کردن مدل، تعدادی روش در سالهای گذشته پیشنهاد شدهاند. گیر اصلی این روشها عدم مقیاس پذیریشون به مدلهای بزرگی نظیر GPT است. حالا خانم چلسی فین که از کله گندههای متالرنینگ هستند اومدند و روشی تحت عنوان mend رو پیشنهاد دادند که حتی در مقیاس GPT هم قابل انجامه. به علاوه ایشون گفتند که این مدل بایستی سه خاصیت reliability و locality و generality رو ارضا کنه، به بیان سادهتر در مورد سوالهای جدید درست جواب بده، در مورد سوالهایی که ربطی به این سوالات جدید ندارند پاسخش عوض نشه و همچنین روی سوالات جدید بتونه خاصیت generalization داشته باشه.
خانم فین برای حل این مساله پیشنهاد دادن که یک مدل عصبی به نام ادیتور داشته باشیم که وظیفه آموزش و تغییر دادن مدل پایه (همون GPTعه) رو داشته باشه. بر این اساس برای هر لایه L ام از وزنهای شبکه پایه یک مدل ادیتور g_l داریم. فرض کنید حالا متنهای جدید مربوط به این که بایدن رییس جمهور آمریکاست رو به مدل پایه میدهیم و عمل forward و backward را روی مدل انجام میدهیم. در حالت عادی بهینهسازی این گونه عمل میکردیم که در خلاف جهت گرادیان خام برای بهینهسازی شبکه پایه حرکت کنیم ولی خب این کار موجب همان اشکالاتی میشه که تو قسمت قبل صحبت کردیم. وظیفه مدل g_l این هست که با ورودی گرفتن گرادیانهای خام نسبت به وزنهای لایه Lام مدل پایه، یک جهتی رو برای بهینهسازی این وزنهای لایه Lام خروجی بده که سه خواسته ما در قسمت قبل رو برآورده کنه. در طی فرآیند آموزش این پکیج هم هر دور گرادیان تابع loss مدل پایه به ادیتور انتقال داده میشه و این شکلی ادیتور آموزش میبینه. (شهودش مثل اینه که چشمای دوستتون رو ببندید و ازش بخواید به سمت هدف تیراندازی کنه و در طول مسابقه با نتایج تیراندازیش یاد بگیرید چطوری به دوستتون راهنمایی برسونید و بهش بگید چه قدر مثلا به چه سمتی مایل بشه). حالا از طرفی چون که ماتریس وزنهای هر لایه L از مدل پایه به قدر کافی بزرگ هست، فین اینجا هم طرحی زده و این ماتریس با ابعاد d*d رو با تجزیه به فرم ضرب خارجی به رنک ۱ و نهایتا یک بردار با سایز d تبدیل کرده که همین باعث شده کلی از بار محاسباتی و زمانی قضیه خلاصی پیدا کنه (این تکه ریزجزییات زیادی داره اگه مشتاق هستید میتونید به مقاله مراجعه کنید)
اما بعد از توضیح معماری نوبت به ریزهکاریهای آموزش مدله. هر نمونه آموزشی که برای آموزش ادیتور بکار میره رو میشه به شکل یک تاپل ۵ تایی دید. چهار تا از این پنجتا، دو جفت x,y هستند که مربوط به سوالات جدید (نظیر رییس جمهور آمریکا کیه: بایدن) و (نظیر پرزیدنت ایالات متحده؟: بایدن) هستند که برای ارضای reliability و generality هستند. اسم این دو تا رو edit example و equivalance example میگذاریم. پنجمین عنصر هم یک سوال رندوم از مجموعه سوالاتیه که مدل پایه روی اونها پیش آموزش دیده (نظیر رییس جمهور روسیه؟: پوتین) که با توجه به این که حجم این سوالات خیلی بیشتر از سوالات جدیده احتمال بی ربط بودن این سوال رندوم با سوالات جدید تقریبا یکه. حالا در فرآیند آموزش، اول edit example به مدل پایه داده میشه و گرادیان خام تولید میشه. در گام بعدی ادیتور گرادیان خام رو میگیره و روی مدل پایه یک آپدیت انجام میده و بعد equivalance example به مدل پایه داده میشه و بر حسب loss روی این نمونه ادیتور آپدیت میشه! یک لاس هم برای یکی بودن پیشبینی مدل قبل و بعد از ادیت برای دادههای رندوم اضافه میشه.
تصویرهایی برای فهم مدل و دیدن نتایج هم پیوست شدهاند.
لینک مقاله:
https://arxiv.org/abs/2110.11309
#paper
#read
@nlp_stuff
همانطور که مستحضرید، امروزه فرمان هوش مصنوعی در دست مدلهای از پیش آموزش دیده بزرگ نظیر GPTهاست و این مدلها تختهگاز در هر حوزهای مشغول تاختنند و تقریبا پرچمدار تمامی وظایفند. این مدلها دانش غنی گستردهای رو در خودشون دارند و حتی با عملکرد فوق انسانی خودشون باعث شگفتی میشوند. اما این مدلها هم در برابر گذر زمان بی عیب نیستند. GPT3 رو در نظر بگیرید. این مدل به هنگامی بر روی دادگان آموزشیاش تعلیم دیده که ترامپ هنوز رییس جمهور بوده. حال اگر همین الان از این مدل بپرسید که چه کسی رییس جمهور آمریکاست با پاسخ ترامپ ناامیدتون میکنه. چاره چیه؟
بدیهیترین چاره که به ذهن میرسه میتونه این باشه که این مدلها رو هر از گاهی روی دادگان جدید فاین تیون کنیم. اما در عمل نشون داده شده که این کار باعث اورفیت مدل بر روی این اندک (در قیاس با دادههای اولیه) دادههای جدید میشه و عملکرد کلی مدل هم آسیب میبینه. از طرفی اگر بخوایم این دادهها رو هم به دادههای قدیمی الحاق کنیم و مدل رو هر بار از اول روی همه این دادهها آموزش بدیم بایستی دارای عمر نوح باشیم که نشدنیه. برای این درد ادیت کردن مدل، تعدادی روش در سالهای گذشته پیشنهاد شدهاند. گیر اصلی این روشها عدم مقیاس پذیریشون به مدلهای بزرگی نظیر GPT است. حالا خانم چلسی فین که از کله گندههای متالرنینگ هستند اومدند و روشی تحت عنوان mend رو پیشنهاد دادند که حتی در مقیاس GPT هم قابل انجامه. به علاوه ایشون گفتند که این مدل بایستی سه خاصیت reliability و locality و generality رو ارضا کنه، به بیان سادهتر در مورد سوالهای جدید درست جواب بده، در مورد سوالهایی که ربطی به این سوالات جدید ندارند پاسخش عوض نشه و همچنین روی سوالات جدید بتونه خاصیت generalization داشته باشه.
خانم فین برای حل این مساله پیشنهاد دادن که یک مدل عصبی به نام ادیتور داشته باشیم که وظیفه آموزش و تغییر دادن مدل پایه (همون GPTعه) رو داشته باشه. بر این اساس برای هر لایه L ام از وزنهای شبکه پایه یک مدل ادیتور g_l داریم. فرض کنید حالا متنهای جدید مربوط به این که بایدن رییس جمهور آمریکاست رو به مدل پایه میدهیم و عمل forward و backward را روی مدل انجام میدهیم. در حالت عادی بهینهسازی این گونه عمل میکردیم که در خلاف جهت گرادیان خام برای بهینهسازی شبکه پایه حرکت کنیم ولی خب این کار موجب همان اشکالاتی میشه که تو قسمت قبل صحبت کردیم. وظیفه مدل g_l این هست که با ورودی گرفتن گرادیانهای خام نسبت به وزنهای لایه Lام مدل پایه، یک جهتی رو برای بهینهسازی این وزنهای لایه Lام خروجی بده که سه خواسته ما در قسمت قبل رو برآورده کنه. در طی فرآیند آموزش این پکیج هم هر دور گرادیان تابع loss مدل پایه به ادیتور انتقال داده میشه و این شکلی ادیتور آموزش میبینه. (شهودش مثل اینه که چشمای دوستتون رو ببندید و ازش بخواید به سمت هدف تیراندازی کنه و در طول مسابقه با نتایج تیراندازیش یاد بگیرید چطوری به دوستتون راهنمایی برسونید و بهش بگید چه قدر مثلا به چه سمتی مایل بشه). حالا از طرفی چون که ماتریس وزنهای هر لایه L از مدل پایه به قدر کافی بزرگ هست، فین اینجا هم طرحی زده و این ماتریس با ابعاد d*d رو با تجزیه به فرم ضرب خارجی به رنک ۱ و نهایتا یک بردار با سایز d تبدیل کرده که همین باعث شده کلی از بار محاسباتی و زمانی قضیه خلاصی پیدا کنه (این تکه ریزجزییات زیادی داره اگه مشتاق هستید میتونید به مقاله مراجعه کنید)
اما بعد از توضیح معماری نوبت به ریزهکاریهای آموزش مدله. هر نمونه آموزشی که برای آموزش ادیتور بکار میره رو میشه به شکل یک تاپل ۵ تایی دید. چهار تا از این پنجتا، دو جفت x,y هستند که مربوط به سوالات جدید (نظیر رییس جمهور آمریکا کیه: بایدن) و (نظیر پرزیدنت ایالات متحده؟: بایدن) هستند که برای ارضای reliability و generality هستند. اسم این دو تا رو edit example و equivalance example میگذاریم. پنجمین عنصر هم یک سوال رندوم از مجموعه سوالاتیه که مدل پایه روی اونها پیش آموزش دیده (نظیر رییس جمهور روسیه؟: پوتین) که با توجه به این که حجم این سوالات خیلی بیشتر از سوالات جدیده احتمال بی ربط بودن این سوال رندوم با سوالات جدید تقریبا یکه. حالا در فرآیند آموزش، اول edit example به مدل پایه داده میشه و گرادیان خام تولید میشه. در گام بعدی ادیتور گرادیان خام رو میگیره و روی مدل پایه یک آپدیت انجام میده و بعد equivalance example به مدل پایه داده میشه و بر حسب loss روی این نمونه ادیتور آپدیت میشه! یک لاس هم برای یکی بودن پیشبینی مدل قبل و بعد از ادیت برای دادههای رندوم اضافه میشه.
تصویرهایی برای فهم مدل و دیدن نتایج هم پیوست شدهاند.
لینک مقاله:
https://arxiv.org/abs/2110.11309
#paper
#read
@nlp_stuff
Telegram
stuff
مدل big bird برای زبان فارسی
معماری برت با تمامی خوبیهایی که دارد اما یک نقطه ضعف بزرگ دارد که حداکثر رشتههایی با طول ۵۱۲ توکن را میتواند پردازش کند. این محدودیت در واقع ناشی از مرتبه محاسباتی درجه دو مکانیزم توجه بین توکنهای دنباله است (اگر دنباله به طول d باشه، d^2 عمل اتنشن بایستی در داخل آن رخ دهد که خب سنگین است). برای همین بار محاسباتی، چه آموزش و چه تست کردن مدل بر روی دنبالههای بلند عملا ناممکن میشود. این در حالی است که بسیاری از تسکهای پردازش زبان نظیر خلاصهسازی، نیازمند پردازش دنبالههای بسیار طولانیتر از ۵۱۲ توکن هستند. در طی این چند سال اخیر چندین معماری و راهکار جهت حل نیازمندی پردازش دنبالههای بلند خلق و پیشنهاد شدهاند. یکی از این معماریهای پیشنهادی، معماری bigbird است که در آن هر توکن به جای توجه بر تمام توکنها، صرفا به سه مجموعه توکن توجه میکند: توکنهای در همسایگی خود، تعداد اندکی توکن گلوبال و تعدادی توکن رندوم. معماری bigbird با همین ابتکار میتواند دنبالههایی با طول حداکثر ۴۰۹۶ توکن را به خوبی پردازش کند و جزو طلایهداران بعضی وظایف نظیر خلاصه سازی و حتی بعضی مسائل bioای باشد.
حالا آقای ایوبی آمدهاند و اولین مدل فارسی بر پایه bigbird را آموزش دادهاند و در اختیار عموم قرار دادهاند تا راهکاری برای پردازش متون طولانی فارسی باشد. این مدل طبق اذعان ایشان بینقص نیست اما گام اول خوبی جهت تحلیل متنهای بلند در زبان فارسی میتواند باشد. طرز استفاده از این مدل در ریپوی آن آمده است.
لینک ریپو:
https://github.com/sajjjadayobi/ParsBigBird
پ.ن. ۱: میتوانید با استار دادن هم خستگی را از تن توسعهدهنده مدل خارج کنید و هم از تمرکز بر روی پردازش زبان فارسی حمایت کنید. دریغ نفرمایید.
پ.ن. ۲: ریپو یا کد یا مدل یا دیتاست بهدردبخوری داشتید، ندا بدید که بعد از بررسی در کانال قرار بدیم.
#irani
#tool
@nlp_stuff
معماری برت با تمامی خوبیهایی که دارد اما یک نقطه ضعف بزرگ دارد که حداکثر رشتههایی با طول ۵۱۲ توکن را میتواند پردازش کند. این محدودیت در واقع ناشی از مرتبه محاسباتی درجه دو مکانیزم توجه بین توکنهای دنباله است (اگر دنباله به طول d باشه، d^2 عمل اتنشن بایستی در داخل آن رخ دهد که خب سنگین است). برای همین بار محاسباتی، چه آموزش و چه تست کردن مدل بر روی دنبالههای بلند عملا ناممکن میشود. این در حالی است که بسیاری از تسکهای پردازش زبان نظیر خلاصهسازی، نیازمند پردازش دنبالههای بسیار طولانیتر از ۵۱۲ توکن هستند. در طی این چند سال اخیر چندین معماری و راهکار جهت حل نیازمندی پردازش دنبالههای بلند خلق و پیشنهاد شدهاند. یکی از این معماریهای پیشنهادی، معماری bigbird است که در آن هر توکن به جای توجه بر تمام توکنها، صرفا به سه مجموعه توکن توجه میکند: توکنهای در همسایگی خود، تعداد اندکی توکن گلوبال و تعدادی توکن رندوم. معماری bigbird با همین ابتکار میتواند دنبالههایی با طول حداکثر ۴۰۹۶ توکن را به خوبی پردازش کند و جزو طلایهداران بعضی وظایف نظیر خلاصه سازی و حتی بعضی مسائل bioای باشد.
حالا آقای ایوبی آمدهاند و اولین مدل فارسی بر پایه bigbird را آموزش دادهاند و در اختیار عموم قرار دادهاند تا راهکاری برای پردازش متون طولانی فارسی باشد. این مدل طبق اذعان ایشان بینقص نیست اما گام اول خوبی جهت تحلیل متنهای بلند در زبان فارسی میتواند باشد. طرز استفاده از این مدل در ریپوی آن آمده است.
لینک ریپو:
https://github.com/sajjjadayobi/ParsBigBird
پ.ن. ۱: میتوانید با استار دادن هم خستگی را از تن توسعهدهنده مدل خارج کنید و هم از تمرکز بر روی پردازش زبان فارسی حمایت کنید. دریغ نفرمایید.
پ.ن. ۲: ریپو یا کد یا مدل یا دیتاست بهدردبخوری داشتید، ندا بدید که بعد از بررسی در کانال قرار بدیم.
#irani
#tool
@nlp_stuff
GitHub
GitHub - sajjjadayobi/ParsBigBird: Persian Bert For Long-Range Sequences
Persian Bert For Long-Range Sequences. Contribute to sajjjadayobi/ParsBigBird development by creating an account on GitHub.
بهترینهای کنفرانس EMNLP2021
بهترین مقالههای (کوتاه، بلند و برجسته) کنفرانس EMNLP2021 انتخاب شدند. اینجا لینک مربوط به هر مقاله و خلاصهی سرپایی چندخطیشون رو آوردیم. ما کمکم سراغشون میریم ولی اگر شما هم هر کدوم رو خوندید و خلاصهی کاملتری نوشتید، بفرستید تا به اسم خودتون منتشرش میکنیم.
لینک اسامی و نویسندههای مقالات منتخب:
https://2021.emnlp.org/blog/2021-10-29-best-paper-awards
۱. بهترین مقالهی بلند
- نام مقاله: Visually Grounded Reasoning across Languages and Cultures
- خلاصه: یک روشی ارائه کردند تا دیتاست ترکیبی عکس و متن استایل ImageNet بشه ساخت اما برای زبانها و فرهنگهای مختلف و نه فقط طبق زبان و فرهنگ آمریکای شمالی و اروپای غربی. و یه دیتاست چندزبانه تصویر و متن به نام Multicultural Reasoning over Vision and Language (MaRVL) درست کردند که هر دونه از اعضای این دیتاست به شکل دو تصویر + یک متن توصیفی به زبانهای متنوع و مختلفی مثل اندونزیایی، چینی، ترکی و… است و برچسبش True/False است. نمونهای ازش در ضمیمه اومده. یه سری مدل هم به عنوان مدلهای پایه برای این تسک ارائه کردند.
- لینک مقاله:
https://arxiv.org/abs/2109.13238
۲. بهترین مقالهی کوتاه
- نام مقاله: CHoRa: Collecting Humor Reaction Labels from Millions of Social Media Users
- خلاصه: همونجوری که از اسمش مشخصه، یه روشی و چهارچوبی ارائه کردند تا شوخیهای ملت رو بتونند در ابعاد بزرگ از شبکههای اجتماعی بدون برچسبزنی دستی و با استفاده از عکسالعمل بقیهی کاربران (ایموجی و اینا) جمعآوری کنند. چون هر زبون و فرهنگی مدل شوخیهای خودشو داره، جمعآوری دیتا در ابعاد بزرگ سخته، پس تبعا و طبعا؛ تسکش هم سخت میشه. این مقاله یک دیتاست عظیم ۷۸۵هزارتایی حول موضوع کرونا ارائه کردند و تحلیلهایی هم از ساختار گرامری و معنایی و احساسی این پستها انجام دادند. تصویری از نمونه دادگان ضمیمه شده است.
- لینک ارائه مقاله:
https://underline.io/lecture/37879-choral-collecting-humor-reaction-labels-from-millions-of-social-media-users
۳. مقالههای برجسته
- نام مقاله: MindCraft: Theory of Mind Modeling for Situated Dialogue in Collaborative Tasks
- لینک مقاله:
https://arxiv.org/abs/2109.06275
- نام مقاله: SituatedQA: Incorporating Extra-Linguistic Contexts into QA
- خلاصه: سوالها ممکنه جوابشون در مکانها و زمانهای (context) مختلف متفاوت باشه. مثلا سوال چه واکسنهای کرونایی برای بزرگسالان تایید شده است؟ برای زمانها و و مکانهای مختلف متفاوت میشه. این مقاله همونطور که از اسمش پیداست، یه دیتاست به اسم SITUATEDQA تقدیم جامعه کردند که کنار سوال، یه کانتست زمان یا مکان هم چاشنی کار کردند که مدل باید در نظر بگیره. یه عکس از نمونهاش در ضمیمه گذاشتیم. مسیر جمعآوری و برچسبزنی داده رو هم آوردند.
- لینک مقاله:
https://arxiv.org/abs/2109.06157
- نام مقاله: When Attention Meets Fast Recurrence: Training Language Models with Reduced Compute
- خلاصه: در جریان هزینههای بالای محاسباتی آموزش مدلهای زبانی بزرگ هستید دیگه؟ این مقاله اومده مدل زبانی رو با یه سری یونیت بازگشتی ترکیب کرده و با ترنسفورمرهایی مثل Trans-XL و Longformer و Shortformer مقایسه کردند و در حالی که هزینهها را یک سوم تا یک دهم کرده، تونسته در بعضی تسکها بر مدلهای زبانی مذکور فائق بیاد.
- لینک مقاله:
https://arxiv.org/abs/2102.12459
- نام مقاله: Shortcutted Commonsense: Data Spuriousness in Deep Learning of Commonsense Reasoning
- لینک کد مقاله:
https://github.com/nlx-group/Shortcutted-Commonsense-Reasoning
۴. کتابخونهی dataset هاگینگفیس هم جایزهی بهترین مقالهی demo رو برده.
پ.ن. لطفا کانال را به بقیه هم معرفی کنید.
#read
#paper
#conf
@nlp_stuff
بهترین مقالههای (کوتاه، بلند و برجسته) کنفرانس EMNLP2021 انتخاب شدند. اینجا لینک مربوط به هر مقاله و خلاصهی سرپایی چندخطیشون رو آوردیم. ما کمکم سراغشون میریم ولی اگر شما هم هر کدوم رو خوندید و خلاصهی کاملتری نوشتید، بفرستید تا به اسم خودتون منتشرش میکنیم.
لینک اسامی و نویسندههای مقالات منتخب:
https://2021.emnlp.org/blog/2021-10-29-best-paper-awards
۱. بهترین مقالهی بلند
- نام مقاله: Visually Grounded Reasoning across Languages and Cultures
- خلاصه: یک روشی ارائه کردند تا دیتاست ترکیبی عکس و متن استایل ImageNet بشه ساخت اما برای زبانها و فرهنگهای مختلف و نه فقط طبق زبان و فرهنگ آمریکای شمالی و اروپای غربی. و یه دیتاست چندزبانه تصویر و متن به نام Multicultural Reasoning over Vision and Language (MaRVL) درست کردند که هر دونه از اعضای این دیتاست به شکل دو تصویر + یک متن توصیفی به زبانهای متنوع و مختلفی مثل اندونزیایی، چینی، ترکی و… است و برچسبش True/False است. نمونهای ازش در ضمیمه اومده. یه سری مدل هم به عنوان مدلهای پایه برای این تسک ارائه کردند.
- لینک مقاله:
https://arxiv.org/abs/2109.13238
۲. بهترین مقالهی کوتاه
- نام مقاله: CHoRa: Collecting Humor Reaction Labels from Millions of Social Media Users
- خلاصه: همونجوری که از اسمش مشخصه، یه روشی و چهارچوبی ارائه کردند تا شوخیهای ملت رو بتونند در ابعاد بزرگ از شبکههای اجتماعی بدون برچسبزنی دستی و با استفاده از عکسالعمل بقیهی کاربران (ایموجی و اینا) جمعآوری کنند. چون هر زبون و فرهنگی مدل شوخیهای خودشو داره، جمعآوری دیتا در ابعاد بزرگ سخته، پس تبعا و طبعا؛ تسکش هم سخت میشه. این مقاله یک دیتاست عظیم ۷۸۵هزارتایی حول موضوع کرونا ارائه کردند و تحلیلهایی هم از ساختار گرامری و معنایی و احساسی این پستها انجام دادند. تصویری از نمونه دادگان ضمیمه شده است.
- لینک ارائه مقاله:
https://underline.io/lecture/37879-choral-collecting-humor-reaction-labels-from-millions-of-social-media-users
۳. مقالههای برجسته
- نام مقاله: MindCraft: Theory of Mind Modeling for Situated Dialogue in Collaborative Tasks
- لینک مقاله:
https://arxiv.org/abs/2109.06275
- نام مقاله: SituatedQA: Incorporating Extra-Linguistic Contexts into QA
- خلاصه: سوالها ممکنه جوابشون در مکانها و زمانهای (context) مختلف متفاوت باشه. مثلا سوال چه واکسنهای کرونایی برای بزرگسالان تایید شده است؟ برای زمانها و و مکانهای مختلف متفاوت میشه. این مقاله همونطور که از اسمش پیداست، یه دیتاست به اسم SITUATEDQA تقدیم جامعه کردند که کنار سوال، یه کانتست زمان یا مکان هم چاشنی کار کردند که مدل باید در نظر بگیره. یه عکس از نمونهاش در ضمیمه گذاشتیم. مسیر جمعآوری و برچسبزنی داده رو هم آوردند.
- لینک مقاله:
https://arxiv.org/abs/2109.06157
- نام مقاله: When Attention Meets Fast Recurrence: Training Language Models with Reduced Compute
- خلاصه: در جریان هزینههای بالای محاسباتی آموزش مدلهای زبانی بزرگ هستید دیگه؟ این مقاله اومده مدل زبانی رو با یه سری یونیت بازگشتی ترکیب کرده و با ترنسفورمرهایی مثل Trans-XL و Longformer و Shortformer مقایسه کردند و در حالی که هزینهها را یک سوم تا یک دهم کرده، تونسته در بعضی تسکها بر مدلهای زبانی مذکور فائق بیاد.
- لینک مقاله:
https://arxiv.org/abs/2102.12459
- نام مقاله: Shortcutted Commonsense: Data Spuriousness in Deep Learning of Commonsense Reasoning
- لینک کد مقاله:
https://github.com/nlx-group/Shortcutted-Commonsense-Reasoning
۴. کتابخونهی dataset هاگینگفیس هم جایزهی بهترین مقالهی demo رو برده.
پ.ن. لطفا کانال را به بقیه هم معرفی کنید.
#read
#paper
#conf
@nlp_stuff
Telegram
stuff
کورس جدید CS224N استنفورد
ویدیوهای کورس NLP زمستون 2021 استنفورد روی یوتیوب آپلود شد. امسال خیلی بیشتر (تقریبا یک سوم کورس) روی اتنشن، ترنسفورمرها و تفسیر مدل تمرکز کردند. اگر میخواهید دیپ لرنینگ و پردازش زبان طبیعی یاد بگیرید، این کورس با یک تیر دو نشون برای شما میزنه. همین و بس!
لینک یوتیوب:
https://www.youtube.com/playlist?list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ
لینک درس:
https://web.stanford.edu/class/cs224n/
پ.ن. با این هشتگ coach که در پایین میبینید، میتونید کورسها، کتابها و توتوریالهای معرفیشده در کانال رو دریابید. البته اصولا نقش هشتگ همینه دیگه!
#coach
#course
#watch
@nlp_stuff
ویدیوهای کورس NLP زمستون 2021 استنفورد روی یوتیوب آپلود شد. امسال خیلی بیشتر (تقریبا یک سوم کورس) روی اتنشن، ترنسفورمرها و تفسیر مدل تمرکز کردند. اگر میخواهید دیپ لرنینگ و پردازش زبان طبیعی یاد بگیرید، این کورس با یک تیر دو نشون برای شما میزنه. همین و بس!
لینک یوتیوب:
https://www.youtube.com/playlist?list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ
لینک درس:
https://web.stanford.edu/class/cs224n/
پ.ن. با این هشتگ coach که در پایین میبینید، میتونید کورسها، کتابها و توتوریالهای معرفیشده در کانال رو دریابید. البته اصولا نقش هشتگ همینه دیگه!
#coach
#course
#watch
@nlp_stuff
ارائهای با موضوع «معیار هوشمندی»
مهدیمون فردا (چهارشنبه ۱۲ آبان) ساعت ۱۰ قراره راجع به معیار هوشمندی صحبت کنه. دید خیلی خوبی از وضعیت واقعگرایانهی حال و آینده هوش بهتون میده. از دست ندید و لطفا دستبهدست کنید.
خلاصه: به لطف یادگیری عمیق، امروز ما در بهار هوش مصنوعی هستیم. مدلهای از پیش آموزش دیده بزرگ عملکرد خیرهکننده را در مسائل در حوزههای پردازش تصویر، پردازش زبان و پردازش صوت به دست آوردهاند و حتی در بعضی از موارد از عملکرد انسانی نیز پیشی گرفتهاند.
نکته ناامیدکننده اما این است که مدلهای عصبی امروزی در برابر حملات خصمانه شکنندهاند، بسیار به داده گرسنهاند و از همه مهمتر قادر به انتقال یادگیری خود به محیطهای نو نیستند. این نقاط تاریک این سوال را به وجود میآورد که آیا واقعا این شبکهها هوشمند هستند؟ برای فهمیدن این مطلب ابتدا بایستی هوش را تعریف کنیم. ما برای بررسی این بحث از نظرات «فرانسوا شله» کمک میگیریم. در این ارائه ما پس از بررسی ویژگیهای موردنیاز برای تعریف هوش، تعریف صوری «شله» از هوش را بحث خواهیم کرد. سپس با محک ARC که توسط «شله» برای سنجیدن هوش خلق شده است آشنا میشویم و به گمانهپردازی میپردازیم که چاره و راه حل این چالش به چه شکل خواهد بود. در انتهای بحث در مورد تعریف هوش احتمالا با سوالات چالش برانگیزتری مواجه خواهیم شد. آیا دیپ لرنینگ همه آن چیزی است که برای رسیدن به مقصد هوش مصنوعی نیاز داریم یا این که قربانی زمستان بعدی هوش مصنوعی خواهد بود؟
لینک اتاق برگزاری:
https://vc.sharif.edu/ch/rohban
#overfit
@nlp_stuff
مهدیمون فردا (چهارشنبه ۱۲ آبان) ساعت ۱۰ قراره راجع به معیار هوشمندی صحبت کنه. دید خیلی خوبی از وضعیت واقعگرایانهی حال و آینده هوش بهتون میده. از دست ندید و لطفا دستبهدست کنید.
خلاصه: به لطف یادگیری عمیق، امروز ما در بهار هوش مصنوعی هستیم. مدلهای از پیش آموزش دیده بزرگ عملکرد خیرهکننده را در مسائل در حوزههای پردازش تصویر، پردازش زبان و پردازش صوت به دست آوردهاند و حتی در بعضی از موارد از عملکرد انسانی نیز پیشی گرفتهاند.
نکته ناامیدکننده اما این است که مدلهای عصبی امروزی در برابر حملات خصمانه شکنندهاند، بسیار به داده گرسنهاند و از همه مهمتر قادر به انتقال یادگیری خود به محیطهای نو نیستند. این نقاط تاریک این سوال را به وجود میآورد که آیا واقعا این شبکهها هوشمند هستند؟ برای فهمیدن این مطلب ابتدا بایستی هوش را تعریف کنیم. ما برای بررسی این بحث از نظرات «فرانسوا شله» کمک میگیریم. در این ارائه ما پس از بررسی ویژگیهای موردنیاز برای تعریف هوش، تعریف صوری «شله» از هوش را بحث خواهیم کرد. سپس با محک ARC که توسط «شله» برای سنجیدن هوش خلق شده است آشنا میشویم و به گمانهپردازی میپردازیم که چاره و راه حل این چالش به چه شکل خواهد بود. در انتهای بحث در مورد تعریف هوش احتمالا با سوالات چالش برانگیزتری مواجه خواهیم شد. آیا دیپ لرنینگ همه آن چیزی است که برای رسیدن به مقصد هوش مصنوعی نیاز داریم یا این که قربانی زمستان بعدی هوش مصنوعی خواهد بود؟
لینک اتاق برگزاری:
https://vc.sharif.edu/ch/rohban
#overfit
@nlp_stuff
Telegram
stuff