Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে AWS Graviton-ভিত্তিক দৃষ্টান্তে মেশিন লার্নিং ইনফারেন্স ওয়ার্কলোড চালান। উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker-এর সাথে AWS Graviton-ভিত্তিক উদাহরণে মেশিন লার্নিং ইনফারেন্স ওয়ার্কলোড চালান

আজ, আমরা চালু করছি আমাজন সেজমেকার উপর অনুমান AWS Graviton গ্রাভিটন চিপস থেকে আসা মূল্য, কর্মক্ষমতা এবং দক্ষতার সুবিধার সুবিধা নিতে আপনাকে সক্ষম করতে।

সেজমেকারে মডেল অনুমানের জন্য গ্র্যাভিটন-ভিত্তিক দৃষ্টান্ত উপলব্ধ। এই পোস্টটি আপনাকে সেজমেকার-এ x86 থেকে Graviton-ভিত্তিক দৃষ্টান্তে একটি মেশিন লার্নিং (ML) ইনফারেন্স ওয়ার্কলোড স্থানান্তর করতে এবং স্থাপন করতে সহায়তা করে। আমরা Graviton-ভিত্তিক দৃষ্টান্তে আপনার SageMaker প্রশিক্ষিত মডেল স্থাপন করার জন্য একটি ধাপে ধাপে নির্দেশিকা প্রদান করি, Graviton-এর সাথে কাজ করার সময় সর্বোত্তম অনুশীলনগুলি কভার করি, মূল্য-কর্মক্ষমতার সুবিধা নিয়ে আলোচনা করি এবং SageMaker Graviton দৃষ্টান্তে কীভাবে একটি TensorFlow মডেল স্থাপন করতে হয় তা ডেমো করি৷

গ্র্যাভিটনের সংক্ষিপ্ত বিবরণ

AWS Graviton হল AWS দ্বারা ডিজাইন করা প্রসেসরের একটি পরিবার যা সর্বোত্তম মূল্য-কর্মক্ষমতা প্রদান করে এবং তাদের x86 সমকক্ষের তুলনায় বেশি শক্তি সাশ্রয়ী। AWS Graviton 3 প্রসেসরগুলি Graviton প্রসেসর পরিবারের সর্বশেষতম এবং ML কাজের চাপের জন্য অপ্টিমাইজ করা হয়েছে, যার মধ্যে bfloat16 এর সমর্থন এবং দ্বিগুণ সিঙ্গেল ইনস্ট্রাকশন মাল্টিপল ডেটা (SIMD) ব্যান্ডউইথ রয়েছে৷ যখন এই দুটি বৈশিষ্ট্য একত্রিত হয়, তখন Graviton 3 তিনগুণ পর্যন্ত ভাল পারফরম্যান্স প্রদান করতে পারে বনাম Graviton 2 দৃষ্টান্ত। Graviton 3 তুলনীয় হিসাবে একই কার্যক্ষমতার জন্য 60% পর্যন্ত কম শক্তি ব্যবহার করে অ্যামাজন ইলাস্টিক কম্পিউট ক্লাউড (Amazon EC2) উদাহরণ। আপনি যদি আপনার কার্বন পদচিহ্ন কমাতে চান এবং আপনার স্থায়িত্বের লক্ষ্যগুলি অর্জন করতে চান তবে এটি একটি দুর্দান্ত বৈশিষ্ট্য।

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

Graviton উদাহরণে আপনার মডেল স্থাপন করতে, আপনি হয় ব্যবহার করুন AWS ডিপ লার্নিং কন্টেইনার or আপনার নিজের পাত্রে আনুন আর্ম v8.2 আর্কিটেকচারের সাথে সামঞ্জস্যপূর্ণ।

x86 চালিত দৃষ্টান্ত থেকে Graviton দৃষ্টান্তে আপনার মডেলগুলির স্থানান্তর (বা নতুন স্থাপনা) সহজ কারণ AWS PyTorch, TensorFlow, Scikit-learn, এবং XGBoost সহ মডেলগুলি হোস্ট করার জন্য কন্টেইনার সরবরাহ করে এবং মডেলগুলি আর্কিটেকচার অজ্ঞেয়বাদী৷ তবুও, আপনি যদি নিজের লাইব্রেরি আনতে ইচ্ছুক হন তবে আপনি তাও করতে পারেন, শুধু নিশ্চিত করুন যে আপনার ধারকটি এমন একটি পরিবেশে তৈরি করা হয়েছে যা Arm64 আর্কিটেকচারকে সমর্থন করে। আরও তথ্যের জন্য, দেখুন আপনার নিজস্ব অ্যালগরিদম ধারক নির্মাণ.

আপনার মডেল স্থাপন করার জন্য আপনাকে তিনটি ধাপ সম্পূর্ণ করতে হবে:

  1. একটি সেজমেকার মডেল তৈরি করুন: এতে অন্যান্য পরামিতিগুলির মধ্যে, মডেল ফাইলের অবস্থান, স্থাপনার জন্য ব্যবহৃত ধারক এবং অনুমান স্ক্রিপ্টের অবস্থান সম্পর্কে তথ্য থাকবে। (যদি আপনার একটি বিদ্যমান মডেল ইতিমধ্যেই একটি x86 ভিত্তিক অনুমান উদাহরণে স্থাপন করা থাকে, আপনি এই পদক্ষেপটি এড়িয়ে যেতে পারেন।)
  2. একটি এন্ডপয়েন্ট কনফিগারেশন তৈরি করুন: এতে আপনি এন্ডপয়েন্টের জন্য যে ধরনের ইন্সট্যান্স চান সে সম্পর্কে তথ্য থাকবে (উদাহরণস্বরূপ, Graviton7 এর জন্য ml.c3g.xlarge), ধাপ 1 এ আপনি যে মডেলটি তৈরি করেছেন তার নাম এবং প্রতি দৃষ্টান্তের সংখ্যা শেষপ্রান্ত.
  3. ধাপ 2 এ তৈরি এন্ডপয়েন্ট কনফিগারেশনের সাথে শেষ পয়েন্টটি চালু করুন।

পূর্বশর্ত

শুরু করার আগে, নিম্নলিখিত পূর্বশর্তগুলি বিবেচনা করুন:

  1. তালিকাভুক্ত পূর্বশর্তগুলি সম্পূর্ণ করুন পূর্বশর্ত.
  2. আপনার মডেল হয় একটি PyTorch, TensorFlow, XGBoost, অথবা Scikit-learn ভিত্তিক মডেল হওয়া উচিত। নিম্নলিখিত সারণীটি বর্তমানে এই লেখার জন্য সমর্থিত সংস্করণগুলিকে সংক্ষিপ্ত করে। সর্বশেষ আপডেটের জন্য, পড়ুন সেজমেকার ফ্রেমওয়ার্ক পাত্রে (শুধুমাত্র এসএম সমর্থন).
    . পাইথন TensorFlow পাইটর্চ সাইকিট-শিখুন এক্সজিবিস্ট
    সংস্করণ সমর্থিত 3.8 2.9.1 1.12.1 1.0-1 1.3-1 থেকে 1.5-1
  3. অনুমান স্ক্রিপ্ট সংরক্ষণ করা হয় আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3)।

নিম্নলিখিত বিভাগগুলিতে, আমরা আপনাকে স্থাপনের ধাপগুলি নিয়ে চলেছি।

একটি সেজমেকার মডেল তৈরি করুন

আপনার যদি একটি বিদ্যমান মডেল ইতিমধ্যেই একটি x86-ভিত্তিক অনুমান উদাহরণে স্থাপন করা থাকে, আপনি এই পদক্ষেপটি এড়িয়ে যেতে পারেন। অন্যথায়, একটি SageMaker মডেল তৈরি করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. আপনি একটি S3 বালতিতে যে মডেলটি সংরক্ষণ করেছেন সেটি সনাক্ত করুন। ইউআরআই কপি করুন।
    আপনি পরে মডেল URI ব্যবহার করুন MODEL_S3_LOCATION.
  2. মডেল প্রশিক্ষণের সময় ব্যবহৃত ফ্রেমওয়ার্ক সংস্করণ এবং পাইথন সংস্করণ সনাক্ত করুন।
    আপনার ফ্রেমওয়ার্ক এবং পাইথন সংস্করণ অনুযায়ী উপলব্ধ AWS ডিপ লার্নিং কন্টেনারগুলির তালিকা থেকে আপনাকে একটি ধারক নির্বাচন করতে হবে। আরো তথ্যের জন্য, পড়ুন Amazon ECR-এর জন্য মাল্টি-আর্কিটেকচার কন্টেইনার ইমেজ উপস্থাপন করা হচ্ছে.
  3. S3 বাকেট (সাধারণ ফাইলের নাম হল inference.py).
    অনুমান স্ক্রিপ্ট URI এর মধ্যে প্রয়োজন INFERENCE_SCRIPT_S3_LOCATION.
  4. এই ভেরিয়েবলগুলির সাথে, আপনি নিম্নলিখিত কমান্ডের সাথে SageMaker API কল করতে পারেন:
    client = boto3.client("sagemaker")
    
    client.create_model(
        ModelName="Your model name",
        PrimaryContainer={
            "Image": ,
            "ModelDataUrl": ,
            "Environment": {
            "SAGEMAKER_PROGRAM": "inference.py",
            "SAGEMAKER_SUBMIT_DIRECTORY": ,
            "SAGEMAKER_CONTAINER_LOG_LEVEL": "20",
            "SAGEMAKER_REGION": 
            }
        },
        ExecutionRoleArn= 
    )

আপনি মাল্টি-আর্কিটেকচার ইমেজও তৈরি করতে পারেন এবং একই ইমেজ ব্যবহার করতে পারেন কিন্তু ভিন্ন ট্যাগ দিয়ে। আপনি কোন আর্কিটেকচারে আপনার উদাহরণ স্থাপন করা হবে তা নির্দেশ করতে পারেন। আরো তথ্যের জন্য, পড়ুন Amazon ECR-এর জন্য মাল্টি-আর্কিটেকচার কন্টেইনার ইমেজ উপস্থাপন করা হচ্ছে.

একটি এন্ডপয়েন্ট কনফিগারেশন তৈরি করুন

আপনি মডেল তৈরি করার পরে, আপনাকে নিম্নলিখিত কমান্ডটি চালানোর মাধ্যমে একটি এন্ডপয়েন্ট কনফিগারেশন তৈরি করতে হবে (আমরা যে ধরনের উদাহরণ ব্যবহার করছি তা নোট করুন):

client.create_endpoint_config(
    EndpointConfigName= ,
    ProductionVariants=[
        {
         "VariantName": "v0",
         "ModelName": "Your model name",
         "InitialInstanceCount": 1,
         "InstanceType": "ml.c7g.xlarge",
        },
    ]
)

নিম্নলিখিত স্ক্রিনশটটি সেজমেকার কনসোলে এন্ডপয়েন্ট কনফিগারেশনের বিবরণ দেখায়।

শেষ পয়েন্ট চালু করুন

পূর্ববর্তী ধাপে তৈরি এন্ডপয়েন্ট কনফিগারেশনের সাথে, আপনি এন্ডপয়েন্ট স্থাপন করতে পারেন:

client.create_endpoint(
    EndpointName = "",
    EndpointConfigName = ""
    )

আপনার মডেল এন্ডপয়েন্ট স্থাপন না হওয়া পর্যন্ত অপেক্ষা করুন। আপনি x86-ভিত্তিক দৃষ্টান্তগুলিতে স্থাপন করা আপনার এন্ডপয়েন্টগুলির জন্য ভবিষ্যদ্বাণীগুলির জন্য অনুরোধ করেন ঠিক একইভাবে পূর্বাভাসের অনুরোধ করা যেতে পারে।

নিম্নলিখিত স্ক্রিনশটটি সেজমেকার কনসোলে আপনার শেষ পয়েন্ট দেখায়।

কনফিগারেশন থেকে সেজমেকার এন্ডপয়েন্ট

কি সমর্থন করা হয়

SageMaker TensorFlow এবং PyTorch ফ্রেমওয়ার্কের জন্য পারফরম্যান্স-অপ্টিমাইজ করা Graviton গভীর কন্টেইনার সরবরাহ করে। এই পাত্রে কম্পিউটার দৃষ্টি, প্রাকৃতিক ভাষা প্রক্রিয়াকরণ, সুপারিশ, এবং জেনেরিক গভীর এবং প্রশস্ত মডেল-ভিত্তিক অনুমান ব্যবহারের ক্ষেত্রে সমর্থন করে। ডিপ লার্নিং কন্টেইনার ছাড়াও, সেজমেকার ক্লাসিক্যাল এমএল ফ্রেমওয়ার্ক যেমন এক্সজিবিবুস্ট এবং স্কিট-লার্নের জন্য কন্টেইনার সরবরাহ করে। পাত্রগুলি c6g/m6g এবং c7g দৃষ্টান্ত জুড়ে বাইনারি সামঞ্জস্যপূর্ণ, তাই অনুমান অ্যাপ্লিকেশনটিকে এক প্রজন্ম থেকে অন্য প্রজন্মে স্থানান্তর করা বিরামহীন।

C6g/m6g fp16 (অর্ধ-নির্ভুলতা ফ্লোট) সমর্থন করে এবং সামঞ্জস্যপূর্ণ মডেলগুলির জন্য c5 দৃষ্টান্তগুলির তুলনায় সমতুল্য বা আরও ভাল কর্মক্ষমতা প্রদান করে। C7g উল্লেখযোগ্যভাবে SIMD প্রস্থ দ্বিগুণ করে এবং bfloat-16 (bf16) সমর্থন করে ML কার্যকারিতা বৃদ্ধি করে, যা আপনার মডেলগুলি চালানোর জন্য সবচেয়ে ব্যয়-দক্ষ প্ল্যাটফর্ম।

C6g/m6g এবং c7g উভয়ই SageMaker-এর অন্যান্য CPU দৃষ্টান্তের তুলনায় ক্লাসিক্যাল ML (উদাহরণস্বরূপ, XGBoost) এর জন্য ভাল পারফরম্যান্স প্রদান করে। c16g-এ Bfloat-7 সমর্থন bf16 প্রশিক্ষিত বা AMP (স্বয়ংক্রিয় মিশ্র স্পষ্টতা) প্রশিক্ষিত মডেলগুলির দক্ষ স্থাপনের অনুমতি দেয়। Graviton-এ আর্ম কম্পিউট লাইব্রেরি (ACL) ব্যাকএন্ড bfloat-16 কার্নেল সরবরাহ করে যা মডেল কোয়ান্টাইজেশন ছাড়াই দ্রুত গণিত মোডের মাধ্যমে fp32 অপারেটরকেও ত্বরান্বিত করতে পারে।

প্রস্তাবিত সেরা অভ্যাস

Graviton উদাহরণে, প্রতিটি vCPU একটি শারীরিক কোর। সাধারণ সিপিইউ সংস্থানগুলির জন্য কোন বিরোধ নেই (এসএমটি থেকে ভিন্ন), এবং প্রতিটি ভিসিপিইউ সংযোজনের সাথে কাজের চাপ কর্মক্ষমতা স্কেলিং রৈখিক। অতএব, যখনই ব্যবহারের ক্ষেত্রে অনুমতি দেয় তখনই ব্যাচ অনুমান ব্যবহার করার পরামর্শ দেওয়া হয়। এটি প্রতিটি ভৌত ​​কোরে ব্যাচকে সমান্তরাল প্রক্রিয়াকরণের মাধ্যমে vCPU-এর দক্ষ ব্যবহার সক্ষম করবে। ব্যাচের অনুমান করা সম্ভব না হলে, OS থ্রেড শিডিউলিং ওভারহেড অতিরিক্ত vCPU-এর সাথে আসা কম্পিউট পাওয়ারের চেয়ে বেশি না হয় তা নিশ্চিত করার জন্য একটি প্রদত্ত পেলোডের জন্য সর্বোত্তম দৃষ্টান্তের আকার প্রয়োজন।

TensorFlow ডিফল্টরূপে Eigen কার্নেলের সাথে আসে এবং সর্বাধিক অপ্টিমাইজ করা ইনফারেন্স ব্যাকএন্ড পেতে ACL এর সাথে OneDNN-এ স্যুইচ করার পরামর্শ দেওয়া হয়। কনটেইনার পরিষেবা চালু করার সময় OneDNN ব্যাকএন্ড এবং bfloat-16 দ্রুত গণিত মোড সক্ষম করা যেতে পারে:

docker run -p 8501:8501 --name tfserving_resnet 
--mount type=bind,source=/tmp/resnet,target=/models/resnet 
-e MODEL_NAME=resnet -e TF_ENABLE_ONEDNN_OPTS=1 
-e DNNL_DEFAULT_FPMATH_MODE=BF16 -e -t tfs:mkl_aarch64

পূর্ববর্তী সার্ভিং কমান্ড দুটি গুরুত্বপূর্ণ কনফিগারেশন সহ একটি স্ট্যান্ডার্ড resnet50 মডেল হোস্ট করে:

-e TF_ENABLE_ONEDNN_OPTS=1
-e DNNL_DEFAULT_FPMATH_MODE=BF16

এগুলি নিম্নলিখিত উপায়ে অনুমান কন্টেইনারে প্রেরণ করা যেতে পারে:

client.create_model(
    ModelName="Your model name",
    PrimaryContainer={
    "Image": ,
    "ModelDataUrl": ,
    "Environment": {
        "SAGEMAKER_PROGRAM": "inference.py",
        "SAGEMAKER_SUBMIT_DIRECTORY": "",
        "SAGEMAKER_CONTAINER_LOG_LEVEL": "20",
        "SAGEMAKER_REGION": ,
        "TF_ENABLE_ONEDNN_OPTS": "1",
        "DNNL_DEFAULT_FPMATH_MODE": "BF16"
         }
     },
     ExecutionRoleArn='ARN for AmazonSageMaker-ExecutionRole'
)

স্থাপনার উদাহরণ

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

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

নিম্নলিখিত উদাহরণ CIFAR-10 ডেটাসেট বিবেচনা করে। আপনি সেজমেকার উদাহরণ থেকে নোটবুকের উদাহরণ অনুসরণ করতে পারেন গিটহুব রেপো এই পোস্টে ব্যবহৃত মডেলটি পুনরুত্পাদন করতে। আমরা প্রশিক্ষিত মডেল এবং ব্যবহার cifar10_keras_main.py অনুমানের জন্য পাইথন স্ক্রিপ্ট।

মডেলটি একটি S3 বালতিতে সংরক্ষণ করা হয়: s3://aws-ml-blog/artifacts/run-ml-inference-on-graviton-based-instances-with-amazon-sagemaker/model.tar.gz

সার্জারির cifar10_keras_main.py স্ক্রিপ্ট, যা অনুমানের জন্য ব্যবহার করা যেতে পারে, এখানে সংরক্ষণ করা হয়:s3://aws-ml-blog/artifacts/run-ml-inference-on-graviton-based-instances-with-amazon-sagemaker/script/cifar10_keras_main.py

আমরা ব্যবহার করি us-east-1 একটি ml.c7g.xlarge Graviton-ভিত্তিক উদাহরণে মডেলটিকে অঞ্চল এবং স্থাপন করুন। এর উপর ভিত্তি করে, আমাদের AWS ডিপ লার্নিং কন্টেইনারের URI হল 763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference-graviton:2.9.1-cpu-py38-ubuntu20.04-sagemaker

  1. নিম্নলিখিত কোড দিয়ে সেট আপ করুন:
    import sagemaker
    import boto3
    import datetime
    import json
    import gzip
    import os
    
    sagemaker_session = sagemaker.Session()
    bucket = sagemaker_session.default_bucket()
    role = sagemaker.get_execution_role()
    region = sagemaker_session.boto_region_name

  2. শেষ পয়েন্ট পরীক্ষার জন্য ডেটাসেট ডাউনলোড করুন:
    from keras.datasets import cifar10
    (x_train, y_train), (x_test, y_test) = cifar10.load_data()

  3. মডেল এবং এন্ডপয়েন্ট কনফিগারেশন তৈরি করুন এবং এন্ডপয়েন্ট স্থাপন করুন:
    timestamp = "{:%Y-%m-%d-%H-%M-%S}".format(datetime.datetime.now())
    
    client = boto3.client("sagemaker")
    
    MODEL_NAME = f"graviton-model-{timestamp}"
    ENDPOINT_NAME = f"graviton-endpoint-{timestamp}"
    ENDPOINT_CONFIG_NAME = f"graviton-endpoint-config-{timestamp}"
    
    # create sagemaker model
    create_model_response = client.create_model(
        ModelName=MODEL_NAME,
        PrimaryContainer={
        "Image":  "763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference-graviton:2.9.1-cpu-py38-ubuntu20.04-sagemaker ",
        "ModelDataUrl":  "s3://aws-ml-blog/artifacts/run-ml-inference-on-graviton-based-instances-with-amazon-sagemaker/model.tar.gz",
        "Environment": {
            "SAGEMAKER_CONTAINER_LOG_LEVEL": "20",
            "SAGEMAKER_REGION": region
            }
        },
        ExecutionRoleArn=role
    )
    print ("create_model API response", create_model_response)

  4. ঐচ্ছিকভাবে, আপনি আপনার অনুমান স্ক্রিপ্ট যোগ করতে পারেন Environment in create_model যদি আপনি প্রাথমিকভাবে প্রশিক্ষণের সময় আপনার সেজমেকার মডেলে একটি শিল্পকর্ম হিসাবে এটি যোগ না করেন:
    "SAGEMAKER_PROGRAM": "inference.py",
    "SAGEMAKER_SUBMIT_DIRECTORY": ,
    		
    # create sagemaker endpoint config
    create_endpoint_config_response = client.create_endpoint_config(
        EndpointConfigName=ENDPOINT_CONFIG_NAME,
        ProductionVariants=[
            {
             "VariantName": "v0",
             "ModelName": MODEL_NAME,
             "InitialInstanceCount": 1,
             "InstanceType": "ml.c7g.xlarge" 
            },
        ]
    )
    print ("ncreate_endpoint_config API response", create_endpoint_config_response)
    
    # create sagemaker endpoint
    create_endpoint_response = client.create_endpoint(
        EndpointName = ENDPOINT_NAME,
        EndpointConfigName = ENDPOINT_CONFIG_NAME,
    )
    print ("ncreate_endpoint API response", create_endpoint_response)   
    

    স্থাপনার জন্য আপনাকে কয়েক মিনিট অপেক্ষা করতে হবে।

  5. নিম্নলিখিত কোড দিয়ে শেষ পয়েন্টের অবস্থা যাচাই করুন:
    describe_response = client.describe_endpoint(EndpointName=ENDPOINT_NAME)
    print(describe_response["EndpointStatus"]

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

  6. শেষ পয়েন্টগুলি আহ্বান করতে রানটাইম পরিবেশ সেট আপ করুন:
    runtime = boto3.Session().client(service_name="runtime.sagemaker")

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

  7. পেলোডটি টেনসরগুলিতে কাস্ট করুন এবং মডেলটি প্রত্যাশা করছে এমন সঠিক বিন্যাস সেট করুন৷ এই উদাহরণের জন্য, আমরা শুধুমাত্র একটি ভবিষ্যদ্বাণী অনুরোধ করছি।
    input_image = x_test[0].reshape(1,32,32,3)

    আমরা একটি অ্যারে হিসাবে মডেল আউটপুট পেতে.

  8. আমরা এই আউটপুটটিকে সম্ভাব্যতায় পরিণত করতে পারি যদি আমরা এটিতে একটি সফটম্যাক্স প্রয়োগ করি:
    CONTENT_TYPE = 'application/json'
    ACCEPT = 'application/json'
    PAYLOAD = json.dumps(input_image.tolist())
    
    response = runtime.invoke_endpoint(
        EndpointName=ENDPOINT_NAME, 
        ContentType=CONTENT_TYPE,
        Accept=ACCEPT,
        Body=PAYLOAD
    )
        
    print(response['Body'].read().decode())

সম্পদ পরিষ্কার করুন

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

client.delete_endpoint(EndpointName=ENDPOINT_NAME)
client.delete_endpoint_config(EndpointConfigName=ENDPOINT_CONFIG_NAME)
client.delete_model(ModelName=MODEL_NAME)

মূল্য-কর্মক্ষমতা তুলনা

গ্রাভিটন-ভিত্তিক দৃষ্টান্তগুলি x86-ভিত্তিক দৃষ্টান্তগুলির তুলনায় সর্বনিম্ন মূল্য এবং সর্বোত্তম মূল্য-কর্মক্ষমতা প্রদান করে। EC2 দৃষ্টান্তগুলির মতো, ml.c6g দৃষ্টান্তগুলির সাথে SageMaker ইনফারেন্স এন্ডপয়েন্টগুলি (Graviton 2) ml.c20 এর তুলনায় 5% কম দামের অফার করে এবং Graviton 3 ml.c7g দৃষ্টান্তগুলি ml.c15 দৃষ্টান্তগুলির তুলনায় 6% সস্তা৷ আরো তথ্যের জন্য, পড়ুন অ্যামাজন সেজমেকার প্রাইসিং.

উপসংহার

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

Graviton সম্পর্কে আরও জানতে, পড়ুন AWS Graviton প্রসেসর. আপনি Amazon EC2 কনসোলে AWS Graviton-ভিত্তিক EC2 উদাহরণ দিয়ে শুরু করতে পারেন এবং উল্লেখ করে AWS Graviton প্রযুক্তিগত গাইড. আপনি এই ব্লগ পোস্টে নমুনা কোড সহ গ্র্যাভিটনের অনুমানের জন্য একটি সেজমেকার মডেল এন্ডপয়েন্ট স্থাপন করতে পারেন।


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

ভিক্টর জারামিলোভিক্টর জারামিলো, পিএইচডি, AWS প্রফেশনাল সার্ভিসে একজন সিনিয়র মেশিন লার্নিং ইঞ্জিনিয়ার। AWS-এর আগে, তিনি একজন বিশ্ববিদ্যালয়ের অধ্যাপক এবং ভবিষ্যদ্বাণীমূলক রক্ষণাবেক্ষণে গবেষণা বিজ্ঞানী ছিলেন। তার অবসর সময়ে, তিনি তার মোটরসাইকেল এবং DIY মোটরসাইকেল মেকানিক্স চালানো উপভোগ করেন।

জমনাকো আওরাহমানZmnako Awrahman, PhD, অ্যামাজন ওয়েব সার্ভিসেস-এর একজন প্র্যাকটিস ম্যানেজার, ML SME, এবং মেশিন লার্নিং টেকনিক্যাল ফিল্ড কমিউনিটি (TFC) সদস্য। তিনি গ্রাহকদের ডেটা অ্যানালিটিক্স এবং মেশিন লার্নিং দিয়ে তাদের ডেটা থেকে মূল্য বের করতে ক্লাউডের শক্তিকে কাজে লাগাতে সাহায্য করেন।

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

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

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

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

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

বাইটড্যান্স AWS ইনফেরেনশিয়া ব্যবহার করে বিলম্ব কমাতে এবং থ্রুপুট বাড়ানোর সময় অনুমান খরচে 60% পর্যন্ত সাশ্রয় করে

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