Amazon SageMaker স্বয়ংক্রিয় মডেল টিউনিং এখন SageMaker প্রশিক্ষণ ইনস্ট্যান্স ফলব্যাকস প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্স সমর্থন করে। উল্লম্ব অনুসন্ধান. আ.

অ্যামাজন সেজমেকার স্বয়ংক্রিয় মডেল টিউনিং এখন সেজমেকার প্রশিক্ষণ ইনস্ট্যান্স ফলব্যাক সমর্থন করে

আজ আমাজন সেজমেকার SageMaker প্রশিক্ষণ ইনস্ট্যান্স ফলব্যাকের জন্য সমর্থন ঘোষণা করেছে অ্যামাজন সেজমেকার অটোমেটিক মডেল টিউনিং (AMT) যা ব্যবহারকারীদের বিকল্প কম্পিউট রিসোর্স কনফিগারেশন নির্দিষ্ট করতে দেয়।

SageMaker স্বয়ংক্রিয় মডেল টিউনিং ব্যবহার করে আপনার ডেটাসেটে অনেক প্রশিক্ষণ কাজ চালানোর মাধ্যমে একটি মডেলের সেরা সংস্করণ খুঁজে পায় রেঞ্জ আপনার অ্যালগরিদমের জন্য নির্দিষ্ট করা হাইপারপ্যারামিটারের। তারপর, এটি হাইপারপ্যারামিটার মানগুলি বেছে নেয় যার ফলে একটি মডেল যা সর্বোত্তম কার্য সম্পাদন করে, যেমন a দ্বারা পরিমাপ করা হয় ছন্দোময় যেটা তুমি চয়ন করো।

পূর্বে, ব্যবহারকারীদের শুধুমাত্র একটি একক ইনস্ট্যান্স কনফিগারেশন নির্দিষ্ট করার বিকল্প ছিল। উচ্চ ব্যবহারের কারণে নির্দিষ্ট দৃষ্টান্তের ধরণ উপলব্ধ না হলে এটি সমস্যার সৃষ্টি করতে পারে। অতীতে, আপনার প্রশিক্ষণের কাজগুলি একটি অপর্যাপ্ত সক্ষমতা ত্রুটি (ICE) এর সাথে ব্যর্থ হবে। এএমটি অনেক ক্ষেত্রে এই ব্যর্থতাগুলি এড়াতে স্মার্ট পুনঃপ্রচার ব্যবহার করেছিল, কিন্তু টেকসই কম ক্ষমতার মুখে এটি শক্তিহীন ছিল।

এই নতুন বৈশিষ্ট্যটির অর্থ হল যে আপনি পছন্দের ক্রমানুসারে উদাহরণ কনফিগারেশনের একটি তালিকা নির্দিষ্ট করতে পারেন, যেমন আপনার AMT কাজটি স্বয়ংক্রিয়ভাবে তালিকার পরবর্তী উদাহরণে কম ক্ষমতার ক্ষেত্রে ফিরে যাবে।

নিম্নলিখিত বিভাগগুলিতে, আমরা একটি ICE অতিক্রম করার জন্য এই উচ্চ-স্তরের পদক্ষেপগুলির মধ্য দিয়ে চলেছি:

  1. হাইপারপ্যারামিটার টিউনিং জব কনফিগারেশন সংজ্ঞায়িত করুন
  2. প্রশিক্ষণ কাজের পরামিতি সংজ্ঞায়িত করুন
  3. হাইপারপ্যারামিটার টিউনিং কাজ তৈরি করুন
  4. প্রশিক্ষণের কাজ বর্ণনা কর

হাইপারপ্যারামিটার টিউনিং জব কনফিগারেশন সংজ্ঞায়িত করুন

সার্জারির 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"
                }
              ]
            }
          }

প্রশিক্ষণ কাজের পরামিতি সংজ্ঞায়িত করুন

প্রশিক্ষণ কাজের সংজ্ঞায়, আমরা নির্দিষ্ট করা অ্যালগরিদম ব্যবহার করে প্রশিক্ষণের কাজ চালানোর জন্য প্রয়োজনীয় ইনপুটকে সংজ্ঞায়িত করি। প্রশিক্ষণ শেষ হওয়ার পরে, সেজমেকার ফলস্বরূপ মডেলের শিল্পকর্মগুলি একটিতে সংরক্ষণ করে অ্যামাজন সিম্পল স্টোরেজ সার্ভিস (অ্যামাজন এস 3) আপনার নির্দিষ্ট করা অবস্থান।

পূর্বে, আমরা ইনস্ট্যান্স টাইপ, গণনা এবং ভলিউম সাইজ এর অধীনে উল্লেখ করেছি 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"
            },
          }

একটি হাইপারপ্যারামিটার টিউনিং কাজ চালান

এই ধাপে, আমরা উপরে সংজ্ঞায়িত হাইপারপ্যারামিটার টিউনিং রিসোর্স কনফিগারেশনের সাথে একটি হাইপারপ্যারামিটার টিউনিং কাজ তৈরি এবং চালাচ্ছি।

আমরা একটি সেজমেকার ক্লায়েন্ট শুরু করি এবং টিউনিং কনফিগারেশন, প্রশিক্ষণ কাজের সংজ্ঞা এবং একটি কাজের নাম উল্লেখ করে কাজ তৈরি করি।

import boto3
sm = boto3.client('sagemaker')     
                    
sm.create_hyper_parameter_tuning_job(
    HyperParameterTuningJobName="my-job-name",
    HyperParameterTuningJobConfig=AmtTuningJobConfig,
    TrainingJobDefinition=TrainingJobDefinition) 

সেজমেকার ট্রেনিং ইন্সট্যান্স ফলব্যাকের সহায়তায় একটি AMT কাজ চালানো ব্যবহারকারীকে নিজের দ্বারা অপর্যাপ্ত ক্ষমতা কাটিয়ে উঠতে ক্ষমতা দেয়, যার ফলে চাকরি ব্যর্থ হওয়ার সম্ভাবনা হ্রাস পায়।

প্রশিক্ষণের কাজ বর্ণনা কর

নিম্নলিখিত ফাংশন পরীক্ষার সময় ব্যবহৃত সমস্ত দৃষ্টান্তের ধরন তালিকাভুক্ত করে এবং সম্পদ বরাদ্দের সময় একটি SageMaker প্রশিক্ষণ দৃষ্টান্ত স্বয়ংক্রিয়ভাবে তালিকার পরবর্তী উদাহরণে ফিরে গেছে কিনা তা যাচাই করতে ব্যবহার করা যেতে পারে।

def list_instances(name):
    job_list = []
    instances = []
    def _get_training_jobs(name, next=None):
        if next:
            list = sm.list_training_jobs_for_hyper_parameter_tuning_job(
            HyperParameterTuningJobName=name, NextToken=next)
        else:
            list = sm.list_training_jobs_for_hyper_parameter_tuning_job(
            HyperParameterTuningJobName=name)
        for jobs in list['TrainingJobSummaries']:
            job_list.append(jobs['TrainingJobName'])
        next = list.get('NextToken', None)
        if next:
            _get_training_jobs(name, next=next)
            pass
        else:
            pass
    _get_training_jobs(name)


    for job_name in job_list:
        ec2 = sm.describe_training_job(
        TrainingJobName=job_name
        )
        instances.append(ec2['ResourceConfig'])
    return instances

list_instances("my-job-name")  

উপরের ফাংশনের আউটপুট সমস্ত দৃষ্টান্ত প্রদর্শন করে যেগুলি AMT জব পরীক্ষা চালানোর জন্য ব্যবহার করছে।

উপসংহার

এই পোস্টে, আমরা দেখিয়েছি কিভাবে আপনি এখন এমন একটি পুলকে সংজ্ঞায়িত করতে পারেন যার উপর আপনার AMT পরীক্ষা পিছিয়ে যেতে পারে InsufficientCapacityError. আমরা দেখেছি কিভাবে একটি হাইপারপ্যারামিটার টিউনিং কাজের কনফিগারেশন সংজ্ঞায়িত করা যায়, সেইসাথে প্রশিক্ষণের কাজ এবং সর্বাধিক সমান্তরাল কাজের সংখ্যা উল্লেখ করা যায়। অবশেষে, আমরা কিভাবে পরাস্ত করতে দেখেছি InsufficientCapacityError ব্যবহার করে HyperParameterTuningResourceConfig পরামিতি, যা প্রশিক্ষণ কাজের সংজ্ঞার অধীনে নির্দিষ্ট করা যেতে পারে।

AMT সম্পর্কে আরও জানতে, পরিদর্শন করুন অ্যামাজন সেজমেকার স্বয়ংক্রিয় মডেল টিউনিং.


লেখক সম্পর্কে

Amazon SageMaker স্বয়ংক্রিয় মডেল টিউনিং এখন SageMaker প্রশিক্ষণ ইনস্ট্যান্স ফলব্যাকস প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্স সমর্থন করে। উল্লম্ব অনুসন্ধান. আ.ডগ এমবায়া ডেটা এবং বিশ্লেষণে ফোকাস সহ একজন সিনিয়র পার্টনার সলিউশন আর্কিটেক্ট। ডগ AWS অংশীদারদের সাথে ঘনিষ্ঠভাবে কাজ করে, তাদের ক্লাউডে ডেটা এবং বিশ্লেষণ সমাধান একীভূত করতে সাহায্য করে।

Amazon SageMaker স্বয়ংক্রিয় মডেল টিউনিং এখন SageMaker প্রশিক্ষণ ইনস্ট্যান্স ফলব্যাকস প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্স সমর্থন করে। উল্লম্ব অনুসন্ধান. আ.ক্রুথি জয়সিমহা রাও স্কেল-পিএসএ দলের একজন অংশীদার সলিউশন আর্কিটেক্ট। Kruthi অংশীদারদের জন্য প্রযুক্তিগত বৈধতা পরিচালনা করে যাতে তাদের অংশীদারি পথে অগ্রগতি হয়।

Amazon SageMaker স্বয়ংক্রিয় মডেল টিউনিং এখন SageMaker প্রশিক্ষণ ইনস্ট্যান্স ফলব্যাকস প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্স সমর্থন করে। উল্লম্ব অনুসন্ধান. আ.বার্নার্ড জোলান্স অ্যামাজন সেজমেকার স্বয়ংক্রিয় মডেল টিউনিংয়ের জন্য একজন সফ্টওয়্যার ডেভেলপমেন্ট ইঞ্জিনিয়ার৷

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং