تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

تطوير Speed ​​ML باستخدام متجر SageMaker Feature Store وضغط متجر Apache Iceberg غير المتصل بالإنترنت

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

متجر ميزات Amazon SageMaker هو حل لإدارة الميزات مبني لغرض معين يساعد علماء البيانات ومهندسي ML على تخزين واكتشاف ومشاركة البيانات المنسقة المستخدمة في التدريب وسير عمل التنبؤ بأمان. يدعم متجر ميزات SageMaker الآن ملفات اباتشي فيض كتنسيق جدول لتخزين الميزات. يعمل هذا على تسريع تطوير النموذج من خلال تمكين أداء استعلام أسرع عند استخراج مجموعات بيانات تدريب تعلم الآلة ، والاستفادة من ضغط جدول Iceberg. اعتمادًا على تصميم مجموعات الميزات الخاصة بك وحجمها ، يمكنك تجربة تحسينات أداء استعلام التدريب من 10x إلى 100x باستخدام هذه الإمكانية الجديدة.

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

متجر ميزات SageMaker و Apache Iceberg

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

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

يتم تخزين بيانات المتجر غير المتصل بالإنترنت في حاوية Amazon Simple Storage Service (Amazon S3) في حساب AWS الخاص بك. ينشئ متجر SageMaker Feature Store تلقائيًا كتالوج بيانات AWS Glue أثناء إنشاء مجموعة الميزات. يمكن للعملاء أيضًا الوصول إلى بيانات المتجر غير المتصلة بالإنترنت باستخدام وقت تشغيل Spark وإجراء معالجة البيانات الضخمة لتحليل ميزات ML وحالات استخدام هندسة الميزات.

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

لدى Iceberg تكامل مع خدمات AWS. على سبيل المثال ، يمكنك استخدام ملف غراء AWS كتالوج البيانات كنقطة انطلاق لجداول Iceberg ، و أثينا يدعم استعلامات القراءة والسفر عبر الزمن والكتابة و DDL لجداول Apache Iceberg التي تستخدم تنسيق Apache Parquet للبيانات وكتالوج AWS Glue لمخزن البيانات الأساسي الخاص بهم.

باستخدام SageMaker Feature Store ، يمكنك الآن إنشاء مجموعات ميزات بتنسيق جدول Iceberg كبديل لتنسيق Glue القياسي الافتراضي. مع ذلك ، يمكن للعملاء الاستفادة من تنسيق الجدول الجديد لاستخدام ميزات ضغط الملفات وتشذيب البيانات في Iceberg لتلبية حالة الاستخدام ومتطلبات التحسين. يتيح Iceberg أيضًا للعملاء إجراء الحذف ، واستعلامات السفر عبر الزمن ، والمعاملات عالية التزامن ، والاستعلامات عالية الأداء.

من خلال الجمع بين Iceberg كتنسيق جدول وعمليات صيانة الجدول مثل الضغط ، يحصل العملاء على أداء استعلام أسرع عند العمل مع مجموعات ميزات غير متصلة بالإنترنت على نطاق واسع ، مما يتيح لهم إنشاء مجموعات بيانات تدريب ML بسرعة أكبر.

يوضح الرسم التخطيطي التالي هيكل المتجر غير المتصل باستخدام Iceberg كتنسيق جدول.

في الأقسام التالية ، ستتعلم كيفية إنشاء مجموعات ميزات باستخدام تنسيق Iceberg ، وتنفيذ إجراءات إدارة جدول Iceberg باستخدام AWS Athena واستخدام خدمات AWS لجدولة هذه المهام للتشغيل عند الطلب أو وفقًا لجدول. إذا كنت من مستخدمي Spark ، فسوف تتعلم أيضًا كيفية تنفيذ نفس الإجراءات باستخدام Spark.

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

إنشاء مجموعات ميزة باستخدام تنسيق جدول Iceberg

تحتاج أولاً إلى تحديد Iceberg كتنسيق جدول عند إنشاء مجموعات ميزات جديدة. معلمة اختيارية جديدة TableFormat يمكن تعيينها إما بشكل تفاعلي باستخدام Amazon SageMaker Studio أو من خلال التعليمات البرمجية باستخدام API أو SDK. هذه المعلمة تقبل القيم ICEBERG or GLUE (لتنسيق AWS Glue الحالي). يوضح لك مقتطف الشفرة التالي كيفية إنشاء مجموعة ميزات باستخدام تنسيق Iceberg و FeatureGroup.create API الخاص بـ SageMaker SDK.

orders_feature_group_iceberg.create(
s3_uri=f"s3://{s3_bucket_name}/{prefix}",
record_identifier_name=record_identifier_feature_name,
event_time_feature_name=event_time_feature_name,
role_arn=role,
enable_online_store=True,
table_format=TableFormatEnum.ICEBERG
)

سيتم إنشاء الجدول وتسجيله تلقائيًا في كتالوج بيانات AWS Glue.

الآن وبعد أن orders_feature_group_iceberg يمكنك استيعاب الميزات باستخدام مسار العرض الذي تختاره. في هذا المثال ، نستوعب السجلات باستخدام الامتداد FeatureGroup.ingest () API ، الذي يستوعب السجلات من Pandas DataFrame. يمكنك أيضًا استخدام ملف FeatureGroup (). put_record API لاستيعاب السجلات الفردية أو للتعامل مع مصادر التدفق. يمكن لمستخدمي Spark أيضًا استيعاب إطارات بيانات Spark باستخدام ملف موصل شرارة.

orders_fg = FeatureGroup(name=orders_feature_group_iceberg_name,
sagemaker_session=feature_store_session)
orders_fg.ingest(data_frame=order_data, wait=True)

يمكنك التحقق من أن السجلات قد تم استيعابها بنجاح عن طريق تشغيل استعلام على مخزن الميزات غير المتصل. يمكنك أيضًا الانتقال إلى موقع S3 ومشاهدة بنية المجلد الجديدة.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

تنفيذ إجراءات إدارة الجدول الجليدي

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

مع تراكم البيانات في جدول Iceberg ، قد تصبح الاستعلامات تدريجيًا أقل كفاءة بسبب زيادة وقت المعالجة المطلوب لفتح ملفات إضافية. يعمل الضغط على تحسين التخطيط الهيكلي للجدول دون تغيير محتوى الجدول.

لأداء الضغط ، يمكنك استخدام ملف OPTIMIZE table REWRITE DATA أمر صيانة جدول الضغط في أثينا. يوضح بناء الجملة التالي كيفية تحسين تخطيط البيانات لمجموعة ميزات مخزنة باستخدام تنسيق جدول Iceberg. ال sagemaker_featurestore يمثل اسم قاعدة بيانات SageMaker Feature Store ، و orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334 هو اسم جدول المجموعة المميز الخاص بنا.

OPTIMIZE sagemaker_featurestore.orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334 REWRITE DATA USING BIN_PACK

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

VACUUM sagemaker_featurestore.orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334

لاحظ أن خصائص الجدول قابلة للتكوين باستخدام ملف أثينا ALTER TABLE. للحصول على مثال عن كيفية القيام بذلك ، راجع ملف وثائق أثينا. بالنسبة للفراغ ، vacuum_min_snapshots_to_keep و vacuum_max_snapshot_age_seconds يمكن استخدامها لتكوين معلمات تقليم اللقطة.

دعنا نلقي نظرة على تأثير الأداء لتشغيل الضغط على نموذج جدول مجموعة ميزات. لأغراض الاختبار ، استوعبنا نفس سجلات ميزة الطلبات في مجموعتين من الميزات ، orders-feature-group-iceberg-pre-comp-02-11-03-06-1669979003 و orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334، باستخدام مهمة معالجة SageMaker متوازية مع Scikit-Learn ، والتي تؤدي إلى تخزين 49,908,135 عنصرًا في Amazon S3 وإجمالي حجم 106.5 جيجا بايت.

نقوم بتشغيل استعلام لتحديد أحدث لقطة بدون تكرارات وبدون سجلات محذوفة في مجموعة الميزات orders-feature-group-iceberg-pre-comp-02-11-03-06-1669979003. قبل الضغط ، استغرق الاستعلام ساعة و 1 دقيقة.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

ثم نقوم بتشغيل الضغط orders-feature-group-iceberg-post-comp-03-14-05-17-1670076334 باستخدام استعلام Athena OPTIMIZE ، الذي ضغط جدول مجموعة الميزات إلى 109,851 عنصرًا في Amazon S3 وحجم إجمالي يبلغ 2.5 جيجا بايت. إذا قمنا بعد ذلك بتشغيل نفس الاستعلام بعد الضغط ، فسيقل وقت تشغيله إلى دقيقة و 1 ثانية.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

مع ضغط ملف Iceberg ، تحسن وقت تنفيذ الاستعلام بشكل ملحوظ. بالنسبة إلى الاستعلام نفسه ، انخفض وقت التشغيل من ساعة و 1 دقيقة إلى دقيقة واحدة و 27 ثانية ، أي 1 مرة أسرع.

جدولة ضغط Iceberg مع خدمات AWS

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

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

على مستوى عالٍ ، يمكنك إنشاء مجموعة ميزات باستخدام تنسيق جدول Iceberg وإدخال السجلات في متجر الميزات عبر الإنترنت. يتم نسخ قيم الميزة تلقائيًا من المتجر عبر الإنترنت إلى المتجر التاريخي غير المتصل. تستخدم أثينا لتشغيل إجراءات إدارة جبل الجليد. لجدولة الإجراءات ، يمكنك إعداد ملف غراء AWS باستخدام برنامج نصي لقشرة Python وإنشاء جدول مهام AWS Glue.

إعداد مهمة AWS Glue

أنت تستخدم مهمة AWS Glue لتنفيذ عمليات صيانة جدول Iceberg وفقًا لجدول زمني. أولاً ، تحتاج إلى إنشاء دور IAM لـ AWS Glue للحصول على أذونات للوصول إلى Amazon Athena و Amazon S3 و CloudWatch.

بعد ذلك ، تحتاج إلى إنشاء برنامج نصي بلغة Python لتشغيل إجراءات Iceberg. يمكنك العثور على ملف عينة نصية في جيثب. سينفذ البرنامج النصي استعلام OPTIMIZE باستخدام boto3.

optimize_sql = f"optimize {database}.{table} rewrite data using bin_pack"

تم تحديد البرنامج النصي باستخدام AWS Glue getResolvedOptions(args, options) وظيفة الأداة المساعدة التي تمنحك الوصول إلى الوسائط التي يتم تمريرها إلى البرنامج النصي الخاص بك عند تشغيل وظيفة. في هذا المثال ، يمكن تمرير منطقة AWS وقاعدة بيانات Iceberg والجدول لمجموعة الميزات الخاصة بك ومجموعة عمل Athena ومجلد نتائج موقع إخراج Athena كمعلمات إلى الوظيفة ، مما يجعل هذا البرنامج النصي قابلاً لإعادة الاستخدام في بيئتك.

أخيرًا ، تقوم بإنشاء مهمة AWS Glue الفعلية لتشغيل البرنامج النصي كقذيفة في AWS Glue.

  • انتقل إلى وحدة تحكم AWS Glue.
  • اختيار المشــاريــع علامة التبويب ضمن AWS Glue Studio.
  • أختار محرر نصوص Python Shell.
  • اختار تحميل وتحرير نص موجود. انقر إنشاء.
  • تفاصيل الوظيفة يتيح لك الزر تكوين مهمة AWS Glue. تحتاج إلى تحديد دور IAM الذي أنشأته سابقًا. يختار بيثون 3.9 أو أحدث إصدار متاح من Python.
  • في نفس علامة التبويب ، يمكنك أيضًا تحديد عدد من خيارات التكوين الأخرى ، مثل عدد المحاولات or مهلة الوظيفة. في خصائص متقدمة، يمكنك إضافة معلمات الوظيفة لتنفيذ البرنامج النصي ، كما هو موضح في مثال لقطة الشاشة أدناه.
  • انقر حفظ.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

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

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

يمكنك مراقبة عمليات تشغيل المهام لفهم مقاييس وقت التشغيل مثل حالة الإكمال والمدة ووقت البدء. يمكنك أيضًا التحقق من سجلات CloudWatch لوظيفة AWS Glue للتحقق من أن الإجراءات تعمل بنجاح.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.

تنفيذ مهام إدارة طاولة Iceberg مع Spark

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

تحتاج أولاً إلى تكوين بعض الخصائص العامة.

%%configure -f
{
  "conf": {
    "spark.sql.catalog.smfs": "org.apache.iceberg.spark.SparkCatalog",
    "spark.sql.catalog.smfs.catalog-impl": "org.apache.iceberg.aws.glue.GlueCatalog",
    "spark.sql.catalog.smfs.warehouse": "",
    "spark.sql.extensions":"org.apache.iceberg.spark.extensions.IcebergSparkSessionExtensions",
    "spark.sql.catalog.smfs.glue.skip-name-validation": "true"
  }
}

يمكن استخدام الكود التالي لتحسين مجموعات الميزات عبر Spark.

spark.sql(f"""CALL smfs.system.rewrite_data_files(table => '{DATABASE}.`{ICEBERG_TABLE}`')""")

يمكنك بعد ذلك تنفيذ إجرائي صيانة الجدول التاليين لإزالة اللقطات القديمة والملفات المعزولة التي لم تعد مطلوبة.

spark.sql(f"""CALL smfs.system.expire_snapshots(table => '{DATABASE}.`{ICEBERG_TABLE}`', older_than => TIMESTAMP '{one_day_ago}', retain_last => 1)""")
spark.sql(f"""CALL smfs.system.remove_orphan_files(table => '{DATABASE}.`{ICEBERG_TABLE}`')""")

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

لاستكشاف مثال الرمز الكامل ، وتجربته في حسابك الخاص ، راجع جيثب ريبو.

وفي الختام

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


عن المؤلفين

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.أرنو لاور هو مهندس حلول شريك أول في فريق القطاع العام في AWS. إنه يمكّن الشركاء والعملاء من فهم أفضل السبل لاستخدام تقنيات AWS لترجمة احتياجات العمل إلى حلول. يتمتع بخبرة تزيد عن 17 عامًا في تقديم وهندسة مشاريع التحول الرقمي عبر مجموعة من الصناعات ، بما في ذلك القطاع العام والطاقة والسلع الاستهلاكية. يحمل Arnaud 12 شهادة AWS ، بما في ذلك شهادة ML Speciality Certification.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.ايوان كاتانا هو مهندس حلول متخصص في الذكاء الاصطناعي وتعلم الآلة في AWS. يساعد العملاء على تطوير وتوسيع نطاق حلول ML الخاصة بهم في سحابة AWS. يتمتع Ioan بأكثر من 20 عامًا من الخبرة في الغالب في تصميم هندسة البرمجيات وهندسة السحابة.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.مارك روي هو مهندس رئيسي لتعلم الآلة في AWS ، يساعد العملاء على تصميم وبناء حلول AI / ML. يغطي عمل Mark مجموعة واسعة من حالات استخدام ML ، مع اهتمام أساسي برؤية الكمبيوتر والتعلم العميق وتوسيع ML عبر المؤسسة. لقد ساعد الشركات في العديد من الصناعات ، بما في ذلك التأمين والخدمات المالية والإعلام والترفيه والرعاية الصحية والمرافق والتصنيع. يحمل مارك ست شهادات AWS ، بما في ذلك شهادة التخصص في ML. قبل انضمامه إلى AWS ، كان مارك مهندسًا معماريًا ومطورًا وقائدًا تقنيًا لأكثر من 25 عامًا ، بما في ذلك 19 عامًا في الخدمات المالية.

تسريع تطوير ML باستخدام SageMaker Features Store وApache Iceberg لضغط المتجر غير المتصل بالإنترنت PlatoBlockchain Data Intelligence. البحث العمودي. منظمة العفو الدولية.براندون تشاتام هو مهندس برمجيات مع فريق متجر SageMaker Feature Store. إنه شغوف للغاية ببناء أنظمة أنيقة توفر البيانات الضخمة والتعلم الآلي في متناول الناس.

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

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