Ali's Notes
997 subscribers
8 photos
2 videos
57 links
من علی نجفی ام.
اینجا برای خودم نوت برداری میکنم
شاید به درد شما هم بخوره :‌)


Website: www.najafi-ali.com
BlueSky: https://bsky.app/profile/najafialiai.bsky.social
Linkedin: www.linkedin.com/in/najafi-ali1998
Download Telegram
سلام و درود

من علی نجفی هستم
اینجا در مورد کارهایی که برام جالب هست مینویسم!
الان دانشجوی سنیور ارشد هستم دانشگاه Sabanci ترکیه (یه سال آینده هم اینجام)


فیلد کاریم هم NLP هستش
هم NLP تو لول دولوپ و هم تو لول اپلیکیشن کار کردم

اون مدت که ایران بودم از میثم و محمد King چیزهای زیادی یاد گرفتم و حکم استادای من رو دارن

اما هدفم از این کانال چیه؟
اینجا در مورد چیزهایی که برام جذاب هستش حرف میزنم
بیشتر در مورد NLP و Computational Social Science و حتی اگه فاندینگ ها یا موقعیت های خاصی که دیدم پست میکنم
و سعی میکنم که براتون مفید باشه

@css_nlp
یکی از فیلد هایی که کمتر بهش توجه شده Computational Social Science هستش. اما استارت بحث رو از کجا بزنم:
همونطوری که از اسمش مشخصه
سوشال ساینس + محاسبات عددی ( واللا نمیدونم این کلمه درستی هستش یا نه برای ترجمه)

سوشال ساینس متشکل از فیلد هایی مثل سایکولوجی، علوم سیاسی و... هستش. توی این فیلد تئوری ها و مقالات زیادی هستش که روشون کار شده، اما عملا بدون دیتا انجام شده و در بهترین حالت، به عنوان مثال، اومدن یه سری survey جمع آوری کردن و روشون یه سری بحث هایی انجام دادن. اما الان تو یه زمانی هستیم که دیتا از زمین و زمان می باره. خب این ینی چی؟

این یعنی اینکه میتونن هر بحث و فلسفه و تئوری که روشون کار کردن بیان برحسب دیتای زیاد موجود، تطبیق بدن و اتفاقات رو آنالیز کنن.

مثال بگم؟
فرض کنید همین قضیه مهسا امینی رو : (
و اتفاقاتی که توی تویتر رخ داد.
یادتون باشه ترندینگ تاپیک ها جابه جا میشد و خیلی اتفاقات عجیب غریبی رخ میداد. تصور کنید شما بیاید آنالیز هایی انجام بدید که بتونید Manipulation در سوشال مدیا رو دیتکت کنه و یا سورس های این manipulation ها رو ردیابی کنید و یا خیلی چیزهای دیگه. بعد بیاید با توجه به تئوری هایی که وجود داره توی فیلد علوم سیاسی نتایجتون رو تفسیر کنید. این فیلد یک فیلد ترکیبی هستش، یعنی فقط مهارت تکنیکال لازم نیست بلکه خیلی مهارت های دیگه رو میطلبه.

الان هم خیلی hot هستش چون به پتانسیلی که وجود داره پی بردن و خیلی از Social Scientists ها مهارت تکنیکال ندارن. این یعنی اینکه کارهای زیادی میشه کرد.

این نوشته رو اینجا میزارم و بعدا ساپورت میکنم با کارهایی که کردن.

@css_nlp
این پیپر رو استاد من با همکاراش اخیرا بیرون دادن، حقیقتش قبل بستن api تویتر😆 که سرش آقای ماسک خیلی فشاری شده بودن.
خواستید بخونید کل دیتای تویتر رو برای یک روز dump کردن و از جنبه های مختلف آنالیز کردن، حتی میتونید توی ترندینگ تاپیک ها اعتراضات موجود در ایران رو هم ببینید.

🔗Just Another Day on Twitter: A Complete 24 Hours of Twitter Data

@css_nlp
LMQL
🗞 یک بستر جالب برای Prompt کردن مدل های بزرگ!

😱 جالبیش اینجاس که میتونید تسک مورد نظرتون رو انتخاب کنید و متناسب با پرامپتی که ارایه میدید خروجی مناسب رو بگیرید.
میتونید مدلی که میخواید روش پرامپت بزنید هم انتخاب کنید.
میتونید با pip هم لوکال نصب کنید و از سرویسش بهره مند بشید.

https://lmql.ai/#distribution


@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
MetaGPT: The Multi-Agent Framework: Given one line Requirement, return PRD, Design, Tasks, Repo

کارهای جالبی میکنه:
- بهش بگید فلان گیم رو بساز براتون میسازه ( ویدیو )
- بهش میگید یه استارت اپ رو چطوری بسازم بهتون مراحل رو توضیح میده.


🔔ایجنت بیس هستش، یعنی میشه به خوبی scale کرد و برای هر GPT یک نقش خاصی بهش داد.
همین پوینتش یه نکته زیبا داره:
ایده داری، سریع میشه پیاده سازی کرد و دید چی میشه
https://github.com/geekan/MetaGPT



✔️ فرض کنید با این ایجنت ها برای هر کشور یک سخنگوی دولت مانند بسازید (برحسب ارزش ها و سیاست های هر کشور) بعدش بندازید به جون هم که باهم حرف بزنن.
بعدش چک کنید که کی خشن میشن یا تحت چه شرایطی کشورها استارت میزنن به دوست شدن و این چیز ها.
بعدش چی؟
این برای سیاست مدارها میتونه ارزشمند باشه که چیزهایی رو که ممکن هست رخ بده از قبل ببینن.

این ایده ای که دارم اینجا میدم میتونه خیلی broad باشه، ولی میشه ساختش. : )


@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
☄️AutoTrain
✔️ برای تسک های classification میتونید دیتاستتون رو آپلود کنید و مدل رو انتخاب کنید و ریزالت هاتون رو ببینید
✔️ کد نمیزنید عملا.
⚠️ مشخصا رایگان نیستش و سیاستشون per minute training هست.
⚠️ بدیش اینه که دیتاستتون رو نمیدونید کجا آپلود میکنید.


🌐 Link 🌐
@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
😇😇😇😇بالاخره بعد از مدت ها تونستم پیپر LLama-2 رو بخونم. برخلاف پیپر GPT که کلا چیزی نگفته بودن، این پیپر اطلاعات خیلی ارزشمندی رو در اختیار ما گذاشته.
یه سری از نکته هایی رو که واقعا ازش لذت بردم میخوام اینجا لیست کنم. قبل لیست کردن چند تا نکته رو اشاره کنم، خب مدل product محور که وقتی وارد بازار شدن همه جا رو ترکوندن و گفتن که دیگه رسیدیم به آخر AI و خیلی چیزهای دیگه مثل ChatGPT. اما مساله ای که اینجا ارزش داره بهش دقت کنیم این هست که این مدل ها close source هستن یا به عبارتی ما نمیدونیم اون پشت چه اتفاقاتی داره میافته که به این نتایج انسان پسند و باحال دست پیدا میکنیم.
تو دنیای ریسرچ فعلی برای NLP و مخصوصا سمت ترین کردن LLM ها، الان رقابتی که وجود داره اینطور هستش که مدلی رو بیرون بدن که ریزالت های نزدیک یا حتی بهتر از این پروداکت ها رو داشته باشن.
استارتینگ پوینتش رو از Falcon 7b بعد از BLOOM شاید بشه بهش اشاره کرد. علت اینکه BLOOM رو نمیگم اولی چون قبل تر از ChatGPT اینا بودن.
ولی مشکلات و بدبختی زیادی وجود داره 🥺.

🥵مدل ها خیلی بزرگن - درحدی بزرگن که با کوانتایزر کردن و 2 بیت 4 بیت کردن هم باز یه GPU در حد 16 گیگ رم میخواد.
هر چند اندروکارپاسی با cpp اومد اسکریپتی داد که حتی رو cpu هم میشه inference گرفت ولی خب....

🥵 مدل ها wild و وحشی ان. اصلا جنریت کردن به نظرم یکی از سخت ترین قسمت های کاری LLM ها هستش. چرا؟
🗿 اصلا کنترل کردن جنریت سخته. میگی 100 کاراکتر بیشتر جنریت نکن میبینی داره 400 تا کاراکتر جنریت میکنه
🗿 میگی پنالتی تکرار جنریت کردن و ببرم بالا، میبینی که دوباره تکست تکراری جنریت میکنه
🗿میخوای که مواظب باشی حرف های بد نزنه باید یا Direct Finetune کنی یا بیای RLHF که عملا یه مدلی هست که میاد مدل اصلی رو کنترل میکنه
(نمونش اونجا که chatgpt میگی یه حرف racist طور بزنه اما بعدش میگه به عنوان یه LLM نمیتونم و فلان)
(یادم باشه یه پست هم درمورد آماده کردن دیتاست ها اینجا بنویسم)


حالا این چیزا رو کنار بزاریم و بریم ببینیم که LLama2 چه گلی به سرمون زده:


⚡️Dataset
📌 دیتاستی که ترین کردن public هستش و مواظب بودن که شامل دیتای Meta نباشه.
📌 نسبت به LLama1 افزایش 40 درصدی دیتاست داشتن برای ترین کردن
📌 دیتاستی که ترین شدن multilingual هستش یعنی زبان های دیگه رو هم ساپورت میکنه اما تو پیپر گفتن که ما فقط انگلیسی رو زیرنظر گرفتیم
📌 چک کردن که دیتایی که هست شامل دیتای شخصی افراد نباشه به خاطر privacy.
📌 دیتا سرجمع 2 ترلیون توکن داشته
⚡️ Pre-training
📌 ساختار مدل همون ترنسفورمر استاندارد هستش
📌 قبل ترین مدل وزن ها رو با RMSNorm نرمالایزر کردن
📌 اکتیویشن فانکشن SwiGLU
📌 برای positional embedding، از Rotary Positional Embeddings استفاده کردن
📌 به طور کلی input length یا همون context length رو بردن بالا (نکته قابل ذکر اینکه وقتی این سایزر ورودی رو میبرن بالا، computational cost هم خیلی زیبا میره بالا. برای این پیپر attention is all you need رو میتونید چک کنید)
📌 ماژول اتنشنشون یکمی متفاوت هستش با اتنشن عادی. از GQA استفاده کردن

⚡️ Evaluation
تسک هایی که روش مدل های مختلف رو بنچ مارک گرفتن:
🟢 Code
🟢 Commonsense Reasoning
🟢 World Knowledge
🟢 Reading Comprehension (دوستانی که امتحان GRE دادن میدونن :)
🟢 Math
🟢 Popular Aggregated Benchmarks

📌در کل روی تسک های اشاره شده ریزالت ها بهتر شدن روی LLama-2 که از این بین بهتریشون 70 بیلیون پارامتری لاما هستش


⚡️ Finetuning

📌 من وقتی شنیدم که LLama 2 رو فاین تون کردن خوشحال شدم. چون کلا فاین تون رو گذاشته بودن کنار و کسی دیرکتلی فاین تون نمیکرد.

@css_nlp


ادامه دارد ...
Please open Telegram to view this post
VIEW IN TELEGRAM
کتاب یادداشت فرایند ترین کردن مدل OPT-175B که بیرون دادن.


🌐 OPT175B_Logbook.pdf🌐

انصافا دمشون گرم. عالین. این کلاستر ترین کردن رو نود های مختلف یک مصیبتی هستش که اصلا قابل توصیف نیست.
اینجا میتونید قشنگ ببینید که دونستن NLP یه چیزه، ترین کردن این مدل ها یه چیز دیگه که قشنگ فیلد خودش رو داره. شاید بشه گفت MLOPS....
@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
Andrew NG
تو این سخنرانی که کرد واقعا به یک سری نکات ارزنده ای اشاره می کنه که واقعا باید بهش فکر کرد:

✔️ تو پروسه استارت آپ ها از ایده تا عمل: من وقتی به اون قسمتی رسید که یک CEO رو میارن روی کار لذت بردم. من بیشتر چیزی رو که تو جو حاکم ایران دیدم اینکه هممون conservative هستیم و دوست داریم که همه کارها رو خودمون انجام بدیم. و این سطح دید باعث میشه که خیلی ضرر کنیم مخصوصا از جهت زمان.
✔️تو بحث پروژه های AI: قشنگ مشخصه که تو مشکلات کوچیک کم کار شده و هنوز جای کار خیلی زیادی وجود داره، مثلا ما تو ایران تو زمینه کشاورزی چقدر از AI بهره میبریم؟
(حالا این یک مثال بود صرفا خواستم مطلب رو برسونم و در مورد ایران اصلا حرف نمیزنم) این یعنی اینکه کار خیلی زیادی هست که انجام شدن میخواد.
✔️نکته آخر اونجا که Andrew میگه از AI برای حل کردن مشکلاتی که انسان ها باهاشون ممکنه مواجه بشن کمک میکنه مثلا اگه یه پاندمی مثل کرونا بیاد میشه ازش استفاده کرد تا درمانش رو سریع پیدا کنیم.(اینجا رسما تیکه انداخت خطاب به اون دسته از افرادی که میگفتن که AGI اومده و میزنه همه انسان ها رو نابود میکنه و فلان و باید جلوی پیشرفت AI رو بگیریم).

🌐لینک ویدیو🌐

@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
sharp-transformers

پلاگین جدید برای بازی سازهای عزیز که میتونن برای گیم انجین Unity ازش بهره ببرند.

@css_nlp
Language Models Represent Space and Time

تو این مقاله LLama2 رو آنالیز کردن که ببینند آیا این LLM علم به مختصات مکانی و زمانی داره یا نه!
پیشنهاد میکنم که این پیپر رو مطالعه کنید.

🌐Link🌐

@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
RAG
🔹
Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
🔹

✔️مدل های RAG، ساختار جدیدی برای مدل های Retrieval هستن که با knowledge سرو کار دارن و تلاش میکنند وقتی جنریت میکنن نالج محور باشن!
✔️ منظور از knowledge، هر دیتابیسی که شامل اطلاعاتی هستش مثل ویکی پدیا، البته فقط ویکی پدیا نیست لزوما
✔️ همونطور که گفتم این یک ساختار جدید هستش، Seq2Seq و نسبت به ساختار های E2E عادی و همچنین کاندیدا محور بهتر کار کرده.
✔️به خاطر محبوبیت و کاراییش، Huggingface هم این ساختار رو به کتابخونه ترنسفورمر ها اضافه کرده.

🌐 Link 🌐


@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
مقاله جدیدی که ازش لذت بردم.

🔹
Your spouse needs professional help: Determining the Contextual Appropriateness of Messages through Modeling Social Relationships
🔹

✔️ تو این مقاله سعی شده با مدل کردن روابط اجتماعی، مناسب بودن یا نبودن گزاره هایی که افراد به یک دیگر می نویسند رو بررسی کنند.
✔️ شیوه ساخت دیتاست جامع توضیح داده شده.
✔️ از LLM ها برای مناسب بودن یا نبودن استفاده کردن.
(Prompting , Finetuning)
✔️ این کار تو فیلد Sociology و AI قرار میگیره.

🌐 Link 🌐

پ.ن: شرمنده که خیلی مدت بود که پست نگذاشتم. یکمی درگیرم این روزا D :

@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
Ali's Notes
مقاله جدیدی که ازش لذت بردم. 🔹 Your spouse needs professional help: Determining the Contextual Appropriateness of Messages through Modeling Social Relationships 🔹 ✔️ تو این مقاله سعی شده با مدل کردن روابط اجتماعی، مناسب بودن یا نبودن گزاره هایی که افراد…
🔹
TurkishBERTweet: Fast and Reliable Large Language Model for Social Media Analysis
🔹

✔️ بالاخره این پروژه رو هم به اتمام رساندم. 🥵😆

✔️ تو این پروژه، یک مدل BERT-BASE رو از صفر روی TPU های گوگل، روی دیتای تویتر برای زبان ترکی استانبولی که تقریبا دیتایی از سال 2010 تا 2021 از پلتفورم Twitter/X رو شامل میشه ترین کردم.
✔️ روی دیتاست هایی که دردسترس بود برای این زبان، benchmark هایی انجام دادیم.
✔️ علاوه بر این مدل ChatGPT-turbo رو فاین تون کردیم روی دیتا و به صورت OOD مقایسه کردیم که مدل ما تقریبا برابری میکنه در پرفورمنس
✔️ این مدل به صورت اوپن سورس روی هاگین فیس دردسترس عموم قرار داره.
✔️ توکنایزر خاصی هم ساختیم تو این پروژه که میتونه Hashtag, Emoji, Cashtag, Http رو Unmask بکنه.
✔️ روش های فاین تونینگ LoRA هم در این پروژه استفاده شده.
✔️ از روش Distributed Training استفاده شد روی TPU های V3-8 گوگل.

🌐 Paper 🌐
🌐 HuggingFace 🌐

@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
اگه تازه تصمیم گرفتید که وارد فیلد NLP بشید.
یکی از جاهایی که میتونید استارت بزنید این playlist هستش!


🔥Umass NLP

@css_nlp
Please open Telegram to view this post
VIEW IN TELEGRAM