الشروع في نشر نماذج الوقت الفعلي على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

الشروع في نشر نماذج الوقت الفعلي على Amazon SageMaker

الأمازون SageMaker هي خدمة مُدارة بالكامل توفر لكل مطور وعالم بيانات القدرة على إنشاء نماذج التعلم الآلي (ML) وتدريبها ونشرها بسرعة على نطاق واسع. يتحقق ML في الاستدلال. يقدم SageMaker أربعة خيارات للاستدلال:

  1. الاستدلال في الوقت الفعلي
  2. الاستدلال بدون خادم
  3. الاستدلال غير المتزامن
  4. تحويل الدفعة

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

في العظام الاستدلال في الوقت الحقيقي من SageMaker يتكون من نموذج (نماذج) ، والإطار / الحاوية التي تعمل بها ، والبنية التحتية / المثيلات التي تدعم نقطة النهاية التي تم نشرها. في هذا المنشور ، سوف نستكشف كيف يمكنك إنشاء واستدعاء نقطة نهاية أحادية النموذج.

اختيار خيار نشر النموذج

قد يكون اختيار نوع الاستدلال الصحيح أمرًا صعبًا ، ويمكن أن يساعدك الدليل البسيط التالي. إنه ليس مخطط تدفق صارم ، لذلك إذا وجدت أن خيارًا آخر يناسبك بشكل أفضل ، فلا تتردد في استخدامه. على وجه الخصوص ، يعد Real-Time Inference خيارًا رائعًا لاستضافة النماذج الخاصة بك عندما يكون لديك زمن انتقال منخفض ومتسق (بترتيب مللي ثانية أو ثوانٍ) وأعباء عمل حساسة للإنتاجية. يمكنك التحكم في نوع المثيل والعدد خلف نقطة النهاية الخاصة بك أثناء التكوين أيضًا قياس تلقائي سياسة للتعامل مع حركة المرور. يوجد خياران آخران للاستدلال من SageMaker يمكنك أيضًا استخدامهما لإنشاء نقطة نهاية. يحدث الاستدلال غير المتزامن عندما يكون لديك أحجام حمولة كبيرة ونطاق ترددي قريب من زمن الوصول الفعلي. يعد هذا خيارًا جيدًا ، خاصة بالنسبة لنماذج NLP و Computer Vision التي لها أوقات معالجة أطول. يعد الاستدلال بدون خادم خيارًا رائعًا عندما يكون لديك حركة مرور متقطعة ولا تريد إدارة توسيع نطاق البنية التحتية. تظل وصفة إنشاء نقطة نهاية كما هي بغض النظر عن نوع الاستدلال الذي تختاره. في هذا المنشور ، سنركز على إنشاء نقطة نهاية قائمة على المثيل في الوقت الفعلي ، ولكن يمكنك بسهولة تكييفها مع أي من خيارات الاستدلال الأخرى بناءً على حالة الاستخدام الخاصة بك. أخيرًا ، يحدث الاستدلال الدفعي في وضع عدم الاتصال ، لذا يمكنك توفير مجموعة من البيانات التي تريد الحصول على استدلال منها وسنقوم بتشغيلها. يعتمد هذا بالمثل على المثيل ، لذا يمكنك تحديد المثيل الأمثل لحمل العمل الخاص بك. نظرًا لعدم وجود نقطة نهاية قيد التشغيل ، فأنت تدفع فقط مقابل مدة الوظيفة. إنه جيد لمعالجة غيغابايت من البيانات ويمكن أن تكون مدة المهمة أيامًا. هناك ميزات مضمنة لتسهيل العمل مع البيانات المنظمة وتحسينات لتوزيع البيانات المنظمة تلقائيًا. بعض الأمثلة على حالات الاستخدام هي نمذجة الميل ، والصيانة التنبؤية ، والتنبؤ بالتخبط. كل هذا يمكن أن يحدث في وضع عدم الاتصال بشكل مجمّع لأنه لا يجب أن يتفاعل مع حدث معين.

استضافة نموذج على نقاط نهاية SageMaker

في جوهرها ، تتكون نقاط نهاية الوقت الحقيقي لـ SageMaker من نموذج والبنية التحتية التي تختار دعم نقطة النهاية بها. يستخدم SageMaker حاويات لنماذج المضيف ، مما يعني أنك بحاجة إلى حاوية تقوم بإعداد البيئة بشكل صحيح لإطار العمل الذي تستخدمه لكل نموذج توفره. على سبيل المثال ، إذا كنت تعمل باستخدام نموذج Sklearn ، فيجب عليك تمرير البرامج النصية / البيانات النموذجية الخاصة بك داخل حاوية تقوم بإعداد Sklearn بشكل صحيح. لحسن الحظ ، يوفر SageMaker الصور المدارة لأطر العمل الشائعة ، مثل TensorFlow و PyTorch و Sklearn و HuggingFace. يمكنك استرداد هذه الصور والاستفادة منها باستخدام المستوى العالي SageMaker بيثون SDK وإدخال البرامج النصية والبيانات الخاصة بالنموذج في هذه الحاويات. في حالة عدم احتواء SageMaker على حاوية مدعومة ، يمكنك أيضًا بناء الحاوية الخاصة بك وادفع صورتك المخصصة ، وقم بتثبيت التبعيات الضرورية لنموذجك.

يدعم SageMaker كلاً من النماذج المدربة والمدربة مسبقًا. في الفقرة السابقة عندما نتحدث عن البرامج النصية / البيانات النموذجية ، فإننا نشير إلى هذه المسألة. يمكنك إما تحميل برنامج نصي على الحاوية الخاصة بك ، أو إذا كان لديك نموذج تم تدريبه مسبقًا (على سبيل المثال ، ``model.joblibبالنسبة لـ SKLearn) ، يمكنك بعد ذلك تقديم هذا مع صورتك إلى SageMaker. لفهم استنتاج SageMaker ، هناك ثلاثة كيانات رئيسية ستنشئها في عملية إنشاء نقطة النهاية:

  1. SageMaker Model Entity - يمكنك هنا تمرير بيانات النموذج / البرنامج النصي الخاص بالنموذج المدرَّب والصورة التي تعمل بها ، سواء كانت مملوكة لشركة AWS أو أنشأتها بنفسك.
  2. إنشاء تكوين نقطة النهاية - هنا تحدد البنية الأساسية الخاصة بك ، مما يعني أنك تحدد نوع المثيل والعدد وما إلى ذلك.
  3. إنشاء نقطة النهاية - هذه هي نقطة نهاية REST التي تستضيف نموذجك الذي تستدعيه للحصول على استجابة. لنلقِ نظرة على كيفية استخدام صورة SageMaker مُدارة وصورة مخصصة لك لنشر نقطة نهاية.

متطلبات نقطة النهاية في الوقت الفعلي

  1. قبل إنشاء نقطة نهاية ، يجب أن تفهم نوع النموذج الذي تريد استضافته. إذا كان نموذج إطار عمل ، مثل TensorFlow أو PyTorch أو MXNet ، فيمكنك استخدام أحد صور إطار تم إنشاؤها مسبقًا.
    إذا كان نموذجًا مخصصًا ، أو كنت ترغب في المرونة الكاملة في إنشاء الحاوية التي سيديرها SageMaker للاستدلال ، فيمكنك حينئذٍ بناء الحاوية الخاصة بك.

نقاط نهاية SageMaker مصنوعة من نموذج SageMaker و تكوين نقطة النهاية.
إذا كنت تستخدم Boto3 ، فيمكنك إنشاء كلا الكائنين. بخلاف ذلك ، إذا كنت تستخدم SageMaker Python SDK ، فسيتم إنشاء تكوين نقطة النهاية نيابةً عنك عند استخدام .deploy(..) وظيفة.

كيانات SageMaker:

  • نموذج SageMaker:
    • يحتوي على تفاصيل صورة الاستدلال ، وموقع القطع الأثرية للنموذج في Amazon Simple Storage Service (Amazon S3) ، تكوين الشبكة و إدارة الهوية والوصول (IAM) AWS الدور الذي ستستخدمه نقطة النهاية.
      • يتطلب SageMaker ضغط القطع الأثرية في النموذج في ملف .tar.gz ملف. يستخرج SageMaker هذا تلقائيًا .tar.gz ملف في /opt/ml/model/ الدليل في الحاوية الخاصة بك. إذا كنت تستخدم إحدى حاويات إطار العمل ، مثل TensorFlow أو PyTorch أو MXNet ، فإن الحاوية تتوقع أن يكون هيكل TAR كما يلي:
        • TensorFlow
          model.tar.gz/
          |--[model_version_number]/
          |--variables
          |--saved_model.pb
          code/
          |--inference.py
          |--requirements.txt

        • PyTorch
          model.tar.gz/
          |- model.pth
          |- code/
          |- inference.py
          |- requirements.txt # only for versions 1.3.1 and higher

        • MXNet
          model.tar.gz/
          |- model-symbol.json
          |- model-shapes.json
          |- model-0000.params
          |- code/
              |- inference.py
              |- requirements.txt # only for versions 1.6.0 and higher

        • سكليرن
          model.tar.gz/
          |- model.joblib
          | code/ 
          |- inference.py

      • عند استخدام صورة Framework ، يمكننا توفير برنامج نصي مخصص لنقطة الدخول ، حيث يمكننا تنفيذ المعالجة المسبقة واللاحقة الخاصة بنا. في حالتنا ، يتم وضع نص الاستدلال في حزم في model.tar.gz ضمن دليل / code.
    • تكوين نقطة النهاية
      • يحتوي على معلومات البنية الأساسية المطلوبة لنشر نموذج SageMaker إلى نقطة النهاية.
      • على سبيل المثال ، تم تحديد نموذج SageMaker الذي أنشأناه هنا بالإضافة إلى نوع المثيل وعدد المثيلات الأولية.

الأطر و BYOC

    • استرجاع صور SageMaker
      • هذا الجزء ليس ضروريًا دائمًا ويتم استخراجه بواسطة SageMaker Python SDK عبر المقدرات. ومع ذلك ، إذا كنت ترغب في أن تكون قادرًا على استرداد صورة مُدارة بواسطة SageMaker لتوسيعها ، فيمكنك الحصول على الصور المتوفرة عبر SDK. فيما يلي مثال على استرجاع صورة TF 2.2 للاستدلال.
        import sagemaker
        tf_image = sagemaker.image_uris.retreive(framework="tensorflow", region="us-east-1",
        image_scope = "inference", version = "2.2", instance_type = "ml.c5.xlarge)
        print(tf_image)

    • أُطر الأعمال
      • في حالة رغبتك في نشر نموذج إطار عمل ، مثل TensorFlow أو PyTorch أو MXNet ، فكل ما تحتاجه هو أدوات النموذج.
      • راجع الوثائق الخاصة بنشر النماذج مباشرة من النماذج الأثرية لـ TensorFlow, PyTorchالطرق أو MXNet.
    • الاختيار بين 1P و BYOC
      • تستخلص SageMaker SDK أيضًا معالجة الصورة ، كما رأيت في قسم الأطر السابقة. يحتوي على أدوات تقدير جاهزة لـ Sklearn و TensorFlow و PyTorch والتي تقوم تلقائيًا بتحديد الصورة لك بناءً على الإصدار الذي حددته. بعد ذلك يمكنك تمرير نص تدريب / استنتاج من خلاله وضع البرنامج النصي في هذه المقدرات.
        from sagemaker.pytorch import PyTorch #PyTorch Estimator within SageMaker SDK
        estimator_parameters = {"entry_point": "train_deploy_pytorch_without_dependencies.py",
        "source_dir": "pytorch_script","instance_type": train_instance_type,
        "instance_count": 1,"hyperparameters": hyperparameters,
        "role": role,"base_job_name": "pytorch-model","framework_version": "1.5",
        "py_version": "py3",}
        
        ## Model Training
        estimator = PyTorch(**estimator_parameters)estimator.fit(inputs)
        
        ## Deploy Trained model
        pytorch_predictor = estimator.deploy(initial_instance_count=1, instance_type="ml.m5.xlarge", endpoint_name=pytorch_endpoint_name)

      • لا يدعم SageMaker كل الحزم والصور ، وفي هذه الحالة يجب عليك ذلك أحضر الحاوية الخاصة بك (BYOC). هذا يعني بناء Dockerfile الذي سيهيئ البيئة المناسبة لخدمة النموذج الخاص بك. مثال على ذلك هو وحدة Spacy NLP ، ولا توجد حاويات SageMaker مُدارة لهذا الإطار. لذلك ، يجب عليك توفير Dockerfile الذي يقوم بتثبيت Spacy. داخل الحاوية ، يمكنك أيضًا تحميل البرامج النصية للاستدلال بالنموذج. دعنا نناقش بسرعة المكونات التي تقدمها في تنسيق إحضار الحاوية الخاصة بك ، حيث تظل متسقة مع معظم الأمثلة.
        • "nginx.conf" هو ملف التكوين للواجهة الأمامية nginx. لن تضطر إلى تحرير هذا الملف ، إلا إذا كنت ترغب في ضبط هذه الأجزاء.
        • "توقع" هو البرنامج الذي يقوم بالفعل بتنفيذ خادم الويب Flask ورمز النموذج لتطبيقك. يمكنك الحصول على المزيد من ملفات أو وظائف Python في الحاوية الخاصة بك والتي يمكنك الاتصال بها في هذا الملف.
        • "تخدم" هل بدأ البرنامج عند بدء تشغيل الحاوية للاستضافة. يقوم ببساطة بتشغيل خادم gunicorn ، الذي يقوم بتشغيل مثيلات متعددة من تطبيق Flask المحدد في التنبؤ. مثل nginx.conf ، لا يتعين عليك تعديل هذا الملف ما لم يكن هناك مزيد من الضبط الذي ترغب في تنفيذه.
        • "قطار" هو البرنامج الذي يتم استدعاؤه عند تشغيل الحاوية للتدريب. ستقوم بتعديل هذا البرنامج لتنفيذ خوارزمية التدريب الخاصة بك. إذا كنت تقوم بإحضار نموذج أو إطار عمل مدرب مسبقًا مثل Spacy ، فلن تحتاج إلى هذا الملف.
        • "wsgi.py" عبارة عن غلاف صغير يستخدم لاستدعاء تطبيق Flask. يجب أن تكون قادرًا على أخذ هذا الملف كما هو ، إلا إذا قمت بتغيير اسم ملف توقعك. في هذه الحالة ، تأكد من أن الخرائط بشكل صحيح هنا.
    • نص برمجي مخصص للاستدلال
      • تمنحك حاويات SageMaker Framework المرونة للتعامل مع المعالجة المسبقة / اللاحقة للطلب وتحميل النموذج باستخدام برنامج نصي / inference.py مخصص لنقطة الإدخال.
      • راجع الوثائق الخاصة بإنشاء نص برمجي inference.py مخصص لـ TensorFlow, PyTorch و MXNet.
    • حاوية مخصصة

طرق مختلفة يمكنك من خلالها التفاعل مع SageMaker Endpoints

هناك العديد من الخيارات لاستخدام SageMaker برمجيًا بحيث يمكنك استدعاء النماذج التي تم نشرها للحصول على الاستدلال. ال واجهة سطر أوامر AWS (AWS CLI) ، واجهات برمجة تطبيقات REST ، تكوين سحابة AWS, مجموعة تطوير السحابة من AWS (AWS CDK) ، و AWS SDK هي أدوات شائعة تقدمها AWS وتدعمها خدمات AWS الأخرى على نطاق واسع. بالنسبة إلى SageMaker ، لدينا أيضًا SageMaker Python SDK. الآن ، دعنا نقارن الخيارات المختلفة لإنشاء SageMaker Endpoints واستدعاءها وإدارتها.

بالإضافة إلى ساج ميكر سي إل آي، هناك طريقتان برمجيًا يمكنك من خلالهما التفاعل مع نقاط النهاية في SageMaker من خلال حزم SDK. دعونا نلقي نظرة على بعض الاختلافات بين SageMaker بيثون SDK و Boto3 بايثون SDK:

  1. SDK عالي المستوى لـ SageMaker “Python” - SDK هذا عبارة عن مكتبة مفتوحة المصدر توفر مستوى أعلى من التجريد المصمم خصيصًا لاستدعاء واجهات برمجة تطبيقات SageMaker برمجيًا باستخدام Python. الجزء الجيد من SDK هذا هو أنه من السهل جدًا استدعاء واجهات برمجة تطبيقات sagemaker ، حيث يتم تنفيذ الكثير من الرفع الثقيل بالفعل مثل استدعاء واجهات برمجة التطبيقات بشكل متزامن / وضع غير متزامن (يساعد على تجنب الاستقصاء) ، مخطط طلب / استجابة أبسط ، رمز أقل بكثير ، والكثير كود أبسط. يوفر SageMaker Python SDK العديد من التجريدات عالية المستوى للعمل مع SageMaker. تهدف الحزمة إلى تبسيط عمليات ML المختلفة على SageMaker.
  2. AWS SDK (Boto3 SDK) منخفضة المستوى - تعمل SDK في المستوى الأدنى من خلال السماح للمستخدم بالاختيار من بين لغات البرمجة المدعومة واستدعاء أي خدمات AWS برمجيًا. هذا ليس خاصًا بـ SageMaker فقط ولكن يمكن استخدامه بشكل عام لجميع خدمات AWS. تتوفر حزم AWS SDK منخفضة المستوى بلغات برمجة مختلفة ، مثل .NET و Python و Java و Node.js وما إلى ذلك. واحدة من حزم SDK الشائعة المستخدمة هي boto3 python SDK ، والتي تحظى بشعبية في مجتمع علماء البيانات لـ ML. الجزء الجيد من SDK هذا هو أنه خفيف الوزن للغاية ومتاح افتراضيًا مثبتًا عليه AWS لامدا مدة العرض. علاوة على ذلك ، يمكنك استخدام SDK هذا للتفاعل مع أي خدمة AWS خارج SageMaker.

يمكن استخدام كلتا حزمتي تطوير البرامج (SDK) في نفس المهام ، ولكن في بعض الحالات يكون استخدام أحدهما أكثر من الآخر. يوصى باستخدام SageMaker Python SDK للاختبار السهل بينما يوصى باستخدام AWS SDK / Boto3 لحالات استخدام الإنتاج للتحكم بشكل أفضل في الأداء. على سبيل المثال ، يوفر SageMaker كخدمة صورًا تم إنشاؤها مسبقًا وصيانتها لأطر العمل الشائعة ، مثل Sklearn و PyTorch و TensorFlow. قد يكون من المفيد بشكل خاص استخدام SageMaker SDK لاسترداد صور التعلم العميق ، وتدريب النماذج باستخدام المقدرون، ونشر النموذج بسهولة باستخدام استدعاء بسيط لواجهة برمجة التطبيقات. يمكن العثور على مثال لعرض هذا في العمل هنا.

من ناحية أخرى ، في بعض الأحيان يكون لديك نماذج مدربة مسبقًا أو أطر عمل مختلفة قد تستخدمها. يتطلب هذا قدرًا أكبر من التخصيص ولا تقدم SageMaker SDK ذلك دائمًا. لدينا ثلاث خطوات مهمة واستدعاءات boto3 API المقابلة التي نحتاج إلى تنفيذها لنشر نقطة نهاية: إنشاء النموذج, إنشاء تكوين نقطة النهايةو إنشاء نقطة النهاية. تم تلخيص الكيانين الأولين باستخدام SageMaker SDK مع أطر عملنا المدعومة ، لكننا نرى هذه التفاصيل مع Boto3 SDK. يمكن العثور على مثال شامل لعرض الخطوات المتضمنة في استخدام Boto3 SDK لإنشاء وإدارة نقطة نهاية هنا.

اعتبارات استضافة SageMaker

يحتوي SageMaker Real-Time Inference على اثنين من التحسينات الرئيسية التي يمكنك وضعها في الاعتبار: 1 / تحسين الأداء ، و 2 / تحسين التكلفة. دعونا نلقي نظرة أولية على تحسين الأداء، كما هو الحال عندما نتعامل مع أعباء عمل حساسة لوقت الاستجابة ، فإن كل مللي ثانية أمر بالغ الأهمية. هناك مقابض مختلفة يمكنك ضبطها لتحسين وقت الاستجابة والإنتاجية. على مستوى المثيل ، يمكنك استخدام مُوصي الاستدلال، أداة اختبار الحمل المضمنة لدينا ، لمساعدتك في تحديد نوع المثيل المناسب وحساب عبء العمل الخاص بك. سيساعدك استخدام المزيج الصحيح من الحوسبة في الأداء والتكلفة. يمكنك أيضًا الضبط على مستوى الحاوية وإطار العمل.
تتضمن الأسئلة التي يجب أن تطرحها على نفسك ما يلي:

  1. ما هو الإطار الذي تستخدمه؟
  2. هل هناك أي متغيرات بيئية يمكنك ضبطها داخل الحاوية الخاصة بك؟

مثال على ذلك هو التعظيم أداء TensorFlow مع حاويات SageMaker. مثال آخر على تحسينات مستوى الحاوية هو باستخدام gRPC بدلاً من الراحة خلف نقطة النهاية الخاصة بك. أخيرًا ، يمكنك أيضًا التحسين على مستوى البرنامج النصي. هل يستغرق كود الاستدلال وقتًا إضافيًا في بعض الكتل؟ سيساعدك توقيت كل سطر من نصك النصي على التقاط أي اختناقات في التعليمات البرمجية الخاصة بك.

هناك ثلاث طرق للنظر في تحسين الاستخدام من نقطة نهاية الوقت الفعلي:

  1. نقاط النهاية متعددة النماذج (MME)
    • يمكنك استضافة آلاف النماذج خلف نقطة نهاية واحدة. هذا مثالي لحالات الاستخدام التي لا تحتاج فيها إلى نقطة نهاية مخصصة لكل نموذج من نماذجك. تعمل MME بشكل أفضل عندما تكون النماذج متشابهة الحجم وزمن انتقال وتنتمي إلى نفس إطار عمل ML. يمكن استخدامها عادةً عندما لا تحتاج إلى استدعاء نفس الطراز في جميع الأوقات. يمكنك تحميل النموذج المعني ديناميكيًا على نقطة نهاية SageMaker لخدمة طلبك. يمكن العثور على مثال يعرض MME أثناء العمل هنا. إذا كنت تريد معرفة المزيد حول المحاذير المختلفة وأفضل الممارسات لاستضافة النماذج على MME ، فارجع إلى المنشور هنا.
  2. نقاط نهاية متعددة الحاويات (MCE)
    • بدلاً من استخدام نقاط نهاية متعددة لاستضافة عدة حاويات ، يمكنك النظر في استضافة ما يصل إلى 15 حاوية على نقطة نهاية واحدة. يمكن استدعاء كل واحدة من هذه الحاويات مباشرة. لذلك ، يمكنك إلقاء نظرة على استضافة نماذج متباينة من أطر مختلفة كلها على نقطة نهاية واحدة. يكون هذا الخيار هو الأفضل عندما تعرض الحاويات خصائص استخدام وأداء متشابهة. يمكن العثور على مثال يعرض MCE هنا. إذا كنت تريد معرفة المزيد حول المحاذير المختلفة وأفضل الممارسات لاستضافة النماذج على MCE ، فارجع إلى المنشور هنا.
  3. خط أنابيب الاستدلال التسلسلي (SIP)
    • إذا كان لديك مجموعة من الخطوات في منطق الاستدلال الخاص بك ، فيمكنك استخدام خط أنابيب الاستدلال التسلسلي (SIP). يتيح لك SIP ربط 2-15 حاوية معًا خلف نقطة نهاية واحدة. يعمل SIP بشكل جيد عندما يكون لديك خطوات ما قبل المعالجة وبعد المعالجة. إذا كنت تريد معرفة المزيد حول أنماط التصميم لخطوط أنابيب الاستدلال التسلسلي ، فارجع إلى المنشور هنا.

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

كما تقدم SageMaker ملفات خطط التوفير. يمكن أن تقلل خطط التوفير من تكاليفك بنسبة تصل إلى 64٪. هذا التزام لمدة 1 أو 3 سنوات بمقدار ثابت من الاستخدام (دولار / ساعة). انظر الى هذا الصفحة للمزيد من المعلومات. وانظروا هذا الصفحة للأفضل لتحسين تكاليف الاستدلال على Amazon SageMaker.

وفي الختام

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

انظر المقابل مستودع جيثب وجرب الأمثلة.


عن المؤلفين

الشروع في نشر نماذج الوقت الفعلي على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.راغو راميشا هو مهندس حلول ML مع فريق Amazon SageMaker Service. إنه يركز على مساعدة العملاء في بناء ونشر وترحيل أعباء عمل إنتاج ML إلى SageMaker على نطاق واسع. وهو متخصص في مجالات التعلم الآلي والذكاء الاصطناعي ورؤية الكمبيوتر ، وهو حاصل على درجة الماجستير في علوم الكمبيوتر من جامعة UT Dallas. في أوقات فراغه يستمتع بالسفر والتصوير.

الشروع في نشر نماذج الوقت الفعلي على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.رام فيجيراجو هو مهندس ML مع فريق خدمة SageMaker. يركز على مساعدة العملاء في بناء حلول الذكاء الاصطناعي / التعلم الآلي وتحسينها على Amazon SageMaker. يحب السفر والكتابة في أوقات فراغه.

الشروع في نشر نماذج الوقت الفعلي على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.مارك كارب هو مهندس ML مع فريق خدمة SageMaker. يركز على مساعدة العملاء في تصميم ونشر وإدارة أعباء عمل ML على نطاق واسع. في أوقات فراغه ، يستمتع بالسفر واستكشاف أماكن جديدة.

الشروع في نشر نماذج الوقت الفعلي على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.ضوال باتل هو مهندس رئيسي لتعلم الآلة في AWS. لقد عمل مع مؤسسات تتراوح من الشركات الكبيرة إلى الشركات الناشئة متوسطة الحجم في المشكلات المتعلقة بالحوسبة الموزعة والذكاء الاصطناعي. يركز على التعلم العميق ، بما في ذلك مجالات البرمجة اللغوية العصبية ورؤية الكمبيوتر. يساعد العملاء على تحقيق استدلال نموذج عالي الأداء على Amazon SageMaker.

الشروع في نشر نماذج الوقت الفعلي على Amazon SageMaker PlatoBlockchain Data Intelligence. البحث العمودي. عاي.سوراب تريكاندي هو مدير أول للمنتجات في Amazon SageMaker Inference. إنه متحمس للعمل مع العملاء وتحفزه هدف إضفاء الطابع الديمقراطي على التعلم الآلي. يركز على التحديات الأساسية المتعلقة بنشر تطبيقات ML المعقدة ، ونماذج ML متعددة المستأجرين ، وتحسين التكلفة ، وجعل نشر نماذج التعلم العميق أكثر سهولة. في أوقات فراغه ، يستمتع سوراب بالمشي لمسافات طويلة والتعرف على التقنيات المبتكرة واتباع TechCrunch وقضاء الوقت مع أسرته.

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

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