Amazon SageMaker Experiments এবং Amazon SageMaker Pipelines PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে আপনার মেশিন লার্নিং যাত্রা সংগঠিত করুন। উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker Experiments এবং Amazon SageMaker Pipelines এর সাথে আপনার মেশিন লার্নিং যাত্রা সংগঠিত করুন

একটি মেশিন লার্নিং (ML) মডেল তৈরির প্রক্রিয়াটি পুনরাবৃত্তিমূলক হয় যতক্ষণ না আপনি প্রার্থী মডেলটি খুঁজে পান যা ভাল পারফর্ম করছে এবং স্থাপনের জন্য প্রস্তুত। যেহেতু ডেটা বিজ্ঞানীরা সেই প্রক্রিয়াটির মাধ্যমে পুনরাবৃত্তি করেন, প্রতিটি মডেল সংস্করণ কীভাবে তৈরি করা হয়েছিল এবং কীভাবে এটি সম্পাদন করেছে তা বোঝার জন্য পরীক্ষাগুলিকে সহজেই ট্র্যাক করার জন্য তাদের একটি নির্ভরযোগ্য পদ্ধতির প্রয়োজন।

আমাজন সেজমেকার ML মডেলগুলিকে দ্রুত প্রস্তুত, নির্মাণ, প্রশিক্ষণ, স্থাপন এবং নিরীক্ষণের জন্য দলগুলিকে বিস্তৃত বৈশিষ্ট্যের সুবিধা নিতে দেয়৷ অ্যামাজন সেজমেকার পাইপলাইন মডেল বিল্ড ক্রিয়াকলাপগুলির মাধ্যমে পুনরাবৃত্তি করার জন্য একটি পুনরাবৃত্তিযোগ্য প্রক্রিয়া সরবরাহ করে এবং এর সাথে একত্রিত হয় অ্যামাজন সেজমেকার পরীক্ষা-নিরীক্ষা. ডিফল্টরূপে, প্রতিটি সেজমেকার পাইপলাইন একটি পরীক্ষার সাথে যুক্ত থাকে এবং সেই পাইপলাইনের প্রতিটি রান সেই পরীক্ষায় ট্রায়াল হিসাবে ট্র্যাক করা হয়। তারপরে আপনার পুনরাবৃত্তিগুলি স্বয়ংক্রিয়ভাবে কোনও অতিরিক্ত পদক্ষেপ ছাড়াই ট্র্যাক করা হয়।

এই পোস্টে, আমরা পরীক্ষা-নিরীক্ষা এবং পাইপলাইনে তৈরি দেশীয় ক্ষমতাগুলির সাথে পরীক্ষাগুলি ট্র্যাক করার জন্য একটি স্বয়ংক্রিয় প্রক্রিয়া থাকার পিছনে প্রেরণাটি ঘনিষ্ঠভাবে দেখেছি।

কেন আপনার পরীক্ষা সংগঠিত রাখা গুরুত্বপূর্ণ?

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

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

ডেটা সায়েন্টিস্টরা সাধারণত অনেকগুলি মডেল সংস্করণকে প্রশিক্ষণ দেয় যতক্ষণ না তারা ডেটা ট্রান্সফরমেশন, অ্যালগরিদম এবং হাইপারপ্যারামিটারের সমন্বয় খুঁজে পায় যা একটি মডেলের সেরা পারফরম্যান্স সংস্করণে পরিণত হয়। এই অনন্য সমন্বয় প্রতিটি একটি একক পরীক্ষা. সেই ট্রায়াল দ্বারা ব্যবহৃত ইনপুট, অ্যালগরিদম এবং হাইপারপ্যারামিটারগুলির একটি সন্ধানযোগ্য রেকর্ডের সাথে, ডেটা সায়েন্স দল তাদের পদক্ষেপগুলি পুনরুত্পাদন করা সহজ খুঁজে পেতে পারে।

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

সেজমেকার পরীক্ষা-নিরীক্ষার সুবিধা

SageMaker পরীক্ষাগুলি ডেটা বিজ্ঞানীদের তাদের প্রশিক্ষণের পুনরাবৃত্তিগুলি সংগঠিত, ট্র্যাক, তুলনা এবং মূল্যায়ন করতে দেয়৷

পরীক্ষা দিয়ে আপনি কী করতে পারেন তার একটি ওভারভিউ দিয়ে প্রথমে শুরু করা যাক:

  • পরীক্ষা-নিরীক্ষার আয়োজন করা এক্সপেরিমেন্টগুলি একটি শীর্ষ-স্তরের সত্তার সাথে পরীক্ষা-নিরীক্ষা করে যাকে বলা হয় পরীক্ষা যে একটি সেট রয়েছে বিচারের. প্রতিটি ট্রায়াল নামক ধাপগুলির একটি সেট রয়েছে ট্রায়াল উপাদান. প্রতিটি ট্রায়াল উপাদান ডেটাসেট, অ্যালগরিদম এবং পরামিতিগুলির সংমিশ্রণ। আপনি আপনার অনুমানগুলি সংগঠিত করার জন্য উচ্চ-স্তরের ফোল্ডার হিসাবে পরীক্ষাগুলিকে চিত্রিত করতে পারেন, প্রতিটি গ্রুপ পরীক্ষা চালানোর জন্য সাবফোল্ডার হিসাবে আপনার ট্রায়ালগুলি এবং একটি পরীক্ষা চালানোর প্রতিটি উদাহরণের জন্য আপনার ফাইল হিসাবে আপনার ট্রায়াল উপাদানগুলিকে চিত্রিত করতে পারেন৷
  • ট্র্যাক পরীক্ষা - পরীক্ষাগুলি ডেটা বিজ্ঞানীদের পরীক্ষাগুলি ট্র্যাক করতে দেয়৷ এটি সহজ কনফিগারেশন এবং ট্র্যাকিং SDK-এর মাধ্যমে স্বয়ংক্রিয়ভাবে সেজমেকার কাজগুলিকে একটি ট্রায়ালে বরাদ্দ করার সম্ভাবনা অফার করে৷
  • পরীক্ষাগুলি তুলনা করুন এবং মূল্যায়ন করুন - এর সাথে এক্সপেরিমেন্টের ইন্টিগ্রেশন অ্যামাজন সেজমেকার স্টুডিও ডেটা ভিজ্যুয়ালাইজেশন তৈরি করা এবং বিভিন্ন ট্রায়াল তুলনা করা সহজ করে তোলে। আপনি আপনার পছন্দের প্লটিং লাইব্রেরি ব্যবহার করে আপনার নিজস্ব ভিজ্যুয়ালাইজেশন তৈরি করতে পাইথন SDK-এর মাধ্যমে ট্রায়াল ডেটা অ্যাক্সেস করতে পারেন।

এক্সপেরিমেন্ট API এবং SDK সম্পর্কে আরও জানতে, আমরা নিম্নলিখিত ডকুমেন্টেশনের সুপারিশ করি: পরীক্ষা তৈরি করুন এবং অ্যামাজন সেজমেকার এক্সপেরিমেন্টস পাইথন এসডিকে।

আপনি যদি আরও গভীরে ডুব দিতে চান, তাহলে আমরা খোঁজার পরামর্শ দিই amazon-sagemaker-examples/sagemaker-experiments GitHub সংগ্রহস্থল আরও উদাহরণের জন্য।

পাইপলাইন এবং পরীক্ষা-নিরীক্ষার মধ্যে ইন্টিগ্রেশন

মডেল বিল্ডিং পাইপলাইনগুলি যেগুলি পাইপলাইনগুলির অংশ সেগুলি ML-এর উদ্দেশ্যে তৈরি করা হয়েছে এবং আপনাকে একটি পাইপলাইন টুল ব্যবহার করে আপনার মডেল বিল্ড কাজগুলিকে সাজাতে দেয় যাতে অন্যান্য SageMaker বৈশিষ্ট্যগুলির সাথে নেটিভ ইন্টিগ্রেশন এবং সেইসাথে SageMaker এর বাইরে চলা পদক্ষেপগুলির সাথে আপনার পাইপলাইন প্রসারিত করার নমনীয়তা অন্তর্ভুক্ত থাকে। . প্রতিটি পদক্ষেপ পাইপলাইন গ্রহণ করে এমন একটি ক্রিয়া সংজ্ঞায়িত করে। ধাপগুলির মধ্যে নির্ভরতাগুলি পাইপলাইন পাইথন SDK ব্যবহার করে নির্মিত একটি সরাসরি অ্যাসাইক্লিক গ্রাফ (DAG) দ্বারা সংজ্ঞায়িত করা হয়। আপনি একই SDK এর মাধ্যমে প্রোগ্রাম্যাটিকভাবে একটি SageMaker পাইপলাইন তৈরি করতে পারেন। একটি পাইপলাইন স্থাপন করার পরে, আপনি ঐচ্ছিকভাবে স্টুডিওতে এর কর্মপ্রবাহটি কল্পনা করতে পারেন।

পাইপলাইনগুলি স্বয়ংক্রিয়ভাবে প্রতিটি রানের জন্য একটি পরীক্ষা এবং ট্রায়াল তৈরি করে পরীক্ষার সাথে স্বয়ংক্রিয়ভাবে একত্রিত হয়। পাইপলাইনগুলি স্বয়ংক্রিয়ভাবে ধাপগুলি চালানোর আগে পাইপলাইনের প্রতিটি রানের জন্য একটি পরীক্ষা এবং একটি ট্রায়াল তৈরি করে যদি না এই ইনপুটগুলির একটি বা উভয়ই নির্দিষ্ট করা থাকে। পাইপলাইনের সেজমেকার কাজ চালানোর সময়, পাইপলাইন পরীক্ষার সাথে ট্রায়ালকে যুক্ত করে এবং কাজের দ্বারা তৈরি করা প্রতিটি ট্রায়াল উপাদানকে ট্রায়ালের সাথে যুক্ত করে। আপনার নিজের পরীক্ষা বা ট্রায়াল প্রোগ্রাম্যাটিকভাবে নির্দিষ্ট করা আপনাকে আপনার পরীক্ষাগুলি কীভাবে সংগঠিত করতে হয় তা সূক্ষ্ম-টিউন করতে দেয়।

এই উদাহরণে আমরা যে ওয়ার্কফ্লো উপস্থাপন করেছি তা ধাপগুলির একটি সিরিজ নিয়ে গঠিত: আমাদের ইনপুট ডেটাসেটকে ট্রেন, পরীক্ষা এবং বৈধতা ডেটাসেটে বিভক্ত করার জন্য একটি প্রিপ্রসেসিং ধাপ; আমাদের হাইপারপ্যারামিটার টিউন করার জন্য একটি টিউনিং পদক্ষেপ এবং ব্যবহার করে একটি মডেলকে প্রশিক্ষণ দেওয়ার জন্য প্রশিক্ষণের কাজ শুরু করে XGBoost বিল্ট-ইন অ্যালগরিদম; এবং অবশেষে সেরা প্রশিক্ষিত মডেল আর্টিফ্যাক্ট থেকে একটি SageMaker মডেল তৈরি করার জন্য একটি মডেল পদক্ষেপ। পাইপলাইনগুলি স্থানীয়ভাবে সমর্থিত বেশ কয়েকটি অফার করে ধাপের ধরন এই পোস্টে যা আলোচনা করা হয়েছে তার বাইরে। আপনি কীভাবে আপনার পাইপলাইন ওয়ার্কফ্লো ট্র্যাক করতে পারেন এবং মেট্রিক্স এবং তুলনা চার্ট তৈরি করতে পারেন তাও আমরা ব্যাখ্যা করি। তদ্ব্যতীত, আমরা পাইপলাইন সংজ্ঞায়িত করার আগে তৈরি করা হতে পারে এমন একটি বিদ্যমান পরীক্ষার সাথে উত্পন্ন নতুন ট্রায়ালকে কীভাবে সংযুক্ত করতে পারি তা দেখাই।

সেজমেকার পাইপলাইন কোড

আপনি থেকে নোটবুক পর্যালোচনা এবং ডাউনলোড করতে পারেন GitHub সংগ্রহস্থল এই পোস্টের সাথে যুক্ত। এটি আরও ভালভাবে বোঝার জন্য আমরা পাইপলাইন-নির্দিষ্ট কোডটি দেখি।

পাইপলাইন আপনাকে রান টাইমে পরামিতি পাস করতে সক্ষম করে। এখানে আমরা প্রিসেট ডিফল্ট সহ রান টাইমে প্রসেসিং এবং ট্রেনিং ইন্সট্যান্স প্রকার এবং গণনা সংজ্ঞায়িত করি:

base_job_prefix = "pipeline-experiment-sample"
model_package_group_name = "pipeline-experiment-model-package"

processing_instance_count = ParameterInteger(
  name="ProcessingInstanceCount", default_value=1
)

training_instance_count = ParameterInteger(
  name="TrainingInstanceCount", default_value=1
)

processing_instance_type = ParameterString(
  name="ProcessingInstanceType", default_value="ml.m5.xlarge"
)
training_instance_type = ParameterString(
  name="TrainingInstanceType", default_value="ml.m5.xlarge"
)

এরপরে, আমরা একটি প্রসেসিং স্ক্রিপ্ট সেট আপ করি যা ইনপুট ডেটাসেটকে ট্রেন, পরীক্ষা এবং বৈধতা অংশে ডাউনলোড করে বিভক্ত করে। আমরা ব্যাবহার করি SKLearnProcessor এই প্রিপ্রসেসিং ধাপ চালানোর জন্য। এটি করার জন্য, আমরা প্রসেসিং কাজ চালানোর জন্য প্রয়োজনীয় উদাহরণের ধরন এবং গণনা সহ একটি প্রসেসর অবজেক্টকে সংজ্ঞায়িত করি।

পাইপলাইনগুলি আমাদেরকে এক্সিকিউশন-নির্দিষ্ট ভেরিয়েবল ব্যবহার করে প্রোগ্রাম্যাটিক উপায়ে ডেটা সংস্করণ অর্জন করতে দেয় যেমন ExecutionVariables.PIPELINE_EXECUTION_ID, যা একটি পাইপলাইন চালানোর অনন্য আইডি। আমরা, উদাহরণস্বরূপ, আউটপুট ডেটাসেটগুলি সংরক্ষণ করার জন্য একটি অনন্য কী তৈরি করতে পারি আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3) যা তাদের একটি নির্দিষ্ট পাইপলাইনের সাথে সংযুক্ত করে। ভেরিয়েবলের সম্পূর্ণ তালিকার জন্য, পড়ুন এক্সিকিউশন ভেরিয়েবল.

framework_version = "0.23-1"

sklearn_processor = SKLearnProcessor(
    framework_version=framework_version,
    instance_type=processing_instance_type,
    instance_count=processing_instance_count,
    base_job_name="sklearn-ca-housing",
    role=role,
)

process_step = ProcessingStep(
    name="ca-housing-preprocessing",
    processor=sklearn_processor,
    outputs=[
        ProcessingOutput(
            output_name="train",
            source="/opt/ml/processing/train",
            destination=Join(
                on="/",
                values=[
                    "s3://{}".format(bucket),
                    prefix,
                    ExecutionVariables.PIPELINE_EXECUTION_ID,
                    "train",
                ],
            ),
        ),
        ProcessingOutput(
            output_name="validation",
            source="/opt/ml/processing/validation",
            destination=Join(
                on="/",
                values=[
                    "s3://{}".format(bucket),
                    prefix,
                    ExecutionVariables.PIPELINE_EXECUTION_ID,
                    "validation",
                ],
            )
        ),
        ProcessingOutput(
            output_name="test",
            source="/opt/ml/processing/test",
            destination=Join(
                on="/",
                values=[
                    "s3://{}".format(bucket),
                    prefix,
                    ExecutionVariables.PIPELINE_EXECUTION_ID,
                    "test",
                ],
            )
        ),
    ],
    code="california-housing-preprocessing.py",
)

তারপরে আমরা একটি XGBoost মডেলকে প্রশিক্ষণের জন্য একটি অনুমানকারী বস্তু তৈরি করতে এগিয়ে যাই। আমরা কিছু স্ট্যাটিক হাইপারপ্যারামিটার সেট করি যা সাধারণত XGBoost এর সাথে ব্যবহৃত হয়:

model_path = f"s3://{default_bucket}/{base_job_prefix}/ca-housing-experiment-pipeline"

image_uri = sagemaker.image_uris.retrieve(
    framework="xgboost",
    region=region,
    version="1.2-2",
    py_version="py3",
    instance_type=training_instance_type,
)

xgb_train = Estimator(
    image_uri=image_uri,
    instance_type=training_instance_type,
    instance_count=training_instance_count,
    output_path=model_path,
    base_job_name=f"{base_job_prefix}/ca-housing-train",
    sagemaker_session=sagemaker_session,
    role=role,
)

xgb_train.set_hyperparameters(
    eval_metric="rmse",
    objective="reg:squarederror",  # Define the object metric for the training job
    num_round=50,
    max_depth=5,
    eta=0.2,
    gamma=4,
    min_child_weight=6,
    subsample=0.7
)

আমরা a ব্যবহার করে তৈরি করা মডেলগুলির হাইপারপ্যারামিটার টিউনিং করি ContinuousParameter জন্য পরিসীমা lambda. উদ্দেশ্য মেট্রিক হওয়ার জন্য একটি মেট্রিক বেছে নেওয়া টিউনারকে বলে (উদাহরণ যা হাইপারপ্যারামিটার টিউনিং কাজগুলি চালায়) যে আপনি এই নির্দিষ্ট মেট্রিকের উপর ভিত্তি করে প্রশিক্ষণের কাজের মূল্যায়ন করবেন। টিউনার এই উদ্দেশ্য মেট্রিকের জন্য সর্বোত্তম মানের উপর ভিত্তি করে সর্বোত্তম সংমিশ্রণ প্রদান করে, যার অর্থ সর্বোত্তম সংমিশ্রণ যা সর্বোত্তম রুট গড় বর্গ ত্রুটি (RMSE) কমিয়ে দেয়।

objective_metric_name = "validation:rmse"

hyperparameter_ranges = {
    "lambda": ContinuousParameter(0.01, 10, scaling_type="Logarithmic")
}

tuner = HyperparameterTuner(estimator,
                            objective_metric_name,
                            hyperparameter_ranges,
                            objective_type=objective_type,
                            strategy="Bayesian",
                            max_jobs=10,
                            max_parallel_jobs=3)

tune_step = TuningStep(
    name="HPTuning",
    tuner=tuner_log,
    inputs={
        "train": TrainingInput(
            s3_data=process_step.properties.ProcessingOutputConfig.Outputs[
                "train"
            ].S3Output.S3Uri,
            content_type="text/csv",
        ),
        "validation": TrainingInput(
            s3_data=process_step.properties.ProcessingOutputConfig.Outputs[
                "validation"
            ].S3Output.S3Uri,
            content_type="text/csv",
        ),
    } 
)

টিউনিং ধাপটি পরীক্ষিত প্যারামিটার রেঞ্জের মধ্যে সেরা মডেল নির্ধারণের লক্ষ্য নিয়ে একাধিক ট্রায়াল চালায়। পদ্ধতির সাথে get_top_model_s3_uri, আমরা মডেল আর্টিফ্যাক্ট S50 URI-এর শীর্ষ 3 পারফরমিং সংস্করণের র‍্যাঙ্ক করি এবং শুধুমাত্র সেরা পারফরম্যান্স সংস্করণটি বের করি (আমরা নির্দিষ্ট করি k=0 সেরার জন্য) একটি সেজমেকার মডেল তৈরি করতে।

model_bucket_key = f"{default_bucket}/{base_job_prefix}/ca-housing-experiment-pipeline"
model_candidate = Model(
    image_uri=image_uri,
    model_data=tune_step.get_top_model_s3_uri(top_k=0, s3_bucket=model_bucket_key),
    sagemaker_session=sagemaker_session,
    role=role,
    predictor_cls=XGBoostPredictor,
)

create_model_step = CreateModelStep(
    name="CreateTopModel",
    model=model_candidate,
    inputs=sagemaker.inputs.CreateModelInput(instance_type="ml.m4.large"),
)

যখন পাইপলাইন চলে, এটি প্রতিটি হাইপারপ্যারামিটার টিউনিং কাজের জন্য এবং পাইপলাইন ধাপ দ্বারা তৈরি প্রতিটি সেজমেকার কাজের জন্য ট্রায়াল উপাদান তৈরি করে।

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

আপনি যদি একটি বিদ্যমান পরীক্ষায় চালিত একটি পাইপলাইন সংযুক্ত করতে চান তবে আপনি এর নামটি পাস করতে পারেন এবং পাইপলাইনগুলি এটির সাথে নতুন ট্রায়াল যুক্ত করবে৷ আপনি সেটিং দ্বারা চালিত একটি পাইপলাইনের জন্য একটি পরীক্ষা এবং ট্রায়াল তৈরি করতে বাধা দিতে পারেন pipeline_experiment_config থেকে None.

#Pipeline experiment config
ca_housing_experiment_config = PipelineExperimentConfig(
    experiment_name,
    Join(
        on="-",
        values=[
            "pipeline-execution",
            ExecutionVariables.PIPELINE_EXECUTION_ID
        ],
    )
)

আমরা দৃষ্টান্তের ধরন এবং পরামিতি হিসাবে গণনা করি এবং পূর্ববর্তী ধাপগুলিকে নিম্নরূপ ক্রমানুসারে চেইন করি। পাইপলাইন ওয়ার্কফ্লো একটি ধাপের আউটপুট দ্বারা অন্য ধাপের ইনপুটগুলি দ্বারা নিহিতভাবে সংজ্ঞায়িত করা হয়।

pipeline_name = f"CAHousingExperimentsPipeline"

pipeline = Pipeline(
    name=pipeline_name,
    pipeline_experiment_config=ca_housing_experiment_config,
    parameters=[
        processing_instance_count,
        processing_instance_type,
        training_instance_count,
        training_instance_type
    ],
    steps=[process_step,tune_step,create_model_step],
)

পূর্ণাঙ্গ পাইপলাইন এখন তৈরি এবং যাওয়ার জন্য প্রস্তুত। আমরা পাইপলাইনে একটি কার্যকর ভূমিকা যোগ করি এবং এটি শুরু করি। এখান থেকে, আমরা সেজমেকার স্টুডিও পাইপলাইন কনসোলে যেতে পারি এবং প্রতিটি পদক্ষেপকে দৃশ্যত ট্র্যাক করতে পারি। আপনি একটি পাইপলাইন ডিবাগ করতে কনসোল থেকে লিঙ্কযুক্ত লগগুলি অ্যাক্সেস করতে পারেন।

pipeline.upsert(role_arn=sagemaker.get_execution_role())
execution = pipeline.start()

পূর্ববর্তী স্ক্রিনশট সবুজ রঙে একটি সফলভাবে চালানো পাইপলাইন দেখায়। আমরা নিম্নলিখিত কোড সহ পাইপলাইনের একটি রান থেকে একটি ট্রায়ালের মেট্রিক্স পাই:

# SM Pipeline injects the Execution ID into trial component names
execution_id = execution.describe()['PipelineExecutionArn'].split('/')[-1]
source_arn_filter = Filter(
    name="TrialComponentName", operator=Operator.CONTAINS, value=execution_id
)

source_type_filter = Filter(
    name="Source.SourceType", operator=Operator.EQUALS, value="SageMakerTrainingJob"
)

search_expression = SearchExpression(
    filters=[source_arn_filter, source_type_filter]
)

trial_component_analytics = ExperimentAnalytics(
    sagemaker_session=sagemaker_session,
    experiment_name=experiment_name,
    search_expression=search_expression.to_boto()
)

analytic_table = trial_component_analytics.dataframe()
analytic_table.head()

প্রতিটি ট্রায়াল উপাদানের জন্য মেট্রিক্স তুলনা

আপনি স্টুডিওতে বা অন্যান্য পাইথন প্লটিং লাইব্রেরির মাধ্যমে হাইপারপ্যারামিটার টিউনিংয়ের ফলাফল প্লট করতে পারেন। আমরা এটি করার উভয় উপায় দেখাই।

স্টুডিওতে প্রশিক্ষণ এবং মূল্যায়নের মেট্রিক্স অন্বেষণ করুন

স্টুডিও একটি ইন্টারেক্টিভ ইউজার ইন্টারফেস প্রদান করে যেখানে আপনি ইন্টারেক্টিভ প্লট তৈরি করতে পারেন। নিম্নরূপ পদক্ষেপ:

  1. বেছে নিন পরীক্ষা এবং ট্রায়াল থেকে সেজমেকার সম্পদ বাম সাইডবারে আইকন।
  2. এটি খুলতে আপনার পরীক্ষা চয়ন করুন.
  3. আগ্রহের ট্রায়াল বেছে নিন (ডান-ক্লিক করুন)।
  4. বেছে নিন ট্রায়াল উপাদান তালিকা খুলুন.
  5. প্রেস স্থানপরিবর্তন প্রশিক্ষণের কাজের প্রতিনিধিত্বকারী ট্রায়াল উপাদান নির্বাচন করতে।
  6. বেছে নিন চার্ট যোগ করুন.
  7. বেছে নিন নতুন চার্ট এবং আপনি বিশ্লেষণ করতে চান এমন সংগৃহীত মেট্রিক্স প্লট করতে এটি কাস্টমাইজ করুন। আমাদের ব্যবহারের ক্ষেত্রে, নিম্নলিখিত নির্বাচন করুন:
    1. জন্য ডেটা টাইপ¸ নির্বাচন করুন সংক্ষিপ্ত পরিসংখ্যান.
    2. জন্য চার্ট প্রকার¸ নির্বাচন করুন স্ক্যাটার প্লট.
    3. জন্য এক্স-অক্ষনির্বাচন lambda.
    4. জন্য Y- অক্ষনির্বাচন validation:rmse_last.

নতুন চার্টটি উইন্ডোর নীচে প্রদর্শিত হবে, '8' হিসাবে লেবেলযুক্ত।

আপনি টিপে আরও বা কম প্রশিক্ষণের কাজ অন্তর্ভুক্ত করতে পারেন স্থানপরিবর্তন এবং আরও ইন্টারেক্টিভ অভিজ্ঞতার জন্য চোখের আইকন বেছে নেওয়া।

Amazon SageMaker Experiments এবং Amazon SageMaker Pipelines PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে আপনার মেশিন লার্নিং যাত্রা সংগঠিত করুন। উল্লম্ব অনুসন্ধান. আ.

SageMaker পরীক্ষা-নিরীক্ষার সাথে বিশ্লেষণ

পাইপলাইন চালানো সম্পূর্ণ হলে, প্রশিক্ষণের সময় সংগৃহীত মেট্রিক্সের পরিপ্রেক্ষিতে মডেলের বিভিন্ন বৈচিত্র কীভাবে তুলনা করে তা আমরা দ্রুত কল্পনা করতে পারি। এর আগে, আমরা সমস্ত ট্রায়াল মেট্রিক্স একটি এ রপ্তানি করেছি পান্ডাস DataFrame ব্যবহার ExperimentAnalytics. আমরা Matplotlib লাইব্রেরি ব্যবহার করে স্টুডিওতে প্রাপ্ত প্লটটি পুনরুত্পাদন করতে পারি।

analytic_table.plot.scatter("lambda", "validation:rmse - Last", grid=True)

উপসংহার

SageMaker Pipelines এবং SageMaker পরীক্ষা-নিরীক্ষার মধ্যে নেটিভ ইন্টিগ্রেশন ডেটা বিজ্ঞানীদের স্বয়ংক্রিয়ভাবে সংগঠিত করতে, ট্র্যাক করতে এবং মডেল ডেভেলপমেন্ট কার্যক্রম চলাকালীন পরীক্ষাগুলিকে কল্পনা করতে দেয়৷ আপনি আপনার সমস্ত মডেল উন্নয়ন কাজ সংগঠিত করার জন্য পরীক্ষা তৈরি করতে পারেন, যেমন নিম্নলিখিত:

  • একটি ব্যবসায়িক ব্যবহারের ক্ষেত্রে আপনি সমাধান করছেন, যেমন গ্রাহক মন্থনের পূর্বাভাস দেওয়ার জন্য একটি পরীক্ষা তৈরি করা
  • বিপণন বিশ্লেষণ সংক্রান্ত তথ্য বিজ্ঞান দলের মালিকানাধীন একটি পরীক্ষা, উদাহরণস্বরূপ
  • একটি নির্দিষ্ট ডেটা সায়েন্স এবং এমএল প্রকল্প

এই পোস্টে, আমরা পাইপলাইনগুলিকে দেখাই যে আপনি কীভাবে এটিকে সম্পূর্ণ স্বয়ংক্রিয় এন্ড-টু-এন্ড ওয়ার্কফ্লো সংগঠিত করতে পরীক্ষা-নিরীক্ষার সাথে তাল মিলিয়ে ব্যবহার করতে পারেন।

পরবর্তী পদক্ষেপ হিসাবে, আপনি আপনার পরবর্তী এমএল প্রকল্পের জন্য এই তিনটি সেজমেকার বৈশিষ্ট্য - স্টুডিও, পরীক্ষা এবং পাইপলাইনগুলি ব্যবহার করতে পারেন।

প্রস্তাবিত রিডিং


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

পাওলো ডি ফ্রান্সেস্কোপাওলো ডি ফ্রান্সেস্কো AWS-এর একজন সমাধান স্থপতি। টেলিকমিউনিকেশন এবং সফটওয়্যার ইঞ্জিনিয়ারিংয়ে তার অভিজ্ঞতা রয়েছে। তিনি মেশিন লার্নিং সম্পর্কে উত্সাহী এবং বর্তমানে গ্রাহকদের AWS-এ তাদের লক্ষ্যে পৌঁছাতে সাহায্য করার জন্য তার অভিজ্ঞতা ব্যবহার করার দিকে মনোনিবেশ করছেন, বিশেষ করে MLOps এর আশেপাশে আলোচনায়৷ কাজের বাইরে তিনি ফুটবল খেলা এবং পড়া উপভোগ করেন।

Amazon SageMaker Experiments এবং Amazon SageMaker Pipelines PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে আপনার মেশিন লার্নিং যাত্রা সংগঠিত করুন। উল্লম্ব অনুসন্ধান. আ.মারিও বোরগোইন তিনি AWS-এর একজন সিনিয়র পার্টনার সলিউশন আর্কিটেক্ট, একজন AI/ML বিশেষজ্ঞ এবং MLOps-এর জন্য বিশ্বব্যাপী প্রযুক্তিগত নেতৃত্ব। তিনি ক্লাউডে এআই সমাধান স্থাপনকারী এন্টারপ্রাইজ গ্রাহক এবং অংশীদারদের সাথে কাজ করেন। বিগ ডেটার জন্য প্রথম বাণিজ্যিক মেশিন লার্নিং সিস্টেমগুলির মধ্যে একটি তৈরি করা থেকে শুরু করে স্টার্টআপ এবং এন্টারপ্রাইজগুলিতে মেশিন লার্নিং এবং এআই করার 30 বছরেরও বেশি অভিজ্ঞতা রয়েছে তার। মারিও তার অবসর সময় কাটায় তার তিন বেলজিয়ান টেরভুরেন্সের সাথে খেলতে, তার পরিবারের জন্য রাতের খাবার রান্না করে এবং গণিত এবং সৃষ্টিতত্ত্ব সম্পর্কে শেখে।

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

Amazon SageMaker Experiments এবং Amazon SageMaker Pipelines PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে আপনার মেশিন লার্নিং যাত্রা সংগঠিত করুন। উল্লম্ব অনুসন্ধান. আ.ভ্যালেরি সাউন্থকিথ তিনি AWS-এর জন্য একজন সলিউশন আর্কিটেক্ট, গেমিং ইন্ডাস্ট্রিতে কাজ করছেন এবং অংশীদারদের সাথে AI সমাধান স্থাপন করছেন। তিনি কম্পিউটার ভিশনকে ঘিরে তার ক্যারিয়ার গড়ার লক্ষ্য নিয়েছিলেন। তার অবসর সময়ে, ভ্যালেরি ভ্রমণ করতে, নতুন খাবারের জায়গা আবিষ্কার করতে এবং তার বাড়ির অভ্যন্তর পরিবর্তন করতে এটি ব্যয় করে।

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

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

অ্যামাজন সেজমেকার ডেটা র্যাংলারের সাথে মাল্টিকলিনিয়ারিটি, টার্গেট লিকেজ এবং বৈশিষ্ট্যের সম্পর্ক সনাক্ত করুন

উত্স নোড: 1756415
সময় স্ট্যাম্প: নভেম্বর 15, 2022

দুই-পর্যায়ের অ্যামাজন স্বীকৃতি কাস্টম লেবেল মডেল ব্যবহার করে উচ্চ-রেজোলিউশনের চিত্রে ত্রুটি সনাক্তকরণ | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1903809
সময় স্ট্যাম্প: অক্টোবর 19, 2023