সেজমেকারে মডেল হোস্টিং প্যাটার্নস: সেজমেকার প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্সে মডেলগুলি পরীক্ষা এবং আপডেট করার সেরা অনুশীলন। উল্লম্ব অনুসন্ধান. আ.

সেজমেকারে মডেল হোস্টিং প্যাটার্নস: সেজমেকারে মডেল পরীক্ষা এবং আপডেট করার সেরা অনুশীলন

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

  • সিঙ্ক্রোনাস ভবিষ্যদ্বাণীগুলির জন্য যা মিলিসেকেন্ডের ক্রমে পরিবেশন করা প্রয়োজন, সেজমেকার ব্যবহার করুন বাস্তব সময়ের অনুমান
  • কাজের চাপের জন্য যেগুলি ট্র্যাফিকের গতির মধ্যে অলস সময় থাকে এবং ঠান্ডা শুরু সহ্য করতে পারে, ব্যবহার করুন সার্ভারহীন অনুমান
  • 1 জিবি পর্যন্ত বড় পেলোড আকারের অনুরোধের জন্য, দীর্ঘ প্রক্রিয়াকরণের সময় (15 মিনিট পর্যন্ত) এবং কাছাকাছি-রিয়েল-টাইম লেটেন্সি প্রয়োজনীয়তা (সেকেন্ড থেকে মিনিট), সেজমেকার ব্যবহার করুন অ্যাসিঙ্ক্রোনাস ইনফারেন্স
  • একটি সম্পূর্ণ ডেটাসেটের পূর্বাভাস পেতে, SageMaker ব্যবহার করুন ব্যাচ রূপান্তর

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

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

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

সেজমেকার রিয়েল-টাইম ইনফারেন্স বিকল্পগুলির তুলনা করা

নিম্নলিখিত চিত্রটি সেজমেকারের সাথে রিয়েল-টাইম ইনফারেন্স বিকল্পগুলির একটি দ্রুত ওভারভিউ দেয়।

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

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

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

  • বিভিন্ন ফ্রেমওয়ার্ক জুড়ে হোস্টিং মডেলগুলি (যেমন টেনসরফ্লো, পাইটর্চ এবং স্কিট-লার্ন) যেগুলির একটি উদাহরণের সম্পূর্ণ ক্ষমতা পরিপূর্ণ করার জন্য পর্যাপ্ত ট্র্যাফিক নেই
  • বিভিন্ন এমএল অ্যালগরিদম (যেমন সুপারিশ, পূর্বাভাস, বা শ্রেণীবিভাগ) এবং হ্যান্ডলার ফাংশন সহ একই কাঠামো থেকে মডেল হোস্ট করা
  • A/B পরীক্ষার মতো পরিস্থিতির জন্য বিভিন্ন ফ্রেমওয়ার্ক সংস্করণে (যেমন TensorFlow 1.x বনাম TensorFlow 2.x) চলমান অনুরূপ আর্কিটেকচারের তুলনা

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

SageMaker মাল্টি-ভেরিয়েন্ট এন্ডপয়েন্টের ওভারভিউ

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

আপনি প্রতি সেকেন্ডে অনুরোধের মতো মেট্রিক্সের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে আপনার ভেরিয়েন্টগুলিকে স্কেল করার জন্য স্বয়ংক্রিয়ভাবে স্কেলিং নীতিটি কনফিগার করতে পারেন।

নিম্নলিখিত চিত্রটি আরও বিশদে MVE কীভাবে কাজ করে তা ব্যাখ্যা করে।

সেজমেকার মাল্টি-ভেরিয়েন্ট এন্ডপয়েন্ট

একটি MVE স্থাপন করা খুব সহজবোধ্য। আপনাকে যা করতে হবে তা হল মডেল অবজেক্টগুলিকে ইমেজ এবং মডেল ডেটা ব্যবহার করে সংজ্ঞায়িত করুন create_model SageMaker Python SDK থেকে তৈরি করুন এবং ব্যবহার করে এন্ডপয়েন্ট কনফিগারেশনগুলি সংজ্ঞায়িত করুন production_variant উত্পাদন বৈকল্পিক তৈরি করতে গঠন করে, প্রতিটি নিজস্ব মডেল এবং সম্পদের প্রয়োজনীয়তা (উদাহরণ প্রকার এবং গণনা) সহ। এটি আপনাকে বিভিন্ন ধরনের উদাহরণের মডেল পরীক্ষা করতে সক্ষম করে। স্থাপন করতে, ব্যবহার করুন endpoint_from_production_variant শেষ বিন্দু তৈরি করতে নির্মাণ করুন।

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

sm_session.create_model(
	name=model_name,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url}
	)

sm_session.create_model(
	name=model_name2,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url2 }
	)

variant1 = production_variant(
	model_name=model_name,
	instance_type="ml.c5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant1",
	initial_weight=1
	)

variant2 = production_variant(
	model_name=model_name2,
	instance_type="ml.m5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant2",
	initial_weight=1
	)

sm_session.endpoint_from_production_variants(
	name=endpoint_name,
	production_variants=[variant1,  variant2]
	)

পূর্ববর্তী উদাহরণে, আমরা দুটি ভেরিয়েন্ট তৈরি করেছি, প্রতিটির নিজস্ব আলাদা মডেল রয়েছে (এগুলির বিভিন্ন উদাহরণের ধরন এবং গণনাও থাকতে পারে)। আমরা একটি সেট initial_weight উভয় ভেরিয়েন্টের জন্য 1: এর মানে আমাদের অনুরোধের 50% এর কাছে যায় Variant1, এবং অবশিষ্ট 50% থেকে Variant2. উভয় ভেরিয়েন্ট জুড়ে ওজনের যোগফল হল 2 এবং প্রতিটি ভেরিয়েন্টের 1 ওজন নির্ধারণ করা হয়েছে। এর অর্থ হল প্রতিটি ভেরিয়েন্ট মোট ট্রাফিকের 50% গ্রহণ করে।

এন্ডপয়েন্টকে আহ্বান করা সাধারণ সেজমেকার নির্মাণের অনুরূপ invoke_endpoint; আপনি একটি পেলোড হিসাবে ডেটা সহ সরাসরি শেষ পয়েন্টে কল করতে পারেন:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload
	)

SageMaker যেমন মেট্রিক্স নির্গত Latency এবং Invocations CloudWatch-এর প্রতিটি ভেরিয়েন্টের জন্য। সেজমেকার নির্গত মেট্রিকগুলির একটি সম্পূর্ণ তালিকার জন্য, দেখুন অ্যামাজন ক্লাউডওয়াচ দিয়ে অ্যামাজন সেজমেকার মনিটর করুন. প্রতি ভেরিয়েন্টে আমন্ত্রণের সংখ্যা পেতে আপনি ক্লাউডওয়াচ-এ প্রশ্ন করতে পারেন, ডিফল্টভাবে কীভাবে আমন্ত্রণগুলি বিভিন্ন প্রকারে বিভক্ত হয় তা দেখতে।

মডেলের একটি নির্দিষ্ট সংস্করণ আহ্বান করতে, হিসাবে একটি বৈকল্পিক নির্দিষ্ট করুন TargetVariant কলে invoke_endpoint:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload,
	TargetVariant="Variant1"
	)

আপনি নির্ভুলতা, নির্ভুলতা, প্রত্যাহার, F1 স্কোর, এবং প্রতিটি বৈকল্পিক ব্যবহার করে বক্ররেখার অধীনে রিসিভার অপারেটিং বৈশিষ্ট্য/ক্ষেত্রের মতো মেট্রিক্স পর্যালোচনা করে প্রতিটি প্রোডাকশন ভেরিয়েন্টের কর্মক্ষমতা মূল্যায়ন করতে পারেন অ্যামাজন সেজমেকার মডেল মনিটর. তারপর আপনি কল করে প্রতিটি ভেরিয়েন্টের জন্য নির্ধারিত ওজন আপডেট করে সেরা মডেলে ট্রাফিক বাড়ানোর সিদ্ধান্ত নিতে পারেন আপডেট এন্ডপয়েন্ট ওয়েটস এবং ক্যাপাসিটি. এটি আপনার এন্ডপয়েন্টের আপডেটের প্রয়োজন ছাড়াই আপনার উত্পাদনের ভেরিয়েন্টে ট্রাফিক বন্টন পরিবর্তন করে। তাই প্রাথমিক সেটআপ থেকে 50% ট্রাফিকের পরিবর্তে, আমরা 75% ট্র্যাফিক এখানে স্থানান্তরিত করি Variant2 ব্যবহার করে প্রতিটি ভেরিয়েন্টে নতুন ওজন নির্ধারণ করে UpdateEndpointWeightsAndCapacities। নিম্নলিখিত কোডটি দেখুন:

sm.update_endpoint_weights_and_capacities(
	EndpointName=endpoint_name,
	DesiredWeightsAndCapacities=[
	{
		"DesiredWeight": 25,
		"VariantName": variant1["VariantName"]
	},
	{
		"DesiredWeight": 75,
		"VariantName": variant2["VariantName"]
	}
] )

আপনি যখন একটি ভেরিয়েন্টের পারফরম্যান্সে সন্তুষ্ট হন, তখন আপনি সেই ভেরিয়েন্টে 100% ট্রাফিক রুট করতে পারেন৷ উদাহরণস্বরূপ, আপনি জন্য ওজন সেট করতে পারেন Variant1 0 থেকে এবং ওজন Variant2 1. SageMaker তারপর সমস্ত অনুমান অনুরোধের 100% পাঠায় Variant2. তারপর আপনি নিরাপদে আপনার শেষ পয়েন্ট আপডেট করতে পারেন এবং মুছে ফেলতে পারেন Variant1 আপনার শেষ বিন্দু থেকে। আপনি আপনার এন্ডপয়েন্টে নতুন ভেরিয়েন্ট যোগ করে উৎপাদনে নতুন মডেলের পরীক্ষা চালিয়ে যেতে পারেন। এন্ডপয়েন্ট প্রাপ্ত ট্রাফিকের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে স্কেল করার জন্য আপনি এই শেষ পয়েন্টগুলি কনফিগার করতে পারেন।

বহু-ভেরিয়েন্ট এন্ডপয়েন্টের সুবিধা

সেজমেকার এমভিই আপনাকে নিম্নলিখিতগুলি করতে দেয়:

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

বহু-ভেরিয়েন্ট এন্ডপয়েন্ট ব্যবহার করার সময় চ্যালেঞ্জ

সেজমেকার এমভিই নিম্নলিখিত চ্যালেঞ্জ নিয়ে আসে:

  • লোড পরীক্ষার প্রচেষ্টা – প্রতিটি ভেরিয়েন্টের জন্য পরীক্ষা এবং মডেল ম্যাট্রিক্স তুলনা করার জন্য আপনাকে ন্যায্য পরিমাণে প্রচেষ্টা এবং সংস্থান করতে হবে। একটি A/B পরীক্ষা সফল বলে বিবেচিত হওয়ার জন্য, পরিসংখ্যানগতভাবে উল্লেখযোগ্য ফলাফল আছে কিনা তা নির্ধারণ করতে আপনাকে পরীক্ষা থেকে সংগৃহীত মেট্রিকগুলির একটি পরিসংখ্যানগত বিশ্লেষণ করতে হবে। খারাপ পারফরম্যান্সের ভেরিয়েন্টগুলি অন্বেষণ করা কম করা চ্যালেঞ্জিং হয়ে উঠতে পারে। আপনি সম্ভাব্য ব্যবহার করতে পারেন বহু সশস্ত্র দস্যু অপ্টিমাইজেশান কৌশল যাতে কাজ করছে না এমন পরীক্ষায় ট্র্যাফিক পাঠানো এড়াতে এবং আপনার পরীক্ষা করার সময় পারফরম্যান্স অপ্টিমাইজ করে। লোড পরীক্ষার জন্য, আপনিও অন্বেষণ করতে পারেন আমাজন সেজমেকার ইনফারেন্স সুপারিশকারী লেটেন্সি এবং থ্রুপুট, কাস্টম ট্র্যাফিক প্যাটার্ন এবং আপনার নির্বাচন করা দৃষ্টান্ত (10 পর্যন্ত) এর জন্য উত্পাদন প্রয়োজনীয়তার উপর ভিত্তি করে বিস্তৃত বেঞ্চমার্ক পরিচালনা করতে।
  • মডেল ভেরিয়েন্ট এবং এন্ডপয়েন্টের মধ্যে টাইট কাপলিং - এটি মডেল স্থাপনার ফ্রিকোয়েন্সির উপর নির্ভর করে চতুর হয়ে উঠতে পারে, কারণ শেষ পয়েন্টটি শেষ হতে পারে updating প্রতিটি উত্পাদন বৈকল্পিক জন্য স্থিতি আপডেট করা হচ্ছে. SageMaker এছাড়াও সমর্থন করে স্থাপনার গার্ডেল, যা আপনি সহজেই একটি নিয়ন্ত্রিত উপায়ে উৎপাদনের বর্তমান মডেল থেকে একটি নতুন মডেলে স্যুইচ করতে ব্যবহার করতে পারেন৷ এই বিকল্পটি পরিচয় করিয়ে দেয় হলদে এবং রৈখিক ট্রাফিক শিফটিং মোড যাতে আপডেট চলাকালীন আপনার বর্তমান মডেল থেকে নতুন মডেলে ট্রাফিকের স্থানান্তরের উপর আপনি দানাদার নিয়ন্ত্রণ করতে পারেন। স্বয়ংক্রিয়-রোলব্যাকের মতো অন্তর্নির্মিত সুরক্ষার সাহায্যে, আপনি সমস্যাগুলি তাড়াতাড়ি ধরতে পারেন এবং উল্লেখযোগ্য উত্পাদন প্রভাব সৃষ্টি করার আগে স্বয়ংক্রিয়ভাবে সংশোধনমূলক ব্যবস্থা নিতে পারেন।

বহু-ভেরিয়েন্ট এন্ডপয়েন্টের জন্য সর্বোত্তম অনুশীলন

SageMaker MVE ব্যবহার করে মডেল হোস্ট করার সময়, নিম্নলিখিতগুলি বিবেচনা করুন:

  • সেজমেকার নতুন মডেলগুলি পরীক্ষা করার জন্য দুর্দান্ত কারণ আপনি সহজেই এগুলিকে একটি A/B পরীক্ষার পরিবেশে স্থাপন করতে পারেন এবং আপনি যা ব্যবহার করেন তার জন্য আপনি অর্থ প্রদান করেন। এন্ডপয়েন্ট চলাকালীন প্রতিটি ইন্সট্যান্সের জন্য খরচ করা প্রতি ইন্সট্যান্স-ঘন্টা প্রতি চার্জ করা হয়। যখন আপনি আপনার পরীক্ষাগুলি শেষ করে ফেলেন এবং শেষবিন্দু বা ভেরিয়েন্টগুলি আর ব্যাপকভাবে ব্যবহার করছেন না, তখন খরচ বাঁচাতে আপনার এটি মুছে ফেলা উচিত। আপনার আবার প্রয়োজন হলে আপনি সর্বদা এটি পুনরায় তৈরি করতে পারেন কারণ মডেলটি সংরক্ষণ করা হয়েছে৷ আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3)।
  • মডেল স্থাপন করার জন্য আপনার সবচেয়ে অনুকূল উদাহরণ টাইপ এবং আকার ব্যবহার করা উচিত। সেজমেকার বর্তমানে অফার করে এমএল গণনা দৃষ্টান্ত বিভিন্ন উদাহরণে পরিবার. একটি এন্ডপয়েন্ট ইন্সট্যান্স সব সময় চলছে (যখন ইন্সট্যান্সটি সার্ভিসে থাকে)। অতএব, সঠিক ধরনের উদাহরণ নির্বাচন করা ML মডেলগুলির মোট খরচ এবং কার্যকারিতার উপর একটি উল্লেখযোগ্য প্রভাব ফেলতে পারে। লোড পরীক্ষার আপনার লাইভ এন্ডপয়েন্টের জন্য স্বয়ংক্রিয় স্কেলিং সহ বা ছাড়াই উপযুক্ত দৃষ্টান্তের ধরন এবং ফ্লিটের আকার নির্ধারণ করার সর্বোত্তম অভ্যাস হল অতিরিক্ত ব্যবস্থা করা এবং আপনার প্রয়োজন নেই এমন ক্ষমতার জন্য অতিরিক্ত অর্থ প্রদান করা।
  • আপনি ক্লাউডওয়াচে মডেলের কর্মক্ষমতা এবং সম্পদের ব্যবহার নিরীক্ষণ করতে পারেন। আপনি একটি কনফিগার করতে পারেন ProductionVariant ব্যবহার করার জন্য অ্যাপ্লিকেশন স্বয়ংক্রিয় স্কেলিং. একটি স্কেলিং নীতির জন্য মেট্রিক্স এবং লক্ষ্য মান নির্দিষ্ট করতে, আপনি একটি লক্ষ্য-ট্র্যাকিং স্কেলিং নীতি কনফিগার করুন। আপনি একটি পূর্বনির্ধারিত মেট্রিক বা একটি কাস্টম মেট্রিক ব্যবহার করতে পারেন। নীতি কনফিগারেশন সিনট্যাক্স সম্পর্কে আরও তথ্যের জন্য, দেখুন টার্গেটট্র্যাকিং স্কেলিং পলিসি কনফিগারেশন. স্বয়ংক্রিয় স্কেলিং কনফিগার করার বিষয়ে তথ্যের জন্য, দেখুন অ্যামাজন সেজমেকার মডেলগুলি স্বয়ংক্রিয়ভাবে স্কেল করুন. একটি ভেরিয়েন্টের জন্য একটি লক্ষ্য-ট্র্যাকিং স্কেলিং নীতি দ্রুত সংজ্ঞায়িত করতে, আপনি একটি নির্দিষ্ট ক্লাউডওয়াচ মেট্রিক চয়ন করতে পারেন এবং থ্রেশহোল্ড মান সেট করতে পারেন৷ উদাহরণস্বরূপ, মেট্রিক ব্যবহার করুন SageMakerVariantInvocationsPerInstance প্রতি মিনিটে গড়ে কতবার একটি ভেরিয়েন্টের জন্য প্রতিটি দৃষ্টান্ত আহ্বান করা হয়েছে তা নিরীক্ষণ করতে, বা মেট্রিক ব্যবহার করুন CPUUtilization একটি CPU দ্বারা পরিচালিত কাজের যোগফল নিরীক্ষণ করতে। নিম্নলিখিত উদাহরণ ব্যবহার করে SageMakerVariantInvocationsPerInstance বৈকল্পিক দৃষ্টান্তের সংখ্যা সামঞ্জস্য করার জন্য পূর্বনির্ধারিত মেট্রিক যাতে প্রতিটি উদাহরণে একটি থাকে InvocationsPerInstance 70 এর মেট্রিক:
{
	"TargetValue": 70.0,
	"PredefinedMetricSpecification":
	{
		"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
	}
}

  • মডেল আর্টিফ্যাক্ট পরিবর্তন বা মুছে ফেলা বা মডেল স্থাপন করার পরে অনুমান কোড পরিবর্তন করা অপ্রত্যাশিত ফলাফল তৈরি করে। প্রোডাকশনে মডেল স্থাপন করার আগে, অনুমান কোড স্নিপেটগুলিকে পর্যাপ্তভাবে ডিবাগ করার পরে স্থানীয় মোডে হোস্টিং মডেল সফল কিনা তা পরীক্ষা করা একটি ভাল অনুশীলন (যেমন model_fn, input_fn, predict_fn, এবং output_fn) স্থানীয় উন্নয়ন পরিবেশে যেমন সেজমেকার নোটবুক উদাহরণ বা স্থানীয় সার্ভার। আপনি যদি মডেল আর্টিফ্যাক্টগুলি পরিবর্তন করতে বা মুছতে চান বা অনুমান কোড পরিবর্তন করতে চান তবে একটি নতুন এন্ডপয়েন্ট কনফিগারেশন প্রদান করে এন্ডপয়েন্টটি পরিবর্তন করুন। আপনি নতুন এন্ডপয়েন্ট কনফিগারেশন প্রদান করার পরে, আপনি পুরানো এন্ডপয়েন্ট কনফিগারেশনের সাথে সম্পর্কিত মডেল আর্টিফ্যাক্টগুলি পরিবর্তন বা মুছে ফেলতে পারেন।
  • আপনি SageMaker ব্যবহার করতে পারেন ব্যাচ রূপান্তর উত্পাদন বৈকল্পিক পরীক্ষা করতে. ব্যাচ ট্রান্সফর্ম বড় ডেটাসেট থেকে ইনফারেন্স পেতে আদর্শ। আপনি প্রতিটি নতুন মডেল ভেরিয়েন্টের জন্য একটি পৃথক রূপান্তর কাজ তৈরি করতে পারেন এবং পরীক্ষা করার জন্য একটি বৈধতা ডেটাসেট ব্যবহার করতে পারেন। প্রতিটি ট্রান্সফর্ম কাজের জন্য, আউটপুট ফাইলের জন্য Amazon S3-এ একটি অনন্য মডেল নাম এবং অবস্থান নির্দিষ্ট করুন। ফলাফল বিশ্লেষণ করতে, ব্যবহার করুন অনুমান পাইপলাইন লগ এবং মেট্রিক্স.

উপসংহার

SageMaker আপনাকে একটি এন্ডপয়েন্টে একাধিক প্রোডাকশন ভেরিয়েন্ট চালানোর মাধ্যমে উৎপাদনে সহজেই A/B পরীক্ষা করতে সক্ষম করে। আপনি বিভিন্ন প্রশিক্ষণ ডেটাসেট, হাইপারপ্যারামিটার, অ্যালগরিদম বা এমএল ফ্রেমওয়ার্ক ব্যবহার করে প্রশিক্ষিত মডেলগুলি পরীক্ষা করতে সেজমেকারের ক্ষমতা ব্যবহার করতে পারেন; তারা কিভাবে বিভিন্ন ধরনের উদাহরণে কাজ করে; অথবা উপরের সবগুলোর সংমিশ্রণ। আপনি একটি এন্ডপয়েন্টে ভেরিয়েন্টের মধ্যে ট্রাফিক ডিস্ট্রিবিউশন প্রদান করতে পারেন এবং সেজমেকার নির্দিষ্ট ডিস্ট্রিবিউশনের উপর ভিত্তি করে ভেরিয়েন্টে ইনফারেন্স ট্রাফিককে বিভক্ত করে। বিকল্পভাবে, আপনি যদি নির্দিষ্ট গ্রাহক বিভাগের জন্য মডেলগুলি পরীক্ষা করতে চান, তাহলে আপনি এমন বৈকল্পিক নির্দিষ্ট করতে পারেন যা প্রদান করে একটি অনুমান অনুরোধ প্রক্রিয়া করবে TargetVariant শিরোনাম, এবং SageMaker অনুরোধটি আপনার নির্দিষ্ট করা বৈকল্পিকটিতে রুট করবে। A/B পরীক্ষা সম্পর্কে আরও তথ্যের জন্য, দেখুন নিরাপদে উত্পাদন মডেল আপডেট.

তথ্যসূত্র


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

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

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

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

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

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

অ্যামাজন সেজমেকার ক্যানভাস ব্যবহার করে দ্রুত এমএল মডেল প্রশিক্ষণের মাধ্যমে দ্রুত সময়ের থেকে মূল্যবান ব্যবসায়িক ফলাফল অর্জন করুন

উত্স নোড: 1809540
সময় স্ট্যাম্প: মার্চ 3, 2023

AWS উদ্দেশ্য-নির্মিত এক্সিলারেটরের সাহায্যে আপনার মেশিন লার্নিং ওয়ার্কলোডের শক্তি খরচ 90% পর্যন্ত হ্রাস করুন | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1850227
সময় স্ট্যাম্প: জুন 20, 2023