اختر أفضل مصدر بيانات لوظيفة تدريب Amazon SageMaker الخاصة بك PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

اختر أفضل مصدر بيانات لوظيفة تدريب Amazon SageMaker

الأمازون SageMaker هي خدمة مُدارة تسهل إنشاء نماذج التعلم الآلي (ML) وتدريبها ونشرها. يستخدم علماء البيانات وظائف تدريب SageMaker لتدريب نماذج ML بسهولة ؛ لا داعي للقلق بشأن إدارة موارد الحوسبة ، وأنت تدفع فقط مقابل وقت التدريب الفعلي. يعد استيعاب البيانات جزءًا لا يتجزأ من أي خط أنابيب تدريب ، وتدعم وظائف تدريب SageMaker مجموعة متنوعة من أوضاع تخزين البيانات وإدخالها لتناسب مجموعة واسعة من أعباء العمل التدريبية.

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

مصادر بيانات SageMaker الأصلية وأوضاع الإدخال

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

تتكامل آلية استيعاب التدريب من SageMaker بشكل أصلي مع ثلاث خدمات تخزين مُدارة من AWS:

  • خدمة تخزين أمازون البسيطة (Amazon S3) هي خدمة تخزين كائنات تقدم قابلية تطوير رائدة في الصناعة ، وتوفر البيانات ، والأمان ، والأداء.
  • أمازون FSx لستر هو تخزين مشترك مُدار بالكامل مع قابلية التوسع والأداء لنظام الملفات Luster الشهير. عادة ما يكون مرتبطًا بحاوية S3 موجودة.
  • نظام ملفات أمازون المرن (Amazon EFS) هو نظام ملفات مشترك للأغراض العامة وقابل للتطوير ومتاح بدرجة عالية مع مستويات أسعار متعددة. أما Amazon EFS فهي بدون خادم وتنمو وتتقلص تلقائيًا أثناء إضافة الملفات وإزالتها.

يسمح تدريب SageMaker للنص التدريبي الخاص بك بالوصول إلى مجموعات البيانات المخزنة على Amazon S3 أو FSx for Luster أو Amazon EFS ، كما لو كانت متوفرة على نظام ملفات محلي (عبر واجهة نظام ملفات متوافقة مع POSIX).

باستخدام Amazon S3 كمصدر بيانات ، يمكنك الاختيار بين وضع File ووضع FastFile ووضع الأنبوب:

  • وضع الملف - ينسخ SageMaker مجموعة بيانات من Amazon S3 إلى تخزين مثيل ML ، وهو مرفق متجر أمازون مطاط بلوك حجم (Amazon EBS) أو حجم NVMe SSD ، قبل بدء البرنامج النصي للتدريب.
  • وضع FastFile - يعرض SageMaker مجموعة بيانات موجودة في Amazon S3 كنظام ملفات POSIX في مثيل التدريب. يتم دفق ملفات مجموعة البيانات من Amazon S3 عند الطلب بينما يقرأها البرنامج النصي للتدريب.
  • وضع الأنابيب - يبث SageMaker مجموعة بيانات موجودة في Amazon S3 إلى مثيل تدريب ML كأنبوب Unix ، والذي يتدفق من Amazon S3 عند الطلب بينما يقرأ البرنامج النصي للتدريب البيانات من الأنبوب.

باستخدام FSx لـ Luster أو Amazon EFS كمصدر بيانات ، يقوم SageMaker بتثبيت نظام الملفات قبل بدء البرنامج النصي للتدريب.

قنوات إدخال التدريب

عند بدء تشغيل وظيفة تدريب SageMaker ، يمكنك تحديد ما يصل إلى 20 وظيفة مُدارة قنوات إدخال التدريب. يمكنك التفكير في القنوات كوحدة تجريد لإخبار وظيفة التدريب كيف وأين تحصل على البيانات التي يتم توفيرها لكود الخوارزمية لقراءتها من مسار نظام الملفات (على سبيل المثال ، /opt/ml/input/data/input-channel-name) على مثيل ML. يتم تسجيل قنوات التدريب المختارة كجزء من البيانات الوصفية لوظيفة التدريب من أجل تمكين تتبع النسب النموذجي الكامل لحالات الاستخدام مثل إعادة إنتاج وظائف التدريب أو أغراض حوكمة النموذج.

لاستخدام Amazon S3 كمصدر للبيانات ، عليك تحديد ملف التدريب لتحديد ما يلي:

  • وضع الإدخال الخاص بك (File أو FastFile أو Pipe mode)
  • التوزيع و خلط ترتيب
  • An S3DataType كواحدة من ثلاث طرق لتحديد العناصر في Amazon S3 التي تشكل مجموعة البيانات الخاصة بك:

بدلاً من ذلك ، بالنسبة لـ FSx لـ Luster أو Amazon EFS ، يمكنك تحديد ملف نظام الملفات.

يوضح الرسم التخطيطي التالي خمس وظائف تدريبية ، تم تكوين كل منها بمصدر بيانات مختلف ومجموعة وضع الإدخال:

اختر أفضل مصدر بيانات لوظيفة تدريب Amazon SageMaker الخاصة بك PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

مصادر البيانات وأنماط الإدخال

توفر الأقسام التالية نظرة عميقة على الاختلافات بين Amazon S3 (وضع الملف ، ووضع FastFile ، ووضع الأنبوب) ، و FSx لـ Luster ، و Amazon EFS كآليات استيعاب SageMaker.

وضع ملف Amazon S3

وضع الملف هو وضع الإدخال الافتراضي (إذا لم تحدد واحدًا بشكل صريح) ، وهو أكثر سهولة في الاستخدام. عند استخدام خيار الإدخال هذا ، يقوم SageMaker بتنزيل مجموعة البيانات من Amazon S3 في تخزين مثيل تدريب ML (Amazon EBS أو NVMe المحلي اعتمادًا على نوع المثيل) نيابةً عنك قبل بدء تدريب النموذج ، بحيث يتمكن البرنامج النصي للتدريب من قراءة مجموعة البيانات من نظام الملفات المحلي. في هذه الحالة ، يجب أن يحتوي المثيل على مساحة تخزين كافية لملاءمة مجموعة البيانات بأكملها.

يمكنك تكوين مجموعة البيانات لوضع الملف عن طريق توفير بادئة S3 أو ملف بيان أو ملف بيان مُضاف.

يجب عليك استخدام بادئة S3 عندما تكون جميع ملفات مجموعة البيانات موجودة داخل بادئة مشتركة S3 (المجلدات الفرعية على ما يرام).

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

وضع الملف متوافق مع الوضع المحلي SageMaker (بدء حاوية تدريب SageMaker بشكل تفاعلي في ثوانٍ). بالنسبة للتدريب الموزع ، يمكنك تجزئة مجموعة البيانات عبر مثيلات متعددة بامتداد ShardedByS3Key الخيار.

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

وضع Amazon S3 FastFile

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

لتسهيل ذلك ، يسرد SageMaker جميع البيانات الوصفية للكائنات المخزنة تحت بادئة S3 المحددة قبل تشغيل البرنامج النصي للتدريب. تُستخدم هذه البيانات الوصفية لإنشاء ملف للقراءة فقط فيوز (نظام الملفات في مساحة المستخدمين) المتاح لسيناريو التدريب الخاص بك عبر /opt/ml/data/training-channel-name. يتم تشغيل قائمة كائنات S3 بسرعة 5,500 عنصر في الثانية بغض النظر عن حجمها. هذا أسرع بكثير من تنزيل الملفات مقدمًا ، كما هو الحال مع وضع الملف. أثناء تشغيل البرنامج النصي التدريبي ، يمكنه سرد الملفات أو قراءتها كما لو كانت متوفرة محليًا. يتم تفويض كل عملية قراءة إلى خدمة FUSE ، والتي تقوم بتوكيل طلبات GET إلى Amazon S3 من أجل تسليم محتوى الملف الفعلي إلى المتصل. مثل نظام الملفات المحلي ، يتعامل FastFile مع الملفات على أنها بايت ، لذا فهو لا يعرف تنسيقات الملفات. يمكن أن يصل وضع FastFile إلى معدل نقل يزيد عن واحد جيجابايت / ثانية عند قراءة الملفات الكبيرة بالتتابع باستخدام عدة عمال. يمكنك استخدام FastFile لقراءة الملفات الصغيرة أو استرداد نطاقات البايت العشوائية ، ولكن يجب أن تتوقع إنتاجية أقل لأنماط الوصول هذه. يمكنك تحسين نمط الوصول للقراءة عن طريق إجراء تسلسل للعديد من الملفات الصغيرة في حاويات ملفات أكبر ، وقراءتها بالتسلسل.

يدعم FastFile حاليًا بادئات S3 فقط (لا يوجد دعم للبيان والبيان المعزز) ، ووضع FastFile متوافق مع الوضع المحلي SageMaker.

وضع الأنابيب في Amazon S3

وضع الأنبوب هو وضع دفق آخر يتم استبداله إلى حد كبير بوضع FastFile الأحدث والأبسط في الاستخدام.

باستخدام وضع الأنبوب ، يتم جلب البيانات مسبقًا من Amazon S3 بتزامن وإنتاجية عالية ، ويتم دفقها إلى أنابيب FIFO المسماة بنظام Unix. يمكن قراءة كل أنبوب بعملية واحدة فقط. امتداد خاص بـ SageMaker لـ TensorFlow بشكل ملائم يدمج وضع الأنابيب في محمل بيانات TensorFlow الأصلي لتدفق النص أو سجلات TFRecords أو تنسيقات ملفات RecordIO. يدعم وضع الأنبوب أيضًا التجزئة المُدارة وخلط البيانات.

FSx للبريق

يمكن لـ FSx for Luster التوسع إلى مئات الجيجابايت / ثانية من الإنتاجية وملايين عمليات الإدخال / الإخراج في الثانية مع استرداد الملفات بزمن انتقال منخفض.

عند بدء مهمة تدريبية ، يقوم SageMaker بتحميل FSx لنظام ملفات Luster إلى نظام ملفات مثيل التدريب ، ثم يبدأ البرنامج النصي التدريبي الخاص بك. يعتبر التثبيت نفسه عملية سريعة نسبيًا لا تعتمد على حجم مجموعة البيانات المخزنة في FSx من أجل Luster.

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

بامكانك ايضا تحميل الملفات مسبقًا في نظام الملفات قبل بدء مهمة التدريب ، مما يخفف من البداية الباردة بسبب التحميل البطيء. من الممكن أيضًا تشغيل وظائف تدريبية متعددة على التوازي والتي يتم خدمتها بواسطة نفس FSx لنظام الملفات Luster. للوصول إلى FSx لـ Luster ، يجب أن تتصل وظيفتك التدريبية بـ VPC (انظر إعدادات VPCConfig) ، الأمر الذي يتطلب إعداد DevOps والمشاركة فيه. لتجنب تكاليف نقل البيانات ، يستخدم نظام الملفات منطقة توافر واحدة ، وتحتاج إلى تحديد معرف منطقة توافر الخدمات هذا عند تشغيل مهمة التدريب. نظرًا لأنك تستخدم Amazon S3 كمخزن بيانات طويل المدى ، فإننا نوصي بنشر FSx الخاص بك لـ Luster مع تخزين Scratch 2 ، كخيار تخزين قصير الأجل وفعال من حيث التكلفة للإنتاجية العالية ، مما يوفر خطًا أساسيًا يبلغ 200 ميجابايت / ثانية واندفاع يصل إلى 1300 ميجابايت / ثانية لكل تيرابايت من مساحة التخزين المتوفرة.

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

أمازون EFS

نوصي باستخدام Amazon EFS إذا كانت بيانات التدريب الخاصة بك موجودة بالفعل في Amazon EFS بسبب حالات الاستخدام إلى جانب تدريب ML. لاستخدام Amazon EFS كمصدر بيانات ، يجب أن تكون البيانات موجودة بالفعل في Amazon EFS قبل التدريب. يقوم SageMaker بتثبيت نظام ملفات Amazon EFS المحدد على مثيل التدريب ، ثم يبدأ البرنامج النصي للتدريب. عند تكوين نظام ملفات Amazon EFS ، تحتاج إلى الاختيار بين وضع الأداء الافتراضي للأغراض العامة ، والذي تم تحسينه لوقت الاستجابة (جيد للملفات الصغيرة) ، ووضع أداء الإدخال / الإخراج الأقصى ، والذي يمكن توسيعه إلى مستويات أعلى من إجمالي الإنتاجية و عمليات في الثانية (أفضل لوظائف التدريب مع العديد من العاملين في I / O). لمعرفة المزيد ، يرجى الرجوع إلى استخدام وضع الأداء الصحيح.

بالإضافة إلى ذلك ، يمكنك الاختيار من بين خيارين من خيارات الإنتاجية المقاسة: سرعة النقل السريع والإنتاجية المتوفرة. يوفر إنتاجية الاندفاع لنظام الملفات سعة 1 تيرابايت خطًا أساسيًا يبلغ 150 ميجابايت / ثانية ، مع القدرة على الاندفاع إلى 300 ميجابايت / ثانية لمدة 12 ساعة في اليوم. إذا كنت بحاجة إلى معدل نقل أساسي أعلى ، أو وجدت نفسك تنفد من أرصدة الاندفاع عدة مرات ، فيمكنك إما زيادة حجم نظام الملفات أو التبديل إلى الإنتاجية المتوفرة. في معدل النقل المقدم ، تدفع مقابل معدل نقل البيانات الأساسي المطلوب بحد أقصى 3072 ميجابايت / ثانية للقراءة.

يجب أن تتصل وظيفتك التدريبية بـ VPC (انظر إعدادات VPCConfig) للوصول إلى Amazon EFS.

اختيار أفضل مصدر للبيانات

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

يوفر المخطط الانسيابي التالي بعض الإرشادات لمساعدتك على البدء:
اختر أفضل مصدر بيانات لوظيفة تدريب Amazon SageMaker الخاصة بك PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

متى تستخدم Amazon EFS

إذا كانت مجموعة البيانات الخاصة بك مخزنة بشكل أساسي على Amazon EFS ، فقد يكون لديك تطبيق معالجة مسبقة أو تعليقات توضيحية يستخدم Amazon EFS للتخزين. يمكنك بسهولة تشغيل مهمة تدريبية تم تكوينها باستخدام قناة بيانات تشير إلى نظام ملفات Amazon EFS (لمزيد من المعلومات ، يرجى الرجوع إلى تسريع التدريب على Amazon SageMaker باستخدام Amazon FSx لأنظمة الملفات Luster و Amazon EFS). إذا لم يكن الأداء جيدًا كما توقعت ، فتحقق من خيارات التحسين باستخدام دليل أداء Amazon EFS، أو ضع في اعتبارك أوضاع الإدخال الأخرى.

استخدم وضع الملف لمجموعات البيانات الصغيرة

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

تسلسل العديد من الملفات الصغيرة معًا

إذا كان حجم مجموعة البيانات الخاصة بك صغيرًا (أقل من 50-100 جيجا بايت) ، ولكنه يتكون من العديد من الملفات الصغيرة (أقل من 50 ميجا بايت) ، فسيزداد حمل وضع الملف ، لأن كل ملف يحتاج إلى التنزيل بشكل فردي من Amazon S3 إلى حجم مثيل التدريب. لتقليل هذا الحمل ، ولتسريع اجتياز البيانات بشكل عام ، ضع في اعتبارك إجراء تسلسل لمجموعات من الملفات الأصغر حجمًا إلى حاويات ملفات أكبر (مثل 150 ميجابايت لكل ملف) باستخدام تنسيقات ملفات مثل TFRecord لـ TensorFlow ، WebDataset لـ PyTorch أو تسجيل لـ MXNet. تتطلب هذه التنسيقات أداة تحميل البيانات الخاصة بك لتكرار الأمثلة بالتتابع. لا يزال بإمكانك تبديل بياناتك عن طريق إعادة ترتيب قائمة ملفات TFRecord بشكل عشوائي بعد كل فترة ، وعن طريق أخذ عينات عشوائية من البيانات من مخزن مؤقت عشوائي عشوائي (انظر ما يلي مثال على TensorFlow).

متى يجب استخدام وضع FastFile

بالنسبة لمجموعات البيانات الأكبر حجمًا التي تحتوي على ملفات أكبر (أكثر من 50 ميجابايت) ، فإن الخيار الأول هو تجربة وضع FastFile ، وهو أكثر سهولة في الاستخدام من FSx لـ Luster لأنه لا يتطلب إنشاء نظام ملفات ، أو الاتصال بـ VPC. يعد وضع FastFile مثاليًا لحاويات الملفات الكبيرة (أكثر من 150 ميجابايت) ، وقد يعمل بشكل جيد أيضًا مع الملفات التي يزيد حجمها عن 50 ميجابايت. نظرًا لأن وضع FastFile يوفر واجهة POSIX ، فإنه يدعم عمليات القراءة العشوائية (قراءة نطاقات البايت غير المتسلسلة). ومع ذلك ، فهذه ليست حالة الاستخدام المثالية ، ومن المحتمل أن يكون معدل النقل أقل من القراءات المتسلسلة. ومع ذلك ، إذا كان لديك نموذج ML كبير نسبيًا ومكثف من الناحية الحسابية ، فقد يظل وضع FastFile قادرًا على تشبع النطاق الترددي الفعال لخط أنابيب التدريب ولا ينتج عنه اختناق في الإدخال / الإخراج. ستحتاج إلى التجربة والرؤية. لحسن الحظ ، فإن التبديل من وضع الملف إلى FastFile (والعودة) سهل مثل إضافة (أو إزالة) ملف input_mode='FastFile' المعلمة أثناء تحديد قناة الإدخال الخاصة بك باستخدام SageMaker Python SDK:

sagemaker.inputs.TrainingInput(S3_INPUT_FOLDER, input_mode='FastFile') 

لا يحتاج أي رمز أو تكوين آخر للتغيير.

متى تستخدم FSx من أجل Luster

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

اعتبارات التكلفة

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

سعة التخزين جيجا بايت في الشهر

يمكن أن تكون مساحة التخزين التي تبلغ جيجابايت شهريًا مهمة لمجموعات البيانات الأكبر ، مثل مقاطع الفيديو وبيانات مستشعر LiDAR وسجلات عروض الأسعار في الوقت الفعلي في AdTech. على سبيل المثال ، تخزين 1 تيرابايت في ملف طبقة الوصول المتكرر Amazon S3 Intelligent-Tiering تكلف 23 دولارًا في الشهر. تؤدي إضافة FSx لنظام الملفات Luster أعلى Amazon S3 إلى تكاليف إضافية. على سبيل المثال ، إنشاء نظام ملفات بسعة 1.2 تيرابايت من نوع Scratch 2 المدعوم من SSD مع تعطيل ضغط البيانات يكلف 168 دولارًا إضافيًا شهريًا (140 دولارًا لكل تيرابايت في الشهر).

مع Amazon S3 و Amazon EFS ، تدفع فقط مقابل ما تستخدمه ، مما يعني أنه يتم تحصيل رسوم منك وفقًا لحجم مجموعة البيانات الفعلي. مع FSx for Luster ، يتم تحصيل رسوم منك حسب حجم نظام الملفات المخصص (1.2 تيرابايت كحد أدنى). عند تشغيل مثيلات ML مع وحدات تخزين EBS ، يتم تحصيل رسوم Amazon EBS بشكل مستقل عن مثيل ML. عادة ما تكون هذه تكلفة أقل بكثير مقارنة بتكلفة تشغيل المثيل. على سبيل المثال ، فإن تشغيل مثيل ml.p3.2xlarge مع حجم تخزين EBS 100 جيجابايت لمدة ساعة يكلف 1 دولارًا أمريكيًا للمثيل و 3.825 دولارًا أمريكيًا لوحدة تخزين EBS.

طلبات API وتكلفة الإنتاجية المقدمة

أثناء قيامك بالتدريب في مجموعة البيانات ، فإنها تسرد الملفات وتجلبها عن طريق إرسال طلبات Amazon S3 API. على سبيل المثال ، يتم تسعير كل مليون طلب GET بـ 0.4 دولار (مع فئة Intelligent-Tiering). يجب ألا تتوقع أي تكلفة لنقل البيانات للنطاق الترددي داخل وخارج Amazon S3 ، لأن التدريب يتم في منطقة توافر واحدة.

عند استخدام FSx لـ Luster المرتبط بحاوية S3 ، فإنك تتحمل تكاليف طلب Amazon S3 API لقراءة البيانات التي لم يتم تخزينها مؤقتًا في نظام الملفات ، لأن FSx For Luster يقوم بتوصيل الطلب إلى Amazon S3 (وتخزين النتيجة مؤقتًا ). لا توجد تكاليف طلب مباشر لـ FSx لـ Luster نفسها. عند استخدام FSx لنظام الملفات Luster ، تجنب تكاليف نقل بيانات منطقة التوافر المتقاطعة عن طريق تشغيل وظيفة التدريب الخاصة بك المتصلة بنفس منطقة توافر الخدمات التي قمت بتوفير نظام الملفات فيها. أما Amazon EFS مع معدل نقل البيانات الموفر ، فيضيف تكلفة إضافية إلى ما هو أبعد من ذلك. جيجا بايت في الشهر.

دراسة حالة الأداء

لإثبات اعتبارات أداء التدريب المذكورة سابقًا ، أجرينا سلسلة من المعايير لحالة استخدام واقعية في مجال رؤية الكمبيوتر. قد لا يكون المعيار (والوجبات الجاهزة) من هذا القسم قابلاً للتطبيق على جميع السيناريوهات ، ويتأثر بالعديد من العوامل المحددة مسبقًا التي استخدمناها ، مثل DNN. أجرينا اختبارات لـ 12 توليفة مما يلي:

  • أوضاع الإدخال - FSx للبريق ، ووضع الملف ، ووضع FastFile
  • حجم مجموعة البيانات - مجموعة بيانات أصغر (1 جيجابايت) ومجموعة بيانات أكبر (54 جيجابايت)
  • حجم الملف - ملفات أصغر (JPG ، حوالي 39 كيلوبايت) ، ملفات أكبر (TFRecord ، حوالي 110 ميجابايت)

بالنسبة لدراسة الحالة هذه ، اخترنا أوضاع الإدخال الأكثر استخدامًا ، وبالتالي حذفنا Amazon EFS ووضع الأنابيب.

تم تصميم معايير دراسة الحالة كوظائف تدريب SageMaker TensorFlow من طرف إلى طرف على مثيل واحد من GPU بحجم ml.p3.2xlarge. لقد اخترنا ResNet-50 الشهير كنموذج العمود الفقري لمهمة التصنيف و Caltech-256 كمجموعة بيانات تدريب أصغر (والتي قمنا بتكرارها 50 مرة لإنشاء إصدار أكبر من مجموعة البيانات). لقد أجرينا التدريب لفترة واحدة ، تم تعريفها على أنها اكتساح واحد كامل يعتقد أمثلة التدريب.

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

اختر أفضل مصدر بيانات لوظيفة تدريب Amazon SageMaker الخاصة بك PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

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

السيناريو أ (ملفات أصغر ، مجموعة بيانات أصغر) يكشف أن مهمة التدريب مع FSx لنظام الملفات Luster لديها أصغر وقت للفوترة. يحتوي على أقصر مرحلة تنزيل ، ومرحلة التدريب الخاصة به تكون سريعة مثل وضع الملف ، ولكن أسرع من FastFile. FSx for Luster هو الفائز في اختبار العصر الفردي هذا. بعد قولي هذا ، ضع في اعتبارك عبء عمل مشابهًا ولكن مع فترات متعددة - يتناقص الحمل النسبي لوضع الملف بسبب مرحلة التنزيل مع إضافة المزيد من العهود. في هذه الحالة ، نفضل وضع الملف لسهولة استخدامه. بالإضافة إلى ذلك ، قد تجد أن استخدام وضع الملف والدفع مقابل 100 ثانية إضافية قابلة للفوترة هو خيار أفضل من الدفع مقابل وتوفير FSx لنظام الملفات اللامع.

السيناريو ج (الملفات الأصغر ، مجموعة البيانات الأكبر) تُظهر FSx لـ Luster باعتباره الوضع الأسرع ، مع 5,000 ثانية فقط من إجمالي الوقت القابل للفوترة. كما أن لديها أقصر مرحلة للتنزيل ، لأن تركيب FSx لنظام الملفات Luster لا يعتمد على عدد الملفات في نظام الملفات (1.5 مليون ملف في هذه الحالة). تحميل FastFile صغير أيضًا ؛ يقوم فقط بجلب البيانات الوصفية للملفات الموجودة ضمن بادئة حاوية S3 المحددة ، بينما تتم قراءة محتوى الملفات أثناء مرحلة التدريب. وضع الملف هو أبطأ وضع ، حيث يستغرق 10,000 ثانية لتنزيل مجموعة البيانات بالكامل مقدمًا قبل بدء التدريب. عندما ننظر إلى مرحلة التدريب ، تظهر FSx لوضع Luster و File أداءً ممتازًا مماثلاً. بالنسبة إلى وضع FastFile ، عند دفق ملفات أصغر مباشرة من Amazon S3 ، يصبح الحمل الزائد لإرسال طلب GET جديد لكل ملف مهمًا بالنسبة إلى المدة الإجمالية لنقل الملف (على الرغم من استخدام أداة تحميل بيانات متوازية للغاية مع مخزن مؤقت للإحضار المسبق). ينتج عن هذا إنتاجية أقل بشكل عام لوضع FastFile ، مما يؤدي إلى حدوث اختناق في الإدخال / الإخراج لمهمة التدريب. FSx for Luster هو الفائز الواضح في هذا السيناريو.

السيناريوهان "ب" و "د" إظهار اختلاف الأداء عبر أوضاع الإدخال عندما تتكون مجموعة البيانات من عدد أقل من الملفات الأكبر حجمًا. عادةً ما تؤدي القراءة المتسلسلة باستخدام ملفات أكبر إلى أداء إدخال / إخراج أفضل لأنها تتيح التخزين المؤقت الفعال وتقليل عدد عمليات الإدخال / الإخراج.

السيناريو ب (الملفات الأكبر حجمًا ، مجموعة البيانات الأصغر) تُظهر وقتًا مشابهًا لمرحلة التدريب لجميع الأوضاع (تشهد على أن التدريب ليس مرتبطًا بـ I / O). في هذا السيناريو ، نفضل وضع FastFile على وضع File نظرًا لمرحلة التنزيل الأقصر ، ونفضل وضع FastFile على FSx لـ Luster نظرًا لسهولة استخدام السابق.

السيناريو د (الملفات الأكبر حجمًا ، مجموعة البيانات الأكبر) تظهر إجمالي أوقات الفوترة متشابهة نسبيًا لجميع الأوضاع الثلاثة. تعد مرحلة التنزيل في وضع الملف أطول من تلك الخاصة بـ FSx لـ Luster و FastFile. يقوم وضع الملف بتنزيل مجموعة البيانات بالكامل (54 جيجابايت) من Amazon S3 إلى مثيل التدريب قبل بدء مرحلة التدريب. تقضي جميع الأوضاع الثلاثة وقتًا متشابهًا في مرحلة التدريب ، لأن جميع الأوضاع يمكنها جلب البيانات بسرعة كافية وتكون مرتبطة بوحدة معالجة الرسومات. إذا استخدمنا مثيلات ML مع موارد وحدة المعالجة المركزية أو وحدة معالجة الرسومات الإضافية ، مثل ml.p4d.24xlarge ، فإن إنتاجية إدخال / إخراج البيانات المطلوبة لإشباع موارد الحوسبة تزداد. في هذه الحالات ، يمكننا أن نتوقع أن يقوم FastFile و FSx لـ Luster بتوسيع نطاق نقلهما بنجاح (ومع ذلك ، يعتمد FSx للإنتاجية اللامعة على حجم نظام الملفات المتوفر). تعتمد قدرة وضع الملف على قياس سرعة نقله على معدل نقل حجم القرص المرتبط بالمثيل. على سبيل المثال ، المثيلات المدعومة من Amazon EBS (مثل ml.p3.2xlarge و ml.p3.8xlarge و ml.p3.16xlarge) محدودة بحد أقصى للإنتاجية يبلغ 250 ميجابايت / ثانية ، في حين أن المثيلات المحلية المدعومة من NVMe (مثل ml. g5. * أو ml.p4d.24xlarge) يمكن أن تستوعب إنتاجية أكبر بكثير.

للتلخيص ، نعتقد أن FastFile هو الفائز في هذا السيناريو لأنه أسرع من وضع File ، وبسرعة FSx لـ Luster ، ولكنه أكثر سهولة في الاستخدام ، وتكاليف أقل ، ويمكنه بسهولة زيادة الإنتاجية حسب الحاجة.

بالإضافة إلى ذلك ، إذا كان لدينا مجموعة بيانات أكبر بكثير (عدة تيرابايت في الحجم) ، فإن وضع الملف سيقضي ساعات عديدة في تنزيل مجموعة البيانات قبل أن يبدأ التدريب ، في حين أن FastFile يمكن أن يبدأ التدريب بشكل أسرع.

جلب البيانات الخاصة بك

يناسب مصدر البيانات الأصلي لـ SageMaker معظم سيناريوهات تدريب ML الممكنة وليس جميعها. قد تتضمن المواقف التي قد تحتاج فيها إلى البحث عن خيارات أخرى لاستيعاب البيانات قراءة البيانات مباشرةً من منتج تخزين تابع لجهة خارجية (على افتراض أن التصدير السهل وفي الوقت المناسب إلى Amazon S3 غير ممكن) ، أو وجود متطلبات قوية لنفس التدريب البرنامج النصي للتشغيل دون تغيير على كل من SageMaker و الأمازون الحوسبة المرنة السحابية (Amazon EC2) أو خدمة أمازون مطاطا Kubernetes (أمازون EKS). يمكنك معالجة هذه الحالات من خلال تنفيذ آلية استيعاب البيانات الخاصة بك في البرنامج النصي للتدريب. هذه الآلية مسؤولة عن قراءة مجموعات البيانات من مصادر البيانات الخارجية إلى مثيل التدريب. على سبيل المثال ، ملف TFRecordDataset من TensorFlow tf.data يمكن للمكتبة القراءة مباشرة من تخزين Amazon S3.

إذا كانت آلية استيعاب البيانات الخاصة بك بحاجة إلى الاتصال بأي من خدمات AWS ، مثل خدمة قاعدة بيانات الأمازون (Amazon RDS) ، تأكد من أن ملف إدارة الهوية والوصول AWS يتضمن دور (IAM) في وظيفتك التدريبية سياسات IAM ذات الصلة. إذا كان مصدر البيانات موجودًا في سحابة أمازون الافتراضية الخاصة (Amazon VPC) ، تحتاج إلى تشغيل وظيفتك التدريبية المتصلة بنفس VPC.

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

وفي الختام

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


حول المؤلف

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

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

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

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