اليوم الأمازون SageMaker أعلن عن دعم النسخ الاحتياطية لمثيل تدريب SageMaker لـ الضبط التلقائي للنموذج Amazon SageMaker (AMT) التي تسمح للمستخدمين بتحديد تكوينات بديلة لموارد الحوسبة.
يعثر الضبط التلقائي لنموذج SageMaker على أفضل إصدار من النموذج عن طريق تشغيل العديد من مهام التدريب على مجموعة البيانات الخاصة بك باستخدام نطاقات من المعلمات الفائقة التي تحددها للخوارزمية الخاصة بك. بعد ذلك ، يختار قيم المعلمة التشعبية التي ينتج عنها نموذج يحقق أفضل أداء ، كما تم قياسه بواسطة a متري التي تختارها.
في السابق ، كان لدى المستخدمين فقط خيار تحديد تكوين مثيل واحد. يمكن أن يؤدي هذا إلى مشاكل عندما لا يكون نوع المثيل المحدد متاحًا بسبب الاستخدام العالي. في الماضي ، كانت وظائف التدريب الخاصة بك تفشل بسبب خطأ غير كافي من حيث القدرة (ICE). استخدمت AMT عمليات إعادة المحاولة الذكية لتجنب هذه الإخفاقات في كثير من الحالات ، لكنها ظلت عاجزة في مواجهة السعة المنخفضة المستمرة.
تعني هذه الميزة الجديدة أنه يمكنك تحديد قائمة تكوينات المثيل بترتيب التفضيل ، بحيث تعود وظيفة AMT تلقائيًا إلى المثيل التالي في القائمة في حالة السعة المنخفضة.
في الأقسام التالية ، نسير عبر هذه الخطوات عالية المستوى للتغلب على ICE:
- تحديد تكوين وظيفة HyperParameter Tuning Job
- تحديد معلمات وظيفة التدريب
- قم بإنشاء وظيفة ضبط المعامل التشعبي
- وصف وظيفة التدريب
تحديد تكوين وظيفة HyperParameter Tuning Job
• HyperParameterTuningJobConfig يصف الكائن وظيفة الضبط ، بما في ذلك استراتيجية البحث ، والقياس الموضوعي المستخدم لتقييم وظائف التدريب ، ونطاقات المعلمات للبحث ، وحدود الموارد لوظيفة الضبط. لم يتغير هذا الجانب مع إصدار ميزة اليوم. ومع ذلك ، سوف نتجاوزها لإعطاء مثال كامل.
• ResourceLimits
يحدد الكائن الحد الأقصى لعدد وظائف التدريب ووظائف التدريب الموازية لوظيفة التوليف هذه. في هذا المثال ، نقوم بعمل ملف بحث عشوائي الاستراتيجية وتحديد 10 وظائف كحد أقصى (MaxNumberOfTrainingJobs
) و 5 وظائف متزامنة (MaxParallelTrainingJobs
) في الوقت.
• ParameterRanges
يحدد الكائن نطاقات المعامِلات الفائقة التي يبحث عنها هذا الضبط الوظيفي. نحدد الاسم وكذلك الحد الأدنى والحد الأقصى لقيمة المعامل التشعبي للبحث. في هذا المثال ، نحدد القيم الدنيا والقصوى لنطاقات المعامل المستمر والصحيح واسم المعلمة الفائقة ("eta" ، "max_depth").
AmtTuningJobConfig={
"Strategy": "Random",
"ResourceLimits": {
"MaxNumberOfTrainingJobs": 10,
"MaxParallelTrainingJobs": 5
},
"HyperParameterTuningJobObjective": {
"MetricName": "validation:rmse",
"Type": "Minimize"
},
"ParameterRanges": {
"CategoricalParameterRanges": [],
"ContinuousParameterRanges": [
{
"MaxValue": "1",
"MinValue": "0",
"Name": "eta"
}
],
"IntegerParameterRanges": [
{
"MaxValue": "6",
"MinValue": "2",
"Name": "max_depth"
}
]
}
}
تحديد معلمات وظيفة التدريب
في تعريف وظيفة التدريب ، نحدد المدخلات اللازمة لتشغيل وظيفة تدريبية باستخدام الخوارزمية التي نحددها. بعد انتهاء التدريب ، يقوم SageMaker بحفظ عيوب النموذج الناتجة في ملف خدمة Amazon Simple Storage (Amazon S3) الموقع الذي تحدده.
في السابق ، حددنا نوع المثيل والعدد وحجم الحجم تحت ResourceConfig
معامل. عندما لم يكن المثيل الموجود ضمن هذه المعلمة متاحًا ، تم إلقاء خطأ غير كافٍ في السعة (ICE).
لتجنب هذا ، لدينا الآن HyperParameterTuningResourceConfig
المعلمة تحت TrainingJobDefinition
، حيث نحدد قائمة من الأمثلة التي يجب الرجوع إليها. تنسيق هذه الحالات هو نفسه في تنسيق ResourceConfig
. ستجتاز المهمة القائمة من أعلى إلى أسفل للعثور على تكوين مثيل متاح. إذا كان المثيل غير متاح ، فبدلاً من خطأ غير كافٍ في السعة (ICE) ، يتم اختيار المثيل التالي في القائمة ، وبالتالي التغلب على ICE.
TrainingJobDefinition={
"HyperParameterTuningResourceConfig": {
"InstanceConfigs": [
{
"InstanceType": "ml.m4.xlarge",
"InstanceCount": 1,
"VolumeSizeInGB": 5
},
{
"InstanceType": "ml.m5.4xlarge",
"InstanceCount": 1,
"VolumeSizeInGB": 5
}
]
},
"AlgorithmSpecification": {
"TrainingImage": "433757028032.dkr.ecr.us-west-2.amazonaws.com/xgboost:latest",
"TrainingInputMode": "File"
},
"InputDataConfig": [
{
"ChannelName": "train",
"CompressionType": "None",
"ContentType": "json",
"DataSource": {
"S3DataSource": {
"S3DataDistributionType": "FullyReplicated",
"S3DataType": "S3Prefix",
"S3Uri": "s3://<bucket>/test/"
}
},
"RecordWrapperType": "None"
}
],
"OutputDataConfig": {
"S3OutputPath": "s3://<bucket>/output/"
},
"RoleArn": "arn:aws:iam::340308762637:role/service-role/AmazonSageMaker-ExecutionRole-20201117T142856",
"StoppingCondition": {
"MaxRuntimeInSeconds": 259200
},
"StaticHyperParameters": {
"training_script_loc": "q2bn-sagemaker-test_6"
},
}
قم بتشغيل وظيفة ضبط المعلمة الفائقة
في هذه الخطوة ، نقوم بإنشاء وتشغيل وظيفة ضبط المعلمة الفائقة باستخدام تكوين مورد ضبط المعلمة الفائقة المحدد أعلاه.
نقوم بتهيئة عميل SageMaker وإنشاء الوظيفة عن طريق تحديد تكوين الضبط وتعريف وظيفة التدريب واسم الوظيفة.
import boto3
sm = boto3.client('sagemaker')
sm.create_hyper_parameter_tuning_job(
HyperParameterTuningJobName="my-job-name",
HyperParameterTuningJobConfig=AmtTuningJobConfig,
TrainingJobDefinition=TrainingJobDefinition)
وصف وظائف التدريب
تسرد الوظيفة التالية جميع أنواع المثيلات المستخدمة أثناء التجربة ويمكن استخدامها للتحقق مما إذا كان مثيل تدريب SageMaker قد تراجع تلقائيًا إلى المثيل التالي في القائمة أثناء تخصيص الموارد.
وفي الختام
في هذا المنشور ، أوضحنا كيف يمكنك الآن تحديد مجموعة من الحالات التي يمكن أن تتراجع فيها تجربة AMT في حالة InsufficientCapacityError
. لقد رأينا كيفية تحديد تكوين وظيفة ضبط المعلمة الفائقة ، وكذلك تحديد الحد الأقصى لعدد وظائف التدريب والوظائف الموازية القصوى. أخيرًا ، رأينا كيفية التغلب على InsufficientCapacityError
باستخدام HyperParameterTuningResourceConfig
المعلمة ، والتي يمكن تحديدها بموجب تعريف وظيفة التدريب.
لمعرفة المزيد حول AMT ، تفضل بزيارة الضبط التلقائي لنموذج Amazon SageMaker.
عن المؤلفين
دوج مبايا هو مهندس حلول شريك أول مع التركيز على البيانات والتحليلات. يعمل Doug بشكل وثيق مع شركاء AWS ، مما يساعدهم على دمج حلول البيانات والتحليلات في السحابة.
كروثي جاياسيمها راو هو مهندس حلول شريك في فريق Scale-PSA. يجري كروثي عمليات التحقق الفنية للشركاء لتمكينهم من التقدم في مسار الشريك.
برنارد جولانز هو مهندس تطوير برمجيات للضبط التلقائي للنموذج Amazon SageMaker.
- AI
- ai الفن
- مولد الفن ai
- الروبوت ai
- آلة التعلم الأمازون
- الأمازون SageMaker
- الذكاء الاصطناعي
- شهادة الذكاء الاصطناعي
- الذكاء الاصطناعي في البنوك
- روبوت ذكاء اصطناعي
- روبوتات الذكاء الاصطناعي
- برنامج ذكاء اصطناعي
- التعلم الآلي من AWS
- سلسلة كتلة
- مؤتمر blockchain ai
- عملة عبقرية
- الذكاء الاصطناعي للمحادثة
- مؤتمر التشفير ai
- دال
- التعلم العميق
- google ai
- آلة التعلم
- أفلاطون
- أفلاطون ع
- الذكاء افلاطون البيانات
- لعبة أفلاطون
- أفلاطون داتا
- بلاتوغمينغ
- مقياس ai
- بناء الجملة
- زفيرنت