اردو نیوز
تازہ ترین
اے آئی اور ٹیکنالوجی

Tensor Cores، Triton، ریزیڈیول نیٹ ورکس اور وژن ٹرانسفارمرز

1980 کی دہائی کے CPU ڈائی کی مثالی تفصیل، یہ GPU نہیں ہے۔
1980 کی دہائی کے CPU ڈائی کی مثالی تفصیل، یہ GPU نہیں ہے۔

2015 سے آج تک، ڈیپ لرننگ ہاتھ سے ٹیون کیے گئے C++ GPU کوڈ اور کنوولوشنل نیٹ ورکس سے آگے بڑھ کر ہارڈویئر سے تیز کیے گئے میٹرکس انجنز اور Transformer فن تعمیر تک پہنچی۔ یہ تین سنگِ میل طے کرتے ہیں کہ جدید اے آئی ماڈلز کیسے بنائے اور وسعت دیے جاتے ہیں۔

1. جدید CUDA کا ارتقا: Tensor Cores اور OpenAI Triton

2012 میں Alex Krizhevsky نے معیاری CUDA کورز پر انفرادی فلوٹنگ پوائنٹ عمل کا حساب لگانے کے لیے نچلی سطح کا CUDA C++ (cuda-convnet) لکھا۔ آج ڈیپ لرننگ مخصوص میٹرکس ہارڈویئر اور اعلیٰ سطح کے کمپائلرز پر انحصار کرتی ہے۔

  • CUDA کورز سے Tensor Cores تک۔ روایتی CUDA کورز فی کلاک سائیکل ایک اسکیلر ضرب اور جمع کرتے ہیں۔ Volta فن تعمیر (2017) سے NVIDIA نے Tensor Cores متعارف کرائے، جو پورے چھوٹے میٹرکس (جیسے 4×4 یا 16×16 بلاکس) کو ایک ہی کلاک سائیکل میں ضرب دیتے ہیں۔ جدید Tensor Cores FP16، BF16 اور FP8 جیسے مخلوط درستگی کے فارمیٹس استعمال کرتے ہیں، جو میٹرکس ضرب میں کئی گنا (order-of-magnitude) رفتار دیتے ہیں۔
  • cuDNN اور خودکار کرنل کا انتخاب۔ محققین کے اپنی مرضی کے C++ کنوولوشنز لکھنے کے بجائے، NVIDIA کی cuDNN لائبریری میں اب سینکڑوں پہلے سے کمپائل شدہ اسمبلی کرنلز موجود ہیں۔ رن ٹائم پر، PyTorch جیسے فریم ورکس آپ کے عین ٹینسر شیپ کے لیے مختلف الگورتھمز کو بینچ مارک کرتے ہیں اور سب سے تیز Tensor Core روٹین خودکار طور پر چن لیتے ہیں۔
  • OpenAI Triton (Python پر مبنی GPU پروگرامنگ)۔ خالص CUDA C++ لکھنے میں تھریڈ انڈیکسنگ، شیئرڈ میموری بینک کنفلکٹس اور وارپ سنکرونائزیشن کو ہاتھ سے سنبھالنا پڑتا ہے۔ OpenAI کی جاری کردہ Triton محققین کو اعلیٰ کارکردگی کے GPU کرنلز براہِ راست Python میں لکھنے دیتی ہے۔ آپ عمل کو بلاک کی سطح (ڈیٹا کی ٹائلز) پر طے کرتے ہیں، اور Triton کمپائلر میموری کوالیسنگ، شیئرڈ میموری ٹائلنگ اور Tensor Core شیڈولنگ خودکار طور پر سنبھال لیتا ہے، اور اکثر ہاتھ سے ٹیون کیے گئے CUDA C++ کے برابر یا اس سے بہتر ثابت ہوتا ہے۔

2. ResNet اسکپ کنکشنز اور بیک پروپیگیشن کا بہاؤ

ResNet (2015) سے پہلے، ~20 سے زیادہ کنوولوشنل لیئرز اوپر رکھنے سے تربیتی غلطی بڑھ جاتی تھی۔ جب گریڈیئنٹس درجنوں ضرب کے مراحل سے پیچھے کی طرف سفر کرتے تھے، تو وہ صفر کی طرف سکڑ جاتے تھے (vanishing gradients) یا غیر مستحکم ہو جاتے تھے۔

  • خام آؤٹ پٹس کے بجائے ریزیڈیولز سیکھنا۔ ایک معیاری نیٹ ورک بلاک میں، تہہ بہ تہہ لیئرز ان پٹ x سے براہِ راست میپنگ H(x) سیکھنے کی کوشش کرتی ہیں۔ ResNet ایک اسکپ کنکشن (شناختی شارٹ کٹ) متعارف کراتا ہے جو اصل ان پٹ x کو سیدھا بلاک کے آؤٹ پٹ میں جمع کر دیتا ہے:

y=F(x)+x

یہاں، F(x) تہہ بہ تہہ کنوولوشنل لیئرز کو ظاہر کرتا ہے۔ پوری نمائندگی کو شروع سے دوبارہ بنانے کے بجائے، لیئرز کو صرف ریزیڈیول (چھوٹی تبدیلی F(x) = y - x) سیکھنا ہوتا ہے۔ اگر کسی لیئر کی ضرورت نہ ہو، تو نیٹ ورک آسانی سے F(x) کو صفر کی طرف دھکیل سکتا ہے، اور صاف شناختی گزرگاہ باقی رہتی ہے۔

  • بلا رکاوٹ گریڈیئنٹ شاہراہ۔ بیک پروپیگیشن کے دوران، چین رول ان پٹ x کے لحاظ سے نقصان (L) کا گریڈیئنٹ نکالتا ہے:

(∂ L)/(∂ x)=(∂ L)/(∂ y)((∂ F(x))/(∂ x)+1)

شناختی شارٹ کٹ سے پیدا ہونے والے + 1 جزو کی وجہ سے، اوپر سے آنے والا گریڈیئنٹ ((∂ L)/(∂ y)) (∂ F(x))/(∂ x) میں چھوٹے ویٹ میٹرکسز سے سکڑے بغیر براہِ راست پچھلی لیئرز تک پیچھے بہتا ہے۔ اس سے گریڈیئنٹس 100+ یا حتیٰ کہ 1,000+ لیئرز میں بھی صاف طور پر پھیل پاتے ہیں۔

3. CNNs سے وژن ٹرانسفارمرز (ViT) کی طرف تبدیلی

AlexNet کے بعد تقریباً ایک دہائی تک، Convolutional Neural Networks (CNNs) تصاویر پر چھوٹے مقامی فلٹرز سرکا کر کمپیوٹر وژن پر چھائے رہے۔ 2020 میں Google نے Vision Transformer (ViT) متعارف کرایا، جس نے قدرتی زبان کی پروسیسنگ سے Transformer فن تعمیر کو تصاویر کے لیے اپنایا۔

خصوصیتConvolutional Neural Networks (CNNs)Vision Transformers (ViT)
ان پٹ کی پروسیسنگسرکتے فلٹرز (مثلاً 3×3) کے ذریعے پوری 2D تصویری گرڈ پروسیس کرتا ہے۔تصویر کو مقررہ سائز کے پیچز (مثلاً 16×16 پکسلز) میں تقسیم کرتا ہے اور انہیں ٹوکنز کی ترتیب میں پھیلا دیتا ہے۔
ریسیپٹو فیلڈپہلے مقامی۔ ابتدائی لیئرز صرف پڑوسی پکسلز دیکھتی ہیں؛ عالمی سیاق گہری لیئرز میں آہستہ آہستہ بنتا ہے۔فوراً عالمی۔ سیلف اٹینشن لیئر 1 سے ہی ہر تصویری پیچ کو دوسرے ہر پیچ سے جوڑتی ہے۔
Inductive Biasزیادہ۔ ٹرانسلیشن انویرینس اور 2D مقامی قربت کے بارے میں بلٹ اِن مفروضے CNNs کو چھوٹے ڈیٹا سیٹس پر اچھی طرح سیکھنے میں مدد دیتے ہیں۔کم۔ اس میں بلٹ اِن 2D مقامی اصول نہیں ہوتے (پوزیشنل ایمبیڈنگز پر انحصار ہوتا ہے)، اس لیے بصری ساخت سیکھنے کے لیے بہت بڑے ڈیٹا سیٹس درکار ہوتے ہیں۔
ہارڈویئر پر وسعتمخصوص کنوولوشن کرنلز اور پیچیدہ میموری رسائی کے نمونوں پر انحصار کرتا ہے۔تقریباً مکمل طور پر گھنے میٹرکس ضرب (GEMMs) پر انحصار کرتا ہے، جو جدید GPU Tensor Cores کو زیادہ سے زیادہ کارکردگی پر مصروف رکھتے ہیں۔
  • ViTs کیوں جدید اے آئی پر چھا گئے۔ اگرچہ CNNs ہلکے موبائل اور ایج آلات کے لیے مؤثر رہتے ہیں، Vision Transformers کروڑوں تصاویر پر تربیت دینے پر کہیں بہتر وسعت پاتے ہیں۔ مزید یہ کہ چونکہ ViTs تصاویر کو ٹوکن ترتیبوں کے طور پر پیش کرتے ہیں، جو متن اور آڈیو کے لیے استعمال ہونے والا بالکل وہی فارمیٹ ہے، اس لیے انہوں نے جدید ملٹی موڈل اے آئی ماڈلز (جیسے GPT-4o اور Gemini) کو بصارت اور زبان کو ایک ہی متحد فن تعمیر میں پروسیس کرنے کے قابل بنایا۔

مزید خبریں: اے آئی اور ٹیکنالوجی