Amazon SageMaker মডেল বিল্ডিং পাইপলাইন তৈরি করুন এবং Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে RStudio ব্যবহার করে R মডেলগুলি স্থাপন করুন৷ উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker মডেল নির্মাণ পাইপলাইন তৈরি করুন এবং Amazon SageMaker-এ RStudio ব্যবহার করে R মডেল স্থাপন করুন

2021 সালের নভেম্বরে, সহযোগিতায় আর স্টুডিও পিবিসি, আমরা ঘোষিত সাধারণ প্রাপ্যতা অ্যামাজন সেজমেকারে RStudio, ক্লাউডে শিল্পের প্রথম সম্পূর্ণরূপে পরিচালিত RStudio Workbench IDE। আপনি এখন আপনার স্ব-পরিচালিত RStudio পরিবেশগুলি সহজেই স্থানান্তর করতে আপনার বর্তমান RStudio লাইসেন্স আনতে পারেন আমাজন সেজমেকার মাত্র কয়েকটি সহজ ধাপে।

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

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

সমাধান ওভারভিউ

নিম্নলিখিত চিত্রটি আমাদের সমাধানে ব্যবহৃত আর্কিটেকচার দেখায়। এই উদাহরণে ব্যবহৃত সমস্ত কোড পাওয়া যাবে GitHub সংগ্রহস্থল.

পূর্বশর্ত

এই পোস্টটি অনুসরণ করতে, SageMaker-এ RStudio-এ অ্যাক্সেস প্রয়োজন। আপনি যদি SageMaker-এ RStudio ব্যবহার করতে নতুন হন, পর্যালোচনা করুন Amazon SageMaker-এ RStudio দিয়ে শুরু করুন.

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

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "codebuild.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

CodeBuild-এ একটি বিল্ড চালানোর জন্য এবং ইমেজটিকে এখানে পুশ করার জন্য IAM ভূমিকাতেও নিম্নলিখিত অনুমতিগুলির প্রয়োজন হয় অ্যামাজন ইলাস্টিক কনটেইনার রেজিস্ট্রি (আমাজন ইসিআর):

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "codebuild:DeleteProject",
                "codebuild:CreateProject",
                "codebuild:BatchGetBuilds",
                "codebuild:StartBuild"
            ],
            "Resource": "arn:aws:codebuild:*:*:project/sagemaker-studio*"
        },
        {
            "Effect": "Allow",
            "Action": "logs:CreateLogStream",
            "Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/sagemaker-studio*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:*:*:log-group:/aws/codebuild/sagemaker-studio*:log-stream:*"
        },
        {
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ecr:CreateRepository",
                "ecr:BatchGetImage",
                "ecr:CompleteLayerUpload",
                "ecr:DescribeImages",
                "ecr:DescribeRepositories",
                "ecr:UploadLayerPart",
                "ecr:ListImages",
                "ecr:InitiateLayerUpload", 
                "ecr:BatchCheckLayerAvailability",
                "ecr:PutImage"
            ],
            "Resource": "arn:aws:ecr:*:*:repository/sagemaker-studio*"
        },
        {
            "Sid": "ReadAccessToPrebuiltAwsImages",
            "Effect": "Allow",
            "Action": [
                "ecr:BatchGetImage",
                "ecr:GetDownloadUrlForLayer"
            ],
            "Resource": [
                "arn:aws:ecr:*:763104351884:repository/*",
                "arn:aws:ecr:*:217643126080:repository/*",
                "arn:aws:ecr:*:727897471807:repository/*",
                "arn:aws:ecr:*:626614931356:repository/*",
                "arn:aws:ecr:*:683313688378:repository/*",
                "arn:aws:ecr:*:520713654638:repository/*",
                "arn:aws:ecr:*:462105765813:repository/*"
            ]
        },
        {
            "Sid": "EcrAuthorizationTokenRetrieval",
            "Effect": "Allow",
            "Action": [
                "ecr:GetAuthorizationToken"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
              "s3:GetObject",
              "s3:DeleteObject",
              "s3:PutObject"
              ],
            "Resource": "arn:aws:s3:::sagemaker-*/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket"
            ],
            "Resource": "arn:aws:s3:::sagemaker*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:GetRole",
                "iam:ListRoles"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/*",
            "Condition": {
                "StringLikeIfExists": {
                    "iam:PassedToService": "codebuild.amazonaws.com"
                }
            }
        }
    ]
}

বেসলাইন আর কন্টেইনার তৈরি করুন

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

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

SageMaker এর সাথে কন্টেইনার ব্যবহার করার বিষয়ে আরো বিস্তারিত জানার জন্য, পড়ুন সেজমেকারের সাথে ডকার পাত্রে ব্যবহার করা.

প্রক্রিয়াকরণের জন্য ব্যবহৃত ধারকটি নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

FROM public.ecr.aws/docker/library/r-base:4.1.2

# Install tidyverse
RUN apt update && apt-get install -y --no-install-recommends 
    r-cran-tidyverse
    
RUN R -e "install.packages(c('rjson'))"

ENTRYPOINT ["Rscript"]

এই পোস্টের জন্য, আমরা একটি সাধারণ এবং অপেক্ষাকৃত হালকা পাত্র ব্যবহার করি। আপনার বা আপনার প্রতিষ্ঠানের চাহিদার উপর নির্ভর করে, আপনি আরও কয়েকটি R প্যাকেজ প্রাক-ইনস্টল করতে চাইতে পারেন।

প্রশিক্ষণ এবং স্থাপনার জন্য ব্যবহৃত ধারকটি নিম্নরূপ সংজ্ঞায়িত করা হয়েছে:

FROM public.ecr.aws/docker/library/r-base:4.1.2

RUN apt-get -y update && apt-get install -y --no-install-recommends 
    wget 
    apt-transport-https 
    ca-certificates 
    libcurl4-openssl-dev 
    libsodium-dev
    
RUN apt-get update && apt-get install -y python3-dev python3-pip 
RUN pip3 install boto3
RUN R -e "install.packages(c('readr','plumber', 'reticulate'),dependencies=TRUE, repos='http://cran.rstudio.com/')"

ENV PATH="/opt/ml/code:${PATH}"

WORKDIR /opt/ml/code

COPY ./docker/run.sh /opt/ml/code/run.sh
COPY ./docker/entrypoint.R /opt/ml/entrypoint.R

RUN /bin/bash -c 'chmod +x /opt/ml/code/run.sh'

ENTRYPOINT ["/bin/bash", "run.sh"]

RStudio কার্নেল একটি ডকার কন্টেইনারে চলে, তাই আপনি সরাসরি আপনার স্টুডিও সেশনে ডকার কমান্ড ব্যবহার করে কন্টেইনারগুলি তৈরি এবং স্থাপন করতে পারবেন না। পরিবর্তে, আপনি খুব দরকারী লাইব্রেরি ব্যবহার করতে পারেন sagemaker-স্টুডিও-ইমেজ-বিল্ড, যা মূলত CodeBuild এ কন্টেইনার তৈরির কাজটি আউটসোর্স করে।

নিম্নলিখিত কমান্ডের সাহায্যে, আমরা দুটি অ্যামাজন ইসিআর রেজিস্ট্রি তৈরি করি: sagemaker-r-processing এবং sagemaker-r-train-n-deploy, এবং আমরা পরে ব্যবহার করি এমন সংশ্লিষ্ট পাত্র তৈরি করি:

if (!py_module_available("sagemaker-studio-image-build")){py_install("sagemaker-studio-image-build", pip=TRUE)}
system("cd pipeline-example ; sm-docker build . —file ./docker/Dockerfile-train-n-deploy —repository sagemaker-r-train-and-deploy:1.0")
system("cd pipeline-example ; sm-docker build . —file ./docker/Dockerfile-processing —repository sagemaker-r-processing:1.0")

পাইপলাইন তৈরি করুন

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

আমরা যে পাইপলাইনটি তৈরি করি তার নিম্নলিখিত উপাদান রয়েছে:

  • প্রিপ্রসেসিং ধাপ - এটি একটি সেজমেকার প্রসেসিং কাজ (ব্যবহার করে sagemaker-r-processing কন্টেইনার) ডেটা প্রি-প্রসেসিং এবং ট্রেন এবং টেস্ট ডেটাসেটে ডেটা বিভক্ত করার জন্য দায়ী।
  • প্রশিক্ষণের ধাপ - এটি একটি সেজমেকার প্রশিক্ষণের কাজ (ব্যবহার করে sagemaker-r-train-n-deploy ধারক) মডেল প্রশিক্ষণের জন্য দায়ী। এই উদাহরণে, আমরা একটি সাধারণ রৈখিক মডেলকে প্রশিক্ষণ দিই।
  • মূল্যায়ন ধাপ - এটি একটি সেজমেকার প্রসেসিং কাজ (ব্যবহার করে sagemaker-r-processing ধারক) মডেলের মূল্যায়ন করার জন্য দায়ী। বিশেষ করে এই উদাহরণে, আমরা পরীক্ষার ডেটাসেটে RMSE (রুট মানে বর্গ ত্রুটি) নিয়ে আগ্রহী, যা আমরা পরবর্তী ধাপে ব্যবহার করতে চাই এবং সেইসাথে মডেলের সাথেই যুক্ত হতে চাই।
  • শর্তাধীন পদক্ষেপ - এটি একটি শর্তসাপেক্ষ পদক্ষেপ, যা সেজমেকার পাইপলাইনের নেটিভ, যা আমাদেরকে কিছু প্যারামিটারের উপর ভিত্তি করে পাইপলাইন লজিক শাখা করতে দেয়। এই ক্ষেত্রে, পাইপলাইন শাখা RMSE এর মানের উপর ভিত্তি করে যা পূর্ববর্তী ধাপে গণনা করা হয়।
  • মডেল ধাপ নিবন্ধন - যদি পূর্ববর্তী শর্তাধীন পদক্ষেপ হয় True, এবং মডেলের কার্যকারিতা গ্রহণযোগ্য, তারপর মডেলটি মডেল রেজিস্ট্রিতে নিবন্ধিত হয়। আরো তথ্যের জন্য, পড়ুন মডেল রেজিস্ট্রি সহ মডেলগুলি নিবন্ধন করুন এবং স্থাপন করুন.

পাইপলাইন তৈরি (বা আপডেট) করতে প্রথমে আপসার্ট ফাংশনটি কল করুন এবং তারপরে পাইপলাইন চালানো শুরু করতে স্টার্ট ফাংশনটি কল করুন:

source("pipeline-example/pipeline.R")
my_pipeline <- get_pipeline(input_data_uri=s3_raw_data)

upserted <- my_pipeline$upsert(role_arn=role_arn)
started <- my_pipeline$start()

পাইপলাইন এবং মডেল রেজিস্ট্রি পরিদর্শন করুন

SageMaker-এ RStudio ব্যবহার করার বিষয়ে একটি দুর্দান্ত জিনিস হল যে SageMaker প্ল্যাটফর্মে থাকার মাধ্যমে, আপনি সঠিক কাজের জন্য সঠিক টুল ব্যবহার করতে পারেন এবং আপনার যা করতে হবে তার উপর ভিত্তি করে দ্রুত তাদের মধ্যে পরিবর্তন করতে পারেন।

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

আমরা এইমাত্র যে পাইপলাইনটি তৈরি করেছি এবং চালিয়েছি তার বিবরণ দেখতে, স্টুডিও আইডিই ইন্টারফেসে নেভিগেট করুন, নির্বাচন করুন সেজমেকার সম্পদনির্বাচন পাইপলাইন ড্রপ-ডাউন মেনুতে, এবং পাইপলাইন নির্বাচন করুন (এই ক্ষেত্রে, AbalonePipelineUsingR).

Amazon SageMaker মডেল বিল্ডিং পাইপলাইন তৈরি করুন এবং Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে RStudio ব্যবহার করে R মডেলগুলি স্থাপন করুন৷ উল্লম্ব অনুসন্ধান. আ.

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

পাইপলাইনের DAG পরিষেবা দ্বারা স্বয়ংক্রিয়ভাবে তৈরি করা হয় ধাপগুলির মধ্যে ডেটা নির্ভরতার উপর ভিত্তি করে, সেইসাথে কাস্টম যুক্ত নির্ভরতার উপর ভিত্তি করে (এই উদাহরণে কোনো যোগ করা হয়নি)।

রান সম্পূর্ণ হলে, সফল হলে, আপনি দেখতে হবে সমস্ত ধাপ সবুজ হয়ে গেছে।

Amazon SageMaker মডেল বিল্ডিং পাইপলাইন তৈরি করুন এবং Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে RStudio ব্যবহার করে R মডেলগুলি স্থাপন করুন৷ উল্লম্ব অনুসন্ধান. আ.

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

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

Amazon SageMaker মডেল বিল্ডিং পাইপলাইন তৈরি করুন এবং Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে RStudio ব্যবহার করে R মডেলগুলি স্থাপন করুন৷ উল্লম্ব অনুসন্ধান. আ.

আপনি মডেলের একটি সংস্করণ খোলার পরে, চয়ন করুন অবস্থা আপডেট করুন এবং অনুমোদন করা মডেল অনুমোদন করতে।

এই মুহুর্তে, আপনার ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে, আপনি আপনার প্রয়োজন অনুসারে মডেলের স্থাপনা সহ আরও ক্রিয়াকলাপ ট্রিগার করতে এই অনুমোদনটি সেট আপ করতে পারেন।

মডেলের সার্ভারহীন স্থাপনা

আপনি SageMaker-এ একটি মডেল প্রশিক্ষণ ও নিবন্ধন করার পরে, SageMaker-এ মডেলটি স্থাপন করা সোজা।

আপনি কিভাবে একটি মডেল স্থাপন করতে পারেন তার বিভিন্ন বিকল্প রয়েছে, যেমন ব্যাচ ইনফারেন্স, রিয়েল-টাইম এন্ডপয়েন্ট, বা অ্যাসিঙ্ক্রোনাস এন্ডপয়েন্ট। প্রতিটি পদ্ধতিতে বেশ কিছু প্রয়োজনীয় কনফিগারেশন রয়েছে, যার মধ্যে আপনি যে ইন্সট্যান্স টাইপ চান সেই সাথে স্কেলিং মেকানিজম বেছে নেওয়া।

এই উদাহরণের জন্য, আমরা SageMaker-এর সম্প্রতি ঘোষিত বৈশিষ্ট্য ব্যবহার করি, সার্ভারহীন অনুমান (লেখার সময় হিসাবে পূর্বরূপ মোডে), একটি সার্ভারহীন এন্ডপয়েন্টে আমাদের R মডেল স্থাপন করতে। এই ধরনের এন্ডপয়েন্টের জন্য, আমরা শুধুমাত্র অনুমানের জন্য মডেলের জন্য যে পরিমাণ RAM বরাদ্দ করতে চাই, সেইসাথে মডেলের অনুমোদিত সমসাময়িক আহ্বানের সর্বাধিক সংখ্যা নির্ধারণ করি। সেজমেকার প্রয়োজন অনুসারে মডেল এবং স্বয়ংক্রিয় স্কেলিং হোস্ট করার যত্ন নেয়। আপনি শুধুমাত্র সেকেন্ডের সঠিক সংখ্যা এবং মডেল দ্বারা ব্যবহৃত ডেটার জন্য চার্জ করা হবে, অলস সময়ের জন্য কোন খরচ নেই।

আপনি নিম্নলিখিত কোড সহ একটি সার্ভারহীন শেষ পয়েন্টে মডেল স্থাপন করতে পারেন:

model_package_arn <- 'ENTER_MODEL_PACKAGE_ARN_HERE'
model <- sagemaker$ModelPackage(
                        role=role_arn, 
                        model_package_arn=model_package_arn, 
                        sagemaker_session=session)
serverless_config <- sagemaker$serverless$ServerlessInferenceConfig(
                        memory_size_in_mb=1024L, 
                        max_concurrency=5L)
model$deploy(serverless_inference_config=serverless_config, 
             endpoint_name="serverless-r-abalone-endpoint")

ত্রুটি দেখতে পেলে ClientError: An error occurred (ValidationException) when calling the CreateModel operation: Invalid approval status "PendingManualApproval" আপনি যে মডেলটি স্থাপন করতে চান তা অনুমোদন করা হয়নি। আপনার মডেল অনুমোদন করতে পূর্ববর্তী বিভাগ থেকে পদক্ষেপ অনুসরণ করুন.

আমরা মোতায়েন করা HTTP এন্ডপয়েন্টে একটি অনুরোধ পাঠিয়ে এন্ডপয়েন্টকে আহ্বান করুন, অথবা পরিবর্তে SageMaker SDK ব্যবহার করুন। নিম্নলিখিত কোডে, আমরা কিছু পরীক্ষার ডেটাতে শেষ বিন্দুকে আহ্বান করি:

library(jsonlite)
x = list(features=format_csv(abalone_t[1:3,1:11]))
x = toJSON(x)

# test the endpoint
predictor <- sagemaker$predictor$Predictor(endpoint_name="serverless-r-abalone-endpoint", sagemaker_session=session)
predictor$predict(x)

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

আপনি যখন এন্ডপয়েন্টের সাথে পরীক্ষা করা শেষ করেন, আপনি নিম্নলিখিত কমান্ড দিয়ে এটি মুছতে পারেন:

predictor$delete_endpoint(delete_endpoint_config=TRUE)

উপসংহার

এই পোস্টে, আমরা আমাদের RStudio পরিবেশে R ব্যবহার করে একটি SageMaker পাইপলাইন তৈরি করার প্রক্রিয়ার মধ্য দিয়ে হেঁটেছি এবং SageMaker মডেল রেজিস্ট্রি ব্যবহার করে SageMaker-এ একটি সার্ভারহীন এন্ডপয়েন্টে কীভাবে আমাদের R মডেল স্থাপন করতে হয় তা প্রদর্শন করেছি।

RStudio এবং SageMaker-এর সংমিশ্রণে, আপনি এখন আমাদের পছন্দের ভাষা, R ব্যবহার করে AWS-এ সম্পূর্ণ এন্ড-টু-এন্ড ML ওয়ার্কফ্লো তৈরি এবং অর্কেস্ট্রেট করতে পারেন।

এই সমাধানের আরও গভীরে যেতে, আমি আপনাকে এই সমাধানের সোর্স কোডের পাশাপাশি অন্যান্য উদাহরণগুলি পর্যালোচনা করতে উত্সাহিত করছি GitHub.


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

Amazon SageMaker মডেল বিল্ডিং পাইপলাইন তৈরি করুন এবং Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে RStudio ব্যবহার করে R মডেলগুলি স্থাপন করুন৷ উল্লম্ব অনুসন্ধান. আ.জর্জিওস শিনাস EMEA অঞ্চলে AI/ML-এর জন্য একজন বিশেষজ্ঞ সমাধান স্থপতি৷ তিনি লন্ডনে অবস্থিত এবং যুক্তরাজ্য এবং আয়ারল্যান্ডের গ্রাহকদের সাথে ঘনিষ্ঠভাবে কাজ করেন। Georgios গ্রাহকদের MLOps অনুশীলনে বিশেষ আগ্রহের সাথে AWS-এ উৎপাদনে মেশিন লার্নিং অ্যাপ্লিকেশন ডিজাইন ও স্থাপন করতে সাহায্য করে এবং গ্রাহকদের স্কেলে মেশিন লার্নিং করতে সক্ষম করে। তার অবসর সময়ে, তিনি ভ্রমণ, রান্না এবং বন্ধু এবং পরিবারের সাথে সময় কাটাতে উপভোগ করেন।

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

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