مشین لرننگ (ML) تمام صنعتوں کے حل میں انقلاب برپا کر رہی ہے اور ڈیٹا سے بصیرت اور ذہانت کی نئی شکلیں نکال رہی ہے۔ بہت سے ML الگورتھم بڑے ڈیٹا سیٹس پر تربیت دیتے ہیں، ڈیٹا میں پائے جانے والے نمونوں کو عام کرتے ہیں اور ان نمونوں سے نتائج کا اندازہ لگاتے ہیں کیونکہ نئے ان دیکھے ریکارڈ پر کارروائی ہوتی ہے۔ عام طور پر، اگر ڈیٹاسیٹ یا ماڈل اتنا بڑا ہے کہ کسی ایک مثال پر تربیت نہیں دی جا سکتی، تقسیم کی تربیت تربیت کے عمل کے دوران ایک کلسٹر کے اندر متعدد مثالوں کو استعمال کرنے اور ڈیٹا یا ماڈل پارٹیشنز کو ان مثالوں میں تقسیم کرنے کی اجازت دیتا ہے۔ تقسیم شدہ تربیت کے لیے مقامی مدد کے ذریعے پیش کی جاتی ہے۔ ایمیزون سیج میکر SDK کے ساتھ مثال کے طور پر نوٹ بک مقبول فریم ورک میں.
تاہم، بعض اوقات تنظیموں کے اندر یا ان کے درمیان سیکیورٹی اور رازداری کے ضوابط کی وجہ سے، ڈیٹا کو متعدد اکاؤنٹس یا مختلف خطوں میں وکندریقرت کیا جاتا ہے اور اسے ایک اکاؤنٹ یا تمام خطوں میں مرکزیت نہیں دی جا سکتی۔ اس صورت میں، فیڈریٹیڈ لرننگ (FL) کو پورے ڈیٹا پر ایک عمومی ماڈل حاصل کرنے پر غور کیا جانا چاہیے۔
اس پوسٹ میں، ہم بحث کرتے ہیں کہ ایمیزون سیج میکر پر فیڈریٹڈ لرننگ کو کیسے لاگو کیا جائے تاکہ وکندریقرت ٹریننگ ڈیٹا کے ساتھ ایم ایل کو چلایا جائے۔
فیڈریٹڈ لرننگ کیا ہے؟
فیڈریٹیڈ لرننگ ایک ایم ایل اپروچ ہے جو متوازی طور پر چلنے والے متعدد الگ الگ تربیتی سیشنز کو بڑی حدوں کے پار چلانے کی اجازت دیتا ہے، مثال کے طور پر جغرافیائی طور پر، اور اس عمل میں ایک عمومی ماڈل (عالمی ماڈل) بنانے کے لیے نتائج کو جمع کرتا ہے۔ مزید خاص طور پر، ہر تربیتی سیشن اپنا ڈیٹا سیٹ استعمال کرتا ہے اور اپنا مقامی ماڈل حاصل کرتا ہے۔ مختلف تربیتی سیشنوں میں مقامی ماڈلز کو تربیتی عمل کے دوران ایک عالمی ماڈل میں جمع کیا جائے گا (مثال کے طور پر، ماڈل وزن کا مجموعہ)۔ یہ نقطہ نظر مرکزی ML تکنیکوں کے برعکس ہے جہاں ڈیٹاسیٹس کو ایک تربیتی سیشن کے لیے ملایا جاتا ہے۔
فیڈریٹڈ لرننگ بمقابلہ کلاؤڈ پر تقسیم شدہ تربیت
جب یہ دونوں نقطہ نظر کلاؤڈ پر چل رہے ہوتے ہیں، تو تقسیم شدہ تربیت ایک علاقے میں ایک اکاؤنٹ پر ہوتی ہے، اور تربیتی ڈیٹا ایک مرکزی تربیتی سیشن یا جاب سے شروع ہوتا ہے۔ تقسیم شدہ تربیتی عمل کے دوران، ڈیٹاسیٹ چھوٹے چھوٹے ذیلی سیٹوں میں تقسیم ہو جاتا ہے اور حکمت عملی (ڈیٹا متوازی یا ماڈل متوازی) کے لحاظ سے سب سیٹ مختلف ٹریننگ نوڈس پر بھیجے جاتے ہیں یا ٹریننگ کلسٹر میں نوڈس کے ذریعے جاتے ہیں، جس کا مطلب ہے کہ انفرادی ڈیٹا ضروری نہیں ہے۔ کلسٹر کے ایک نوڈ میں رہیں۔
اس کے برعکس، فیڈریٹڈ لرننگ کے ساتھ، تربیت عام طور پر متعدد الگ الگ اکاؤنٹس یا تمام خطوں میں ہوتی ہے۔ ہر اکاؤنٹ یا علاقے کی اپنی تربیت کی مثالیں ہیں۔ تربیتی ڈیٹا کو شروع سے آخر تک اکاؤنٹس یا ریجنز میں وکندریقرت بنایا جاتا ہے، اور انفرادی ڈیٹا کو صرف اس کے متعلقہ تربیتی سیشن یا مختلف اکاؤنٹس یا ریجنز کے درمیان فیڈریٹڈ لرننگ کے عمل کے دوران پڑھا جاتا ہے۔
فلاور فیڈریٹڈ لرننگ فریم ورک
متعدد اوپن سورس فریم ورک فیڈریٹڈ لرننگ کے لیے دستیاب ہیں، جیسے قسمت, پھول, پی سیفٹ, اوپن ایف ایل, FedML, NVFlare، اور ٹینسر فلو فیڈریٹڈ. FL فریم ورک کا انتخاب کرتے وقت، ہم عام طور پر ماڈل کے زمرے، ML فریم ورک، اور ڈیوائس یا آپریشن سسٹم کے لیے اس کی حمایت پر غور کرتے ہیں۔ ہمیں FL فریم ورک کی توسیع پذیری اور پیکیج کے سائز پر بھی غور کرنے کی ضرورت ہے تاکہ اسے کلاؤڈ پر موثر طریقے سے چلایا جا سکے۔ اس پوسٹ میں، ہم SageMaker کا استعمال کرتے ہوئے FL پر عمل درآمد کرنے کے لیے آسانی سے قابل توسیع، حسب ضرورت، اور ہلکے وزن والے فریم ورک، Flower کا انتخاب کرتے ہیں۔
فلاور ایک جامع FL فریم ورک ہے جو بڑے پیمانے پر FL تجربات کو چلانے کے لیے نئی سہولیات پیش کر کے موجودہ فریم ورک سے خود کو ممتاز کرتا ہے، اور FL ڈیوائس کے وسیع پیمانے پر متفاوت منظرناموں کو قابل بناتا ہے۔ FL ڈیٹا کی رازداری اور اسکیل ایبلٹی سے متعلق چیلنجوں کو ایسے منظرناموں میں حل کرتا ہے جہاں ڈیٹا کا اشتراک ممکن نہیں ہے۔
فلاور ایف ایل کے ڈیزائن کے اصول اور نفاذ
فلاور ایف ایل ڈیزائن کے لحاظ سے لینگویج-ایگنوسٹک اور ایم ایل فریم ورک-ایگنوسٹک ہے، مکمل طور پر قابل توسیع ہے، اور ابھرتے ہوئے الگورتھم، تربیتی حکمت عملی، اور مواصلاتی پروٹوکول کو شامل کر سکتا ہے۔ اپاچی 2.0 لائسنس کے تحت پھول کھلا ہوا ہے۔
FL کے نفاذ کے تصوراتی فن تعمیر کو مقالے میں بیان کیا گیا ہے۔ پھول: ایک دوستانہ فیڈریٹڈ لرننگ فریم ورک اور مندرجہ ذیل تصویر میں روشنی ڈالی گئی ہے۔
اس فن تعمیر میں، کنارے کے کلائنٹ اصلی کنارے والے آلات پر رہتے ہیں اور RPC پر سرور کے ساتھ بات چیت کرتے ہیں۔ دوسری طرف، ورچوئل کلائنٹس غیر فعال ہونے پر صفر کے قریب وسائل استعمال کرتے ہیں اور جب کلائنٹ کو تربیت یا تشخیص کے لیے منتخب کیا جا رہا ہوتا ہے تو صرف ماڈل اور ڈیٹا کو میموری میں لوڈ کرتے ہیں۔
فلاور سرور فلاور کلائنٹس کو بھیجی جانے والی حکمت عملی اور کنفیگریشنز بناتا ہے۔ یہ ان کنفیگریشن لغات کو سیریلائز کرتا ہے (یا config dict مختصر طور پر) ان کی پروٹو بف کی نمائندگی میں، انہیں جی آر پی سی کا استعمال کرتے ہوئے کلائنٹ تک پہنچاتا ہے، اور پھر انہیں دوبارہ ازگر کی لغتوں میں ڈی سیریلائز کرتا ہے۔
پھولوں کی ایف ایل کی حکمت عملی
پھول کے ذریعے سیکھنے کے عمل کی تخصیص کی اجازت دیتا ہے۔ حکمت عملی خلاصہ. حکمت عملی پورے فیڈریشن کے عمل کی وضاحت کرتی ہے جس میں پیرامیٹر کی ابتداء کی وضاحت کی گئی ہے (چاہے یہ سرور ہو یا کلائنٹ کی ابتداء)، رن شروع کرنے کے لیے دستیاب کلائنٹس کی کم از کم تعداد، کلائنٹ کے تعاون کا وزن، اور تربیت اور تشخیص کی تفصیلات۔
فلاور میں FL اوسط الگورتھم اور ایک مضبوط مواصلاتی اسٹیک کا وسیع نفاذ ہے۔ لاگو کردہ اوسط الگورتھم اور متعلقہ تحقیقی مقالوں کی فہرست کے لیے، درج ذیل جدول سے رجوع کریں۔ پھول: ایک دوستانہ فیڈریٹڈ لرننگ فریم ورک.
سیج میکر کے ساتھ فیڈریٹڈ لرننگ: حل فن تعمیر
فلاور فریم ورک کے ساتھ سیج میکر کا استعمال کرتے ہوئے فیڈریٹڈ لرننگ آرکیٹیکچر کو دو طرفہ جی آر پی سی (فاؤنڈیشن) اسٹریمز کے اوپر لاگو کیا جاتا ہے۔ جی آر پی سی پیغامات کے تبادلے کی اقسام کی وضاحت کرتا ہے اور اس کے بعد ازگر کے لیے موثر نفاذ پیدا کرنے کے لیے کمپائلرز کا استعمال کرتا ہے، لیکن یہ دوسری زبانوں، جیسے جاوا یا C++ کے لیے عمل درآمد بھی پیدا کر سکتا ہے۔
فلاور کلائنٹس نیٹ ورک کے ذریعے خام بائٹ اری کے طور پر ہدایات (پیغامات) وصول کرتے ہیں۔ پھر کلائنٹ ڈی سیریلائز کرتے ہیں اور ہدایات چلاتے ہیں (مقامی ڈیٹا پر تربیت)۔ نتائج (ماڈل پیرامیٹرز اور وزن) پھر سیریلائز کیے جاتے ہیں اور سرور کو واپس بھیجے جاتے ہیں۔
فلاور FL کے لیے سرور/کلائنٹ کے فن تعمیر کی تعریف SageMaker میں فلاور سرور اور فلاور کلائنٹ کی طرح اسی خطے میں مختلف اکاؤنٹس میں نوٹ بک مثالوں کا استعمال کرتے ہوئے کی گئی ہے۔ تربیت اور تشخیص کی حکمت عملیوں کی تعریف سرور کے ساتھ ساتھ عالمی پیرامیٹرز پر کی جاتی ہے، پھر ترتیب کو سیریلائز کیا جاتا ہے اور VPC پیئرنگ پر کلائنٹ کو بھیجا جاتا ہے۔
نوٹ بک انسٹینس کلائنٹ ایک سیج میکر ٹریننگ جاب شروع کرتا ہے جو فلاور کلائنٹ کے انسٹی ٹیوشن کو متحرک کرنے کے لیے ایک حسب ضرورت اسکرپٹ چلاتا ہے، جو سرور کنفیگریشن کو ڈی سیریلائز اور پڑھتا ہے، ٹریننگ جاب کو متحرک کرتا ہے، اور پیرامیٹرز کا جواب بھیجتا ہے۔
سرور پر آخری مرحلہ اس وقت ہوتا ہے جب سرور کی حکمت عملی پر مقرر کردہ رنز اور کلائنٹس کی تعداد کی تکمیل کے بعد نئے مجموعی پیرامیٹرز کی جانچ شروع کی جاتی ہے۔ تشخیص صرف سرور پر موجود ٹیسٹنگ ڈیٹاسیٹ پر ہوتا ہے، اور درستگی کے نئے بہتر میٹرکس تیار کیے جاتے ہیں۔
مندرجہ ذیل خاکہ فلاور پیکج کے ساتھ سیج میکر پر FL سیٹ اپ کے فن تعمیر کو واضح کرتا ہے۔
سیج میکر کا استعمال کرتے ہوئے فیڈریٹڈ لرننگ کو نافذ کریں۔
سیج میکر ایک مکمل طور پر منظم ایم ایل سروس ہے۔ SageMaker کے ساتھ، ڈیٹا سائنسدان اور ڈویلپرز ایم ایل ماڈلز کو تیزی سے بنا اور تربیت دے سکتے ہیں، اور پھر انہیں پیداوار کے لیے تیار میزبان ماحول میں تعینات کر سکتے ہیں۔
اس پوسٹ میں، ہم یہ ظاہر کرتے ہیں کہ SageMaker ٹریننگ جابز کا استعمال کرتے ہوئے، نوٹ بک کے تجربے کا ماحول فراہم کرنے اور AWS اکاؤنٹس میں فیڈریٹڈ لرننگ کرنے کے لیے منظم ML پلیٹ فارم کا استعمال کیسے کریں۔ خام تربیتی ڈیٹا کبھی بھی اس اکاؤنٹ کو نہیں چھوڑتا جو ڈیٹا کا مالک ہوتا ہے اور صرف اخذ کردہ وزن ہی پیئر کنکشن پر بھیجے جاتے ہیں۔
ہم اس پوسٹ میں درج ذیل بنیادی اجزاء کو اجاگر کرتے ہیں:
- نیٹ ورکنگ - سیج میکر ڈیفالٹ نیٹ ورکنگ کنفیگریشن کے فوری سیٹ اپ کی اجازت دیتا ہے جبکہ آپ کو آپ کی تنظیم کی ضروریات کے مطابق نیٹ ورکنگ کو مکمل طور پر اپنی مرضی کے مطابق کرنے کی بھی اجازت دیتا ہے۔ ہم استعمال کرتے ہیں a وی پی سی پیئرنگ کنفیگریشن اس مثال میں خطے کے اندر۔
- کراس اکاؤنٹ تک رسائی کی ترتیبات - سرور اکاؤنٹ میں صارف کو کلائنٹ اکاؤنٹ میں ماڈل ٹریننگ کا کام شروع کرنے کی اجازت دینے کے لیے، ہم اکاؤنٹس میں رسائی کی نمائندگی کریں۔ کا استعمال کرتے ہوئے AWS شناخت اور رسائی کا انتظام (IAM) کے کردار۔ اس طرح، سرور اکاؤنٹ میں موجود صارف کو SageMaker پر کارروائیاں کرنے کے لیے اکاؤنٹ سے سائن آؤٹ اور کلائنٹ اکاؤنٹ میں سائن ان کرنے کی ضرورت نہیں ہے۔ یہ ترتیب صرف SageMaker تربیتی ملازمتیں شروع کرنے کے مقاصد کے لیے ہے، اور اس میں کسی بھی کراس اکاؤنٹ ڈیٹا تک رسائی یا اشتراک کی اجازت نہیں ہے۔
- کلائنٹ اکاؤنٹ میں فیڈریٹڈ لرننگ کلائنٹ کوڈ اور سرور اکاؤنٹ میں سرور کوڈ کو نافذ کرنا - ہم فلاور پیکج اور سیج میکر کے زیر انتظام ٹریننگ کا استعمال کرکے کلائنٹ اکاؤنٹ میں فیڈریٹڈ لرننگ کلائنٹ کوڈ نافذ کرتے ہیں۔ دریں اثنا، ہم فلاور پیکج کا استعمال کرکے سرور اکاؤنٹ میں سرور کوڈ نافذ کرتے ہیں۔
VPC پیئرنگ سیٹ اپ کریں۔
VPC پیئرنگ کنکشن دو VPCs کے درمیان ایک نیٹ ورکنگ کنکشن ہے جو آپ کو نجی IPv4 پتوں یا IPv6 پتوں کا استعمال کرتے ہوئے ان کے درمیان ٹریفک کو روٹ کرنے کے قابل بناتا ہے۔ VPC میں سے کسی ایک میں مثالیں ایک دوسرے کے ساتھ اس طرح بات چیت کر سکتی ہیں جیسے وہ ایک ہی نیٹ ورک کے اندر ہوں۔
وی پی سی پیئرنگ کنکشن قائم کرنے کے لیے، پہلے کسی دوسرے وی پی سی کے ساتھ پیئر کرنے کی درخواست بنائیں۔ آپ اسی اکاؤنٹ میں کسی دوسرے VPC کے ساتھ VPC پیئرنگ کنکشن کی درخواست کر سکتے ہیں، یا ہمارے استعمال کے معاملے میں، ایک مختلف AWS اکاؤنٹ میں VPC سے جڑ سکتے ہیں۔ درخواست کو فعال کرنے کے لیے، VPC کے مالک کو درخواست کو قبول کرنا چاہیے۔ وی پی سی پیئرنگ کے بارے میں مزید تفصیلات کے لیے رجوع کریں۔ ایک VPC پیئرنگ کنکشن بنائیں.
VPCs میں SageMaker نوٹ بک کی مثالیں لانچ کریں۔
سیج میکر نوٹ بک مثال ایک مکمل طور پر منظم ایم ایل کے ذریعے ایک Jupyter نوٹ بک ایپ فراہم کرتی ہے۔ ایمیزون لچکدار کمپیوٹ کلاؤڈ (ایمیزون EC2) مثال۔ SageMaker Jupyter نوٹ بکس کا استعمال جدید ڈیٹا ایکسپلوریشن کرنے، تربیتی ملازمتیں تخلیق کرنے، SageMaker ہوسٹنگ میں ماڈلز کی تعیناتی، اور آپ کے ماڈلز کی جانچ یا تصدیق کرنے کے لیے کیا جاتا ہے۔
نوٹ بک مثال میں نیٹ ورکنگ کنفیگریشنز کی ایک قسم دستیاب ہے۔ اس سیٹ اپ میں، ہمارے پاس نوٹ بک کی مثال VPC کے نجی ذیلی نیٹ میں چلتی ہے اور اس کے پاس براہ راست انٹرنیٹ تک رسائی نہیں ہے۔
کراس اکاؤنٹ تک رسائی کی ترتیبات کو ترتیب دیں۔
کراس اکاؤنٹ تک رسائی کی ترتیبات میں IAM کرداروں کا استعمال کرتے ہوئے سرور اکاؤنٹ سے کلائنٹ اکاؤنٹ تک رسائی تفویض کرنے کے دو مراحل شامل ہیں:
- کلائنٹ اکاؤنٹ میں IAM رول بنائیں۔
- سرور اکاؤنٹ میں کردار تک رسائی فراہم کریں۔
اسی طرح کے منظر نامے کو ترتیب دینے کے تفصیلی اقدامات کے لیے، ملاحظہ کریں۔ IAM کرداروں کا استعمال کرتے ہوئے تمام AWS اکاؤنٹس تک رسائی کو تفویض کریں۔.
کلائنٹ اکاؤنٹ میں، ہم ایک IAM رول بناتے ہیں جسے کہتے ہیں۔ FL-kickoff-client-job
پالیسی کے ساتھ FL-sagemaker-actions
کردار سے منسلک۔ دی FL-sagemaker-actions
پالیسی میں JSON مواد مندرجہ ذیل ہے:
اس کے بعد ہم اعتماد کے رشتوں میں اعتماد کی پالیسی میں ترمیم کرتے ہیں۔ FL-kickoff-client-job
کردار:
سرور اکاؤنٹ میں، اجازتیں موجودہ صارف میں شامل کی جاتی ہیں (مثال کے طور پر، developer
) پر سوئچ کرنے کی اجازت دینے کے لیے FL-kickoff-client-job
کلائنٹ اکاؤنٹ میں کردار ایسا کرنے کے لیے، ہم ایک ان لائن پالیسی بناتے ہیں جسے کہتے ہیں۔ FL-allow-kickoff-client-job
اور اسے صارف سے منسلک کریں۔ مندرجہ ذیل پالیسی JSON مواد ہے:
نمونہ ڈیٹاسیٹ اور ڈیٹا کی تیاری
اس پوسٹ میں، ہم استعمال کرتے ہیں a کیوریٹڈ ڈیٹاسیٹ میڈیکیئر فراہم کنندگان کے ڈیٹا میں فراڈ کا پتہ لگانے کے لیے میڈیکیئر اور میڈیکیڈ سروسز کے مراکز (CMS). ڈیٹا کو تربیتی ڈیٹاسیٹ اور ٹیسٹنگ ڈیٹاسیٹ میں تقسیم کیا جاتا ہے۔ چونکہ ڈیٹا کی اکثریت غیر فراڈ ہے، ہم درخواست دیتے ہیں۔ SMOTE تربیتی ڈیٹاسیٹ کو متوازن کرنے کے لیے، اور مزید تربیتی ڈیٹاسیٹ کو تربیت اور توثیق کے حصوں میں تقسیم کرنا۔ تربیت اور توثیق کے ڈیٹا دونوں کو ایک پر اپ لوڈ کیا جاتا ہے۔ ایمیزون سادہ اسٹوریج سروس (Amazon S3) کلائنٹ اکاؤنٹ میں ماڈل ٹریننگ کے لیے بالٹی، اور ٹیسٹنگ ڈیٹاسیٹ کو سرور اکاؤنٹ میں صرف جانچ کے مقاصد کے لیے استعمال کیا جاتا ہے۔ ڈیٹا کی تیاری کے کوڈ کی تفصیلات درج ذیل ہیں۔ نوٹ بک.
سیج میکر کے ساتھ اسکیٹ لرن فریم ورک کے لیے پہلے سے تیار کردہ ڈاکر امیجز اور سیج میکر کے زیر انتظام تربیتی عمل، ہم فیڈریٹڈ لرننگ کا استعمال کرتے ہوئے اس ڈیٹاسیٹ پر ایک لاجسٹک ریگریشن ماڈل کو تربیت دیتے ہیں۔
کلائنٹ اکاؤنٹ میں فیڈریٹڈ لرننگ کلائنٹ کو لاگو کریں۔
کلائنٹ اکاؤنٹ کی SageMaker نوٹ بک مثال میں، ہم ایک تیار کرتے ہیں۔ client.py سکرپٹ اور a utils.py سکرپٹ. دی client.py
فائل کلائنٹ کے لیے کوڈ پر مشتمل ہے، اور utils.py
فائل میں کچھ یوٹیلیٹی فنکشنز کا کوڈ ہوتا ہے جو ہماری ٹریننگ کے لیے درکار ہوں گے۔ ہم لاجسٹک ریگریشن ماڈل بنانے کے لیے اسکیٹ لرن پیکج کا استعمال کرتے ہیں۔
In client.py
، ہم فلاور کلائنٹ کی وضاحت کرتے ہیں۔ کلائنٹ کلاس سے اخذ کیا گیا ہے۔ fl.client.NumPyClient. اسے درج ذیل تین طریقوں کی وضاحت کرنے کی ضرورت ہے:
- get_parameters - یہ موجودہ مقامی ماڈل کے پیرامیٹرز کو لوٹاتا ہے۔ یوٹیلیٹی فنکشن
get_model_parameters
یہ کریں گے. - فٹ - یہ کلائنٹ کے اکاؤنٹ میں ٹریننگ ڈیٹا پر ماڈل کو تربیت دینے کے اقدامات کی وضاحت کرتا ہے۔ یہ سرور سے عالمی ماڈل پیرامیٹرز اور دیگر ترتیب کی معلومات بھی حاصل کرتا ہے۔ ہم موصولہ عالمی پیرامیٹرز کا استعمال کرتے ہوئے مقامی ماڈل کے پیرامیٹرز کو اپ ڈیٹ کرتے ہیں اور کلائنٹ اکاؤنٹ میں ڈیٹا سیٹ پر اس کی تربیت جاری رکھتے ہیں۔ یہ طریقہ ٹریننگ کے بعد مقامی ماڈل کے پیرامیٹرز، ٹریننگ سیٹ کا سائز، اور ایک لغت بھی بھیجتا ہے جو صوابدیدی اقدار کو سرور کو واپس بھیجتا ہے۔
- اندازہ - یہ کلائنٹ اکاؤنٹ میں تصدیقی ڈیٹا کا استعمال کرتے ہوئے فراہم کردہ پیرامیٹرز کا جائزہ لیتا ہے۔ یہ نقصان کو دیگر تفصیلات کے ساتھ واپس کرتا ہے جیسے کہ توثیق سیٹ کا سائز اور درستگی سرور کو واپس۔
فلاور کلائنٹ کی تعریف کے لیے درج ذیل کوڈ کا ٹکڑا ہے:
اس کے بعد ہم SageMaker استعمال کرتے ہیں۔ سکرپٹ موڈ باقی تیار کرنے کے لئے client.py
فائل اس میں وضاحتی پیرامیٹرز شامل ہیں جو سیج میکر ٹریننگ کو بھیجے جائیں گے، ٹریننگ اور توثیق کے ڈیٹا کو لوڈ کرنا، کلائنٹ پر ماڈل کو شروع کرنا اور تربیت دینا، سرور کے ساتھ بات چیت کرنے کے لیے فلاور کلائنٹ کو ترتیب دینا، اور آخر میں تربیت یافتہ ماڈل کو محفوظ کرنا۔
utils.py
کچھ یوٹیلیٹی فنکشنز شامل ہیں جنہیں کال کیا جاتا ہے۔ client.py
:
- get_model_parameters - یہ سکیٹ لرن واپس کرتا ہے۔ لاجسٹک ریگریشن ماڈل پیرامیٹرز
- set_model_params - یہ ماڈل کے پیرامیٹرز کا تعین کرتا ہے۔
- set_initial_params - یہ ماڈل کے پیرامیٹرز کو صفر کے طور پر شروع کرتا ہے۔ اس کی ضرورت ہے کیونکہ سرور لانچ کے وقت کلائنٹ سے ابتدائی ماڈل پیرامیٹرز مانگتا ہے۔ تاہم، سکیٹ لرن فریم ورک میں،
LogisticRegression
ماڈل پیرامیٹرز جب تک شروع نہیں کیے جاتے ہیں۔model.fit()
کہا جاتا ہے. - لوڈ_ڈیٹا - یہ تربیت اور جانچ کے ڈیٹا کو لوڈ کرتا ہے۔
- save_model - یہ ماڈل کو بطور اے محفوظ کرتا ہے۔
.joblib
فائل.
کیونکہ فلاور ایک پیکیج میں انسٹال نہیں ہے۔ سیج میکر پہلے سے بنایا ہوا سکیٹ لرن ڈوکر کنٹینر، ہم فہرست کرتے ہیں۔ flwr==1.3.0
میں requirements.txt
فائل.
ہم نے تینوں فائلیں ڈال دیں (client.py
, utils.py
، اور requirements.txt
) ایک فولڈر کے نیچے اور اسے ٹار زپ کریں۔ .tar.gz فائل (نام source.tar.gz
اس پوسٹ میں) اس کے بعد کلائنٹ اکاؤنٹ میں S3 بالٹی پر اپ لوڈ کیا جاتا ہے۔
سرور اکاؤنٹ میں فیڈریٹڈ لرننگ سرور لاگو کریں۔
سرور اکاؤنٹ میں، ہم Jupyter نوٹ بک پر کوڈ تیار کرتے ہیں۔ اس میں دو حصے شامل ہیں: سرور سب سے پہلے کلائنٹ اکاؤنٹ میں تربیتی کام شروع کرنے کے لیے کردار ادا کرتا ہے، پھر سرور فلاور کا استعمال کرتے ہوئے ماڈل کو فیڈریٹ کرتا ہے۔
کلائنٹ اکاؤنٹ میں تربیتی کام کو چلانے کے لیے اپنا کردار ادا کریں۔
ہم استعمال کرتے ہیں Boto3 Python SDK قائم کرنا a AWS سیکیورٹی ٹوکن سروس (AWS STS) کلائنٹ کو فرض کرنا FL-kickoff-client-job
کردار ادا کریں اور ایک سیج میکر کلائنٹ کو ترتیب دیں تاکہ سیج میکر کے زیر انتظام تربیتی عمل کو استعمال کرتے ہوئے کلائنٹ کے اکاؤنٹ میں تربیتی کام چلایا جا سکے۔
فرض کردہ کردار کا استعمال کرتے ہوئے، ہم کلائنٹ اکاؤنٹ میں سیج میکر ٹریننگ جاب بناتے ہیں۔ تربیتی کام SageMaker بلٹ ان سکیٹ لرن فریم ورک کا استعمال کرتا ہے۔ نوٹ کریں کہ درج ذیل کوڈ کے ٹکڑوں میں تمام S3 بالٹیاں اور SageMaker IAM کا کردار کلائنٹ اکاؤنٹ سے متعلق ہے:
فلاور کا استعمال کرتے ہوئے مقامی ماڈلز کو عالمی ماڈل میں جمع کریں۔
ہم سرور پر ماڈل کو فیڈریٹ کرنے کے لیے کوڈ تیار کرتے ہیں۔ اس میں فیڈریشن کی حکمت عملی اور اس کے ابتدائی پیرامیٹرز کی وضاحت شامل ہے۔ ہم یوٹیلیٹی فنکشن میں استعمال کرتے ہیں۔ utils.py
ماڈل پیرامیٹرز کو شروع کرنے اور سیٹ کرنے کے لیے پہلے بیان کردہ اسکرپٹ۔ فلاور آپ کو موجودہ حکمت عملی کو اپنی مرضی کے مطابق بنانے کے لیے اپنے کال بیک فنکشنز کی وضاحت کرنے کی اجازت دیتا ہے۔ ہم استعمال کرتے ہیں FedAvg تشخیص اور فٹ کنفیگریشن کے لیے حسب ضرورت کال بیکس کے ساتھ حکمت عملی۔ درج ذیل کوڈ دیکھیں:
مندرجہ ذیل دو افعال کا ذکر پچھلے کوڈ کے ٹکڑوں میں کیا گیا ہے:
- fit_round - یہ کلائنٹ کو راؤنڈ نمبر بھیجنے کے لیے استعمال ہوتا ہے۔ ہم اس کال بیک کو بطور پاس کرتے ہیں۔
on_fit_config_fn
حکمت عملی کا پیرامیٹر ہم یہ صرف کے استعمال کو ظاہر کرنے کے لیے کرتے ہیں۔on_fit_config_fn
پیرامیٹر - get_evaluate_fn - یہ سرور پر ماڈل کی تشخیص کے لیے استعمال ہوتا ہے۔
ڈیمو کے مقاصد کے لیے، ہم ٹیسٹنگ ڈیٹاسیٹ کا استعمال کرتے ہیں جسے ہم نے ڈیٹا کی تیاری میں ایک طرف رکھا ہے تاکہ کلائنٹ کے اکاؤنٹ سے فیڈرڈ ماڈل کا جائزہ لیا جا سکے اور نتیجہ کلائنٹ کو واپس پہنچایا جا سکے۔ تاہم، یہ بات قابل توجہ ہے کہ تقریباً تمام حقیقی استعمال کے معاملات میں، سرور اکاؤنٹ میں استعمال ہونے والا ڈیٹا کلائنٹ اکاؤنٹ میں استعمال کیے گئے ڈیٹاسیٹ سے الگ نہیں ہوتا ہے۔
فیڈریٹڈ سیکھنے کا عمل ختم ہونے کے بعد، a model.tar.gz
فائل کو سیج میکر نے کلائنٹ اکاؤنٹ میں S3 بالٹی میں بطور ماڈل آرٹفیکٹ محفوظ کیا ہے۔ دریں اثنا، اے model.joblib
فائل کو سرور اکاؤنٹ میں SageMaker نوٹ بک مثال پر محفوظ کیا جاتا ہے۔ آخر میں، ہم حتمی ماڈل کو جانچنے کے لیے ٹیسٹنگ ڈیٹاسیٹ کا استعمال کرتے ہیں (model.joblib
) سرور پر۔ حتمی ماڈل کی جانچ کی پیداوار مندرجہ ذیل ہے:
صاف کرو
آپ کے کام کرنے کے بعد، اضافی چارجز سے بچنے کے لیے سرور اکاؤنٹ اور کلائنٹ اکاؤنٹ دونوں میں وسائل کو صاف کریں:
- سیج میکر نوٹ بک کے واقعات کو روکیں۔
- VPC پیئرنگ کنکشنز اور متعلقہ VPCs کو حذف کریں۔
- ڈیٹا سٹوریج کے لیے بنائی گئی S3 بالٹی کو خالی اور حذف کریں۔
نتیجہ
اس پوسٹ میں، ہم نے فلاور پیکج کا استعمال کرکے سیج میکر پر فیڈریٹڈ لرننگ کو کیسے نافذ کیا ہے اس کے بارے میں بتایا۔ ہم نے VPC پیئرنگ کو ترتیب دینے، کراس اکاؤنٹ تک رسائی کو ترتیب دینے اور FL کلائنٹ اور سرور کو لاگو کرنے کا طریقہ دکھایا۔ یہ پوسٹ ان لوگوں کے لیے کارآمد ہے جنہیں SageMaker پر ML ماڈلز کو محدود ڈیٹا شیئرنگ والے اکاؤنٹس میں ڈی سینٹرلائزڈ ڈیٹا کا استعمال کرتے ہوئے تربیت دینے کی ضرورت ہے۔ چونکہ اس پوسٹ میں FL کو SageMaker کا استعمال کرتے ہوئے لاگو کیا گیا ہے، اس لیے یہ بات قابل غور ہے کہ SageMaker میں بہت سی مزید خصوصیات کو اس عمل میں لایا جا سکتا ہے۔
SageMaker پر فیڈریٹڈ لرننگ کو لاگو کرنا ان تمام جدید خصوصیات سے فائدہ اٹھا سکتا ہے جو SageMaker ML لائف سائیکل کے ذریعے فراہم کرتا ہے۔ AWS Cloud پر فیڈریٹڈ لرننگ حاصل کرنے یا لاگو کرنے کے دوسرے طریقے ہیں، جیسے EC2 مثالوں کا استعمال کرنا یا کنارے پر۔ ان متبادل طریقوں کے بارے میں تفصیلات کے لیے رجوع کریں۔ FedML کے ساتھ AWS پر فیڈریٹڈ لرننگ اور کنارے پر ML کے لیے فیڈریٹڈ لرننگ کا اطلاق کرنا.
مصنفین کے بارے میں
شیری ڈنگ Amazon Web Services (AWS) میں ایک سینئر AI/ML ماہر حل آرکیٹیکٹ ہے۔ وہ کمپیوٹر سائنس میں پی ایچ ڈی کی ڈگری کے ساتھ مشین لرننگ کا وسیع تجربہ رکھتی ہیں۔ وہ بنیادی طور پر پبلک سیکٹر کے صارفین کے ساتھ مختلف AI/ML سے متعلقہ کاروباری چیلنجز پر کام کرتی ہے، جس سے انہیں AWS کلاؤڈ پر مشین لرننگ کے سفر کو تیز کرنے میں مدد ملتی ہے۔ گاہکوں کی مدد نہ کرنے پر، وہ بیرونی سرگرمیوں سے لطف اندوز ہوتی ہے۔
لوریہ ایریزابالاگا یو کے پبلک سیکٹر سے منسلک ایک سولیوشن آرکیٹیکٹ ہے، جہاں وہ ایمیزون سیج میکر کے ساتھ ایم ایل سلوشنز ڈیزائن کرنے میں صارفین کی مدد کرتی ہے۔ وہ ہارڈویئر ایکسلریشن کے لیے وقف ٹیکنیکل فیلڈ کمیونٹی کا بھی حصہ ہے اور AWS Inferentia اور AWS Trainium ورک بوجھ کی جانچ اور بینچ مارکنگ میں مدد کرتی ہے۔
بین سنویلی AWS پبلک سیکٹر کے سینئر پرنسپل اسپیشلسٹ سولیوشن آرکیٹیکٹ ہیں۔ وہ بڑے ڈیٹا، تجزیاتی، اور AI/ML پروجیکٹس پر سرکاری، غیر منافع بخش، اور تعلیمی صارفین کے ساتھ کام کرتا ہے، اور AWS کا استعمال کرتے ہوئے حل تیار کرنے میں ان کی مدد کرتا ہے۔
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹو ڈیٹا ڈاٹ نیٹ ورک ورٹیکل جنریٹو اے آئی۔ اپنے آپ کو بااختیار بنائیں۔ یہاں تک رسائی حاصل کریں۔
- پلیٹوآئ اسٹریم۔ ویب 3 انٹیلی جنس۔ علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- پلیٹو ای ایس جی۔ آٹوموٹو / ای وی، کاربن، کلین ٹیک، توانائی ، ماحولیات، شمسی، ویسٹ مینجمنٹ یہاں تک رسائی حاصل کریں۔
- پلیٹو ہیلتھ۔ بائیوٹیک اینڈ کلینیکل ٹرائلز انٹیلی جنس۔ یہاں تک رسائی حاصل کریں۔
- چارٹ پرائم۔ ChartPrime کے ساتھ اپنے ٹریڈنگ گیم کو بلند کریں۔ یہاں تک رسائی حاصل کریں۔
- بلاک آفسیٹس۔ ماحولیاتی آفسیٹ ملکیت کو جدید بنانا۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://aws.amazon.com/blogs/machine-learning/machine-learning-with-decentralized-training-data-using-federated-learning-on-amazon-sagemaker/
- : ہے
- : ہے
- : نہیں
- :کہاں
- $UP
- 1
- 10
- 100
- 11
- 12
- 15٪
- 24
- 25
- 500
- 7
- a
- ہمارے بارے میں
- رفتار کو تیز تر
- قبول کریں
- تک رسائی حاصل
- اکاؤنٹ
- اکاؤنٹس
- درستگی
- حاصل
- کے پار
- عمل
- اعمال
- سرگرمیوں
- شامل کیا
- ایڈیشنل
- پتے
- اعلی درجے کی
- فائدہ
- کے بعد
- مجموعی
- مجموعی
- AI / ML
- یلگوردمز
- منسلک
- تمام
- کی اجازت
- اجازت دے رہا ہے
- کی اجازت دیتا ہے
- ساتھ
- بھی
- متبادل
- ایمیزون
- ایمیزون EC2
- ایمیزون سیج میکر
- ایمیزون ویب سروسز
- ایمیزون ویب سروسز (AWS)
- an
- تجزیاتی
- اور
- ایک اور
- کوئی بھی
- اپاچی
- اپلی کیشن
- کا اطلاق کریں
- نقطہ نظر
- نقطہ نظر
- فن تعمیر
- کیا
- AS
- منسلک
- فرض کرو
- فرض کیا
- فرض کرتا ہے
- At
- منسلک کریں
- دستیاب
- نگرانی
- سے اجتناب
- AWS
- AWS Inferentia
- واپس
- متوازن
- BE
- کیونکہ
- اس سے پہلے
- شروع
- کیا جا رہا ہے
- بینچ مارکنگ
- کے درمیان
- بگ
- بگ ڈیٹا
- دونوں
- حدود
- لایا
- تعمیر
- بناتا ہے
- تعمیر میں
- کاروبار
- لیکن
- by
- C ++
- کہا جاتا ہے
- کر سکتے ہیں
- کیس
- مقدمات
- قسم
- مرکزی
- چیلنجوں
- بوجھ
- میں سے انتخاب کریں
- منتخب کریں
- طبقے
- کلائنٹ
- کلائنٹس
- کلوز
- بادل
- کلسٹر
- سینٹی میٹر
- کوڈ
- ابلاغ
- بات چیت
- مواصلات
- کمیونٹی
- تکمیل
- اجزاء
- وسیع
- کمپیوٹنگ
- کمپیوٹر
- کمپیوٹر سائنس
- تصوراتی
- شرط
- ترتیب
- رابطہ قائم کریں
- منسلک
- کنکشن
- کنکشن
- غور کریں
- سمجھا
- بسم
- پر مشتمل ہے
- مواد
- جاری
- اس کے برعکس
- شراکت دار
- کور
- اسی کے مطابق
- تخلیق
- بنائی
- اسناد
- موجودہ
- اپنی مرضی کے
- گاہکوں
- مرضی کے مطابق
- اصلاح
- اپنی مرضی کے مطابق
- اعداد و شمار
- ڈیٹا تک رسائی
- ڈیٹا کی تیاری
- ڈیٹا کی رازداری
- ڈیٹا شیئرنگ
- ڈیٹا اسٹوریج
- ڈیٹاسیٹس
- مہذب
- وقف
- پہلے سے طے شدہ
- وضاحت
- کی وضاحت
- وضاحت کرتا ہے
- وضاحت
- تعریف
- ڈگری
- ڈیمو
- مظاہرہ
- منحصر ہے
- تعیناتی
- اخذ کردہ
- بیان کیا
- ڈیزائن
- تفصیلی
- تفصیلات
- کھوج
- ڈویلپرز
- آلہ
- کے الات
- مختلف
- براہ راست
- بات چیت
- تقسیم کرو
- تقسیم کئے
- تقسیم کی تربیت
- do
- میں Docker
- نہیں کرتا
- کیا
- نہیں
- ڈرائیونگ
- دو
- کے دوران
- ہر ایک
- اس سے قبل
- آسانی سے
- ایج
- تعلیم
- اثر
- ہنر
- مؤثر طریقے سے
- یا تو
- کرنڈ
- کے قابل بناتا ہے
- آخر
- پوری
- ماحولیات
- اندازہ
- تشخیص
- مثال کے طور پر
- تبادلہ
- موجودہ
- تجربہ
- تجربات
- کی تلاش
- وسیع
- وسیع تجربہ
- سہولیات
- خصوصیات
- فیڈریشن
- چند
- میدان
- اعداد و شمار
- فائل
- فائلوں
- فائنل
- آخر
- پتہ ہے
- پہلا
- فٹ
- کے بعد
- مندرجہ ذیل ہے
- کے لئے
- فارم
- فاؤنڈیشن
- فریم ورک
- فریم ورک
- دھوکہ دہی
- فراڈ کا پتہ لگانے
- دوستانہ
- سے
- مکمل طور پر
- تقریب
- افعال
- مزید
- پیدا
- حاصل
- گلوبل
- Go
- حکومت
- ہاتھ
- ہوتا ہے
- ہارڈ ویئر
- ہے
- he
- مدد
- مدد کرتا ہے
- نمایاں کریں
- روشنی ڈالی گئی
- میزبانی کی
- ہوسٹنگ
- کس طرح
- کیسے
- تاہم
- HTML
- HTTP
- HTTPS
- شناختی
- if
- وضاحت کرتا ہے
- تصاویر
- پر عملدرآمد
- نفاذ
- عملدرآمد
- بہتر
- in
- غیر فعال
- شامل
- شامل ہیں
- شامل
- انفرادی
- صنعتوں
- معلومات
- ابتدائی
- بصیرت
- نصب
- مثال کے طور پر
- ہدایات
- انٹیلی جنس
- انٹرفیس
- انٹرنیٹ
- انٹرنیٹ تک رسائی
- میں
- IT
- میں
- خود
- اعلی درجے کا Java
- ایوب
- نوکریاں
- سفر
- فوٹو
- JSON
- l2
- زبانیں
- بڑے
- بڑے پیمانے پر
- آخری
- شروع
- سیکھنے
- لائسنس
- زندگی کا دورانیہ
- ہلکا پھلکا
- لسٹ
- رہتے ہیں
- لوڈ
- لوڈ کر رہا ہے
- بوجھ
- مقامی
- بند
- بہت
- مشین
- مشین لرننگ
- بنیادی طور پر
- اکثریت
- میں کامیاب
- بہت سے
- کا مطلب ہے کہ
- دریں اثناء
- طبی
- یاد داشت
- ذکر کیا
- پیغامات
- طریقہ
- طریقوں
- پیمائش کا معیار
- کم سے کم
- ML
- ماڈل
- ماڈل
- نظر ثانی کرنے
- زیادہ
- ایک سے زیادہ
- ضروری
- نامزد
- مقامی
- ضروری ہے
- ضرورت ہے
- ضرورت
- ضروریات
- نیٹ ورک
- نیٹ ورکنگ
- کبھی نہیں
- نئی
- نیا
- اگلے
- نوڈ
- نوڈس
- غیر منافع بخش
- نوٹ بک
- اشارہ
- تعداد
- of
- کی پیشکش کی
- کی پیشکش
- on
- ایک
- صرف
- اوپن سورس
- آپریشن
- or
- حکم
- تنظیمیں
- دیگر
- ہمارے
- باہر
- پیداوار
- پر
- خود
- مالک
- مالک ہے
- پیکج
- کاغذ.
- کاغذات
- متوازی
- پیرامیٹر
- پیرامیٹرز
- حصہ
- حصے
- منظور
- منظور
- پیٹرن
- ساتھی
- انجام دیں
- اجازت
- اجازتیں
- پی ایچ ڈی
- مقام
- پلیٹ فارم
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- پالیسی
- مقبول
- ممکن
- پوسٹ
- تیاری
- تیار
- پرنسپل
- اصولوں پر
- کی رازداری
- نجی
- عمل
- عملدرآمد
- تیار
- منصوبوں
- پروٹوکول
- فراہم
- فراہم
- فراہم کرتا ہے
- عوامی
- مقاصد
- ڈال
- ازگر
- فوری
- جلدی سے
- خام
- پڑھیں
- اصلی
- وصول
- موصول
- موصول
- ریکارڈ
- خطے
- خطوں
- ضابطے
- متعلقہ
- تعلقات
- جاری
- نمائندگی
- درخواست
- ضرورت
- ضروریات
- تحقیق
- وسائل
- وسائل
- متعلقہ
- جواب
- باقی
- محدود
- نتیجہ
- نتائج کی نمائش
- واپسی
- واپسی
- انقلاب ساز
- مضبوط
- کردار
- کردار
- جڑ
- منہاج القرآن
- چکر
- روٹ
- رن
- چل رہا ہے
- چلتا ہے
- sagemaker
- اسی
- بچت
- اسکیل ایبلٹی
- منظر نامے
- منظرنامے
- سائنس
- سائنسدانوں
- سائنٹ سیکھنا
- sdk
- شعبے
- سیکورٹی
- سیکورٹی ٹوکن
- دیکھنا
- منتخب
- SELF
- بھیجنے
- بھیجتا ہے
- سینئر
- بھیجا
- علیحدہ
- سروس
- سروسز
- اجلاس
- سیشن
- مقرر
- سیٹ
- قائم کرنے
- ترتیبات
- سیٹ اپ
- اشتراک
- وہ
- مختصر
- ہونا چاہئے
- سے ظاہر ہوا
- سائن ان کریں
- اسی طرح
- سادہ
- صرف
- ایک
- سائز
- چھوٹے
- ٹکڑا
- So
- حل
- حل
- حل کرتا ہے
- کچھ
- ماہر
- خاص طور پر
- تقسیم
- ڈھیر لگانا
- کھڑا ہے
- شروع کریں
- شروع
- شروع ہوتا ہے
- بیان
- رہنا
- مرحلہ
- مراحل
- ذخیرہ
- حکمت عملیوں
- حکمت عملی
- اسٹریمز
- سب نیٹ
- ذیلی نیٹ
- اس طرح
- حمایت
- کے نظام
- ٹیبل
- لے لو
- لیتا ہے
- ٹیکنیکل
- تکنیک
- ٹیسسرور
- ٹیسٹ
- ٹیسٹنگ
- کہ
- ۔
- برطانیہ
- ان
- ان
- تو
- وہاں.
- یہ
- وہ
- اس
- ان
- تین
- کے ذریعے
- کرنے کے لئے
- مل کر
- ٹوکن
- بھی
- سب سے اوپر
- ٹریفک
- ٹرین
- تربیت یافتہ
- ٹریننگ
- ٹرگر
- متحرک
- بھروسہ رکھو
- دو
- اقسام
- Uk
- کے تحت
- جب تک
- اپ ڈیٹ کریں
- اپ لوڈ کردہ
- صلی اللہ علیہ وسلم
- استعمال کی شرائط
- استعمال کیس
- استعمال کیا جاتا ہے
- رکن کا
- استعمال
- کا استعمال کرتے ہوئے
- عام طور پر
- کی افادیت
- تصدیق کریں۔
- توثیق
- اقدار
- مختلف اقسام کے
- مختلف
- ورژن
- کی طرف سے
- مجازی
- vs
- چلا گیا
- راستہ..
- طریقوں
- we
- ویب
- ویب خدمات
- وزن
- اچھا ہے
- جب
- چاہے
- جس
- جبکہ
- ڈبلیو
- پوری
- گے
- ساتھ
- کے اندر
- کام کرتا ہے
- قابل
- تم
- اور
- زیفیرنیٹ
- صفر
- زپ