تدعم Exafunction AWS Inferentia لفتح أفضل أداء سعري لاستدلال التعلم الآلي PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

يدعم Exafunction AWS Inferentia لإطلاق العنان لأداء أفضل سعر لاستدلال التعلم الآلي

في جميع الصناعات ، تزداد نماذج التعلم الآلي (ML) عمقًا ، وتزداد تدفقات العمل تعقيدًا ، وتعمل أعباء العمل على نطاقات أكبر. يتم بذل جهود وموارد كبيرة لجعل هذه النماذج أكثر دقة لأن هذا الاستثمار يؤدي بشكل مباشر إلى منتجات وتجارب أفضل. من ناحية أخرى ، فإن جعل هذه النماذج تعمل بكفاءة في الإنتاج هو مهمة غير تافهة غالبًا ما يتم تجاهلها ، على الرغم من كونها أساسية لتحقيق أهداف الأداء والميزانية. في هذا المنشور نغطي كيفية عمل Exafunction و استدلال AWS العمل معًا لإلغاء تأمين النشر السهل والفعال من حيث التكلفة لنماذج ML في الإنتاج.

وظيفة هي شركة ناشئة تركز على تمكين الشركات من أداء ML على نطاق واسع بأكبر قدر ممكن من الكفاءة. أحد منتجاتهم هو ExaDeploy، حل SaaS سهل الاستخدام لخدمة أعباء عمل ML على نطاق واسع. ينظم ExaDeploy بكفاءة أعباء عمل ML عبر الموارد المختلطة (وحدة المعالجة المركزية ومسرعات الأجهزة) لزيادة استخدام الموارد إلى أقصى حد. كما أنه يعتني بالمقياس التلقائي ، وحساب الموقع المشترك ، ومشكلات الشبكة ، والتسامح مع الأخطاء ، وغير ذلك ، لضمان النشر الفعال والموثوق. AWS Inferentia المستندة إلى حالات Amazon EC2 Inf1 مصممة خصيصًا لتقديم أقل تكلفة لكل استنتاج في السحابة. يدعم ExaDeploy الآن مثيلات Inf1 ، والتي تتيح للمستخدمين الحصول على كل من المدخرات المستندة إلى الأجهزة للمسرعات والمدخرات المستندة إلى البرامج للمحاكاة الافتراضية للموارد المحسنة والتنسيق على نطاق واسع.

حل نظرة عامة

كيف يحل ExaDeploy كفاءة النشر

لضمان الاستخدام الفعال لموارد الحوسبة ، تحتاج إلى التفكير في تخصيص الموارد المناسب ، والقياس التلقائي ، وحساب الموقع المشترك ، وتكلفة الشبكة وإدارة زمن الوصول ، والتسامح مع الأخطاء ، وإصدار النسخ ، وإمكانية التكرار ، والمزيد. على نطاق واسع ، تؤثر أي أوجه عدم كفاءة ماديًا على التكاليف ووقت الاستجابة ، وقد عالجت العديد من الشركات الكبيرة أوجه القصور هذه من خلال بناء فرق داخلية وخبرات. ومع ذلك ، ليس من العملي بالنسبة لمعظم الشركات أن تتحمل هذه النفقات المالية والتنظيمية لبناء برامج قابلة للتعميم ليست الكفاءة الأساسية المطلوبة للشركة.

تم تصميم ExaDeploy لحل نقاط ضعف كفاءة النشر ، بما في ذلك تلك التي تظهر في بعض أحمال العمل الأكثر تعقيدًا مثل تلك الموجودة في تطبيقات المركبات الذاتية ومعالجة اللغة الطبيعية (NLP). في بعض أعباء عمل ML على دفعات كبيرة ، خفضت ExaDeploy التكاليف بأكثر من 85٪ دون التضحية بزمن الاستجابة أو الدقة ، مع وقت تكامل منخفض يصل إلى مهندس واحد في اليوم. لقد ثبت أن ExaDeploy يعمل على توسيع نطاق وإدارة آلاف حالات موارد تسريع الأجهزة المتزامنة دون أي تدهور في النظام.

تشمل الميزات الرئيسية لبرنامج ExaDeploy ما يلي:

  • يعمل في السحابة الخاصة بك: لا يترك أي من نماذجك أو مدخلاتك أو مخرجاتك شبكتك الخاصة. استمر في استخدام خصومات مزود السحابة الخاص بك.
  • موارد التسريع المشتركة: يعمل ExaDeploy على تحسين المسرعات المستخدمة من خلال تمكين نماذج متعددة أو أعباء العمل لمشاركة موارد المسرع. يمكنه أيضًا تحديد ما إذا كانت أعباء العمل المتعددة تنشر نفس النموذج ، ثم مشاركة النموذج عبر أحمال العمل هذه ، وبالتالي تحسين المسرع المستخدم. تعمل قدرات إعادة التوازن التلقائي واستنزاف العقدة على زيادة الاستخدام وتقليل التكاليف.

تدعم Exafunction AWS Inferentia لفتح أفضل أداء سعري لاستدلال التعلم الآلي PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

  • نموذج نشر بدون خادم قابل للتطوير: مقاييس ExaDeploy التلقائية بناءً على تشبع موارد المسرع. يمكنك تقليص حجم الموارد ديناميكيًا إلى 0 أو ما يصل إلى آلاف الموارد.
  • دعم مجموعة متنوعة من أنواع الحسابات: يمكنك إلغاء تحميل نماذج التعلم العميق من جميع أطر ML الرئيسية وكذلك كود C ++ التعسفي ونواة CUDA والعمليات المخصصة ووظائف Python.
  • تسجيل النموذج الديناميكي والإصدار: نماذج جديدة أو إصدارات نماذج يمكن تسجيلها وتشغيلها دون الحاجة إلى إعادة بناء أو إعادة نشر النظام.
  • التنفيذ من نقطة إلى نقطة: يتصل العملاء مباشرةً بموارد المسرع عن بُعد ، مما يتيح زمن انتقال منخفض وإنتاجية عالية. يمكنهم حتى تخزين الدولة عن بعد.
  • التنفيذ غير المتزامن: يدعم ExaDeploy التنفيذ غير المتزامن للنماذج ، مما يسمح للعملاء بموازنة الحساب المحلي مع عمل مورد المسرع عن بُعد.
  • خطوط الأنابيب البعيدة المتسامحة: يسمح ExaDeploy للعملاء بتكوين حسابات عن بُعد ديناميكيًا (النماذج والمعالجة المسبقة وما إلى ذلك) في خطوط الأنابيب مع ضمان التسامح مع الخطأ. يعالج نظام ExaDeploy حالات فشل البودات أو العقدة من خلال الاسترداد التلقائي وإعادة التشغيل ، بحيث لا يضطر المطورون أبدًا إلى التفكير في ضمان التسامح مع الخطأ.
  • مراقبة خارج الصندوق: يوفر ExaDeploy مقاييس Prometheus ولوحات معلومات Grafana لتصور استخدام موارد المسرع ومقاييس النظام الأخرى.

يدعم ExaDeploy AWS Inferentia

تم تصميم مثيلات Amazon EC2 Inf1 المستندة إلى AWS Inferentia من أجل أعباء عمل استدلال محددة للتعلم العميق. توفر هذه المثيلات ما يصل إلى 2.3x من الإنتاجية وتوفيرًا في التكاليف يصل إلى 70٪ مقارنةً بالجيل الحالي من مثيلات استدلال GPU.

يدعم ExaDeploy الآن AWS Inferentia ، ويعملان معًا على إطلاق العنان للأداء المتزايد وتوفير التكاليف الذي تم تحقيقه من خلال تسريع الأجهزة المصممة لهذا الغرض والتنسيق الأمثل للموارد على نطاق واسع. لنلقِ نظرة على الفوائد المجمعة لـ ExaDeploy و AWS Inferentia من خلال التفكير في عبء عمل ML الحديث الشائع جدًا: أعباء العمل المجمعة والحوسبة المختلطة.

خصائص عبء العمل الافتراضي:

  • 15 مللي ثانية من المعالجة المسبقة / اللاحقة لوحدة المعالجة المركزية فقط
  • استدلال النموذج (15 مللي ثانية على وحدة معالجة الرسومات ، 5 مللي ثانية على AWS Inferentia)
  • 10 عملاء ، يطلب كل منهم كل 20 مللي ثانية
  • التكلفة النسبية التقريبية لوحدة المعالجة المركزية: Inferentia: GPU هي 1: 2: 4 (بناءً على تسعير Amazon EC2 عند الطلب لـ c5.xlarge و inf1.xlarge و g4dn.xlarge)

يوضح الجدول أدناه كيف يتشكل كل خيار من الخيارات:

اقامة الموارد اللازمة التكلفة كمون
GPU بدون ExaDeploy 2 وحدة المعالجة المركزية ، 2 GPU لكل عميل (إجمالي 20 وحدة المعالجة المركزية ، 20 وحدة معالجة الرسومات) 100 مللي 30
GPU مع ExaDeploy 8 وحدات معالجة رسومات مشتركة عبر 10 عملاء ، وحدة معالجة مركزية واحدة لكل عميل 42 مللي 30
AWS Inferentia بدون ExaDeploy 1 وحدة المعالجة المركزية ، 1 AWS Inferentia لكل عميل (إجمالي 10 وحدة معالجة مركزية ، 10 Inferentia) 30 مللي 20
AWS Inferentia مع ExaDeploy تمت مشاركة 3 AWS Inferentia عبر 10 عملاء ، وحدة معالجة مركزية واحدة لكل عميل 16 مللي 20

مثال ExaDeploy على AWS Inferentia

في هذا القسم ، ننتقل إلى خطوات تكوين ExaDeploy من خلال مثال مع عقد inf1 على نموذج BERT PyTorch. لقد رأينا متوسط ​​إنتاجية يبلغ 1140 عينة / ثانية لنموذج قاعدة بيرت ، مما يدل على أن ExaDeploy تم تقديم القليل من النفقات العامة أو معدومة من قبل ExaDeploy لهذا النموذج الفردي ، سيناريو عبء العمل الفردي.

الخطوة1: قم بإعداد ملف خدمة أمازون مطاطا Kubernetes مجموعة (Amazon EKS)

يمكن طرح مجموعة Amazon EKS من خلال وحدة Terraform AWS. على سبيل المثال لدينا ، استخدمنا inf1.xlarge لـ AWS Inferentia.

الخطوة2: قم بإعداد ExaDepoy

الخطوة الثانية هي إعداد ExaDeploy. بشكل عام ، يعد نشر ExaDeploy على مثيلات inf1 أمرًا سهلاً. يتبع الإعداد في الغالب نفس الإجراء كما يفعل في مثيلات وحدة معالجة الرسومات (GPU). يتمثل الاختلاف الأساسي في تغيير علامة النموذج من GPU إلى AWS Inferentia وإعادة تجميع النموذج. على سبيل المثال ، يتطلب الانتقال من مثيلات g4dn إلى مثيلات inf1 باستخدام واجهات برمجة تطبيقات ExaDeploy (APIs) فقط ما يقرب من 10 أسطر من التعليمات البرمجية ليتم تغييرها.

  • طريقة واحدة بسيطة لاستخدام Exafunction وحدة Terraform AWS Kubernetes or مخطط الدفة. تنشر هذه المكونات الأساسية ExaDeploy للتشغيل في مجموعة Amazon EKS.
  • تجميع النموذج في تنسيق متسلسل (على سبيل المثال ، 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 ، وهو حل برمجيات نشر ML من Exafunction ، كرائد في الصناعة. إنه يخدم حتى أعباء العمل الأكثر تعقيدًا في تعلم الآلة ، مع توفير تجارب تكامل سلسة ودعمًا من فريق عالمي المستوى. يعمل كل من ExaDeploy و AWS Inferentia معًا على إطلاق العنان للأداء المتزايد وتوفير التكاليف لاستدلال أعباء العمل على نطاق واسع.

وفي الختام

في هذا المنشور ، أوضحنا لك كيف يدعم Exafunction AWS Inferentia من أجل ML Performance. لمزيد من المعلومات حول إنشاء التطبيقات باستخدام Exafunction ، تفضل بزيارة وظيفة. للحصول على أفضل الممارسات حول بناء أعباء عمل التعلم العميق على Inf1 ، تفضل بزيارة مثيلات Amazon EC2 Inf1.


حول المؤلف

نيكولاس جيانغ ، مهندس برمجيات ، Exafunction

جوناثان ما ، مهندس برمجيات ، Exafunction

بريم ناير ، مهندس برمجيات ، Exafunction

أنشول راماشاندران ، مهندس برمجيات ، Exafunction

شروتي كوباركار ، مدير تسويق المنتجات ، AWS

الطابع الزمني:

اكثر من التعلم الآلي من AWS