الأمازون SageMaker يوفر مجموعة من خوارزميات مدمجة, نماذج مدربة مسبقًاو قوالب الحلول الجاهزة لمساعدة علماء البيانات وممارسي التعلم الآلي (ML) على البدء في التدريب ونشر نماذج التعلم الآلي بسرعة. يمكنك استخدام هذه الخوارزميات والنماذج لكل من التعلم الخاضع للإشراف وغير الخاضع للإشراف. يمكنهم معالجة أنواع مختلفة من بيانات الإدخال ، بما في ذلك الجدول والصورة والنص.
• خوارزمية SageMaker XGBoost يسمح لك بتشغيل تدريب XGBoost والاستدلال بسهولة على SageMaker. XGBoost (eXtreme Gradient Boosting) هو تطبيق مفتوح المصدر شائع وفعال لخوارزمية الأشجار المعززة بالتدرج. تعزيز التدرج عبارة عن خوارزمية تعلم خاضعة للإشراف تحاول التنبؤ بدقة بالمتغير المستهدف من خلال الجمع بين مجموعة من التقديرات من مجموعة من النماذج الأبسط والأضعف. تؤدي خوارزمية XGBoost أداءً جيدًا في مسابقات تعلم الآلة نظرًا لمعالجتها القوية لمجموعة متنوعة من أنواع البيانات والعلاقات والتوزيعات ومجموعة متنوعة من المعلمات الفائقة التي يمكنك ضبطها. يمكنك استخدام XGBoost لمشاكل الانحدار والتصنيف (ثنائي ومتعدد الفئات) والترتيب. يمكنك استخدام وحدات معالجة الرسومات لتسريع التدريب على مجموعات البيانات الكبيرة.
اليوم ، يسعدنا أن نعلن ذلك SageMaker يوفر XGBoost الآن تدريبًا موزعًا بالكامل على وحدة معالجة الرسومات.
بدءًا من الإصدار 1.5-1 وما فوق ، يمكنك الآن استخدام جميع وحدات معالجة الرسومات عند استخدام مثيلات متعددة لوحدات معالجة الرسومات. تلبي الميزة الجديدة احتياجاتك لاستخدام تدريب GPU الموزع بالكامل عند التعامل مع مجموعات البيانات الكبيرة. هذا يعني القدرة على استخدام متعددة الأمازون الحوسبة المرنة السحابية مثيلات (Amazon EC2) (GPU) واستخدام جميع وحدات معالجة الرسومات لكل مثيل.
تدريب GPU موزع مع مثيلات متعددة لوحدات معالجة الرسومات
باستخدام الإصدار 1.2-2 من SageMaker XGBoost أو إصدار أحدث ، يمكنك استخدام مثيل واحد أو أكثر من مثيلات وحدة معالجة الرسومات الفردية للتدريب. ال فرط المعلمة يجب تعيين tree_method على gpu_hist. عند استخدام أكثر من مثيل واحد (الإعداد الموزع) ، يجب تقسيم البيانات بين الحالات على النحو التالي (مثل خطوات التدريب الموزعة التي لا تعتمد على GPU والمذكورة في خوارزمية XGBoost). على الرغم من أن هذا الخيار فعال ويمكن استخدامه في إعدادات تدريب متنوعة ، إلا أنه لا يمتد إلى استخدام جميع وحدات معالجة الرسومات عند اختيار مثيلات متعددة GPU مثل g5.12xlarge.
مع الإصدار 1.5-1 من SageMaker XGBoost وما فوق ، يمكنك الآن استخدام جميع وحدات معالجة الرسومات في كل مثيل عند استخدام مثيلات متعددة لوحدات معالجة الرسومات. يتم تقديم القدرة على استخدام جميع وحدات معالجة الرسومات في مثيل متعدد GPU من خلال دمج داسك الإطار.
يمكنك استخدام هذا الإعداد لإكمال التدريب بسرعة. بصرف النظر عن توفير الوقت ، سيكون هذا الخيار مفيدًا أيضًا للتغلب على الموانع مثل حدود المثيل (الناعمة) القصوى القابلة للاستخدام ، أو إذا كانت مهمة التدريب غير قادرة على توفير عدد كبير من مثيلات GPU الفردية لسبب ما.
تكوينات استخدام هذا الخيار هي نفسها الخيار السابق ، باستثناء الاختلافات التالية:
- أضف الجديد فرط المعلمة
use_dask_gpu_training
مع قيمة السلسلةtrue
. - عند إنشاء ملفات التدريب، اضبط معلمة التوزيع على
FullyReplicated
، سواء باستخدام حالات فردية أو متعددة. سيقوم إطار عمل Dask الأساسي بتنفيذ تحميل البيانات وتقسيم البيانات بين عمال Dask. هذا يختلف عن إعداد توزيع البيانات لجميع التدريبات الموزعة الأخرى باستخدام SageMaker XGBoost.
لاحظ أن تقسيم البيانات إلى ملفات أصغر لا يزال ساريًا على Parquet ، حيث سيقرأ Dask كل ملف كملف تقسيم. نظرًا لأنه سيكون لديك عامل Dask لكل GPU ، يجب أن يكون عدد الملفات أكبر من عدد المثيلات * عدد GPU لكل مثيل. أيضًا ، يمكن أن يؤدي جعل كل ملف صغير جدًا ووجود عدد كبير جدًا من الملفات إلى تدهور الأداء. لمزيد من المعلومات، راجع تجنب الرسوم البيانية الكبيرة جدًا. بالنسبة إلى CSV ، لا نزال نوصي بتقسيم الملفات الكبيرة إلى ملفات أصغر لتقليل وقت تنزيل البيانات وتمكين عمليات القراءة السريعة. ومع ذلك ، فهو ليس شرطًا.
حاليًا ، تنسيقات الإدخال المدعومة مع هذا الخيار هي:
text/csv
application/x-parquet
وضع الإدخال التالي مدعوم:
سيبدو الرمز مشابهًا لما يلي:
تُظهر لقطات الشاشة التالية سجل عمل تدريب ناجح من دفتر الملاحظات.
المعايير
قمنا بقياس مقاييس التقييم للتأكد من أن جودة النموذج لم تتدهور مع مسار التدريب متعدد وحدات معالجة الرسومات مقارنةً بتدريب GPU الفردي. قمنا أيضًا بقياس الأداء على مجموعات البيانات الكبيرة للتأكد من أن إعدادات GPU الموزعة لدينا كانت عالية الأداء وقابلة للتطوير.
الوقت القابل للفوترة يشير إلى وقت ساعة الحائط المطلق. وقت التدريب هو فقط وقت تدريب XGBoost ، ويقاس من train()
استدعاء حتى يتم حفظ النموذج في خدمة تخزين أمازون البسيطة (أمازون S3).
معايير الأداء على مجموعات البيانات الكبيرة
عادةً ما يكون استخدام وحدات معالجة الرسومات المتعددة مناسبًا لمجموعات البيانات الكبيرة ذات التدريب المعقد. أنشأنا مجموعة بيانات وهمية باستخدام 2,497,248,278 صفوف و 28 ميزة للاختبار. كانت مجموعة البيانات 150 جيجابايت وتتألف من 1,419 ملفًا. كان حجم كل ملف بين 105-115 ميغابايت. قمنا بحفظ البيانات بتنسيق باركيه في دلو S3. لمحاكاة تدريب معقد إلى حد ما ، استخدمنا مجموعة البيانات هذه لمهمة تصنيف ثنائية ، مع 1,000 جولة ، لمقارنة الأداء بين مسار التدريب على وحدة معالجة الرسومات الفردية ومسار التدريب متعدد وحدات معالجة الرسومات.
يحتوي الجدول التالي على وقت التدريب القابل للفوترة ومقارنة الأداء بين مسار التدريب لوحدة معالجة الرسومات الفردية ومسار التدريب متعدد وحدات معالجة الرسومات.
مسار تدريب أحادي GPU | |||
نوع الطلب | عدد المثيلات | الوقت / المثيل القابل للفوترة | وقت (أوقات) التدريب |
g4dn.xlarge | 20 | خارج الذاكرة | |
g4dn.2x تكبير | 20 | خارج الذاكرة | |
g4dn.4x تكبير | 15 | 1710 | 1551.9 |
16 | 1592 | 1412.2 | |
17 | 1542 | 1352.2 | |
18 | 1423 | 1281.2 | |
19 | 1346 | 1220.3 |
مسار تدريب متعدد GPU (مع Dask) | |||
نوع الطلب | عدد المثيلات | الوقت / المثيل القابل للفوترة | وقت (أوقات) التدريب |
g4dn.12x تكبير | 7 | خارج الذاكرة | |
8 | 1143 | 784.7 | |
9 | 1039 | 710.73 | |
10 | 978 | 676.7 | |
12 | 940 | 614.35 |
يمكننا أن نرى أن استخدام مثيلات GPU المتعددة يؤدي إلى وقت تدريب منخفض ووقت إجمالي منخفض. لا يزال مسار التدريب أحادي GPU يتمتع ببعض المزايا في تنزيل وقراءة جزء فقط من البيانات في كل حالة ، وبالتالي انخفاض وقت تنزيل البيانات. كما أنه لا يعاني من حمل داسك. لذلك ، يكون الفرق بين وقت التدريب والوقت الإجمالي أصغر. ومع ذلك ، نظرًا لاستخدام المزيد من وحدات معالجة الرسومات ، يمكن أن يؤدي إعداد وحدات معالجة الرسومات المتعددة إلى تقليل وقت التدريب بشكل كبير.
يجب عليك استخدام مثيل EC2 لديه قوة حسابية كافية لتجنب أخطاء الذاكرة عند التعامل مع مجموعات البيانات الكبيرة.
من الممكن تقليل الوقت الإجمالي بشكل أكبر باستخدام إعداد GPU الفردي باستخدام المزيد من المثيلات أو مثيلات أكثر قوة. ومع ذلك ، من حيث التكلفة ، قد يكون أكثر تكلفة. على سبيل المثال ، يوضح الجدول التالي وقت التدريب ومقارنة التكلفة مع مثيل GPU واحد g4dn.8xlarge.
مسار تدريب أحادي GPU | |||
نوع الطلب | عدد المثيلات | الوقت / المثيل القابل للفوترة | التكلفة ($) |
g4dn.8x تكبير | 15 | 1679 | 15.22 |
17 | 1509 | 15.51 | |
19 | 1326 | 15.22 |
مسار تدريب متعدد GPU (مع Dask) | |||
نوع الطلب | عدد المثيلات | الوقت / المثيل القابل للفوترة | التكلفة ($) |
g4dn.12x تكبير | 8 | 1143 | 9.93 |
10 | 978 | 10.63 | |
12 | 940 | 12.26 |
يعتمد حساب التكلفة على السعر عند الطلب لكل حالة. لمزيد من المعلومات ، يرجى الرجوع إلى مثيلات Amazon EC2 G4.
معايير جودة النموذج
بالنسبة لجودة النموذج ، قمنا بمقارنة مقاييس التقييم بين خيار Dask GPU وخيار GPU الفردي ، وقمنا بإجراء تدريب على أنواع مختلفة من المثيلات وعدد المثيلات. بالنسبة للمهام المختلفة ، استخدمنا مجموعات بيانات مختلفة ومعلمات فائقة ، مع تقسيم كل مجموعة بيانات إلى مجموعات تدريب وتحقق واختبار.
لتصنيف ثنائي (binary:logistic
) المهمة ، استخدمنا ملف هايغس مجموعة البيانات بتنسيق CSV. يحتوي قسم التدريب لمجموعة البيانات على 9,348,181 صفًا و 28 ميزة. كان عدد الطلقات المستخدمة 1,000. يلخص الجدول التالي النتائج.
تدريب متعدد معالجات الجرافيكس مع Dask | ||||||
نوع الطلب | عدد وحدات معالجة الرسومات / المثيل | عدد المثيلات | الوقت / المثيل القابل للفوترة | صحة ٪ | F1٪ | ROC الجامعة الأمريكية بالقاهرة٪ |
g4dn.2x تكبير | 1 | 1 | 343 | 75.97 | 77.61 | 84.34 |
g4dn.4x تكبير | 1 | 1 | 413 | 76.16 | 77.75 | 84.51 |
g4dn.8x تكبير | 1 | 1 | 413 | 76.16 | 77.75 | 84.51 |
g4dn.12x تكبير | 4 | 1 | 157 | 76.16 | 77.74 | 84.52 |
للانحدار (reg:squarederror
) ، استخدمنا ملف مدينة نيويورك الكابينة الخضراء مجموعة بيانات (مع بعض التعديلات) بتنسيق باركيه. يحتوي قسم التدريب لمجموعة البيانات على 72,921,051 صفًا و 8 ميزات. بلغ عدد الجولات المستخدمة 500 جولة. ويبين الجدول التالي النتائج.
تدريب متعدد معالجات الجرافيكس مع Dask | ||||||
نوع الطلب | عدد وحدات معالجة الرسومات / المثيل | عدد المثيلات | الوقت / المثيل القابل للفوترة | MSE | R2 | MAE |
g4dn.2x تكبير | 1 | 1 | 775 | 21.92 | 0.7787 | 2.43 |
g4dn.4x تكبير | 1 | 1 | 770 | 21.92 | 0.7787 | 2.43 |
g4dn.8x تكبير | 1 | 1 | 705 | 21.92 | 0.7787 | 2.43 |
g4dn.12x تكبير | 4 | 1 | 253 | 21.93 | 0.7787 | 2.44 |
تتشابه مقاييس جودة النموذج بين خيار التدريب على وحدات معالجة الرسومات المتعددة (Dask) وخيار التدريب الحالي. تظل جودة النموذج متسقة عند استخدام إعداد موزع مع مثيلات متعددة أو وحدات معالجة رسومات.
وفي الختام
في هذا المنشور ، قدمنا نظرة عامة حول كيفية استخدام مجموعات مختلفة من نوع المثيل وعدد المثيلات لتدريب GPU الموزع باستخدام SageMaker XGBoost. بالنسبة لمعظم حالات الاستخدام ، يمكنك استخدام مثيلات GPU المفردة. يوفر هذا الخيار نطاقًا واسعًا من المثيلات للاستخدام وهو فعال للغاية. يمكنك استخدام مثيلات متعددة لوحدات معالجة الرسومات للتدريب باستخدام مجموعات بيانات كبيرة والعديد من الجولات. يمكن أن يوفر تدريبًا سريعًا مع عدد أقل من المثيلات. بشكل عام ، يمكنك استخدام إعداد GPU الموزع الخاص بـ SageMaker XGBoost لتسريع تدريب XGBoost بشكل كبير.
لمعرفة المزيد حول SageMaker والتدريب الموزع باستخدام Dask ، تحقق من يقدم LightGBM المدمج في Amazon SageMaker الآن تدريبًا موزعًا باستخدام Dask
حول المؤلف
ديراج ثكور هو مهندس حلول مع Amazon Web Services. إنه يعمل مع عملاء وشركاء AWS لتقديم إرشادات حول اعتماد سحابة المؤسسة وترحيلها واستراتيجيتها. إنه متحمس للتكنولوجيا ويستمتع بالبناء والتجريب في مجال التحليلات و AI / ML.
ديوان شودري هو مهندس تطوير برمجيات مع Amazon Web Services. يعمل على خوارزميات Amazon SageMaker وعروض JumpStart. بصرف النظر عن بناء البنى التحتية للذكاء الاصطناعي / تعلم الآلة ، فهو متحمس أيضًا لبناء أنظمة موزعة قابلة للتطوير.
الدكتور شين هوانغ هو عالم تطبيقي في Amazon SageMaker JumpStart وخوارزميات Amazon SageMaker المدمجة. يركز على تطوير خوارزميات التعلم الآلي القابلة للتطوير. تتركز اهتماماته البحثية في مجال معالجة اللغة الطبيعية ، والتعلم العميق القابل للتفسير على البيانات المجدولة ، والتحليل القوي لتجميع الزمكان غير المعياري. وقد نشر العديد من الأوراق البحثية في ACL و ICDM ومؤتمرات KDD والجمعية الملكية للإحصاء: مجلة Series A.
توني كروز
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- أفلاطونايستريم. ذكاء بيانات Web3. تضخيم المعرفة. الوصول هنا.
- سك المستقبل مع أدرين أشلي. الوصول هنا.
- شراء وبيع الأسهم في شركات ما قبل الاكتتاب مع PREIPO®. الوصول هنا.
- المصدر https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-xgboost-now-offers-fully-distributed-gpu-training/