Amazon SageMaker | এর সাথে হাজার হাজার এমএল মডেলের স্কেল প্রশিক্ষণ এবং অনুমান আমাজন ওয়েব সার্ভিসেস

Amazon SageMaker | এর সাথে হাজার হাজার এমএল মডেলের স্কেল প্রশিক্ষণ এবং অনুমান আমাজন ওয়েব সার্ভিসেস

যেহেতু মেশিন লার্নিং (ML) বিস্তৃত শিল্পে ক্রমবর্ধমানভাবে প্রচলিত হয়ে উঠছে, সংস্থাগুলি তাদের গ্রাহকদের বিভিন্ন চাহিদা মেটাতে প্রচুর সংখ্যক ML মডেলের প্রশিক্ষণ এবং পরিবেশন করার প্রয়োজনীয়তা খুঁজে পাচ্ছে। একটি পরিষেবা (SaaS) প্রদানকারী হিসাবে সফ্টওয়্যারের জন্য, দ্রুত বিকাশমান বাজারে প্রতিযোগিতামূলক থাকার জন্য দক্ষ এবং সাশ্রয়ীভাবে হাজার হাজার মডেলকে প্রশিক্ষণ ও পরিবেশন করার ক্ষমতা অত্যন্ত গুরুত্বপূর্ণ।

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

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

ব্যবহার ক্ষেত্রে: শক্তি পূর্বাভাস

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

জেনারেট করা ডেটাসেটে তিনটি বৈশিষ্ট্য রয়েছে:

  • গ্রাহক_আইডি - এটি প্রতিটি গ্রাহকের জন্য একটি পূর্ণসংখ্যা শনাক্তকারী, 0-999 পর্যন্ত।
  • টাইমস্ট্যাম্প - এটি একটি তারিখ/সময় মান যা শক্তি খরচ পরিমাপ করা সময় নির্দেশ করে। টাইমস্ট্যাম্পগুলি এলোমেলোভাবে কোডে নির্দিষ্ট করা শুরু এবং শেষ তারিখের মধ্যে তৈরি হয়।
  • খরচ - এটি একটি ফ্লোট মান যা শক্তি খরচ নির্দেশ করে, কিছু নির্বিচারে এককে পরিমাপ করা হয়। সাইনোসাইডাল সিজন্যালিটির সাথে 0-1,000 এর মধ্যে খরচের মান এলোমেলোভাবে তৈরি হয়।

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

হাজার হাজার এমএল মডেলকে দক্ষতার সাথে প্রশিক্ষণ ও পরিবেশন করতে, আমরা নিম্নলিখিত সেজমেকার বৈশিষ্ট্যগুলি ব্যবহার করতে পারি:

  • সেজমেকার প্রসেসিং - সেজমেকার প্রসেসিং হল একটি সম্পূর্ণরূপে পরিচালিত ডেটা প্রস্তুতি পরিষেবা যা আপনাকে আপনার ইনপুট ডেটাতে ডেটা প্রক্রিয়াকরণ এবং মডেল মূল্যায়নের কাজগুলি সম্পাদন করতে সক্ষম করে৷ আপনি প্রশিক্ষণ এবং অনুমানের জন্য প্রয়োজনীয় বিন্যাসে কাঁচা ডেটা রূপান্তর করতে, সেইসাথে আপনার মডেলগুলির ব্যাচ এবং অনলাইন মূল্যায়ন চালানোর জন্য SageMaker প্রক্রিয়াকরণ ব্যবহার করতে পারেন।
  • সেজমেকার প্রশিক্ষণের চাকরি - আপনি বিভিন্ন অ্যালগরিদম এবং ইনপুট ডেটা প্রকারের মডেলগুলিকে প্রশিক্ষণের জন্য সেজমেকার প্রশিক্ষণের কাজগুলি ব্যবহার করতে পারেন এবং প্রশিক্ষণের জন্য প্রয়োজনীয় গণনা সংস্থানগুলি নির্দিষ্ট করতে পারেন।
  • সেজমেকার এমএমই - মাল্টি-মডেল এন্ডপয়েন্ট আপনাকে একটি একক এন্ডপয়েন্টে একাধিক মডেল হোস্ট করতে সক্ষম করে, যা একটি একক API ব্যবহার করে একাধিক মডেল থেকে ভবিষ্যদ্বাণী পরিবেশন করা সহজ করে তোলে। SageMaker MMEs একাধিক মডেল থেকে ভবিষ্যদ্বাণী পরিবেশনের জন্য প্রয়োজনীয় শেষ পয়েন্টের সংখ্যা কমিয়ে সময় এবং সংস্থান বাঁচাতে পারে। MMEs উভয় CPU- এবং GPU-সমর্থিত মডেলের হোস্টিং সমর্থন করে। মনে রাখবেন যে আমাদের পরিস্থিতিতে, আমরা 1,000 মডেল ব্যবহার করি, কিন্তু এটি পরিষেবারই সীমাবদ্ধতা নয়।

নিম্নলিখিত চিত্রটি সমাধানের স্থাপত্যকে চিত্রিত করে।

আর্কিটেকচার যা বর্ণিত প্রক্রিয়া প্রদর্শন করে

কর্মপ্রবাহে নিম্নলিখিত পদক্ষেপগুলি অন্তর্ভুক্ত রয়েছে:

  1. আমরা ডেটা প্রিপ্রসেস করার জন্য সেজমেকার প্রসেসিং ব্যবহার করি এবং প্রতি গ্রাহকের জন্য একটি একক CSV ফাইল তৈরি করি এবং এটি সংরক্ষণ করি আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3)।
  2. সেজমেকার প্রসেসিং কাজের আউটপুট পড়ার জন্য এবং প্রশিক্ষণের উদাহরণগুলিতে রাউন্ড-রবিন ফ্যাশনে বিতরণ করার জন্য সেজমেকার প্রশিক্ষণ কাজটি কনফিগার করা হয়েছে। মনে রাখবেন যে এটি দিয়েও অর্জন করা যেতে পারে অ্যামাজন সেজমেকার পাইপলাইন.
  3. মডেল আর্টিফ্যাক্টগুলি প্রশিক্ষণ কাজের দ্বারা Amazon S3 এ সংরক্ষণ করা হয় এবং সেজমেকার MME থেকে সরাসরি পরিবেশন করা হয়।

হাজার হাজার মডেলের স্কেল প্রশিক্ষণ

এর মাধ্যমে হাজার হাজার মডেলের প্রশিক্ষণ স্কেল করা সম্ভব distribution এর প্যারামিটার প্রশিক্ষণ ইনপুট SageMaker Python SDK-এ ক্লাস, যা আপনাকে একটি প্রশিক্ষণ কাজের জন্য একাধিক প্রশিক্ষণ উদাহরণ জুড়ে কীভাবে ডেটা বিতরণ করা হয় তা নির্দিষ্ট করতে দেয়। জন্য তিনটি বিকল্প আছে distribution পরামিতি: FullyReplicated, ShardedByS3Key, এবং ShardedByRecord. দ্য ShardedByS3Key বিকল্পের অর্থ হল প্রশিক্ষণের ডেটা S3 অবজেক্ট কী দ্বারা শার্ড করা হয়েছে, প্রতিটি প্রশিক্ষণের উদাহরণের সাথে ডুপ্লিকেশন এড়িয়ে ডেটার একটি অনন্য উপসেট গ্রহণ করা হয়েছে। প্রশিক্ষণের পাত্রে সেজমেকার দ্বারা ডেটা অনুলিপি করার পরে, আমরা গ্রাহক ফাইল প্রতি একটি অনন্য মডেল প্রশিক্ষণের জন্য ফোল্ডার এবং ফাইলের কাঠামো পড়তে পারি। নিম্নলিখিত একটি উদাহরণ কোড স্নিপেট:

# Assume that the training data is in an S3 bucket already, pass the parent folder
s3_input_train = sagemaker.inputs.TrainingInput( s3_data='s3://my-bucket/customer_data', distribution='ShardedByS3Key'
) # Create a SageMaker estimator and set the training input
estimator = sagemaker.estimator.Estimator(...)
estimator.fit(inputs=s3_input_train)

প্রতিটি SageMaker প্রশিক্ষণ কাজ সংরক্ষিত মডেল সংরক্ষণ করে /opt/ml/model এটি সংরক্ষণাগার করার আগে প্রশিক্ষণ পাত্রের ফোল্ডার a model.tar.gz ফাইল, এবং তারপর প্রশিক্ষণ কাজ সমাপ্তির পরে এটি Amazon S3 এ আপলোড করে। শক্তি ব্যবহারকারীরাও সেজমেকার পাইপলাইনগুলির সাথে এই প্রক্রিয়াটিকে স্বয়ংক্রিয় করতে পারে। একই প্রশিক্ষণ কাজের মাধ্যমে একাধিক মডেল সংরক্ষণ করার সময়, সেজমেকার একটি একক তৈরি করে model.tar.gz সমস্ত প্রশিক্ষিত মডেল ধারণকারী ফাইল. এর মানে হবে যে, মডেলটি পরিবেশন করার জন্য, আমাদের প্রথমে আর্কাইভটি আনপ্যাক করতে হবে। এটি এড়াতে, আমরা ব্যবহার করি চেকপয়েন্ট পৃথক মডেলের অবস্থা সংরক্ষণ করতে. সেজমেকার অ্যামাজন এস 3-তে প্রশিক্ষণ কাজের সময় তৈরি করা চেকপয়েন্টগুলি অনুলিপি করার কার্যকারিতা সরবরাহ করে। এখানে, চেকপয়েন্টগুলিকে একটি পূর্ব-নির্দিষ্ট স্থানে সংরক্ষণ করতে হবে, ডিফল্ট হিসাবে /opt/ml/checkpoints. এই চেকপয়েন্টগুলিকে পরবর্তী মুহুর্তে প্রশিক্ষণ পুনরায় শুরু করতে বা শেষ পয়েন্টে মোতায়েন করার মডেল হিসাবে ব্যবহার করা যেতে পারে। সেজমেকার প্রশিক্ষণ প্ল্যাটফর্ম কীভাবে প্রশিক্ষণ ডেটাসেট, মডেল আর্টিফ্যাক্ট, চেকপয়েন্ট এবং AWS ক্লাউড স্টোরেজ এবং সেজমেকারে প্রশিক্ষণের চাকরির মধ্যে আউটপুটগুলির জন্য স্টোরেজ পাথগুলি পরিচালনা করে তার একটি উচ্চ-স্তরের সারাংশের জন্য, দেখুন আমাজন সেজমেকার প্রশিক্ষণ ডেটাসেট, চেকপয়েন্ট, মডেল আর্টিফ্যাক্ট এবং আউটপুট প্রশিক্ষণের জন্য স্টোরেজ ফোল্ডার.

নিম্নলিখিত কোড একটি কাল্পনিক ব্যবহার করে model.save() ভিতরে ফাংশন train.py প্রশিক্ষণ লজিক ধারণকারী স্ক্রিপ্ট:

import tarfile
import boto3
import os [ ... argument parsing ... ] for customer in os.list_dir(args.input_path): # Read data locally within the Training job df = pd.read_csv(os.path.join(args.input_path, customer, 'data.csv')) # Define and train the model model = MyModel() model.fit(df) # Save model to output directory with open(os.path.join(output_dir, 'model.json'), 'w') as fout: fout.write(model_to_json(model)) # Create the model.tar.gz archive containing the model and the training script with tarfile.open(os.path.join(output_dir, '{customer}.tar.gz'), "w:gz") as tar: tar.add(os.path.join(output_dir, 'model.json'), "model.json") tar.add(os.path.join(args.code_dir, "training.py"), "training.py")

SageMaker MMEs সহ হাজার হাজার মডেলের স্কেল ইনফারেন্স

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

নিম্নলিখিত কোড স্নিপেট দেখায় কিভাবে SageMaker Python SDK ব্যবহার করে একটি MME তৈরি করতে হয়:

from sagemaker.multidatamodel import MultiDataModel # Create the MultiDataModel definition
multimodel = MultiDataModel( name='customer-models', model_data_prefix=f's3://{bucket}/scaling-thousand-models/models', model=your_model,
) # Deploy on a real-time endpoint
predictor = multimodel.deploy( initial_instance_count=1, instance_type='ml.c5.xlarge',
)

যখন MME লাইভ থাকে, তখন আমরা ভবিষ্যদ্বাণী তৈরি করতে এটিকে আহ্বান করতে পারি। যেকোন AWS SDK-এর পাশাপাশি SageMaker Python SDK-তেও আহ্বান করা যেতে পারে, যেমনটি নিম্নলিখিত কোড স্নিপেটে দেখানো হয়েছে:

predictor.predict( data='{"period": 7}', # the payload, in this case JSON target_model='{customer}.tar.gz' # the name of the target model
)

একটি মডেল কল করার সময়, মডেলটি প্রাথমিকভাবে Amazon S3 থেকে লোড করা হয়, যার ফলে একটি নতুন মডেল কল করার সময় একটি কোল্ড স্টার্ট হতে পারে। কম লেটেন্সি ইনফারেন্স প্রদান করতে প্রায়শই ব্যবহৃত মডেলগুলি মেমরিতে এবং ডিস্কে ক্যাশে করা হয়।

উপসংহার

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


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

ডেভিডের ছবিডেভিড গ্যালিটেলি EMEA অঞ্চলে AI/ML-এর জন্য একজন বিশেষজ্ঞ সমাধান স্থপতি৷ তিনি ব্রাসেলসে অবস্থিত এবং বেনেলাক্স জুড়ে গ্রাহকদের সাথে ঘনিষ্ঠভাবে কাজ করেন। তিনি খুব অল্প বয়স থেকেই একজন বিকাশকারী ছিলেন, 7 বছর বয়সে কোড করতে শুরু করেছিলেন। তিনি বিশ্ববিদ্যালয়ে AI/ML শিখতে শুরু করেছিলেন, এবং তখন থেকেই এর প্রেমে পড়েছেন।

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

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

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

3xLOGIC নিরীক্ষণ এজেন্টদের লাইভ ভিডিও স্ট্রিমগুলিতে বুদ্ধিমান ভিডিও বিশ্লেষণ প্রদান করতে Amazon Recognition স্ট্রিমিং ভিডিও ইভেন্ট ব্যবহার করে

উত্স নোড: 1284772
সময় স্ট্যাম্প: এপ্রিল 28, 2022

অ্যামাজন স্বীকৃতি লাইভ ভিডিও স্ট্রিমগুলিতে রিয়েল-টাইম সতর্কতা প্রদানের জন্য স্ট্রিমিং ভিডিও ইভেন্টগুলি প্রবর্তন করে

উত্স নোড: 1284245
সময় স্ট্যাম্প: এপ্রিল 28, 2022

স্বায়ত্তশাসিত ড্রাইভিং অ্যাপ্লিকেশনের জন্য ভিত্তিগত দৃষ্টি মডেল এবং ভিজ্যুয়াল প্রম্পট ইঞ্জিনিয়ারিং | আমাজন ওয়েব সার্ভিসেস

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

বিকাশকারীর উত্পাদনশীলতা বাড়ানো: ডেলয়েট কীভাবে নো-কোড/লো-কোড মেশিন লার্নিংয়ের জন্য অ্যামাজন সেজমেকার ক্যানভাস ব্যবহার করে | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1920150
সময় স্ট্যাম্প: ডিসেম্বর 1, 2023