⚠️ ماشینهای کولب موقتی هستن
وقتی یه نوتبوک جدید توی گوگل کولب باز میکنی، گوگل یه ماشین مجازی (Virtual Machine) بهت میده که فقط تا وقتی فعالی وجود داره.
اگه تب رو ببندی یا چند دقیقه کاری نکنی، اون ماشین پاک میشه. یعنی هرچیزی که نصب کردی یا دانلود کردی از بین میره.
اما مهندسین هوش مصنوعی یه راهحل دارن:
درایو گوگل خودشون رو وصل میکنن و فایلهای مهم مثل مدل یا دادهها رو اونجا ذخیره میکنن:
from google.colab import drive
drive.mount('/content/drive')
یه اسکریپت آماده دارن که هر بار نوتبوک اجرا میشه، خودش بهصورت خودکار کتابخونهها رو نصب کنه:
!pip install -q torch transformers datasets
به این ترتیب، هر بار که ماشین کولب از نو شروع بشه، فقط چند ثانیه طول میکشه تا دوباره مثل قبل آمادهٔ کار بشه.
وقتی یه نوتبوک جدید توی گوگل کولب باز میکنی، گوگل یه ماشین مجازی (Virtual Machine) بهت میده که فقط تا وقتی فعالی وجود داره.
اگه تب رو ببندی یا چند دقیقه کاری نکنی، اون ماشین پاک میشه. یعنی هرچیزی که نصب کردی یا دانلود کردی از بین میره.
اما مهندسین هوش مصنوعی یه راهحل دارن:
درایو گوگل خودشون رو وصل میکنن و فایلهای مهم مثل مدل یا دادهها رو اونجا ذخیره میکنن:
from google.colab import drive
drive.mount('/content/drive')
یه اسکریپت آماده دارن که هر بار نوتبوک اجرا میشه، خودش بهصورت خودکار کتابخونهها رو نصب کنه:
!pip install -q torch transformers datasets
به این ترتیب، هر بار که ماشین کولب از نو شروع بشه، فقط چند ثانیه طول میکشه تا دوباره مثل قبل آمادهٔ کار بشه.
Colab’s machines are temporary
When you open a Colab notebook, Google gives you a virtual machine (VM) that exists only while your session is active. Once you close the tab or stay idle too long, it gets deleted — including everything you installed or downloaded.
But AI engineers bypass that:
They connect their Google Drive and store checkpoints or model weights there (drive.mount('/content/drive')).
They also create setup scripts that reinstall all dependencies automatically each time the notebook starts (!pip install -q torch transformers datasets).
So every time the VM restarts, it rebuilds itself in seconds.
❤3
کولب GPU واقعی میده بهت
جیپییوهایی که کولب میده واقعیان، نه شبیهسازیشده. معمولاً مدلهایی مثل Tesla T4، P100 یا در نسخهٔ Pro+ مدل A100 هستن.
میتونی ببینی چه GPU بهت داده با دستور:
!nvidia-smi
ولی یه محدودیت داره. حافظهٔ GPU معمولاً بین ۱۲ تا ۱۶ گیگابایته. اگه موقع آموزش مدل با خطای “CUDA out of memory” روبهرو شدی (یعنی حافظه پر شده)، باید این کارو کنی:
import torch, gc
gc.collect()
torch.cuda.empty_cache()
این دستورها حافظهٔ اضافی GPU رو پاک میکنن تا دوباره بتونی آموزش رو ادامه بدی.
همچنین مهندسین حرفهای معمولاً اندازهٔ batch size رو کمتر میکنن (تعداد نمونههایی که همزمان پردازش میشن) یا از قابلیت precision ترکیبی استفاده میکنن:
with torch.cuda.amp.autocast():
...
این باعث میشه حافظهٔ GPU کمتر مصرف بشه ولی سرعت آموزش تقریباً همون بمونه.
جیپییوهایی که کولب میده واقعیان، نه شبیهسازیشده. معمولاً مدلهایی مثل Tesla T4، P100 یا در نسخهٔ Pro+ مدل A100 هستن.
میتونی ببینی چه GPU بهت داده با دستور:
!nvidia-smi
ولی یه محدودیت داره. حافظهٔ GPU معمولاً بین ۱۲ تا ۱۶ گیگابایته. اگه موقع آموزش مدل با خطای “CUDA out of memory” روبهرو شدی (یعنی حافظه پر شده)، باید این کارو کنی:
import torch, gc
gc.collect()
torch.cuda.empty_cache()
این دستورها حافظهٔ اضافی GPU رو پاک میکنن تا دوباره بتونی آموزش رو ادامه بدی.
همچنین مهندسین حرفهای معمولاً اندازهٔ batch size رو کمتر میکنن (تعداد نمونههایی که همزمان پردازش میشن) یا از قابلیت precision ترکیبی استفاده میکنن:
with torch.cuda.amp.autocast():
...
این باعث میشه حافظهٔ GPU کمتر مصرف بشه ولی سرعت آموزش تقریباً همون بمونه.
Colab gives real GPUs, but you have to manage memory smartl
yColab’s free GPU isn’t fake — it’s an actual NVIDIA card like Tesla T4, P100, or A100 (Pro + only). You can check which one you got with
:!nvidia-sm
iBut VRAM is limited (12–16 GB). So if your model crashes with “CUDA out of memory,” pros do this
:import torch, g
cgc.collect(
)torch.cuda.empty_cache(
That clears leftover memory.
They also lower the batch size (how many samples are processed at once) or use torch.cuda.amp.autocast() for mixed precision to save VRAM while training large models
❤4
کش KV توی ترنسفورمرها
🧠 مدلهای زبانی بزرگ وقتی میخوان یه جمله رو بنویسن، باید برای هر کلمهی جدید همهی کلمههای قبلی رو هم دوباره بررسی کنن تا معنی درست دربیاد.
این کار اگه هر بار از اول انجام بشه، خیلی کند میشه.
اینجاست که کش KV کمک میکنه.
مدل وقتی بار اول جمله رو میخونه، برای هر کلمه دو تا چیز درست میکنه:
▫️Key (کلید) که نشون میده اون کلمه چه اطلاعاتی داره
▫️Value (مقدار) که مشخص میکنه اون اطلاعات چطوری باید استفاده بشن
مدل اینا رو نگه میداره توی حافظه،
و دفعهی بعد فقط برای کلمهی جدید محاسبه میکنه، نه برای همهی قبلیا.
نتیجه اینه که مدل خیلی سریعتر کار میکنه و منابعش کمتر درگیر میشن مخصوصاً وقتی متن طولانیه.
🧠 مدلهای زبانی بزرگ وقتی میخوان یه جمله رو بنویسن، باید برای هر کلمهی جدید همهی کلمههای قبلی رو هم دوباره بررسی کنن تا معنی درست دربیاد.
این کار اگه هر بار از اول انجام بشه، خیلی کند میشه.
اینجاست که کش KV کمک میکنه.
مدل وقتی بار اول جمله رو میخونه، برای هر کلمه دو تا چیز درست میکنه:
▫️Key (کلید) که نشون میده اون کلمه چه اطلاعاتی داره
▫️Value (مقدار) که مشخص میکنه اون اطلاعات چطوری باید استفاده بشن
مدل اینا رو نگه میداره توی حافظه،
و دفعهی بعد فقط برای کلمهی جدید محاسبه میکنه، نه برای همهی قبلیا.
نتیجه اینه که مدل خیلی سریعتر کار میکنه و منابعش کمتر درگیر میشن مخصوصاً وقتی متن طولانیه.
❤2
💡چت جی پی تی هم دقیقاً از همین ترفند استفاده میکنه.
وقتی باهاش حرف میزنی، لازم نیست کل مکالمه رو هر بار از اول بررسی کنه.
همون کلیدها و مقدارهای قبلی رو نگه میداره و فقط چیزای جدید رو بهش اضافه میکنه.
برای همینه که حتی وقتی گفتوگو طولانی میشه، چت جی پی تی بازم سریع جواب میده و کند نمیشه.
خلاصه بخواییم بگیم:
کش KV یعنی حافظهی موقتی که باعث میشه مدل لازم نباشه هر بار همه چی رو از اول حساب کنه.
وقتی باهاش حرف میزنی، لازم نیست کل مکالمه رو هر بار از اول بررسی کنه.
همون کلیدها و مقدارهای قبلی رو نگه میداره و فقط چیزای جدید رو بهش اضافه میکنه.
برای همینه که حتی وقتی گفتوگو طولانی میشه، چت جی پی تی بازم سریع جواب میده و کند نمیشه.
خلاصه بخواییم بگیم:
کش KV یعنی حافظهی موقتی که باعث میشه مدل لازم نباشه هر بار همه چی رو از اول حساب کنه.
❤4
محوشدگی گرادیان (Gradient Vanish)
محوشدگی گرادیان یعنی وقتی شبکهٔ عصبی عمیق رو آموزش میدیم، سیگنالِ یادگیری (گرادیان) موقع برگشت از لایههای آخر به لایههای اول اونقدر ضعیف میشه که تقریباً به صفر میرسه.
در نتیجه لایههای ابتدایی که باید مهمترین ویژگیها رو یاد بگیرن عملاً هیچ تغییری نمیکنن و مدل پیشرفت نمیکنه.
این مشکل معمولاً به خاطر عمق زیاد شبکه و وزنهای اولیهی نامناسب رخ میده که راهحل داره و بعدا بهشون میپردازم
محوشدگی گرادیان یعنی وقتی شبکهٔ عصبی عمیق رو آموزش میدیم، سیگنالِ یادگیری (گرادیان) موقع برگشت از لایههای آخر به لایههای اول اونقدر ضعیف میشه که تقریباً به صفر میرسه.
در نتیجه لایههای ابتدایی که باید مهمترین ویژگیها رو یاد بگیرن عملاً هیچ تغییری نمیکنن و مدل پیشرفت نمیکنه.
این مشکل معمولاً به خاطر عمق زیاد شبکه و وزنهای اولیهی نامناسب رخ میده که راهحل داره و بعدا بهشون میپردازم
Gradient vanishing happens when a deep neural network tries to learn, but the learning signal (the gradient) becomes extremely small as it flows backward through many layers. By the time it reaches the early layers . the ones responsible for learning fundamental features the gradient is almost zero, so those layers barely update and the model stops improving. This usually comes from very deep architectures, bad weight initialization, or activation functions that squash values too much. AI engineers handle it with techniques like skip connections, LayerNorm, and modern activations that keep the gradient alive.
❤1👍1
AI Scope
گرادیان
گرادیان چی هست اصلا؟
گرادیان تو یادگیری عمیق همون جهت و اندازهی شیبِ خطاست.
یعنی به ما میگه اگه وزنهای شبکه رو یک ذره کم یا زیاد کنیم، خطا چطور تغییر میکنه. مدل بعد از هر بار پیشبینی، خطا رو حساب میکنه و با گرفتن گرادیان میفهمه برای کمتر کردن این خطا باید وزنها رو به کدوم سمت حرکت بده.
هرچی مقدار گرادیان بزرگتر باشه یعنی خطا نسبت به اون وزن حساستره و باید تغییر بیشتری بدیم، هرچی کوچکتر باشه یعنی نزدیکیم به نقطهای که خطا کمینهست.
کلِ فرایند یادگیری درواقع همین دنبال کردن و درس گرفتن از گرادیانه تا شبکه کمکم بهتر و دقیقتر بشه.
🦴 @scopeofai | #concepts
گرادیان تو یادگیری عمیق همون جهت و اندازهی شیبِ خطاست.
یعنی به ما میگه اگه وزنهای شبکه رو یک ذره کم یا زیاد کنیم، خطا چطور تغییر میکنه. مدل بعد از هر بار پیشبینی، خطا رو حساب میکنه و با گرفتن گرادیان میفهمه برای کمتر کردن این خطا باید وزنها رو به کدوم سمت حرکت بده.
هرچی مقدار گرادیان بزرگتر باشه یعنی خطا نسبت به اون وزن حساستره و باید تغییر بیشتری بدیم، هرچی کوچکتر باشه یعنی نزدیکیم به نقطهای که خطا کمینهست.
کلِ فرایند یادگیری درواقع همین دنبال کردن و درس گرفتن از گرادیانه تا شبکه کمکم بهتر و دقیقتر بشه.
Gradients are essentially vectors of partial derivatives of the neural network's loss function concerning its weights and biases. The loss function quantifies the difference between the predicted output of the neural network and the actual target values
🦴 @scopeofai | #concepts
❤1👍1
💡 برای یادگیری خودخوان مهندسی پرامپت، این سایت میتونه منبع جامع و مناسبی براتون باشه. تقریبا تمام روشهای پیشرفته پرامپتنویسی رو پوشش داده:
https://www.promptingguide.ai/
https://www.promptingguide.ai/
One of the best websites to learn prompting on your own
👏2❤1👍1🔥1
کومت الان توی اندروید قابلدسترسه.
واقعا فوقالعادست و تمام استانداردهایی که برای یه مرورگر داشتید رو میتونه عوض کنه
واقعا فوقالعادست و تمام استانداردهایی که برای یه مرورگر داشتید رو میتونه عوض کنه
❤3😢1
با دستیار صوتیش بدون تایپ کردن میتونید به هر صفحه وب که خواستید برید چون پرپلکسیتی به کل مرورگر دسترسی داره و به عنوان یه ایجنت داخل مرورگر عمل میکنه.
❤3😢1
سیرینیواس قبلا گفته بود که ما با کومت به تمام اطلاعات حسابتون دسترسی داریم.
اگه به این موضوع حساسید، یه اکانت فیک بسازید و با ایمیل اصلی خودتون وارد نشید.
اگه به این موضوع حساسید، یه اکانت فیک بسازید و با ایمیل اصلی خودتون وارد نشید.
❤3