قلل وقت التدريب على التعلم العميق وتكلفته باستخدام MosaicML Composer على AWS PlatoBlockchain Data Intelligence. البحث العمودي. عاي.

قلل وقت التدريب على التعلم العميق وتكلفته باستخدام MosaicML Composer على AWS

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

التحدي مع تدريب DL

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

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

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

في هذا المنشور ، نقدم مكتبة جديدة مفتوحة المصدر تتخذ موقفًا مختلفًا من تدريب DL: ملحن MosaicML هي مكتبة تتمحور حول السرعة هدفها الأساسي هو جعل نصوص تدريب الشبكة العصبية أسرع عبر الابتكار الحسابي. في عالم DL السحابي ، من الحكمة التركيز على السرعة ، لأن البنية التحتية للحوسبة غالبًا ما يتم الدفع لها مقابل كل استخدام - حتى أقل من الثانية في تدريب Amazon SageMaker—يمكن أن تؤدي التحسينات في السرعة إلى توفير الأموال.

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

على الرغم من أن MosaicML Composer يدعم توازي البيانات ، إلا أن فلسفته الأساسية تختلف عن حركة توازي البيانات. هدفها هو تسريع التدريب دون الحاجة إلى المزيد من الآلات ، من خلال الابتكار على مستوى تنفيذ العلوم. لذلك ، فهي تهدف إلى تحقيق توفير الوقت الذي من شأنه أن يؤدي إلى توفير التكاليف بسبب هيكل رسوم الدفع لكل استخدام في AWS.

تقديم مكتبة MosaicML Composer مفتوحة المصدر

MosaicML Composer عبارة عن مكتبة تدريب مفتوحة المصدر مصممة خصيصًا لتسهيل جلب أحدث الخوارزميات وتكوينها في وصفات جديدة تسرع تدريب النموذج وتساعد على تحسين جودة النموذج. في وقت كتابة هذا التقرير ، كان يدعم PyTorch ويتضمن 25 تقنية — تسمى طرق في عالم MosaicML - جنبًا إلى جنب مع النماذج ومجموعات البيانات والمعايير القياسية

الملحن هو متاح عبر النقطة:

pip install mosaicml

يمكن الوصول إلى تقنيات التسريع المطبقة في Composer من خلال واجهة برمجة التطبيقات الوظيفية. على سبيل المثال ، المقتطف التالي يطبق ملف BlurPool تقنية لـ TorchVision ResNet:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

اختياريًا ، يمكنك أيضًا استخدام ملف مدرب لتكوين مجموعتك الخاصة من التقنيات:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

أمثلة على الطرق المطبقة في Composer

بعض الطرق المتوفرة في Composer خاصة برؤية الكمبيوتر ، على سبيل المثال تقنيات تكبير الصورة كولوت, انقطعالطرق أو تغيير حجم الصورة التدريجي. البعض الآخر محدد لنمذجة التسلسل ، مثل إحماء طول التسلسل or عليبي. ومن المثير للاهتمام ، أن العديد منها لا يعرف حالة الاستخدام ويمكن تطبيقها على مجموعة متنوعة من شبكات PyTorch العصبية بما يتجاوز رؤية الكمبيوتر ومعالجة اللغات الطبيعية. تتضمن طرق تسريع تدريب الشبكة العصبية العامة تلك تجانس التسمية, انتقائية Backprop, متوسط ​​الوزن العشوائي, تجميد طبقةو تصغير الحدة الواعية (SAM).

دعنا نتعمق في القليل منها التي وجد فريق MosaicML فعاليتها بشكل خاص:

  • تصغير الحدة الواعية (SAM) هو مُحسِّن من تقليل وظيفة فقدان النموذج وحدته عن طريق حساب التدرج اللوني مرتين لكل خطوة تحسين. للحد من الحساب الإضافي لمعاقبة الإنتاجية ، يمكن تشغيل SAM بشكل دوري.
  • الانتباه مع التحيزات الخطية (ALiBi)، مستوحاة من الصحافة وآخرون.، خاصة بنماذج المحولات. إنه يزيل الحاجة إلى حفلات الزفاف الموضعية ، واستبدالها بتحيز غير مكتسب لأوزان الانتباه.
  • انتقائية Backprop، مستوحاة من جيانغ وآخرون.، يسمح لك بتشغيل الانتشار العكسي (الخوارزميات التي تعمل على تحسين أوزان النموذج باتباع منحدر الخطأ) فقط على السجلات ذات وظيفة الخسارة العالية. تساعدك هذه الطريقة في تجنب الحوسبة غير الضرورية وتساعد على تحسين الإنتاجية.

إن توفر هذه التقنيات في إطار تدريب مدمج واحد يعد قيمة مضافة كبيرة لممارسي تعلم الآلة. ما هو ذو قيمة أيضًا هو التعليقات الميدانية القابلة للتنفيذ التي ينتجها فريق MosaicML لكل تقنية ، والتي تم اختبارها وتقييمها. ومع ذلك ، نظرًا لمثل هذه الأدوات الغنية ، قد تتساءل: ما الطريقة التي يجب أن أستخدمها؟ هل من الآمن الجمع بين استخدام طرق متعددة؟ أدخل MosaicML Explorer.

مستكشف MosaicML

لتقدير قيمة وتوافق أساليب تدريب DL ، يحافظ فريق MosaicML على ذلك استكشف، لوحة عدادات مباشرة هي الأولى من نوعها تصور عشرات من تجارب التدريب على DL عبر خمس مجموعات بيانات وسبعة نماذج. لوحة العدادات تصور ملف حدود باريتو المثلى في مفاضلة التكلفة / الوقت / الجودة ، ويسمح لك بالتصفح والعثور على مجموعات من الطرق ذات أعلى الدرجات - تسمى كنت وصفات في عالم MosaicML - لنموذج ومجموعة بيانات معينة. على سبيل المثال ، تُظهر الرسوم البيانية التالية أنه بالنسبة لتدريب GPT125 بمعامل 2M ، يتم الحصول على أرخص تدريب يحافظ على ارتباك 24.11 من خلال الجمع بين AliBi و Sequence Length Warmup و Scale Schedule ، لتبلغ تكلفة حوالي 145.83 دولارًا في سحابة AWS! ومع ذلك ، يرجى ملاحظة أن حساب التكلفة هذا وما يليه في هذا المنشور يعتمد على حساب EC2 عند الطلب فقط ، وقد تكون اعتبارات التكلفة الأخرى قابلة للتطبيق ، اعتمادًا على بيئتك واحتياجات عملك.

لقطة شاشة لـ MosaicML Explorer لتدريب GPT-2

إنجازات ملحوظة مع Composer على AWS

من خلال تشغيل مكتبة Composer على AWS ، حقق فريق MosaicML عددًا من النتائج الرائعة. لاحظ أن تقديرات التكاليف التي أبلغ عنها فريق MosaicML تتكون من رسوم الحوسبة عند الطلب فقط.

وفي الختام

يمكنك بدء استخدام Composer على أي نظام أساسي متوافق ، من الكمبيوتر المحمول إلى الخوادم السحابية الكبيرة المزودة بوحدة معالجة الرسومات. المكتبة ميزات بديهية مرحباً بجولة و كيف تبدأ صفحات التوثيق. يتيح لك استخدام Composer في AWS تجميع علم تحسين تكلفة Composer مع خدمات وبرامج تحسين تكلفة AWS ، بما في ذلك Spot compute (Amazon EC2, الأمازون SageMaker), خطة الادخار, SageMaker ضبط النموذج التلقائي، و اكثر. يحتفظ فريق MosaicML بملف البرنامج التعليمي من الملحن على AWS. يوفر عرضًا توضيحيًا خطوة بخطوة لكيفية إعادة إنتاج نتائج MLPerf وتدريب ResNet-50 على AWS إلى مستوى الدقة القياسي 76.6٪ أعلى 1 في 27 دقيقة فقط.

إذا كنت تعاني من شبكات عصبية تتدرب ببطء شديد ، أو إذا كنت تتطلع إلى إبقاء تكاليف تدريب DL الخاصة بك تحت السيطرة ، فجرّب MosaicML على AWS وأخبرنا بما تقوم ببنائه!


عن المؤلفين

قلل وقت التدريب على التعلم العميق وتكلفته باستخدام MosaicML Composer على AWS PlatoBlockchain Data Intelligence. البحث العمودي. عاي.بانديش شاه هو مدير هندسة في MosaicML ، ويعمل على ربط التعلم العميق الفعال بأنظمة موزعة على نطاق واسع وحوسبة الأداء. يتمتع Bandish بأكثر من عشر سنوات من الخبرة في بناء أنظمة للتعلم الآلي وتطبيقات المؤسسات. إنه يستمتع بقضاء الوقت مع الأصدقاء والعائلة والطهي ومشاهدة Star Trek بشكل متكرر للإلهام.

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

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

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