آموزش دیتاساینس و ماشین‌لرنینگ
1.91K subscribers
161 photos
9 videos
134 links
🔴 آموزش مباحث حوزه دیتا شامل علم داده، یادگیری ماشین و تحلیل داده (رضا شکرزاد)

🌀 کانال اخبار و منابع هوش مصنوعی:
@DSLanders

🌀 مشاوره و ارتباط مستقیم:
https://t.me/dslanders_admin

یوتیوب:
Youtube.com/@RezaShokrzad

دوره‌ها:
cafetadris.com/datascience
Download Telegram
👨‍🎓 نقش Feed Forward در ترنسفورمر

لایه Feed Forward در ترنسفورمرها، که گاهی اوقات به عنوان شبکه پیش‌خور عمیق (Feed Forward Neural Network - FFNN) هم شناخته می‌شه، وظیفه داره که تبدیلات غیرخطی رو روی داده‌ها اعمال کنه. این لایه به صورت مستقل روی هر موقعیت از داده‌های ورودی عمل می‌کنه و هیچ‌ توجهی به موقعیت مکانی نداره. ساختار داخلی این لایه شامل دو تبدیل خطیه که توسط یک تابع فعال‌ساز غیرخطی، مثل ReLU یا GELU، از هم جدا می‌شن.

🔵 ساختار دقیق پیش‌خور یا Feed Forward

ساختار داخلی لایه پیش‌خور به این صورتکه که اول داده‌های ورودی توسط یک تبدیل خطی (معمولاً یک ماتریس وزن W1) به فضای با ابعاد بیشتر مپ می‌شن. بعد، تابع فعال‌ساز غیرخطی به کار برده می‌شه. در مرحله بعد، یک تبدیل خطی دیگه (ماتریس وزن W2) داده‌ها رو به فضای اولیه برمی‌گردونه. این فرایند کمک می‌کنه تا شبکه بتونه ترکیبات پیچیده‌تری از ویژگی‌ها رو یاد بگیره.

🔵 تفاوت‌های پیش‌خور با بقیه بخش‌های ترنسفورمر

در حالی که لایه‌های Multi-Head Attention برای مدل‌سازی وابستگی‌های پیچیده بین واحدهای مختلف داده‌ها طراحی شدن، لایه‌های پیش‌خور تمرکزشون رو روی اعمال تبدیلات غیرخطی روی داده‌ها می‌گذارن.

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

🔵 اهمیت پیش‌خور در عملکرد کلی ترانسفورمر

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

🔵 مزایای Feed Forward

🔵سادگی: ساختار ساده‌تر و درک آسون‌تر نسبت به RNNs یا CNNs.
🔵مقیاس‌پذیری: بهینه‌سازی آسون‌تر به دلیل نداشتن وابستگی‌های زمانی یا مکانی.
🔵سرعت آموزش: نیاز به منابع کمتر نسبت به شبکه‌های با حافظه طولانی‌مدت.

#Deep_Learning
#Transformers

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👌21👨‍💻1
🎞 شبیه سازی زندگی و شغل با بازی و سریال

این ویدئو، که با مثال توضیح داده چه استراتژی‌هایی میشه برای زندگی داشت، ظاهرا به مبحث آموزش این هفته بی‌ربطه اما بنظرم دیدنش برای هر کسی لازمه. پس به عنوان آخرین نکته این هفته، شما رو به تماشا دعوت می‌کنم 😊

👉📎 https://youtu.be/pTA36yCA9FY?si=PxdZSAlCUOcoz5oo

📺 مشاهده کامل این وبینار از طریق لینک زیر:
👉📎 ctdrs.ir/dsw31

#Deep_Learning
#Transformers

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2🔥1👏1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵آشنایی با ساختار ترنسفورمرها و ایده پشت آنها
👉🔗 https://t.me/data_ml/451

🔵تعبیه ورودی یا Input Embedding در ترنسفورمرها
👉🔗 https://t.me/data_ml/454

🔵تعبیه موقعیتی یا Positional Embedding
👉🔗 https://t.me/data_ml/457

🔵آشنایی با ماژول Attention Head
👉🔗 https://t.me/data_ml/459

🔵لایه‌های کدگذار و کدگشا
👉🔗 https://t.me/data_ml/462

🔵نقش Feed Forward در ترنسفورمر
👉🔗 https://t.me/data_ml/465

🔺 کوئیز

🔵کوییز شماره ۱۲۶: مزیت مکانیزم Multi-Head Attention
👉🔗 https://t.me/data_ml/452

🔵کوییز شماره ۱۲۷: تکنیک برای بهبود کیفیت تعبیه‌های ورودی
👉🔗 https://t.me/data_ml/455

🔵کوییز شماره ۱۲۸: دلیل استفاده از توابع مثلثاتی در مدل ترنسفورمر
👉🔗 https://t.me/data_ml/458

🔵کوییز شماره ۱۲۹: نحوه محاسبه وزن‌ها در مکانیسم توجه
👉🔗 https://t.me/data_ml/460

🔵کوییز شماره ۱۳۰: عملکرد شبکه‌های Feedforward
👉🔗 https://t.me/data_ml/463

🔵کوییز شماره ۱۳۱: تأثیر لایه‌ی Add & Norm در فرایند یادگیری
👉🔗 https://t.me/data_ml/466

🔺 نکته

🔵بلاگ مدل BERT
👉🔗 https://t.me/data_ml/453

🔵ویدئو مدل‌های ترنسفورمر و مدل BERT
👉🔗 https://t.me/data_ml/456

🔵کوئری‌ها‌، کلیدها و مقدارها در معماری ترنسفورمر
👉🔗 https://t.me/data_ml/461

🔵مدل‌های ساخته شده براساس لایه‌های کدگذار و کدگشا
👉🔗 https://t.me/data_ml/464

🔵شبیه سازی زندگی و شغل با بازی و سریال
👉🔗 https://t.me/data_ml/467

#Weekend
#Deep_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👏4👍31👌1
👩‍🎓 برنامه آموزشی هفته: آشنایی با مدل GPT

🟠شنبه: معرفی معماری GPT و تاریخچه توسعه

🔵یک‌شنبه: پیشرفت‌ها و کاربردهای GPT-2

🟢دوشنبه: توانایی‌های GPT-3

🔴سه‌شنبه: نوآوری‌ها و بهینه‌سازی‌های GPT-4

🟠چهارشنبه: پیاده‌سازی مدل‌های GPT با PyTorch

🔵پنج‌شنبه: استفاده از API‌های GPT در برنامه‌های کاربردی

🟢جمعه: جمع بندی

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53👌1
👨‍🎓 معرفی معماری GPT

مدل GPT یا Generative Pre-trained Transformer، اولین بار در سال 2018 توسط شرکت OpenAI معرفی شد. این مدل بر پایه معماری ترنسفورمر که در سال 2017 توسط Vaswani و همکارانش طراحی شد، هست.

🔵 بررسی اجزاء مختلف معماری ترانسفورمر در مدل‌های GPT

بخش سمت راست تصویر، جزئیات دقیق‌تر و کامل‌تری از بلوک ترنسفورمر در معماری مدل‌های GPT رو نشون می‌ده. این بخش شامل مؤلفه‌هایی هست (در ادامه بررسی‌شون می‌کنیم) که وظایف محاسباتی مرکزی رو در پردازش اطلاعات به عهده دارن.

در سمت چپ تصویر، معماری کلی ورودی به سیستم و چگونگی عبور داده‌ها از مراحل مختلف تا رسیدن به خروجی نهایی رسم شده. این شامل Input Embedding و Positional Encoding و استفاده از بلوک‌های ترانسفورمره که به خروجی نهایی منتهی می‌شه.

🔵 بلوک‌های ترانسفورمر (Transformer Blocks)

🔵لایه تنظیم‌کننده (LayerNorm): این لایه در ابتدای بلوک ترانسفورمر هست و وظیفه نرمال‌سازی ورودی‌ها رو داره تا مقادیر ورودی در یک محدوده مشخص باقی بمونن و مدل دچار مشکل انفجار یا محوشدگی گرادیان‌ نشه.

🔵مکانیزم Multi-Head Attention:

- خطی (Linear): هر Head در مکانیزم توجه دارای لایه‌های خطی هست که وظیفه تبدیل ورودی به فضای دیگه‌ای رو داره.

- ماسک (Mask): برای جلوگیری از تقلب یا دیدن اطلاعات آینده، ماسک‌ها به کار برده میشن.

- سافت‌مکس (Softmax): این لایه احتمالات مربوط به هر Head رو تنظیم می‌کنه تا مدل بتونه تمرکزش رو روی بخش‌های مهم ورودی قرار بده.

- اعمال Dropout: این لایه برای جلوگیری از بیش‌برازش و آموزش مستقل‌تر مدل به کار می‌ره.

🔵لایه خطی دوم (Linear): بعد از مکانیزم توجه، خروجی‌ها از لایه خطی دیگه‌ای عبور می‌کنن که به تبدیل و تقویت ویژگی‌های استخراج‌شده کمک می‌کنه.

🔵تابع فعال‌ساز GELU: این تابع فعال‌ساز به مدل کمک می‌کنه تا روابط غیرخطی بین داده‌ها رو یاد بگیره.

🔵لایه خطی سوم (Linear): برای برگردوندن داده‌ها به فضای اصلی و تهیه خروجی نهایی برای لایه بعدی استفاده می‌شه.

🔵لایه تنظیم‌کننده دوم (LayerNorm) و Dropout: این لایه‌ها برای اطمینان از پایداری و جلوگیری از بیش‌برازش در پایان هر بلوک ترانسفورمر قرار دارن.

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌6👍41👨‍💻1
🎞 ترانسفورمر و مکانیزم توجه | Transformer and Attention

شاید بشه گفت ایده transformerها که تو مقاله Attention is all you need‌ اومده، از جذاب‌ترین و پرکاربردترین معماری‌های شبکه عصبی بودن تا جایی که اکثر مدل‌های زبانی بزرگی که امروز میشناسیم، از جمله ChatGPT، از این معماری استفاده میکنن. توی این ویدیو با ساختار و جزییات این مدل آشنا می‌شیم.

👉📎 https://youtu.be/8NJ0xEcHICU

👈📎 پلی‌لیست مقالات ماشین لرنینگ و هوش مصنوعی

#Deep_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥3👍2👨‍💻1
👨‍🎓مدل GPT-2 چه بود و چه کرد؟

در سال 2019، OpenAI نسخه دوم مدل GPT به نام GPT-2 رو منتشر کرد که دارای یک معماری بزرگ‌تر و پیچیده‌تر بود. GPT-2 با استفاده از 1.5 میلیارد پارامتر، توانایی تولید متن‌های بسیار دقیق و طبیعی‌تر رو داشت و توانایی‌های فهم زبانی‌اش به شکل چشمگیری افزایش پیدا کرده بود.

🔵 نسخه‌های مختلف GPT-2

در تصویر، چهار نسخه مختلف منتشر شده مدل زبانی GPT-2 نشون داده شده. این نسخه‌ها شامل Small, Medium, Large و Extra Large هستن که با تعداد پارامترهای متفاوتی طراحی شدن:

🔵GPT-2 Small: دارای 117 میلیون پارامتر
🔵GPT-2 Medium: دارای 345 میلیون پارامتر
🔵GPT-2 Large: دارای 762 میلیون پارامتر
🔵GPT-2 Extra Large: دارای 1,542 میلیون پارامتر

🔵 بعضی از کاربردها

🔵تولید محتوا: GPT-2 می‌تواند مقالات، داستان‌ها، شعر و سایر انواع متون را با کیفیت بالا تولید کند.

🔵پاسخگویی خودکار: در سیستم‌های پرسش و پاسخ و ربات‌های گفتگو میشه از GPT-2 برای ایجاد پاسخ‌های دقیق و طبیعی استفاده کرد.

🔵ترجمه ماشینی: این مدل قابلیت ترجمه متن از یک زبان به زبان دیگه رو داره، اما برای ترجمه‌های تخصصی ممکنه به آموزش‌های بیشتر نیاز داشته باشه.

🔵خلاصه‌سازی متن: GPT-2 می‌تونه متون طولانی رو به خلاصه‌های مختصر و مفید تبدیل کنه.

🔵 چالش‌ها و مسائل اخلاقی

با وجود پتانسیل بالای GPT-2 در تولید متن، این تکنولوژی با چالش‌های اخلاقی هم روبرو بود. تولید خودکار محتوا می‌تونه منجر به سوء استفاده‌هایی مثل تولید اخبار جعلی یا سوء استفاده از اطلاعات شخصی شه. OpenAI در ابتدا تصمیم گرفت که نسخه کامل GPT-2 رو منتشر نکنه تا خطرات احتمالی‌اش بررسی و کاهش داده شه.

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53👌2👨‍💻1
سوال: آیا Transformerها برای برچسب گذاری تصویر هم استفاده میشن؟ یعنی ورودی تصویر باشه و خروجی به صورت کلمات کلیدی؟

بله، مدل‌های Transformer که در اصل برای پردازش زبان طبیعی طراحی شدن، می‌تونن برای کارهای مربوط به تصویر، مثل برچسب‌گذاری تصویر (image tagging) هم به کار برن.

یکی از رویکردهای مهم در این زمینه استفاده از مدل‌های Vision Transformer (ViT) هست که ورودی‌هایی به شکل تصویر می‌گیرن و با استفاده از مکانیزم‌های مشابه Transformer برای پردازش متن، تصاویر رو تحلیل می‌کنن.

در کاربرد برچسب‌گذاری تصویر، یک ViT می‌تونه تصویر رو به چند پچ (قطعه کوچک تصویر) تقسیم کنه و هر پچ رو به عنوان یک توکن در نظر بگیره. بعد این توکن‌های تصویری در مدل Transformer پردازش می‌شن تا ویژگی‌های مهم تصویر استخراج شن. نتیجه نهایی می‌تونه شامل کلمات مهم یا برچسب‌های مرتبط با محتوای تصویر باشه.

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

برای مثال، میشه از یک مدل CNN برای استخراج ویژگی‌های تصویر و بعد از یک Transformer برای تولید برچسب‌ها بر اساس این ویژگی‌ها استفاده کرد.

#Deep_Learning
#Transformers

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61👨‍💻1
👨‍🎓 آشنایی با مدل GPT-3

مدل GPT-3 سومین نسخه از سری مدل‌های زبانی مولد (Generative Language Models) هست که توسط OpenAI ساخته شد و یکی از بزرگترین مدل‌های زبانیه.

🔵مدل GPT-1: اولین نسخه از مدل‌های GPT با ۱۱۷ میلیون پارامتر در سال ۲۰۱۸ معرفی شد.

🔵مدل GPT-2: در نسخه دوم، اندازه مدل به ۱.۵ میلیارد پارامتر افزایش پیدا کرد و توانایی‌های مدل هم به‌طور چشم‌گیری بهتر شد.

🔵مدل GPT-3: سومین نسخه در سال ۲۰۲۰ با ۱۷۵ میلیارد پارامتر ارائه شد و قدرت و دقت در اون به مراتب افزایش پیدا کرد.

🔵 نقاط قوت GPT-3

🔵اندازه بسیار بزرگ: با 175 میلیارد پارامتر، GPT-3 توانایی یادگیری و درک مفاهیم پیچیده‌تر رو داره.

🔵چندوظیفه‌ای (Multitasking Ability)

مدل GPT-3 می‌تونه طیف وسیعی از وظایف زبانی رو، مثل مثل تولید متن، ترجمه، پاسخ به سوالات، تکمیل متن، خلاصه‌سازی و مکالمه، انجام بده و این توانایی‌ها بدون نیاز به تنظیم دقیق (Fine-Tuning) اضافی فراهم میشه.

🔵آموزش بدون نظارت: مدل با حجم بزرگی از داده‌های بدون برچسب آموزش دیده، که قابلیت‌های یادگیری اون رو گسترش می‌ده.

🔵 چالش‌ها و نقاط ضعف

🔵پیش‌داوری و تعصب (Bias): مدل‌های بزرگ زبانی، به دلیل آموزش روی داده‌های اینترنتی، ممکنه دارای تعصبات و پیش‌داوری باشن.

🔵مقیاس‌پذیری (Scalability): نیاز به منابع محاسباتی زیاد برای آموزش و اجرای مدل.

🔵عدم فهم عمیق (Lack of Deep Understanding): مدل GPT-3 فاقد توانایی درک عمیق و معنایی واقعی از اطلاعاته.

🔵 وجه تمایز GPT-3 نسبت به سایر مدل‌های زبانی

🔵قابلیت یادگیری با Few-Shot Learning

این قابلیت به مدل امکان می‌ده که با ارائه تنها چند نمونه یا حتی یک نمونه، وظیفه جدیدی رو به درستی انجام بده. سه حالت اصلی در این زمینه عبارت‌اند از:

- بدون نمونه (Zero-Shot Learning): مدل بدون هیچ نمونه‌ای و تنها با دریافت توضیحات متنی، تسکی رو انجام می‌ده.
- تک‌نمونه‌ای (One-Shot Learning): مدل با ارائه تنها یک نمونه، تسک رو یادمی‌گیره.
- چندنمونه‌ای (Few-Shot Learning): مدل با ارائه چند نمونه، عملکرد بهتری در انجام تسک داره.

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5👏2👨‍💻1
🧑‍🎓 بهترین جی‌پی‌تی‌های سفارشی GPT Store کدام‌اند و چطور ساخته می‌شوند؟

بعد از معرفی فروشگاه GPT، کاربران GPTهای سفارشی خودشون رو در اون عرضه کردن. در این بلاگ با بهترین جی‌پی‌تی‌هایی که تابه‌حال در GPT Store منتشر شدن، از ابزارهای علم داده تا دستیاران سئو و تولید تصویر، آشنا می‌شیم.

🟢برای مطالعه بیشتر کلیک کنین:

👉📎 http://ctdrs.ir/ds0236

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
7👌3👨‍💻1
👨‍🎓 آشنایی با مدل GPT-4

مدل GPT-4 یک مدل زبانی چندوجهی بزرگه که می‌تونه نثر، هنر، ویدئو یا صدا تولید شده توسط انسان رو تقلید کنه یا مشکلات نوشتاری رو حل کنه. GPT-4 چهارمین نسل از مدل پایه OpenAI هست و GPT-4 Turbo نسخه جدیدتر و سریع‌تری از این مدله که در نوامبر 2023 منتشر شد.

🔵 قابلیت‌های GPT-4

🔵حل مسائل پیچیده: حل مسائل ریاضی، پاسخ به سوالات و استنتاج
🔵تولید محتوا: تولید متن، داستان و تصاویر
🔵خلاصه‌سازی: خلاصه کردن متون طولانی
🔵تطبیق‌پذیری بالا: در آزمون‌های استاندارد عملکرد بهتری نسبت به GPT-3.5 داشته.
🔵پردازش چندوجهی: توانایی پردازش تصاویر و ویدئوها در کنار متن.
🔵کاهش تعصب و محتوای نامناسب: بهبودهای امنیتی و کاهش توهمات (Hallucinations).

🔵 محدودیت‌های GPT-4

🔵هزینه: استفاده از GPT-4 هزینه بالاتری نسبت به GPT-3.5 داره.
🔵منابع محاسباتی: به منابع محاسباتی بیشتری نیاز داره.
🔵خطاهای اطلاعاتی: همچنان مستعد ایجاد خطاهای اطلاعاتی و توهمه.

🔵 نسخه GPT-4 در مقابل GPT-3.5

🔵دقت بالاتر: عملکرد بهتر در آزمون‌های استاندارد
🔵تطبیق‌پذیری: بهبود در خلاصه‌سازی و تصمیم‌گیری کسب‌وکار
🔵قابلیت پردازش تصاویر: توصیف و تحلیل تصاویر واقعی و وب‌سایت‌ها

🔵 در اولین کنفرانس DevDay در نوامبر، OpenAI نشون داد که GPT-4 Turbo می‌تونه بیشتر از 300 صفحه از یک کتاب استاندارد رو در یک زمان پردازش کنه، که نسبت به نسخه اصلی GPT-4 بهبود پیدا کرده. GPT-4 Turbo همچنین قیمت کمتری نسبت به GPT-4 داره و بهبودهایی در عملکرد و کارایی داره.

🔵 در 9 آوریل 2024، OpenAI اعلام کرد که GPT-4 با Vision در GPT-4 API به‌طور عمومی در دسترسه. این نسخه به توسعه‌دهندگان اجازه می‌ده که متن و ویدئو رو در یک درخواست API تحلیل کنن. برای مثال، توسعه‌دهندگان می‌تونن از GPT-4 برای شناسایی اشیاء در تصاویر، تفسیر نمودارها و تحلیل داده‌های بصری دیگه استفاده کنن.

🔵 مایکروسافت اعلام کرد که با همکاری OpenAI، یک نسخه خصوصی از ChatGPT رو برای سازمان‌ها در نیمه دوم سال 2024 ارائه خواهد کرد. این نسخه نگرانی افشای اطلاعات رو برطرف کرده.

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92👌1👨‍💻1
📄 چیت‌شیت نحوه پرامپت‌نویسی بهینه و کارآمد برای ChatGPT

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👌3👨‍💻21
👨‍🎓 پیاده‌سازی مدل GPT با PyTorch

🔵 کلاس‌های لازم برای پیاده‌سازی GPT

🔵مکانیسم توجه (Self-Attention)

مکانیسم توجه (Attention Mechanism) برای محاسبه توجه (attention scores) بین عناصر یک دنباله استفاده می‌شه. ویژگی‌های مهم این کلاس:

- سازنده (Constructor): تعداد سرها (heads) و اندازه بردار تعبیه‌سازی (embedding size) رو به عنوان ورودی دریافت می‌کنه.
- تابع forward: بردارهای ورودی queries ، keys و values رو پردازش کرده و توجه (attention) رو اعمال می‌کنه.

🔵بلاک ترانسفورمر (Transformer Block)

یک بلاک کامل ترانسفورمر شامل مکانیسم توجه و یک شبکه پیش‌خور (Feedforward Network) هست.
- Self-Attention: یک نمونه از کلاس SelfAttention.
- شبکه پیش‌خور (Feedforward Network): شامل دو لایه خطی به همراه تابع فعال‌ساز ReLU.
- نرمال‌سازی لایه (Layer Normalization): برای بهبود همگرایی و پایداری در یادگیری استفاده می‌شه.
- تابع forward: محاسبات توجه و شبکه پیش‌خور رو انجام می‌ده.

🔵مدل GPT

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

- بردار تعبیه‌سازی (Embedding Vectors): یک بردار تعبیه‌ساز کلمه و یک بردار تعبیه‌ساز موقعیت.
- بلاک‌های ترانسفورمر: شامل یک لیست از چند بلاک ترانسفورمر.
- لایه خروجی (Output Layer): یک لایه خطی برای پیش‌بینی توزیع احتمال واژگان.
- تابع forward: پردازش ورودی با توجه به موقعیت و بعد ارسال به بلاک‌های ترانسفورمر و در نهایت پیش‌بینی خروجی.

🔵ماسک توجه (Attention Mask)

برای جلوگیری از مشاهده کلمات آینده، از ماسک مثلثی پایین‌مثلث (Lower-Triangular Mask) استفاده می‌شه.

- تابع ایجاد ماسک: یک ماتریس مربعی با مقادیر 1 در مثلث پایین و 0 در بقیه قسمت‌ها برمی‌گردونه.

🔵بهینه‌ساز و تابع Loss

بهینه‌ساز و تابع loss برای به‌روز‌رسانی وزن‌های مدل و محاسبه خطا ضروری هستن.

- بهینه‌ساز: از Adam Optimizer برای بهبود همگرایی استفاده می‌شه.
- تابع Loss: از CrossEntropyLoss برای محاسبه خطا در پیش‌بینی‌های واژگان استفاده می‌کنیم.

🔵تابع آموزش (Training Loop)

فرآیند آموزش مدل باید شامل مراحل زیر باشه:

- ماسک کردن داده‌ها: ایجاد ماسک توجه.
- محاسبه خروجی مدل: اعمال ورودی به مدل GPT.
- محاسبه Loss و بهینه‌سازی: به‌روزرسانی وزن‌ها.

🔵تابع تولید متن (Text Generation)

برای تولید متن جدید، مراحل زیر طی می‌شه:

- پردازش دنباله ورودی: تعبیه‌سازی کلمات اولیه.
- پیش‌بینی کلمه بعدی: با توجه به دنباله موجود، پیش‌بینی کلمه بعدی.
- تکرار پیش‌بینی‌ها: اضافه کردن کلمه جدید به دنباله و تکرار مرحله پیش‌بینی تا رسیدن به طول مورد نظر.

## ساختار کلی کد
import torch
import torch.nn as nn

# ۱. کلاس Self-Attention
class SelfAttention(nn.Module):
...
# ۲. کلاس Transformer Block
class TransformerBlock(nn.Module):
...
# ۳. کلاس GPT
class GPT(nn.Module):
...
# ۴. تابع ایجاد ماسک توجه
def create_mask(size):
...
# ۵. بهینه‌ساز و تابع Loss
def get_optimizer_and_loss(model, learning_rate):
...
# ۶. تابع آموزش
def train_model(model, data_loader, optimizer, loss_fn, device, epochs):
...
# ۷. تابع تولید متن
def generate_text(model, start_sequence, max_length, vocab, device):
...


این ساختار کلی کلاس‌ها و توابع مورد نیاز برای پیاده‌سازی GPT در PyTorch هست. برای یک پیاده‌سازی کامل، کافیه این کلاس‌ها و توابع رو پیاده‌سازی و تنظیمات مورد نیاز انجام شه.

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👌21👨‍💻1
🧑‍🎓 معرفی مدل ترنسفورمر

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

🟢برای مطالعه بیشتر کلیک کنین:

👉📎 http://ctdrs.ir/ds0115

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84👏2👌1
👨‍🎓 استفاده از API‌های GPT در برنامه‌های کاربردی

در دنیای توسعه نرم‌افزار، استفاده از API‌ها (Application Programming Interfaces) یک راه حیاتی برای ادغام تکنولوژی‌های پیچیده مثل مدل‌های زبان بزرگ در برنامه‌های کاربردی حساب میشه.

شرکت OpenAI برای دسترسی توسعه‌دهندگان به توانایی‌های مدل معروفش، API‌هایی فراهم کرده. با استفاده از این API‌ها، میشه به راحتی مدل‌های GPT رو در برنامه‌های کاربردی مختلف ادغام کرد. این API‌ها به شما امکان می‌دن تا از توانایی‌های مختلف مدل مثل تولید متن، دسته‌بندی متن، پاسخ به سؤالات و... استفاده کنین.

🔵 ویژگی‌های اصلی API‌های GPT

- تولید متن (Text Generation): تولید متنی که به عنوان ورودی داده می‌شه یا با دستورالعمل‌های خاصی مطابقت داشته باشه.
- ترجمه (Translation): ترجمه متن از یک زبان به زبان دیگه.
- خلاصه‌سازی (Summarization): خلاصه‌سازی متن طولانی به شکلی خلاصه‌تر.
- پاسخ به سؤالات (Question Answering): پاسخ به سؤالات بر اساس متنی که به عنوان ورودی داده می‌شه.
- دسته‌بندی متن (Text Classification): دسته‌بندی متن به گروه‌های مشخص.

🔵 دسترسی به API‌های GPT

برای استفاده از APIهای GPT، اول باید در وب‌سایت OpenAI یک حساب کاربری ایجاد و کلید API دریافت کرد. بعد از طریق HTTP درخواست‌هایی به API ارسال و پاسخ‌ها دریافت میشن.

🔵 نحوه استفاده از کلید API

کلید API که دریافت می‌کنین باید در همه درخواست‌های شما به عنوان بخش Authorization (مجوز) در هدرهای HTTP وجود داشته باشه. برای مثال:

import openai

openai.api_key = "YOUR_API_KEY"

response = openai.Completion.create(
engine="davinci",
prompt="Explain the benefits of using GPT in applications.",
max_tokens=150
)

print(response.choices[0].text)


🔵 استفاده از API‌های GPT در برنامه‌های کاربردی

یکی از مهم‌ترین استفاده‌های API‌های GPT، ادغام آنها در برنامه‌های کاربردی مختلف است. در ادامه، به نحوه استفاده از APIهای GPT در برنامه‌های کاربردی مختلف می‌پردازیم.

🔵تولید متن

response = openai.Completion.create(
engine="text-davinci-003",
prompt="Generate a creative story about a robot who learns to love.",
max_tokens=200
)

story = response.choices[0].text
print(story)


در مثال بالا، از مدل "text-davinci-003" برای تولید داستانی در مورد یک ربات استفاده شده.

🔵دسته‌بندی متون

تقسیم متن به دسته‌های مثبت، منفی و خنثی:

prompt = "Classify the following review as positive, neutral, or negative: 'The movie was fantastic!'"
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=10
)

classification = response.choices[0].text.strip()
print(classification)


🔵پاسخ به سؤالات

prompt = "When was the first computer invented?"
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=50
)

answer = response.choices[0].text.strip()
print(answer)


🔵ترجمه متن

برای مثال، ترجمه جمله‌ای از انگلیسی به فارسی:

prompt = "Translate the following English sentence to Persian: 'OpenAI is at the forefront of artificial intelligence research.'"
response = openai.Completion.create(
engine="text-davinci-003",
prompt=prompt,
max_tokens=60
)

translation = response.choices[0].text.strip()
print(translation)


🔵 بهترین روش‌ها برای استفاده از API‌های GPT

برای بهینه‌سازی استفاده از APIهای GPT و بهبود کیفیت نتایج، به چند نکته مهم باید توجه داشت:

🔵تنظیمات پارامترها: پارامترهایی مثل max_tokens (حداکثر تعداد کلمات تولیدی)، temperature (درجه تنوع)، و top_p (نرخ انتخاب بر اساس توزیع احتمالات) رو متناسب با کاربرد خود تنظیم کرد.

🔵ورودی‌های آموزشی مناسب: اگه از Fine-tuning استفاده میشه، باید داده‌های آموزشی باکیفیت و مرتبط تهیه شه.

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8👌32👨‍💻1
🔵 پارامترهای مهم در استفاده از APIهای GPT

🔵max_tokens
* کاربرد: تعیین حداکثر تعداد توکن‌های قابل تولید در پاسخ.
* مثال کاربردی: تولید پاسخ‌های طولانی یا کوتاه.

🔵temperature
* کاربرد: کنترل میزان تصادفی بودن پاسخ‌ها.
* مثال کاربردی: پاسخ‌های قطعی‌تر (temperature=0.0) یا متنوع‌تر (temperature=1.0).

🔵top_p
* کاربرد: نمونه‌گیری از پاسخ‌هایی که احتمال تجمعی‌شون به میزان مشخصی (0.0 تا 1.0) باشه.
* مثال کاربردی: جلوگیری از تولید پاسخ‌های تکراری یا با احتمال پایین.

🔵frequency_penalty
* کاربرد: کاهش تکرار کلمات یا عبارات در پاسخ.
* مثال کاربردی: جلوگیری از تولید پاسخ‌های تکراری یا خنثی.

🔵presence_penalty
* کاربرد: تشویق مدل به تولید پاسخ‌های متنوع با استفاده از عبارات جدیدتر.
* مثال کاربردی: تولید پاسخ‌های غیرتکراری و متنوع.

🔵stop
* کاربرد: تعیین توکن‌هایی که با ظاهر شدن در پاسخ، تولید متن متوقف شه.
* مثال کاربردی: پایان دادن پاسخ‌ها بعد از رسیدن به یک نقطه یا عبارت مشخص.

🔵best_of
* کاربرد: تولید چند پاسخ و برگردوندن بهترین‌شون.
* مثال کاربردی: افزایش کیفیت پاسخ‌ها به بهای هزینه محاسباتی بیشتر.

🔵logprobs
* کاربرد: نمایش احتمال‌های مربوط به توکن‌های تولیدشده در پاسخ.
* مثال کاربردی: مشاهده میزان قطعیت مدل در تولید توکن‌های خاص.

#Deep_Learning
#GPT

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👌63👍3👨‍💻1
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵معرفی معماری GPT
👉🔗 https://t.me/data_ml/471

🔵مدل GPT-2 چه بود و چه کرد؟
👉🔗 https://t.me/data_ml/474

🔵آشنایی با مدل GPT-3
👉🔗 https://t.me/data_ml/477

🔵آشنایی با مدل GPT-4
👉🔗 https://t.me/data_ml/480

🔵پیاده‌سازی مدل GPT با PyTorch
👉🔗 https://t.me/data_ml/483

🔵استفاده از API‌های GPT در برنامه‌های کاربردی
👉🔗 https://t.me/data_ml/486

🔺 کوئیز

🔵کوییز شماره ۱۳۲: توانایی تولید پاسخ‌های منسجم در معماری GPT
👉🔗 https://t.me/data_ml/472

🔵کوییز شماره ۱۳۳: در مدل GPT-2، نقش BPE چیست؟
👉🔗 https://t.me/data_ml/475

🔵کوییز شماره ۱۳۴: روش‌های جلوگیری از overfitting در GPT-3
👉🔗 https://t.me/data_ml/478

🔵کوییز شماره ۱۳۵: مهم‌ترین وجه تمایز GPT-4 Turbo نسبت به GPT-4
👉🔗 https://t.me/data_ml/481

🔵کوییز شماره ۱۳۶: بهبود مدیریت حافظه در پیاده‌سازی GPT
👉🔗 https://t.me/data_ml/484

🔵کوییز شماره ۱۳۷: پارامتر جلوگیری از تولید پاسخ‌های تکراری یا خنثی
👉🔗 https://t.me/data_ml/487

🔺 نکته

🔵 ترانسفورمر و مکانیزم توجه | Transformer and Attention
👉🔗 https://t.me/data_ml/473

🔵آیا Transformerها برای برچسب گذاری تصویر هم استفاده میشن؟
👉🔗 https://t.me/data_ml/476

🔵بهترین جی‌پی‌تی‌های سفارشی GPT Store کدام‌اند؟
👉🔗 https://t.me/data_ml/479

🔵چیت‌شیت نحوه پرامپت‌نویسی بهینه و کارآمد برای ChatGPT
👉🔗 https://t.me/data_ml/482

🔵بلاگ مدل ترنسفورمر
👉🔗 https://t.me/data_ml/485

🔵پارامترهای مهم در استفاده از APIهای GPT
👉🔗 https://t.me/data_ml/488

#Weekend
#Deep_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
7👌3👏2
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵مقدمه‌ای بر انواع داده‌ها
👉🔗 https://t.me/data_ml/492

🔵داده‌های جدولی یا Tabular Data
👉🔗 https://t.me/data_ml/493

🔵داده‌های متنی یا Text Data
👉🔗 https://t.me/data_ml/496

🔵داده‌های تصویری یا Image Data
👉🔗 https://t.me/data_ml/498

🔵داده‌های ویدئویی یا Video Data
👉🔗 https://t.me/data_ml/499

🔵داده‌های صوتی یا Audio Data
👉🔗 https://t.me/data_ml/500

#Weekend
#Deep_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83👨‍💻2
پست‌های هفته‌ای که گذشت رو این‌جا پیدا کنین!

🔺 آموزشی

🔵آشنایی با انواع نمودارها در تحلیل داده‌
👉🔗 https://t.me/data_ml/504

🔵نمودار میله‌ای (Bar Chart)
👉🔗 https://t.me/data_ml/508

🔵نمودار دایره‌ای (Pie Chart)
👉🔗 https://t.me/data_ml/511

🔵هیستوگرام در تجزیه و تحلیل داده‌ها
👉🔗 https://t.me/data_ml/514

🔵نمودار پراکندگی یا Scatter Plot
👉🔗 https://t.me/data_ml/517

🔵نمودار جعبه‌ای در تجزیه و تحلیل داده‌ها
👉🔗 https://t.me/data_ml/520


🔺 کوئیز

🔵کوییز شماره ۱۴۰: نوع مناسب داده برای نمایش با Radar Chart
👉🔗 https://t.me/data_ml/506

🔵کوییز شماره ۱۴۱: مزیت استفاده از نمودار میله‌ای انباشته
👉🔗 https://t.me/data_ml/509

🔵کوییز شماره ۱۴۲: میزان اثربخشی استفاده از نمودار دایره‌ای
👉🔗 https://t.me/data_ml/512

🔵کوییز شماره ۱۴۳: جابه‌جایی قله‌های هیستوگرام به سمت چپ
👉🔗 https://t.me/data_ml/515

🔵کوییز شماره ۱۴۴: تخمین خط رگرسیون در نمودار پراکندگی
👉🔗 https://t.me/data_ml/518

🔵کوییز شماره ۱۴۵: داده با توزیع نامتقارنه در نمودار جعبه‌ای
👉🔗 https://t.me/data_ml/521

🔺 نکته

🔵 انواع دیاگرام در آنالیز داده
👉🔗 https://t.me/data_ml/507

🔵نمودار میله‌ای | بار چارت | استک بار | کلاستر بار
👉🔗 https://t.me/data_ml/510

🔵درک نمودار دایره ای و نحوه کار با آن در پایتون
👉🔗 https://t.me/data_ml/513

🔵هیستوگرام: مفاهیم و کد پایتون
👉🔗 https://t.me/data_ml/516

🔵اسکتر پلات در آنالیز داده
👉🔗 https://t.me/data_ml/519

🔵باکس پلات در آنالیز داده
👉🔗 https://t.me/data_ml/522

#Weekend
#Deep_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93👏1
🧑‍🎓 الگوریتم R-CNN چیه و چه نقشی در بینایی ماشین داره؟

در دنیای پیچیده‌ی #یادگیری_عمیق و پردازش تصویر، مدل‌های مختلفی برای تشخیص و شناسایی اشیا در تصاویر توسعه پیدا کردن که اولین‌شون الگوریتم R-CNN هست. بعد از این مدل که دقت قابل قبولی هم داشت، مدل‌های Fast R-CNN و Faster R-CNN طراحی شدن تا نواقص R-CNN رو رفع کنن.

🟢برای مطالعه بیشتر کلیک کنین:
👉📎 http://ctdrs.ir/ds0261

#Deep_Learning

@Data_ML | دیتاساینس و ماشین‌ لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1👏1