Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্ট ব্যবহার করে একাধিক TensorFlow কম্পিউটার ভিশন মডেল হোস্ট করুন

উত্স নোড: 1853804

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

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

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

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

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

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

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

এই পোস্টে আমরা কীভাবে একটি একক সেজমেকার মাল্টি-মডেল শেষ পয়েন্টের পিছনে টেনসরফ্লো কাঠামো ব্যবহার করে প্রশিক্ষিত দুটি কম্পিউটার ভিশন মডেল হোস্ট করব to আমরা ব্যবহার করি টেনসরফ্লো পরিবেশন করা এই মডেলগুলি হোস্ট করার জন্য মাল্টি-মডেল এন্ডপয়েন্টগুলির জন্য ধারক সক্ষম enabled আমাদের প্রথম মডেলের জন্য, আমরা এর একটি ছোট সংস্করণ প্রশিক্ষণ দিই অ্যালেক্সনেট সিএনএন থেকে চিত্রগুলি শ্রেণিবদ্ধ করা সিআইএফএআর -10 ডেটাসেট দ্বিতীয় মডেলের জন্য, আমরা একটি ব্যবহার করি ভিজিজি 16 সিএনএন মডেল IMAGEnet ডেটাসেট এবং সূক্ষ্ম সুরে সাইন ল্যাঙ্গুয়েজ ডিজিটস ডেটাসেট হাত প্রতীক ইমেজ শ্রেণীবদ্ধ করতে। আমরা একটি সম্পূর্ণ ক্রিয়ামূলক প্রদান নোটবই সমস্ত পদক্ষেপ প্রদর্শিত।

মডেল 1: সিআইএফএআর -10 চিত্রের শ্রেণিবদ্ধকরণ

সিআইএফএআর -10 কম্পিউটার দৃষ্টিভঙ্গি এবং এমএল-তে চিত্রের শ্রেণিবিন্যাসের জন্য একটি মানদণ্ডের ডেটাসেট। সিআইএফএআর চিত্রগুলি রঙিন (তিনটি চ্যানেল) নাটকীয় পরিবর্তনের সাথে কীভাবে বস্তুগুলি প্রদর্শিত হয়। এটি 32 ​​ক্লাসে 32 × 10 রঙের চিত্র ধারণ করে, প্রতি ক্লাসে 6,000 চিত্র রয়েছে। এটিতে 50,000 প্রশিক্ষণ চিত্র এবং 10,000 টি পরীক্ষা চিত্র রয়েছে। নীচের চিত্রটি লেবেলের দ্বারা গোষ্ঠীযুক্ত চিত্রগুলির একটি নমুনা দেখায়।

চিত্রের শ্রেণিবদ্ধকারী তৈরি করতে, আমরা ক্লাসিক্যাল অ্যালেক্সনেট সিএনএন এর একটি সরলীকৃত সংস্করণ ব্যবহার করি। নেটওয়ার্কটি পাঁচটি সংশোধনমূলক এবং পুলিং স্তর এবং তিনটি সম্পূর্ণ সংযুক্ত স্তর দ্বারা গঠিত। আমাদের সরলীকৃত আর্কিটেকচারে তিনটি কনভ্যুশনাল স্তর এবং দুটি সম্পূর্ণ সংযুক্ত (ঘন) স্তর রয়েছে।

প্রথম পদক্ষেপটি হ'ল ডেটাसेटকে ট্রেন এবং পরীক্ষার বিষয়গুলিতে লোড করা। টেনসরফ্লো ফ্রেমওয়ার্ক আমাদের লোড_ডাটা () পদ্ধতিটি ব্যবহার করে লোড করার জন্য সিআইএফএআর ডেটাসেট সরবরাহ করে। এরপরে, আমরা পিক্সেল মানগুলিকে 255 দ্বারা ভাগ করে ইনপুট চিত্রগুলি পুনরুদ্ধার করি: [0,255] ⇒ [0,1]। লেবেলগুলি ব্যবহার করে আমাদেরও প্রস্তুত করা দরকার এক-গরম এনকোডিং। একটি হট এনকোডিং হল এমন একটি প্রক্রিয়া যার মাধ্যমে শ্রেণিবদ্ধ ভেরিয়েবলগুলি সংখ্যাসূচক আকারে রূপান্তরিত হয়। নিম্নলিখিত কোড স্নিপেট কার্যকরভাবে এই পদক্ষেপগুলি দেখায়:

from tensorflow.keras.datasets import cifar10 # load dataset
(X_train, y_train), (X_test, y_test) = cifar10.load_data() # rescale input images
X_train = X_train.astype('float32')/255
X_test = X_test.astype('float32')/255 # one hot encode target labels
num_classes = len(np.unique(y_train))
y_train = utils.to_categorical(y_train, num_classes)
y_test = utils.to_categorical(y_test, num_classes)

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

পরবর্তী পদক্ষেপে, আমরা সেজমেকার এসডিকে (নীচের কোডটি দেখুন) ব্যবহার করে টেনসরফ্লো প্রাক্কলনকারী তৈরি করতে প্রশিক্ষণ স্ক্রিপ্টটি ব্যবহার করি। আমরা সিআইএফএআর -10 ইনপুটগুলিতে সিএনএন মডেলটি ফিট করতে অনুমানকারীটি ব্যবহার করি। প্রশিক্ষণ শেষ হলে, মডেলটি অ্যামাজন এস 3-এ সংরক্ষণ করা হবে।

from sagemaker.tensorflow import TensorFlow model_name = 'cifar-10' hyperparameters = {'epochs': 50} estimator_parameters = {'entry_point':'cifar_train.py', 'instance_type': 'ml.m5.2xlarge', 'instance_count': 2, 'model_dir': f'/opt/ml/model', 'role': role, 'hyperparameters': hyperparameters, 'output_path': f's3://{BUCKET}/{PREFIX}/cifar_10/out', 'base_job_name': f'mme-cv-{model_name}', 'framework_version': TF_FRAMEWORK_VERSION, 'py_version': 'py37', 'script_mode': True} estimator_1 = TensorFlow(**estimator_parameters) estimator_1.fit(inputs)

পরে, আমরা আমাদের দ্বিতীয় মডেলের (সাইন ল্যাঙ্গুয়েজ ডিজিটের ক্লাসিফায়ার) পাশাপাশি সেজেমেকার মাল্টি-মডেল এন্ডপয়েন্টটি ব্যবহার করে এই মডেলটি কীভাবে হোস্ট করব তা আমরা প্রদর্শন করি।

মডেল 2: সাইন ভাষার অঙ্কের শ্রেণিবদ্ধকরণ

আমাদের দ্বিতীয় মডেলের জন্য, আমরা সাইন ভাষার অঙ্কগুলি ডেটাসেট ব্যবহার করি। এই ডেটাসেটটি 0-9 থেকে সাইন ভাষার অঙ্কগুলি পৃথক করে। নিম্নলিখিত চিত্রটি ডেটাসেটের একটি নমুনা দেখায়।

ডেটাসেটটিতে আরজিবি রঙে 100 x 100 টি চিত্র রয়েছে এবং এতে 10 শ্রেণি রয়েছে (অঙ্ক 0-9) প্রশিক্ষণ সেটটিতে 1,712 টি চিত্র, বৈধতা সেট 300 এবং পরীক্ষার সেট 50 রয়েছে।

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

এই মডেলটিকে প্রশিক্ষণ দেওয়ার জন্য, আমরা ইমেজনেট ডেটাसेटে প্রশিক্ষিত একটি প্রাক-প্রশিক্ষিত ভিজিজি 16 সিএনএন মডেল ব্যবহার করি এবং আমাদের সাইন ল্যাঙ্গুয়েজ ডিজিটের ডেটাসেটে কাজ করার জন্য এটি সূক্ষ্ম-টিউন করি। প্রাক-প্রশিক্ষিত মডেল এমন একটি নেটওয়ার্ক যা সাধারণত একটি বৃহত ডেটাसेटে প্রশিক্ষণ দেওয়া হয়েছিল, সাধারণত বড় আকারের চিত্রের শ্রেণিবদ্ধকরণ কার্যে। আমরা যে ভিজিজি 16 মডেল আর্কিটেকচারটি ব্যবহার করি তাতে মোট 13 টি কনভ্যুশনাল স্তর রয়েছে। সাইন ল্যাঙ্গুয়েজ ডেটাসেটের জন্য, কারণ এর ডোমেনটি ইমেজনেট ডেটাসেটের উত্স ডোমেন থেকে পৃথক, আমরা কেবল কয়েকটি কয়েকটি স্তরকে সূক্ষ্ম সুর করি। এখানে ফাইন-টিউনিং এমন কয়েকটি নেটওয়ার্ক স্তরগুলিকে বোঝায় যা বৈশিষ্ট্য নিষ্কাশন করার জন্য ব্যবহৃত হয় এবং যৌথভাবে অ হিমায়িত স্তর এবং প্রাক-প্রশিক্ষিত মডেলের নতুন যুক্ত শ্রেণিবদ্ধ স্তর উভয়কে প্রশিক্ষণ দেয়।

প্রশিক্ষণ স্ক্রিপ্ট (sign_language_train.py) সাইন ল্যাঙ্গুয়েজ ডিজিটের শ্রেণিবদ্ধকারীর জন্য মডেল আর্কিটেকচার এবং প্রশিক্ষণের যুক্তি সজ্জিত করে। প্রথমত, আমরা ইমেজনেট ডেটাসেটে প্রশিক্ষিত ভিজিজি 16 নেটওয়ার্ক থেকে পূর্বনির্ধারিত ওজন লোড করি। এরপরে, আমরা বৈশিষ্ট্যটির এক্সট্রাক্টরের অংশটি স্থিত করে ফেলি এবং তার পরে নতুন শ্রেণিবদ্ধ স্তরগুলি যুক্ত করি। শেষ পর্যন্ত, আমরা নেটওয়ার্কটি সংকলন করি এবং ছোট ডেটাসেটের জন্য মডেলটি অনুকূল করতে প্রশিক্ষণ প্রক্রিয়া চালিত করি।

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

model_name = 'sign-language' hyperparameters = {'epochs': 50} estimator_parameters = {'entry_point':'sign_language_train.py', 'instance_type': 'ml.m5.2xlarge', 'instance_count': 2, 'hyperparameters': hyperparameters, 'model_dir': f'/opt/ml/model', 'role': role, 'output_path': f's3://{BUCKET}/{PREFIX}/sign_language/out', 'base_job_name': f'cv-{model_name}', 'framework_version': TF_FRAMEWORK_VERSION, 'py_version': 'py37', 'script_mode': True} estimator_2 = TensorFlow(**estimator_parameters) estimator_2.fit({'train': train_input, 'val': val_input})

একটি বহু মডেল শেষ পয়েন্ট স্থাপন করুন

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

মাল্টি-মডেল এন্ডপয়েন্টটি তৈরি করতে, প্রথমে আমাদের পৃথক অনুমানকারীগুলির জন্য প্রশিক্ষিত মডেলগুলি (1 এবং 2) তাদের সংরক্ষিত এস 3 অবস্থানগুলি থেকে একটি সাধারণ এস 3 উপসর্গে অনুলিপি করতে হবে যা মাল্টি-মডেল এন্ডপয়েন্ট দ্বারা ব্যবহার করা যেতে পারে:

tf_model_1 = estimator_1.model_data
output_1 = f's3://{BUCKET}/{PREFIX}/mme/cifar.tar.gz' tf_model_2 = estimator_2.model_data
output_2 = f's3://{BUCKET}/{PREFIX}/mme/sign-language.tar.gz' !aws s3 cp {tf_model_1} {output_1}
!aws s3 cp {tf_model_2} {output_2}

মডেলগুলি S3 উপসর্গ দ্বারা নির্ধারিত সাধারণ স্থানে অনুলিপি করার পরে, আমরা সেজমেকার এসডিকে থেকে টেনসরফ্লোমোডেল ক্লাস ব্যবহার করে একটি পরিবেশন মডেল তৈরি করি। পরিবেশনকারী মডেলটি একাধিক মডেলের শেষ পয়েন্টের আওতায় হোস্ট করার জন্য তৈরি করা হয়েছে। এই ক্ষেত্রে, আমরা প্রথম মডেল (সিআইএফএআর -10 চিত্র শ্রেণীবদ্ধকারী) ব্যবহার করি। এরপরে, আমরা পূর্ববর্তী পদক্ষেপে তৈরি হওয়া মডেল -1 এর জন্য পরিবেশনকারী মডেলটি ব্যবহার করে একটি মাল্টি-মডেল ডেটা মডেল তৈরি করতে সেজমেকার এসডিকে থেকে মাল্টিডাটা মডেল ক্লাসটি ব্যবহার করি:

from sagemaker.tensorflow.serving import TensorFlowModel
from sagemaker.multidatamodel import MultiDataModel model_1 = TensorFlowModel(model_data=output_1, role=role, image_uri=IMAGE_URI) mme = MultiDataModel(name=f'mme-tensorflow-{current_time}', model_data_prefix=model_data_prefix, model=model_1, sagemaker_session=sagemaker_session)

পরিশেষে, আমরা মাল্টি-ডেটামোডেল স্থাপন করে () পদ্ধতি কল করে, মাল্টি-মডেল শেষ পয়েন্টটি ব্যাক করতে প্রয়োজনীয় হোস্টিং পরিকাঠামো তৈরি করতে প্রয়োজনীয় বৈশিষ্ট্যগুলি সরবরাহ করে:

predictor = mme.deploy(initial_instance_count=2, instance_type='ml.m5.2xlarge', endpoint_name=f'mme-tensorflow-{current_time}')

ডিপ্লয় কলটি পূর্বাভাসকারী উদাহরণ দেয়, যা আমরা অনুমান কল করতে ব্যবহার করতে পারি। আমরা এটি পরবর্তী বিভাগে দেখি।

রিয়েল-টাইম অনুমানের জন্য একাধিক মডেল শেষ পয়েন্ট পরীক্ষা করুন

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

মাল্টি-মডেল এন্ডপয়েন্টগুলি যখন কনটেইনার থেকে অব্যবহৃত মডেলগুলি আনডলড করে যখন এন্ডপয়েন্টটি সমর্থনকারী উদাহরণগুলি মেমরির ক্ষমতায় পৌঁছায় এবং আরও মডেলগুলি তার ধারকটিতে লোড করা প্রয়োজন need সেগমেকার যখন ভলিউম সক্ষমতা পৌঁছেছে এবং নতুন মডেলগুলি ডাউনলোড করা দরকার তখন ইনস্টল স্টোরেজ ভলিউম থেকে অব্যবহৃত মডেল শিল্পকর্মগুলি মুছুন। সদ্য যুক্ত হওয়া মডেলের প্রথম অনুরোধটি আরও বেশি সময় নেয় কারণ শেষ পয়েন্টটি অ্যামাজন এস 3 থেকে মডেলটি ডাউনলোড করতে সময় লাগে মাল্টি-মডেল সমাপ্তির দৃষ্টিকোণকে সমর্থন করে ances যে মডেলগুলি লোড করা হয়নি সেগুলি ইনস্টলের স্টোরেজ ভলিউমে থাকে এবং এস 3 বালতি থেকে আবার ডাউনলোড না করে পরে ধারকটির স্মৃতিতে লোড করা যায়।

আসুন দেখুন কীভাবে সিআইএফএআর -10 ইমেজ শ্রেণিবদ্ধ (মডেল -১) থেকে বহু-মডেল এন্ড পয়েন্টের আওতায় আনা যায়। প্রথমত, আমরা ক্লাসগুলির একটি - বিমান "থেকে একটি নমুনা চিত্র লোড করি এবং এটি পূর্ববর্তী ধাপে আমরা যে ভবিষ্যদ্বাণী তৈরি করেছি তা ব্যবহার করে মাল্টি-মডেল শেষ পয়েন্টে পাঠানোর জন্য প্রস্তুত করি।

এই ভবিষ্যদ্বাণীকের সাথে, আমরা প্রারম্ভিক_আরগ্স প্যারামিটারের সাথে পূর্বাভাস () পদ্ধতিটিও কল করতে পারি, যা প্রার্থনা করার জন্য লক্ষ্য মডেলের নাম নির্দিষ্ট করে। এই ক্ষেত্রে, টার্গেট মডেলটি সিফার.আর.পি. নিম্নলিখিত স্নিপেট এই প্রক্রিয়াটি বিশদভাবে দেখায়:

img = load_img('./data/cifar_10/raw_images/airplane.png', target_size=(32, 32))
data = img_to_array(img)
data = data.astype('float32')
data = data / 255.0
data = data.reshape(1, 32, 32, 3)
payload = {'instances': data}
y_pred = predictor.predict(data=payload, initial_args={'TargetModel': 'cifar.tar.gz'})
predicted_label = CIFAR10_LABELS[np.argmax(y_pred)]
print(f'Predicted Label: [{predicted_label}]')

পূর্ববর্তী কোডটি চালানো পূর্বাভাসের আউটপুটটিকে লেবেল বিমান হিসাবে প্রত্যাবর্তন করে, যা আমাদের পরিবেশন করা মডেল দ্বারা সঠিকভাবে ব্যাখ্যা করা হয়েছে:

Predicted Label: [airplane]

এর পরে, আসুন লক্ষণীয় মডেল হিসাবে সাইন-ল্যাংগুয়েজ.আরটি.জেড সহ শেষ পয়েন্টটি আহ্বান করে কীভাবে সাইন ল্যাঙ্গুয়েজ ডিজিটের ক্লাসিফায়ার (মডেল -২ )টিকে গতিশীলভাবে লোড করবেন তা দেখুন end

আমরা হ্যান্ড সাইন ডিজিট 0 এর নীচের নমুনা চিত্রটি ব্যবহার করি।

নীচের স্নিপেটটি দেখায় যে কীভাবে সঠিক প্রতিক্রিয়া ফিরে পেতে নমুনা চিত্রের সাথে মাল্টি-মডেল শেষ পয়েন্টটি চালু করতে হবে:

test_path = './data/sign_language/test'
img = mpimg.imread(f'{test_path}/0/IMG_4159.JPG') def path_to_tensor(img_path): # loads RGB image as PIL.Image.Image type img = image.load_img(img_path, target_size=(224, 224)) # convert PIL.Image.Image type to 3D tensor with shape (224, 224, 3) x = image.img_to_array(img) # convert 3D tensor to 4D tensor with shape (1, 224, 224, 3) and return 4D tensor return np.expand_dims(x, axis=0) data = path_to_tensor(f'{test_path}/0/IMG_4159.JPG')
payload = {'instances': data}
y_pred = predictor.predict(data=payload, initial_args={'TargetModel': 'sign-language.tar.gz'})predicted_label = np.argmax(y_pred)
print(f'Predicted Label: [{predicted_label}]')

নিম্নলিখিত কোডটি 0 টি লেবেল সহ আমাদের প্রতিক্রিয়া:

Predicted Label: [0]

উপসংহার

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

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

সেজমেকার মাল্টি-মডেল এন্ডপয়েন্টগুলিকে আপনার ব্যবহারের ক্ষেত্রে চেষ্টা করুন এবং আপনার প্রতিক্রিয়া মন্তব্যগুলিতে ছেড়ে দিন।


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

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

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

সূত্র: https://aws.amazon.com/blogs/machine-learning/host-m Multipleple-tensorflow-computer-vision-models-used-amazon-sagemaker-m Multi-model-endpPoint/

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

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

অ্যামাজন সেজমেকার ডেটা র্যাংলার এবং অ্যামাজন সেজমেকার অটোপাইলট ব্যবহার করে এমএল মডেলগুলি বিকাশ এবং স্থাপন করুন

উত্স নোড: 1854652
সময় স্ট্যাম্প: জুন 9, 2021

AWS ব্যবহার করে একটি বহু-শাখা প্রশিক্ষণ MLOps পাইপলাইনের মাধ্যমে আপনার ডেটা বিজ্ঞানের কর্মপ্রবাহ উন্নত করুন

উত্স নোড: 1216373
সময় স্ট্যাম্প: অক্টোবর 22, 2021

অ্যামাজন অ্যাথেনা, অ্যামাজন ট্রান্সলেট এবং অ্যামাজন কম্প্রিহেন্ডের সাথে SQL ফাংশন ব্যবহার করে পাঠ্য অনুবাদ এবং বিশ্লেষণ করুন

উত্স নোড: 748149
সময় স্ট্যাম্প: ফেব্রুয়ারী 26, 2021