Exafunction مشین لرننگ انفرنس PlatoBlockchain Data Intelligence کے لیے بہترین قیمت کی کارکردگی کو غیر مقفل کرنے کے لیے AWS Inferentia کو سپورٹ کرتا ہے۔ عمودی تلاش۔ عی

Exafunction مشین لرننگ انفرنس کے لیے بہترین قیمت کی کارکردگی کو غیر مقفل کرنے کے لیے AWS Inferentia کو سپورٹ کرتا ہے۔

تمام صنعتوں میں، مشین لرننگ (ML) ماڈلز گہرے ہوتے جا رہے ہیں، ورک فلو مزید پیچیدہ ہو رہے ہیں، اور کام کا بوجھ بڑے پیمانے پر کام کر رہے ہیں۔ ان ماڈلز کو زیادہ درست بنانے میں خاطر خواہ کوششیں اور وسائل لگائے جاتے ہیں کیونکہ اس سرمایہ کاری سے براہ راست بہتر مصنوعات اور تجربات حاصل ہوتے ہیں۔ دوسری طرف، ان ماڈلز کو پیداوار میں مؤثر طریقے سے چلانا ایک غیر معمولی اقدام ہے جسے کارکردگی اور بجٹ کے اہداف کے حصول کی کلید ہونے کے باوجود اکثر نظر انداز کیا جاتا ہے۔ اس پوسٹ میں ہم احاطہ کرتے ہیں کہ کس طرح Exafunction اور AWS Inferentia پیداوار میں ایم ایل ماڈلز کے لیے آسان اور کم لاگت تعیناتی کو غیر مقفل کرنے کے لیے مل کر کام کریں۔

معافی ایک اسٹارٹ اپ ہے جس کی توجہ کمپنیوں کو ML کو ممکنہ حد تک مؤثر طریقے سے انجام دینے کے قابل بنانے پر مرکوز ہے۔ ان کی مصنوعات میں سے ایک ہے ExaDeploy، پیمانے پر ML ورک بوجھ کی خدمت کے لیے استعمال میں آسان SaaS حل۔ ExaDeploy وسائل کے زیادہ سے زیادہ استعمال کے لیے مخلوط وسائل (CPU اور ہارڈویئر ایکسلریٹر) میں آپ کے ML ورک بوجھ کو مؤثر طریقے سے ترتیب دیتا ہے۔ یہ موثر اور قابل اعتماد تعیناتی کو یقینی بنانے کے لیے آٹو اسکیلنگ، کمپیوٹ کولیکیشن، نیٹ ورک کے مسائل، فالٹ ٹولرنس اور بہت کچھ کا بھی خیال رکھتا ہے۔ AWS Inferentia پر مبنی ایمیزون EC2 Inf1 مثالیں۔ کلاؤڈ میں سب سے کم لاگت فی تخمینہ فراہم کرنے کے مقصد سے بنائے گئے ہیں۔ ExaDeploy اب Inf1 مثالوں کو سپورٹ کرتا ہے، جو صارفین کو ایکسلریٹر کی ہارڈ ویئر پر مبنی بچت اور آپٹمائزڈ ریسورس ورچوئلائزیشن اور آرکیسٹریشن کی سافٹ ویئر پر مبنی بچت دونوں حاصل کرنے کی اجازت دیتا ہے۔

حل جائزہ

ExaDeploy تعیناتی کی کارکردگی کو کیسے حل کرتا ہے۔

کمپیوٹ وسائل کے موثر استعمال کو یقینی بنانے کے لیے، آپ کو وسائل کی مناسب تقسیم، آٹو اسکیلنگ، کمپیوٹ کو-لوکیشن، نیٹ ورک کی لاگت اور لیٹنسی مینجمنٹ، فالٹ ٹولرنس، ورژننگ اور ری پروڈیوسبلٹی، اور بہت کچھ پر غور کرنے کی ضرورت ہے۔ بڑے پیمانے پر، کوئی بھی نا اہلی مادی طور پر لاگت اور تاخیر کو متاثر کرتی ہے، اور بہت سی بڑی کمپنیوں نے اندرونی ٹیمیں اور مہارت بنا کر ان ناکاریوں کو دور کیا ہے۔ تاہم، یہ زیادہ تر کمپنیوں کے لیے قابل عمل نہیں ہے کہ وہ عمومی طور پر قابل سافٹ ویئر بنانے کے اس مالیاتی اور تنظیمی اوور ہیڈ کو سمجھیں جو کمپنی کی مطلوبہ بنیادی اہلیت نہیں ہے۔

ExaDeploy ان تعیناتی کارکردگی کے درد کے نکات کو حل کرنے کے لیے ڈیزائن کیا گیا ہے، بشمول وہ کام جو کچھ انتہائی پیچیدہ کام کے بوجھ میں نظر آتے ہیں جیسے کہ خود مختار گاڑی اور قدرتی زبان کی پروسیسنگ (NLP) ایپلی کیشنز میں۔ کچھ بڑے بیچ کے ML ورک بوجھ پر، ExaDeploy نے تاخیر یا درستگی کی قربانی کے بغیر لاگت میں 85% سے زیادہ کمی کی ہے، انضمام کا وقت ایک انجینئر دن جتنا کم ہے۔ ExaDeploy بغیر کسی نظام کی تنزلی کے ہزاروں بیک وقت ہارڈویئر ایکسلریٹر ریسورس کی مثالوں کو آٹو اسکیل کرنے اور ان کا نظم کرنے کے لیے ثابت ہوا ہے۔

ExaDeploy کی اہم خصوصیات میں شامل ہیں:

  • آپ کے بادل میں چلتا ہے۔: آپ کا کوئی بھی ماڈل، ان پٹ، یا آؤٹ پٹ کبھی بھی آپ کے نجی نیٹ ورک کو نہیں چھوڑتا ہے۔ اپنے کلاؤڈ فراہم کنندہ کی چھوٹ کا استعمال جاری رکھیں۔
  • مشترکہ ایکسلریٹر وسائل: ExaDeploy ایکسلریٹر وسائل کا اشتراک کرنے کے لیے متعدد ماڈلز یا کام کے بوجھ کو فعال کر کے استعمال کیے جانے والے ایکسلریٹر کو بہتر بناتا ہے۔ یہ اس بات کی بھی شناخت کر سکتا ہے کہ آیا ایک سے زیادہ کام کے بوجھ ایک ہی ماڈل کو تعینات کر رہے ہیں، اور پھر ماڈل کو ان کام کے بوجھ میں بانٹیں، اس طرح استعمال شدہ ایکسلریٹر کو بہتر بنائیں۔ اس کی خودکار ری بیلنسنگ اور نوڈ ڈریننگ کی صلاحیتیں زیادہ سے زیادہ استعمال اور لاگت کو کم کرتی ہیں۔

Exafunction مشین لرننگ انفرنس PlatoBlockchain Data Intelligence کے لیے بہترین قیمت کی کارکردگی کو غیر مقفل کرنے کے لیے AWS Inferentia کو سپورٹ کرتا ہے۔ عمودی تلاش۔ عی

  • توسیع پذیر سرور لیس تعیناتی ماڈل: ایکسلریٹر ریسورس سیچوریشن کی بنیاد پر ExaDeploy آٹو اسکیلز۔ متحرک طور پر 0 تک یا ہزاروں وسائل تک پیمانہ کریں۔
  • مختلف قسم کے حساب کتاب کے لیے معاونت: آپ تمام بڑے ایم ایل فریم ورک کے ساتھ ساتھ صوابدیدی C++ کوڈ، CUDA کرنل، کسٹم آپس، اور Python فنکشنز سے ڈیپ لرننگ ماڈل آف لوڈ کر سکتے ہیں۔
  • متحرک ماڈل کی رجسٹریشن اور ورژننگ: نئے ماڈلز یا ماڈل ورژن سسٹم کو دوبارہ بنانے یا دوبارہ تعینات کیے بغیر رجسٹرڈ اور چلائے جا سکتے ہیں۔
  • پوائنٹ ٹو پوائنٹ ایگزیکیوشن: کلائنٹ ریموٹ ایکسلریٹر وسائل سے براہ راست جڑتے ہیں، جو کم تاخیر اور زیادہ تھرو پٹ کو قابل بناتا ہے۔ وہ ریاست کو دور سے بھی ذخیرہ کرسکتے ہیں۔
  • غیر مطابقت پذیر عملدرآمد: ExaDeploy ماڈلز کے غیر مطابقت پذیر عمل کو سپورٹ کرتا ہے، جو کلائنٹس کو ریموٹ ایکسلریٹر ریسورس ورک کے ساتھ مقامی کمپیوٹیشن کو متوازی کرنے کی اجازت دیتا ہے۔
  • خرابی برداشت کرنے والی ریموٹ پائپ لائنز: ExaDeploy گاہکوں کو ریموٹ کمپیوٹیشنز (ماڈل، پری پروسیسنگ، وغیرہ) کو فالٹ ٹولرنس گارنٹی کے ساتھ پائپ لائنوں میں متحرک طور پر تحریر کرنے کی اجازت دیتا ہے۔ ExaDeploy سسٹم پوڈ یا نوڈ کی ناکامیوں کو خودکار ریکوری اور ری پلے کے ساتھ ہینڈل کرتا ہے، تاکہ ڈویلپرز کو غلطی کو برداشت کرنے کو یقینی بنانے کے بارے میں کبھی نہیں سوچنا پڑے۔
  • آؤٹ آف دی باکس مانیٹرنگ: ExaDeploy ایکسلریٹر کے وسائل کے استعمال اور دیگر سسٹم میٹرکس کو دیکھنے کے لیے Prometheus میٹرکس اور گرافانا ڈیش بورڈز فراہم کرتا ہے۔

ExaDeploy AWS Inferentia کو سپورٹ کرتا ہے۔

AWS Inferentia پر مبنی Amazon EC2 Inf1 مثالیں گہری سیکھنے کے مخصوص انفرنس ورک بوجھ کے لیے ڈیزائن کی گئی ہیں۔ یہ مثالیں 2.3x تک تھرو پٹ فراہم کرتی ہیں اور GPU انفرنس مثالوں کی موجودہ نسل کے مقابلے میں 70% تک لاگت کی بچت کرتی ہیں۔

ExaDeploy اب AWS Inferentia کو سپورٹ کرتا ہے، اور وہ مل کر مقصد سے تیار کردہ ہارڈویئر ایکسلریشن اور آپٹمائزڈ ریسورس آرکیسٹریشن کے ذریعے حاصل ہونے والی بڑھتی ہوئی کارکردگی اور لاگت کی بچت کو غیر مقفل کرتے ہیں۔ آئیے ExaDeploy اور AWS Inferentia کے مشترکہ فوائد کو ایک بہت ہی عام جدید ML ورک بوجھ پر غور کرتے ہوئے دیکھتے ہیں: بیچڈ، مخلوط کمپیوٹ ورک بوجھ۔

فرضی کام کے بوجھ کی خصوصیات:

  • صرف CPU کے 15 ms پری پروسیس/پوسٹ پروسیس
  • ماڈل کا اندازہ (GPU پر 15 ms، AWS Inferentia پر 5 ms)
  • 10 کلائنٹس، ہر ایک ہر 20 ایم ایس پر درخواست کرتا ہے۔
  • CPU کی تخمینی متعلقہ قیمت: Inferentia:GPU 1:2:4 ہے (C2.xlarge، inf5.xlarge، اور g1dn.xlarge کے لیے Amazon EC4 آن ڈیمانڈ قیمتوں کی بنیاد پر)

نیچے دی گئی جدول دکھاتی ہے کہ ہر ایک آپشن کی شکل کیسے بنتی ہے:

سیٹ اپ وسائل کی ضرورت ہے قیمت تاخیر
ExaDeploy کے بغیر GPU 2 CPU، 2 GPU فی کلائنٹ (کل 20 CPU، 20 GPU) 100 30 MS
ExaDeploy کے ساتھ GPU 8 GPUs کا اشتراک 10 کلائنٹس میں، 1 CPU فی کلائنٹ 42 30 MS
ExaDeploy کے بغیر AWS Inferentia 1 CPU، 1 AWS Inferentia فی کلائنٹ (کل 10 CPU، 10 Inferentia) 30 20 MS
ExaDeploy کے ساتھ AWS Inferentia 3 AWS Inferentia کا اشتراک 10 کلائنٹس میں، 1 CPU فی کلائنٹ 16 20 MS

AWS Inferentia مثال پر ExaDeploy

اس سیکشن میں، ہم BERT PyTorch ماڈل پر inf1 نوڈس کے ساتھ ایک مثال کے ذریعے ExaDeploy کو ترتیب دینے کے لیے اقدامات پر جاتے ہیں۔ ہم نے برٹ بیس ماڈل کے لیے 1140 نمونے/سیکنڈ کا اوسط تھرو پٹ دیکھا، جو یہ ظاہر کرتا ہے کہ ExaDeploy کی طرف سے اس سنگل ماڈل، واحد کام کے بوجھ کے منظر نامے کے لیے بہت کم یا کوئی اوور ہیڈ متعارف نہیں کرایا گیا تھا۔

مرحلہ 1: ایک سیٹ اپ ایمیزون لچکدار کبیرنیٹس سروس (ایمیزون ای کے ایس) کلسٹر

ایک Amazon EKS کلسٹر ہمارے ساتھ لایا جا سکتا ہے۔ ٹیرافارم AWS ماڈیول. ہماری مثال کے طور پر، ہم نے ایک استعمال کیا inf1.xlarge AWS Inferentia کے لیے۔

مرحلہ 2: ExaDepoy سیٹ اپ کریں۔

دوسرا مرحلہ ExaDeploy کو ترتیب دینا ہے۔ عام طور پر، inf1 مثالوں پر ExaDeploy کی تعیناتی سیدھی ہے۔ سیٹ اپ زیادہ تر اسی طریقہ کار کی پیروی کرتا ہے جیسا کہ یہ گرافکس پروسیسنگ یونٹ (GPU) مثالوں پر کرتا ہے۔ بنیادی فرق ماڈل ٹیگ کو GPU سے AWS Inferentia میں تبدیل کرنا اور ماڈل کو دوبارہ مرتب کرنا ہے۔ مثال کے طور پر، ExaDeploy کے ایپلیکیشن پروگرامنگ انٹرفیس (APIs) کا استعمال کرتے ہوئے g4dn سے inf1 مثالوں میں منتقل کرنے کے لیے کوڈ کی صرف 10 لائنوں کو تبدیل کرنے کی ضرورت ہے۔

  • ایک آسان طریقہ Exafunction کا استعمال کرنا ہے۔ Terraform AWS Kubernetes ماڈیول or ہیلم چارٹ. یہ ایمیزون ای کے ایس کلسٹر میں چلانے کے لیے بنیادی ExaDeploy اجزاء کو تعینات کرتے ہیں۔
  • ماڈل کو سیریلائزڈ فارمیٹ میں مرتب کریں (مثال کے طور پر، TorchScript، TF محفوظ شدہ ماڈلز، ONNX، وغیرہ)۔ AWS Inferentia کے لیے، ہم نے پیروی کی۔ یہ سبق.
  • مرتب شدہ ماڈل کو ExaDeploy کے ماڈیول ریپوزٹری میں رجسٹر کریں۔
    with exa.ModuleRepository(MODULE_REPOSITORY_ADDRESS) as repo:
       repo.register_py_module(
           "BertInferentia",
           module_class="TorchModule",
           context_data=BERT_NEURON_TORCHSCRIPT_AS_BYTES,
           config={
               "_torchscript_input_names": ",".join(BERT_INPUT_NAMES).encode(),
               "_torchscript_output_names": BERT_OUTPUT_NAME.encode(),
               "execution_type": "inferentia".encode(),
           },
       )

  • ماڈل کے لیے ڈیٹا تیار کریں (یعنی، نہیں۔ ExaDeploy-specific).
    tokenizer = transformers.AutoTokenizer.from_pretrained(
       "bert-base-cased-finetuned-mrpc"
    )
    
    batch_encoding = tokenizer.encode_plus(
       "The company Exafunction is based in the Bay Area",
       "Exafunction’s headquarters are situated in Mountain View",
       max_length=MAX_LENGTH,
       padding="max_length",
       truncation=True,
       return_tensors="pt",
    )

  • ماڈل کو کلائنٹ سے دور سے چلائیں۔
    with exa.Session(
       scheduler_address=SCHEDULER_ADDRESS,
       module_tag="BertInferentia",
       constraint_config={
           "KUBERNETES_NODE_SELECTORS": "role=runner-inferentia",
           "KUBERNETES_ENV_VARS": "AWS_NEURON_VISIBLE_DEVICES=ALL",
       },
    ) as sess:
       bert = sess.new_module("BertInferentia")
       classification_logits = bert.run(
           **{
               key: value.numpy()
               for key, value in batch_encoding.items()
           }
       )[BERT_OUTPUT_NAME].numpy()
    
       # Assert that the model classifies the two statements as paraphrase.
       assert classification_logits[0].argmax() == 1

ExaDeploy اور AWS Inferentia: بہتر ایک ساتھ

AWS Inferentia ماڈل کا اندازہ لگانے کے لیے تھرو پٹ کی حدود کو آگے بڑھا رہا ہے اور کلاؤڈ میں سب سے کم لاگت فی تخمینہ فراہم کر رہا ہے۔ یہ کہا جا رہا ہے، کمپنیوں کو بڑے پیمانے پر Inf1 کے پرائس پرفارمنس فوائد سے لطف اندوز ہونے کے لیے مناسب آرکیسٹریشن کی ضرورت ہے۔ ML سرونگ ایک پیچیدہ مسئلہ ہے جسے اگر اندرون ملک حل کیا جائے تو اس کے لیے مہارت کی ضرورت ہوتی ہے جو کمپنی کے اہداف سے ہٹ جاتی ہے اور اکثر مصنوعات کی ٹائم لائنز میں تاخیر کرتی ہے۔ ExaDeploy، جو Exafunction کا ML تعیناتی سافٹ ویئر حل ہے، انڈسٹری لیڈر کے طور پر ابھرا ہے۔ یہ سب سے پیچیدہ ایم ایل کام کے بوجھ کو بھی پورا کرتا ہے، جبکہ ہموار انضمام کے تجربات اور عالمی معیار کی ٹیم کی مدد فراہم کرتا ہے۔ ایک ساتھ، ExaDeploy اور AWS Inferentia پیمانے پر کام کے بوجھ کے لیے کارکردگی میں اضافہ اور لاگت کی بچت کو غیر مقفل کرتے ہیں۔

نتیجہ

اس پوسٹ میں، ہم نے آپ کو دکھایا کہ کس طرح Exafunction کارکردگی ML کے لیے AWS Inferentia کو سپورٹ کرتا ہے۔ Exafunction کے ساتھ ایپلی کیشنز بنانے کے بارے میں مزید معلومات کے لیے، ملاحظہ کریں۔ معافی. Inf1 پر گہرے سیکھنے کے کام کا بوجھ بنانے کے بہترین طریقوں کے لیے، ملاحظہ کریں۔ ایمیزون EC2 Inf1 مثالیں۔


مصنفین کے بارے میں

نکولس جیانگ، سافٹ ویئر انجینئر، ایکزفکشن

جوناتھن ما، سافٹ ویئر انجینئر، ایکسفکشن

پریم نائر، سافٹ ویئر انجینئر، ایکزفکشن

انشول رامچندرن، سافٹ ویئر انجینئر، ایکزفکشن

شروتی کوپارکر، سینئر پروڈکٹ مارکیٹنگ مینیجر، AWS

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ