انشر حل التقاط بيانات استدلال التعلم الآلي على AWS Lambda PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

انشر حل التقاط بيانات استدلال التعلم الآلي على AWS Lambda

يمكن أن تساعد مراقبة تنبؤات التعلم الآلي (ML) في تحسين جودة النماذج المنشورة. يمكن أن يمكّنك التقاط البيانات من الاستدلالات التي تم إجراؤها في الإنتاج من مراقبة نماذجك المنشورة واكتشاف الانحرافات في جودة النموذج. يمكّنك الاكتشاف المبكر والاستباقي لهذه الانحرافات من اتخاذ الإجراءات التصحيحية، مثل إعادة تدريب النماذج، أو تدقيق الأنظمة الأولية، أو إصلاح مشكلات الجودة.

AWS لامدا هي خدمة حوسبة بدون خادم يمكنها توفير استنتاج تعلم الآلة في الوقت الفعلي على نطاق واسع. في هذا المنشور، نعرض نموذجًا لميزة التقاط البيانات التي يمكن نشرها في عبء عمل استدلال Lambda ML.

في ديسمبر 2020، قدمت Lambda دعمًا لصور الحاويات كتنسيق تعبئة. أدت هذه الميزة إلى زيادة الحد الأقصى لحجم حزمة النشر من 500 ميجابايت إلى 10 جيجابايت. قبل إطلاق هذه الميزة، كان قيود حجم الحزمة يجعل من الصعب نشر أطر عمل تعلم الآلة مثل TensorFlow أو PyTorch إلى وظائف Lambda. بعد الإطلاق، أدى الحد المتزايد لحجم الحزمة إلى جعل تعلم الآلة عبء عمل قابلاً للتطبيق وجذابًا للنشر في Lambda. في عام 2021، كان استدلال تعلم الآلة واحدًا من أسرع أنواع أعباء العمل نموًا في خدمة Lambda.

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

نظرة عامة على الحل

يحتوي هذا المشروع على التعليمات البرمجية المصدر وملفات الدعم لتطبيق بدون خادم يوفر الاستدلال في الوقت الفعلي باستخدام نموذج الإجابة على الأسئلة المعتمد مسبقًا على قاعدة distilbert. يستخدم المشروع نموذج السؤال والإجابة عن معالجة اللغة الطبيعية (NLP) باستخدام نموذج Hugging Face PyTorch لأداء مهام استنتاج اللغة الطبيعية. يحتوي المشروع أيضًا على حل لإجراء التقاط البيانات الاستدلالية لتنبؤات النموذج. يستطيع كاتب دالة Lambda تحديد البيانات بالضبط من إدخال طلب الاستدلال ونتائج التنبؤ لإرسالها إلى الامتداد. في هذا الحل نرسل المدخلات والإجابة من النموذج إلى الامتداد. يقوم الملحق بعد ذلك بإرسال البيانات بشكل دوري إلى خدمة تخزين أمازون البسيطة دلو (أمازون S3). نقوم ببناء ملحق التقاط البيانات كصورة حاوية باستخدام ملف makefile. نقوم بعد ذلك ببناء وظيفة استدلال Lambda كصورة حاوية وإضافة صورة حاوية الامتداد كطبقة صورة حاوية. ويبين الرسم البياني التالي لمحة عامة عن الهندسة المعمارية.

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

محتويات المشروع

يستخدم هذا المشروع نموذج تطبيق AWS Serverless (AWS SAM) واجهة سطر الأوامر (CLI). تسمح أداة سطر الأوامر هذه للمطورين بتهيئة التطبيقات وتكوينها؛ التعبئة والبناء والاختبار محليًا؛ ونشرها على سحابة AWS.

يمكنك تنزيل الكود المصدري لهذا المشروع من مستودع جيثب.

يتضمن هذا المشروع الملفات والمجلدات التالية:

  • app/app.py - رمز وظيفة Lambda الخاصة بالتطبيق، بما في ذلك رمز استنتاج ML.
  • app/Dockerfile - ملف Dockerfile لإنشاء صورة الحاوية التي تحزم وظيفة الاستدلال، والنموذج الذي تم تنزيله من Hugging Face، وامتداد Lambda المبني كطبقة. وعلى النقيض من وظائف ‎.zip، لا يمكن ربط الطبقات بوظائف Lambda المعبأة في حاوية في وقت إنشاء الوظيفة. بدلاً من ذلك، نقوم ببناء الطبقة ونسخ محتوياتها إلى صورة الحاوية.
  • ملحقات – ملفات ملحق مراقبة النموذج. يتم استخدام امتداد Lambda هذا لتسجيل الإدخال إلى وظيفة الاستدلال والتنبؤ المقابل لحاوية S3.
  • التطبيق/النموذج - النموذج الذي تم تنزيله من Hugging Face.
  • التطبيق/متطلبات.txt - تبعيات بايثون التي سيتم تثبيتها في الحاوية.
  • أحداث – أحداث الاستدعاء التي يمكنك استخدامها لاختبار الوظيفة.
  • template.yaml – ملف واصف يحدد موارد AWS للتطبيق.

يستخدم التطبيق العديد من موارد AWS، بما في ذلك وظائف Lambda و بوابة أمازون API واجهة برمجة التطبيقات. يتم تعريف هذه الموارد في template.yaml الملف في هذا المشروع. يمكنك تحديث القالب لإضافة موارد AWS من خلال نفس عملية النشر التي تقوم بتحديث رمز التطبيق الخاص بك.

المتطلبات الأساسية المسبقة

في هذا الدليل ، يجب أن يكون لديك المتطلبات الأساسية التالية:

نشر التطبيق العينة

لإنشاء تطبيقك لأول مرة، أكمل الخطوات التالية:

  • قم بتشغيل الكود التالي في Shell الخاص بك. (سيؤدي هذا إلى إنشاء الامتداد أيضًا):
  • إنشاء صورة Docker لتطبيق مراقبة النموذج. محتويات البناء موجودة في .aws-sam دليل
docker build -t serverless-ml-model-monitor:latest .

docker tag serverless-ml-model-monitor:latest .dkr.ecr.us-east-1.amazonaws.com/serverless-ml-model-monitor:latest

  • تسجيل الدخول إلى أمازون ECR:
aws ecr get-login-password --region us-east-1 docker login --username AWS --password-stdin .dkr.ecr.us-east-1.amazonaws.com

  • قم بإنشاء مستودع في Amazon ECR:

aws ecr create-repositoryrepository-name serverless-ml-model-monitor--image-scanning-configuration scanOnPush=true--region us-east-1

  • ادفع صورة الحاوية إلى Amazon ECR:
docker push .dkr.ecr.us-east-1.amazonaws.com/serverless-ml-model-monitor:latest

  • قم بإلغاء التعليق على السطر رقم 1 في app/Dockerfile وقم بتحريرها للإشارة إلى صورة مستودع ECR الصحيحة، ثم قم بإلغاء تعليق السطرين رقم 6 ورقم 7 التطبيق/ملف عامل الميناء:
WORKDIR /opt
COPY --from=layer /opt/ .

  • قم ببناء التطبيق مرة أخرى:

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

  • أخيرًا، قم بنشر وظيفة Lambda وبوابة API والامتداد:
sam deploy --guided

يقوم هذا الأمر بحزم تطبيقك ونشره على AWS من خلال سلسلة من المطالبات:

  • اسم المكدس : اسم المنشور تكوين سحابة AWS كومة. يجب أن يكون هذا فريدًا لحسابك ومنطقتك، وستكون نقطة البداية الجيدة هي شيء يطابق اسم مشروعك.
  • منطقة AWS : منطقة AWS التي تنشر تطبيقك عليها.
  • قم بتأكيد التغييرات قبل النشر : إذا تم التعيين على yes، يتم عرض أي مجموعات تغيير لك قبل تشغيلها للمراجعة اليدوية. إذا تم التعيين على لا، فإن AWS SAM CLI ينشر تغييرات التطبيق تلقائيًا.
  • السماح بإنشاء دور AWS SAM CLI IAM : يتم إنشاء العديد من قوالب AWS SAM، بما في ذلك هذا المثال إدارة الهوية والوصول AWS أدوار (IAM) المطلوبة لوظيفة (وظائف) Lambda المضمنة للوصول إلى خدمات AWS. بشكل افتراضي، يتم تحديد نطاقها وصولاً إلى الحد الأدنى من الأذونات المطلوبة. لنشر مكدس CloudFormation الذي يقوم بإنشاء أدوار IAM أو تعديلها، يجب استخدام CAPABILITY_IAM قيمة ل capabilities يجب توفيرها. إذا لم يتم توفير الإذن من خلال هذه المطالبة، لنشر هذا المثال، يجب عليك تمريره بشكل صريح --capabilities CAPABILITY_IAM إلى sam deploy أمر.
  • احفظ الوسائط في samconfig.toml : إذا تم التعيين على yes، يتم حفظ اختياراتك في ملف تكوين داخل المشروع بحيث يمكنك تشغيله في المستقبل sam deploy بدون معلمات لنشر التغييرات على التطبيق الخاص بك.

يمكنك العثور على عنوان URL لنقطة نهاية API Gateway في قيم المخرجات المعروضة بعد النشر.

اختبر التطبيق

لاختبار التطبيق، استخدم Postman أو Curl لإرسال طلب إلى نقطة نهاية بوابة API. على سبيل المثال:

curl -X POST -H "Content-Type: text/plain" https://.execute-api.us-east-1.amazonaws.com/Prod/nlp-qa -d '{"question": "Where do you live?", "context": "My name is Clara and I live in Berkeley."}'

يجب أن تشاهد الإخراج مثل التعليمة البرمجية التالية. تم استنتاج نموذج ML من السياق وأعاد الإجابة على سؤالنا.

{
    "Question": "Where do you live?",
    "Answer": "Berkeley",
    "score": 0.9113729596138
}

بعد بضع دقائق، من المفترض أن تشاهد ملفًا في حاوية S3 nlp-qamodel-model-monitoring-modelmonitorbucket- مع تسجيل المدخلات والاستدلال.

تنظيف

لحذف نموذج التطبيق الذي قمت بإنشائه، استخدم AWS CLI:

aws cloudformation delete-stack --stack-name 

وفي الختام

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

يرجى تقديم أي أفكار أو أسئلة في قسم التعليقات. لمزيد من موارد التعلم بدون خادم، قم بزيارة أرض بلا خوادم.


حول المؤلف

انشر حل التقاط بيانات استدلال التعلم الآلي على AWS Lambda PlatoBlockchain Data Intelligence. البحث العمودي. عاي.دان فوكس هو مهندس الحلول المتخصصة الرئيسي في المنظمة العالمية المتخصصة للخوادم بدون خوادم. يعمل Dan مع العملاء لمساعدتهم على الاستفادة من الخدمات بدون خادم لإنشاء تطبيقات قابلة للتطوير ومتسامحة مع الأخطاء وعالية الأداء وفعالة من حيث التكلفة. دان ممتن لأنه قادر على العيش والعمل في مدينة بولدر الجميلة بولاية كولورادو.

انشر حل التقاط بيانات استدلال التعلم الآلي على AWS Lambda PlatoBlockchain Data Intelligence. البحث العمودي. عاي.نيوتن جاين هو مدير منتج أول مسؤول عن بناء تجارب جديدة للتعلم الآلي والحوسبة عالية الأداء (HPC) وعملاء معالجة الوسائط على AWS Lambda. وهو يقود عملية تطوير القدرات الجديدة لزيادة الأداء وتقليل زمن الوصول وتحسين قابلية التوسع وتعزيز الموثوقية وخفض التكلفة. كما أنه يساعد عملاء AWS في تحديد إستراتيجية فعالة بدون خادم لتطبيقاتهم كثيفة الحوسبة.

انشر حل التقاط بيانات استدلال التعلم الآلي على AWS Lambda PlatoBlockchain Data Intelligence. البحث العمودي. عاي.ديكشا شارما هو مهندس حلول ومتخصص في التعلم الآلي في AWS. وهي تساعد العملاء على تسريع اعتمادهم على السحابة، لا سيما في مجالات التعلم الآلي والتقنيات بدون خادم. تنشر Diksha أدلة مفهومية مخصصة توضح للعملاء قيمة AWS في مواجهة تحديات أعمالهم وتكنولوجيا المعلومات. إنها تمكّن العملاء من معرفتهم بـ AWS وتعمل جنبًا إلى جنب مع العملاء لبناء الحل المطلوب.

انشر حل التقاط بيانات استدلال التعلم الآلي على AWS Lambda PlatoBlockchain Data Intelligence. البحث العمودي. عاي.فيدا رامان هو مهندس حلول متخصص أول للتعلم الآلي ومقره في ماريلاند. تعمل Veda مع العملاء لمساعدتهم على تصميم تطبيقات التعلم الآلي الفعالة والآمنة والقابلة للتطوير. تهتم Veda بمساعدة العملاء على الاستفادة من التقنيات بدون خادم للتعلم الآلي.

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

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

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