ٹیکنیکل گائیڈ

مخلوط صحت سے متعلق تربیت

مخلوط صحت سے متعلق تربیت نیورل نیٹ ورک کی تربیت کو تیز کرتی ہے اور 32 بٹ کی بجائے 16 بٹ فلوٹنگ پوائنٹ میں زیادہ تر ریاضی کا مظاہرہ کرکے میموری کے استعمال کو کم کرتی ہے۔

2 منٹ پڑھیںآخری بار اپ ڈیٹ کیا گیا۔

جائزہ

It lets the same GPU train bigger models faster with almost no loss in accuracy.

گہرا غوطہ

روایتی تربیت وزن کو ذخیرہ کرتی ہے اور 32 بٹ فلوٹنگ پوائنٹ (FP32) میں ریاضی چلاتی ہے۔ مخلوط درستگی بھاری میٹرکس ضرب کے لیے کم درستگی والے 16 بٹ فارمیٹس (FP16 یا bfloat16) کا استعمال کرتی ہے، جبکہ مستحکم اپ ڈیٹس کے لیے وزن کی 32-bit 'ماسٹر کاپی' رکھتی ہے۔ چونکہ 16 بٹ نمبر آدھے سائز کے ہوتے ہیں، اس لیے GPU میموری میں زیادہ فٹ ہوتے ہیں اور Tensor Cores ان پر تقریباً 2-8x تیزی سے کارروائی کرتے ہیں۔ کیچ FP16 کی تنگ رینج ہے: چھوٹے میلان زیرو تک جا سکتے ہیں۔ معیاری فکس نقصان کا پیمانہ ہے، جو بیک پروپیگیشن سے پہلے نقصان کو ایک بڑے عنصر سے ضرب دیتا ہے تاکہ چھوٹے میلان قابل نمائندگی رہیں، پھر وزن کی تازہ کاری سے پہلے اسے دوبارہ تقسیم کر دیں۔ PyTorch اور TensorFlow میں NVIDIA کا Apex اور بلٹ ان AMP (خودکار مکسڈ پریسجن) اسے خودکار بناتا ہے۔

تکنیکی بصیرت

FP16 میں صرف 5 ایکسپوننٹ بٹس ہیں، جو ایک چھوٹی ڈائنامک رینج دیتا ہے جو گراڈینٹ انڈر فلو کا سبب بنتا ہے۔ Bfloat16 8 ایکسپوننٹ بٹس رکھتا ہے (FP32 کی رینج سے مماثل) لیکن کم مینٹیسا بٹس، اس لیے اسے شاذ و نادر ہی نقصان کی پیمائش کی ضرورت ہوتی ہے - ایک اہم وجہ Google TPUs اور جدید GPUs اس کے حق میں ہیں۔ ٹینسر کور 16 بٹ آپرینڈز کو ضرب دے کر کام کو تیز کرتے ہیں لیکن FP32 میں جزوی رقوم جمع کر کے، درستگی کو محفوظ رکھتے ہوئے جہاں سمیشن کی غلطیاں بصورت دیگر مرکب ہو جائیں گی۔

اسٹریٹجک اثر

لاگت اور بجٹ

فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔

واضح فیصلے

تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔

کوالٹی کنٹرول

انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔

مخلوط صحت سے متعلق تربیت کا مستقبل

درستگی گرتی رہتی ہے۔ FP8 ٹریننگ، NVIDIA Hopper اور Blackwell GPUs پر تعاون یافتہ، فرنٹیئر ماڈلز کے لیے معیاری بن رہی ہے، اور FP4 اور مائیکرو اسکیلنگ فارمیٹس (MXFP) میں تحقیق مزید آگے بڑھ رہی ہے۔ فریم ورک سے فی پرت درستگی کو خودکار طور پر منتخب کرنے، ہمیشہ سے تنگ فارمیٹس کو مقامی طور پر ہینڈل کرنے کے لیے ہارڈ ویئر، اور کم درستگی کی تربیت اور تخمینہ کے درمیان لائن کو دھندلا کرنے کے لیے کوانٹائزیشن سے آگاہی کی تربیت کی توقع کریں، ٹریننگ ٹریلین پیرامیٹر ماڈلز کی لاگت کو کم کرتے ہوئے۔

حقیقی دنیا کا نفاذ

PyTorch کا torch.cuda.amp.autocast ایک ٹریننگ لوپ کو لپیٹ کر میموری کو تقریباً نصف کرنے اور ایک GPU پر ڈبل تھرو پٹ

TPUs پر bfloat16 میں GPT طرز کے ٹرانسفارمرز جیسے بڑے لینگویج ماڈلز کو تربیت دینا تاکہ نقصان کی پیمائش کرنے والی ٹیوننگ سے بچا جا سکے۔

ResNet امیج ٹریننگ کو FP32 سے FP16 میں تبدیل کر کے صارفین کے RTX GPU پر بڑے بیچ سائز کو فٹ کرنا

FP8 مخلوط صحت سے متعلق NVIDIA H100 GPUs پر پہلے سے تربیت دینے والے فرنٹیئر پیمانے پر ماڈلز کی لاگت کو کم کرنے کے لیے

خطرات اور گارڈریلز

ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔

بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔

سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔

نفاذ کا روڈ میپ

1

نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔

2

حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔

3

غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔

4

اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔

دریافت کرتے رہیں

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Mixed Precision Training quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

کوئز شروع کریں۔

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

اگلا گائیڈ

سیوڈو لیبلنگ اور سیلف ٹریننگ

اکثر پوچھے گئے سوالات

What is Mixed Precision Training?

مخلوط صحت سے متعلق تربیت نیورل نیٹ ورک کی تربیت کو تیز کرتی ہے اور 32 بٹ کی بجائے 16 بٹ فلوٹنگ پوائنٹ میں زیادہ تر ریاضی کا مظاہرہ کرکے میموری کے استعمال کو کم کرتی ہے۔ یہ ایک ہی GPU کو درستگی میں تقریباً بغیر کسی نقصان کے بڑے ماڈلز کو تیزی سے تربیت دینے دیتا ہے۔

مخلوط صحت سے متعلق تربیت وزن کی 32 بٹ 'ماسٹر کاپی' کیوں رکھتی ہے؟

وزن کی تازہ کارییں اکثر بہت چھوٹی ہوتی ہیں۔ ان کو 16 بٹ میں جمع کرنے سے درستگی ختم ہو جائے گی، لہذا ایک مکمل درستگی کی ماسٹر کاپی اپ ڈیٹس کو درست رکھتی ہے۔

FP16 ٹریننگ میں نقصان کا پیمانہ کس مسئلہ کو حل کرتا ہے؟

FP16 کی ایک محدود متحرک رینج ہے، لہذا چھوٹے میلان صفر تک پہنچ سکتے ہیں۔ بیک پروپ سے پہلے نقصان کو ضرب دینا انہیں قابل نمائندگی رکھتا ہے۔

Bfloat16 کا FP16 پر کیا فائدہ ہے؟

Bfloat16 FP32 کی طرح 8 ایکسپوننٹ بٹس رکھتا ہے، اس لیے اس کی ڈائنامک رینج بڑی ہے اور گراڈینٹ انڈر فلو نایاب ہے۔

16 بٹ ان پٹ استعمال کرتے ہوئے ٹینسر کور درستگی کو کیسے محفوظ رکھتے ہیں؟

ٹینسر کور 16 بٹ آپرینڈز کو ضرب دیتے ہیں لیکن 32 بٹ میں جمع ہوتے ہیں، سمیشن کی غلطیوں کو مرکب ہونے سے روکتے ہیں۔

تربیت کے دوران 32 بٹ ویلیوز کے بجائے 16 بٹ استعمال کرنے کا بنیادی فائدہ کیا ہے؟

آدھے سائز کے نمبر GPU میموری میں زیادہ ڈیٹا فٹ کرتے ہیں اور خصوصی ہارڈ ویئر کو میٹرکس ریاضی کو کئی گنا تیز کرنے دیتے ہیں۔