قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

بناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2

هذا هو الجزء الثاني من السلسلة التي تعرض دورة حياة التعلم الآلي (ML) مع نمط تصميم شبكة بيانات لمؤسسة كبيرة ذات خطوط أعمال متعددة (LOBs) ومركز امتياز (CoE) للتحليلات والتعلم الآلي.

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

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

رمز هذا المثال متاح في GitHub جيثب:.

تحليلات ومستهلك ML في بنية شبكة البيانات

دعنا نلخص البنية عالية المستوى التي تسلط الضوء على المكونات الرئيسية في بنية شبكة البيانات.

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

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

استهلاك منتج البيانات من قبل التحليلات و ML CoE

يصف مخطط البنية التالي الخطوات المطلوبة من قبل التحليلات ومستهلك ML CoE للوصول إلى منتج البيانات المسجل في كتالوج البيانات المركزي ومعالجة البيانات لبناء نموذج ML وتدريبه.

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

يتكون سير العمل من المكونات التالية:

  1. يوفر وكيل بيانات المنتج إمكانية الوصول في الحساب المركزي إلى قاعدة البيانات والجدول لحساب المستهلك. تنعكس قاعدة البيانات الآن كقاعدة بيانات مشتركة في حساب المستهلك.
  2. يقوم مسؤول المستهلك بإنشاء ارتباط مورد في حساب المستهلك لقاعدة البيانات المشتركة بواسطة الحساب المركزي. تُظهر لقطة الشاشة التالية مثالاً في حساب المستهلك ، بامتداد rl_credit-card كونها رابط الموارد لـ credit-card قاعدة البيانات.
    قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
    قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
  3. يوفر مسؤول المستهلك الاستوديو إدارة الهوية والوصول AWS (IAM) دور تنفيذ الوصول إلى قاعدة البيانات المرتبطة بالموارد والجدول المحدد في علامة Lake Formation. في المثال التالي ، يمتلك مسؤول المستهلك المقدم إلى دور تنفيذ SageMaker إذنًا للوصول rl_credit-card والجدول الذي يلبي تعبير علامة Lake Formation.
    قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
  4. بمجرد تعيين دور تنفيذي ، يمكن لعلماء البيانات في SageMaker استخدامه أمازون أثينا للاستعلام عن الجدول عبر قاعدة بيانات ارتباط الموارد في Lake Formation.
    1. لاستكشاف البيانات ، يمكنهم استخدام أجهزة كمبيوتر Studio المحمولة لمعالجة البيانات باستخدام استعلام تفاعلي عبر Athena.
    2. لمعالجة البيانات وهندسة الميزات ، يمكنهم تشغيل مهام معالجة SageMaker مع مصدر بيانات Athena ونتائج الإخراج مرة أخرى خدمة تخزين أمازون البسيطة (أمازون S3).
    3. بعد معالجة البيانات وإتاحتها في Amazon S3 على حساب ML CoE ، يمكن لعلماء البيانات استخدام وظائف تدريب SageMaker لتدريب النماذج و خطوط الأنابيب SageMaker لأتمتة سير عمل بناء النماذج.
    4. يمكن لعلماء البيانات أيضًا استخدام سجل نموذج SageMaker لتسجيل النماذج.

استكشاف البيانات

يوضح الرسم التخطيطي التالي سير عمل استكشاف البيانات في حساب مستهلك البيانات.

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

يبدأ المستهلك بالاستعلام عن عينة من البيانات من credit_risk الجدول مع أثينا في دفتر الاستوديو. عند الاستعلام عن البيانات عبر Athena ، يتم أيضًا حفظ النتائج الوسيطة في Amazon S3. يمكنك استخدام ال مكتبة AWS Data Wrangler لتشغيل استعلام على Athena في دفتر ملاحظات Studio لاستكشاف البيانات. يظهر المثال التالي رمز كيفية الاستعلام عن أثينا لجلب النتائج كإطار بيانات لاستكشاف البيانات:

df= wr.athena.read_sql_query('SELECT * FROM credit_card LIMIT 10;', database="rl_credit-card", ctas_approach=False)

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

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

عند الاستعلام عن قاعدة البيانات ، يمكنك رؤية سجلات الوصول من وحدة تحكم Lake Formation ، كما هو موضح في لقطة الشاشة التالية. تمنحك هذه السجلات معلومات حول من أو الخدمة التي استخدمت Lake Formation ، بما في ذلك دور IAM ووقت الوصول. تُظهر لقطة الشاشة سجلاً حول وصول SageMaker إلى الجدول credit_risk في AWS Glue عبر Athena. في السجل ، يمكنك رؤية سياق التدقيق الإضافي الذي يحتوي على معرف الاستعلام الذي يطابق معرف الاستعلام في أثينا.

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

تُظهر لقطة الشاشة التالية معرّف تشغيل استعلام Athena الذي يطابق معرّف الاستعلام من السجل السابق. يعرض هذا البيانات التي تم الوصول إليها باستخدام استعلام SQL. يمكنك معرفة البيانات التي تم الاستعلام عنها بالانتقال إلى وحدة تحكم أثينا واختيار ملف الاستفسارات الأخيرة علامة التبويب ، ثم ابحث عن معرف التشغيل الذي يطابق معرف الاستعلام من سياق التدقيق الإضافي.

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

معالجة البيانات

بعد استكشاف البيانات ، قد ترغب في المعالجة المسبقة لمجموعة البيانات الكبيرة بالكامل لهندسة الميزات قبل تدريب النموذج. يوضح الرسم البياني التالي إجراء معالجة البيانات.

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

في هذا المثال ، نستخدم وظيفة معالجة SageMaker ، والتي نحدد فيها تعريف مجموعة بيانات أثينا. تستعلم مهمة المعالجة عن البيانات عبر Athena وتستخدم برنامجًا نصيًا لتقسيم البيانات إلى مجموعات بيانات تدريب واختبار والتحقق من الصحة. يتم حفظ نتائج مهمة المعالجة في Amazon S3. لمعرفة كيفية تكوين مهمة معالجة مع أثينا ، ارجع إلى استخدم Amazon Athena في مهمة معالجة مع Amazon SageMaker.

في هذا المثال ، يمكنك استخدام Python SDK لتشغيل مهمة معالجة باستخدام إطار عمل Scikit-Learn. قبل بدء التشغيل ، يمكنك تكوين ملف معلمة المدخلات للحصول على بيانات الإدخال عبر تعريف مجموعة بيانات أثينا ، كما هو موضح في الكود التالي. تحتوي مجموعة البيانات على موقع تنزيل النتائج من Athena إلى حاوية المعالجة وتكوين استعلام SQL. عند انتهاء مهمة المعالجة ، يتم حفظ النتائج في Amazon S3.

AthenaDataset = AthenaDatasetDefinition (
  catalog = 'AwsDataCatalog', 
  database = 'rl_credit-card', 
  query_string = 'SELECT * FROM "rl_credit-card"."credit_card""',                                
  output_s3_uri = 's3://sagemaker-us-east-1-********7363/athenaqueries/', 
  work_group = 'primary', 
  output_format = 'PARQUET')

dataSet = DatasetDefinition(
  athena_dataset_definition = AthenaDataset, 
  local_path='/opt/ml/processing/input/dataset.parquet')


sklearn_processor.run(
    code="processing/preprocessor.py",
    inputs=[ProcessingInput(
      input_name="dataset", 
      destination="/opt/ml/processing/input", 
      dataset_definition=dataSet)],
    outputs=[
        ProcessingOutput(
            output_name="train_data", source="/opt/ml/processing/train", destination=train_data_path
        ),
        ProcessingOutput(
            output_name="val_data", source="/opt/ml/processing/val", destination=val_data_path
        ),
        ProcessingOutput(
            output_name="model", source="/opt/ml/processing/model", destination=model_path
        ),
        ProcessingOutput(
            output_name="test_data", source="/opt/ml/processing/test", destination=test_data_path
        ),
    ],
    arguments=["--train-test-split-ratio", "0.2"],
    logs=False,
)

التدريب النموذجي وتسجيل النموذج

بعد المعالجة المسبقة للبيانات ، يمكنك تدريب النموذج بالبيانات المعالجة مسبقًا المحفوظة في Amazon S3. يوضح الرسم البياني التالي نموذج التدريب وعملية التسجيل.

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

لاستكشاف البيانات ومهام معالجة SageMaker ، يمكنك استرداد البيانات في شبكة البيانات عبر Athena. على الرغم من أن واجهة برمجة تطبيقات SageMaker Training API لا تتضمن معلمة لتكوين مصدر بيانات Athena ، يمكنك الاستعلام عن البيانات عبر برنامج Athena في البرنامج النصي للتدريب نفسه.

في هذا المثال ، أصبحت البيانات المعالجة مسبقًا متاحة الآن في Amazon S3 ويمكن استخدامها مباشرةً لتدريب نموذج XGBoost باستخدام SageMaker Script Mode. يمكنك توفير البرنامج النصي والمعلمات الفائقة ونوع المثيل وجميع المعلمات الإضافية اللازمة لتدريب النموذج بنجاح. يمكنك تشغيل مقدر SageMaker باستخدام بيانات التدريب والتحقق من الصحة في Amazon S3. عند اكتمال تدريب النموذج ، يمكنك تسجيل النموذج في سجل نموذج SageMaker لتتبع التجربة ونشرها في حساب إنتاج.

estimator = XGBoost(
    entry_point=entry_point,
    source_dir=source_dir,
    output_path=output_path,
    code_location=code_location,
    hyperparameters=hyperparameters,
    instance_type="ml.c5.xlarge",
    instance_count=1,
    framework_version="0.90-2",
    py_version="py3",
    role=role,
)

inputs = {"train": train_input_data, "validation": val_input_data}

estimator.fit(inputs, job_name=job_name)

الخطوات التالية

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

تحديثات البيانات ومشغلات إعادة تدريب النموذج

يوضح الرسم البياني التالي عملية تحديث بيانات التدريب وتشغيل نموذج إعادة التدريب.

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

تتضمن العملية الخطوات التالية:

  1. يقوم منتج البيانات بتحديث منتج البيانات إما بمخطط جديد أو ببيانات إضافية بتردد منتظم.
  2. بعد إعادة تسجيل منتج البيانات في كتالوج البيانات المركزي ، يؤدي هذا إلى إنشاء ملف الأمازون CloudWatch حدث من Lake Formation.
  3. يقوم حدث CloudWatch بتشغيل ملف AWS لامدا وظيفة لمزامنة منتج البيانات المحدث مع حساب المستهلك. يمكنك استخدام هذا المشغل لعكس تغييرات البيانات عن طريق القيام بما يلي:
    1. أعد تشغيل زاحف AWS Glue.
    2. إعادة تدريب نموذج الزناد إذا انحرفت البيانات إلى ما بعد عتبة معينة.

لمزيد من التفاصيل حول إعداد خط أنابيب نشر SageMaker MLOps لاكتشاف الانجراف ، ارجع إلى اكتشاف الانجراف من Amazon SageMaker GitHub الريبو.

الحذف التلقائي للبيانات الوسيطة في Amazon S3

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

تكامل متجر ميزات SageMaker

متجر ميزات SageMaker تم تصميمه خصيصًا لـ ML ويمكنه تخزين واكتشاف ومشاركة الميزات المنسقة المستخدمة في سير عمل التدريب والتنبؤ. يمكن أن يعمل متجر الميزات كواجهة مركزية بين فرق منتجي البيانات المختلفة و LoBs ، مما يتيح إمكانية اكتشاف الميزات وقابلية إعادة استخدامها للعديد من المستهلكين. يمكن أن يعمل مخزن الميزات كبديل لكتالوج البيانات المركزي في بنية شبكة البيانات الموصوفة سابقًا. لمزيد من المعلومات حول أنماط البنية عبر الحسابات ، يرجى الرجوع إلى قم بتمكين إعادة استخدام الميزات عبر الحسابات والفرق باستخدام Amazon SageMaker Feature Store.

وفي الختام

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

يحدد كل حساب منتج بيانات منتجات البيانات التي يتم تنسيقها بواسطة أشخاص يفهمون البيانات والتحكم في الوصول إليها واستخدامها وقيودها. منتجات البيانات ومجالات التطبيق التي تستهلكها مترابطة لتشكيل شبكة البيانات. تسمح بنية شبكة البيانات لفرق التعلم الآلي باكتشاف منتجات البيانات المنسقة هذه والوصول إليها.

يسمح Lake Formation بالوصول عبر الحسابات إلى بيانات تعريف كتالوج البيانات والبيانات الأساسية. يمكنك استخدام Lake Formation لإنشاء بنية شبكة بيانات متعددة الحسابات. يوفر SageMaker نظامًا أساسيًا لـ ML مع إمكانات أساسية حول إدارة البيانات ، وتجريب علوم البيانات ، وتدريب النموذج ، واستضافة النماذج ، وأتمتة سير العمل ، وخطوط أنابيب CI / CD للإنتاج. يمكنك إعداد واحد أو أكثر من بيئات التحليلات و ML CoE لبناء وتدريب النماذج مع منتجات البيانات المسجلة عبر حسابات متعددة في شبكة بيانات.

جرب تكوين سحابة AWS قوالب ورمز من المثال مستودع للبدء.


عن المؤلفين

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

قم ببناء وتدريب نماذج ML باستخدام بنية شبكة البيانات على AWS: الجزء 2 PlatoBlockchain Data Intelligence. البحث العمودي. عاي.حسن بونوالا هو مهندس حلول متخصص في الذكاء الاصطناعي / التعلم الآلي في AWS ، يساعد حسن العملاء في تصميم ونشر تطبيقات التعلم الآلي في الإنتاج على AWS. يتمتع بخبرة عملية تزيد عن 12 عامًا كعالم بيانات وممارس للتعلم الآلي ومطور برامج. في أوقات فراغه ، يحب حسن استكشاف الطبيعة وقضاء الوقت مع الأصدقاء والعائلة.

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

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

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