Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্ট PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ GPU-তে একাধিক গভীর শিক্ষার মডেল চালান। উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্টের সাথে GPU-তে একাধিক ডিপ লার্নিং মডেল চালান

যেহেতু এআই গ্রহণ শিল্প জুড়ে ত্বরান্বিত হচ্ছে, গ্রাহকরা অত্যাধুনিক মডেল তৈরি করছেন যা গভীর শিক্ষায় নতুন বৈজ্ঞানিক সাফল্যের সুবিধা গ্রহণ করে। এই পরবর্তী প্রজন্মের মডেলগুলি আপনাকে প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (NLP), কম্পিউটার দৃষ্টি, বক্তৃতা স্বীকৃতি, চিকিৎসা গবেষণা, সাইবার নিরাপত্তা, প্রোটিন গঠন ভবিষ্যদ্বাণী এবং আরও অনেক ক্ষেত্রে অত্যাধুনিক, মানুষের মতো কর্মক্ষমতা অর্জন করতে দেয়। . উদাহরণস্বরূপ, GPT-3, OPT, এবং BLOOM-এর মতো বড় ভাষার মডেলগুলি মানুষের মতো সূক্ষ্মতা সহ পাঠ্য অনুবাদ, সংক্ষিপ্ত এবং লিখতে পারে। কম্পিউটার ভিশন স্পেসে, DALL-E এবং Imagen-এর মতো টেক্সট-টু-ইমেজ ডিফিউশন মডেলগুলি আমাদের চারপাশের বিশ্ব থেকে উচ্চতর স্তরের ভিজ্যুয়াল এবং ভাষা বোঝার সাথে প্রাকৃতিক ভাষা থেকে ফটোরিয়ালিস্টিক ছবি তৈরি করতে পারে। এই মাল্টি-মোডাল মডেলগুলি বিভিন্ন ডাউনস্ট্রিম কাজের জন্য আরও সমৃদ্ধ বৈশিষ্ট্যগুলি এবং নির্দিষ্ট ডোমেনের জন্য সেগুলিকে সূক্ষ্ম-টিউন করার ক্ষমতা প্রদান করে এবং তারা আমাদের গ্রাহকদের জন্য শক্তিশালী ব্যবসার সুযোগ নিয়ে আসে।

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

আমাজন সেজমেকার মাল্টি-মডেল এন্ডপয়েন্ট (MMEs) একটি বড় সংখ্যক গভীর শিক্ষার মডেল স্থাপন করার জন্য একটি মাপযোগ্য এবং সাশ্রয়ী উপায় প্রদান করে। MMEs হল Zendesk, Veeva, এবং AT&T-এর মতো গ্রাহকদের মধ্যে শত শত CPU-ভিত্তিক মডেল হোস্ট করার জন্য একটি জনপ্রিয় হোস্টিং পছন্দ। পূর্বে, আপনার কাছে শত শত ডিপ লার্নিং মডেল স্থাপন করার সীমিত বিকল্প ছিল যার জন্য GPU এর সাথে ত্বরান্বিত গণনা প্রয়োজন। আজ, আমরা GPU-এর জন্য MME সমর্থন ঘোষণা করছি। এখন আপনি একটি সেজমেকার এন্ডপয়েন্টের পিছনে হাজার হাজার গভীর শিক্ষার মডেল স্থাপন করতে পারেন। MMEs এখন একটি GPU কোরে একাধিক মডেল চালাতে পারে, একাধিক মডেল জুড়ে একটি শেষ পয়েন্টের পিছনে GPU দৃষ্টান্ত শেয়ার করতে পারে এবং আগত ট্র্যাফিকের উপর ভিত্তি করে গতিশীলভাবে মডেলগুলি লোড এবং আনলোড করতে পারে৷ এটির সাহায্যে, আপনি উল্লেখযোগ্যভাবে খরচ বাঁচাতে পারেন এবং সেরা মূল্যের কর্মক্ষমতা অর্জন করতে পারেন।

এই পোস্টে, আমরা SageMaker MME এর সাথে GPU-তে একাধিক ডিপ লার্নিং মডেল কিভাবে চালাতে হয় তা দেখাই।

সেজমেকার এমএমই

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

নিম্নলিখিত চিত্রটি একটি সেজমেকার এমএমই-এর স্থাপত্যকে চিত্রিত করে৷

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

GPU সমর্থন সহ SageMaker MMEs

SageMaker MMEs GPU ব্যবহার করে কাজ করে এনভিআইডিএ ট্রাইটন ইনফারেন্স সার্ভার. NVIDIA Triton Inference Server হল একটি ওপেন-সোর্স ইনফারেন্স সার্ভিং সফ্টওয়্যার যা ইনফারেন্স পরিবেশন প্রক্রিয়াকে সহজ করে এবং উচ্চ ইনফারেন্স কর্মক্ষমতা প্রদান করে। Triton সমস্ত প্রধান প্রশিক্ষণ এবং অনুমান কাঠামো সমর্থন করে, যেমন TensorFlow, NVIDIA® TensorRT™, PyTorch, MXNet, Python, ONNX, XGBoost, Scikit-learn, RandomForest, OpenVINO, কাস্টম C++ এবং আরও অনেক কিছু। এটি উচ্চ-কর্মক্ষমতা অনুমান অর্জনের জন্য গতিশীল ব্যাচিং, সমসাময়িক রান, পোস্ট-ট্রেনিং কোয়ান্টাইজেশন এবং সর্বোত্তম মডেল কনফিগারেশন অফার করে। উপরন্তু, NVIDIA Triton Inference সার্ভার বাস্তবায়নের জন্য বাড়ানো হয়েছে MME API চুক্তি, MME এর সাথে একীভূত করতে।

নিম্নলিখিত চিত্রটি একটি MME কর্মপ্রবাহকে চিত্রিত করে৷

Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্ট PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ GPU-তে একাধিক গভীর শিক্ষার মডেল চালান। উল্লম্ব অনুসন্ধান. আ.

কর্মপ্রবাহের ধাপগুলি নিম্নরূপ:

  1. SageMaker MME ব্যবহার করে একটি নির্দিষ্ট মডেলের জন্য একটি HTTP আহ্বানের অনুরোধ পায় TargetModel পেলোড সহ অনুরোধে।
  2. সেজমেকার ট্র্যাফিককে শেষ পয়েন্টের পিছনে সঠিক উদাহরণে নিয়ে যায় যেখানে লক্ষ্য মডেলটি লোড করা হয়। SageMaker MME এর পিছনে থাকা সমস্ত মডেলের ট্র্যাফিক প্যাটার্ন বোঝে এবং স্মার্টলি রুট অনুরোধগুলি করে৷
  3. সেজমেকার এন্ডপয়েন্টের পিছনে মডেল ম্যানেজমেন্টের যত্ন নেয়, কন্টেইনারের মেমরিতে মডেলটিকে গতিশীলভাবে লোড করে এবং সেরা দামের পারফরম্যান্স দেওয়ার জন্য GPU দৃষ্টান্তের ভাগ করা ফ্লিট থেকে মডেলটিকে আনলোড করে।
  4. সেজমেকার গতিশীলভাবে অ্যামাজন S3 থেকে উদাহরণের স্টোরেজ ভলিউমে মডেলগুলি ডাউনলোড করে। ইনস্ট্যান্স স্টোরেজ ভলিউমে ইনভোক করা মডেলটি উপলব্ধ না হলে, মডেলটি ইনস্ট্যান্স স্টোরেজ ভলিউমে ডাউনলোড করা হয়। ইনস্ট্যান্স স্টোরেজ ভলিউম ধারণক্ষমতায় পৌঁছে গেলে, সেজমেকার স্টোরেজ ভলিউম থেকে অব্যবহৃত মডেল মুছে দেয়।
  5. SageMaker একটি GPU ত্বরিত উদাহরণে NVIDIA Triton কন্টেইনারের মেমরিতে মডেলটি লোড করে এবং অনুমান অনুরোধটি পরিবেশন করে। GPU কোর একটি উদাহরণে সমস্ত মডেল দ্বারা ভাগ করা হয়। যদি মডেলটি ইতিমধ্যে কন্টেইনার মেমরিতে লোড করা থাকে তবে পরবর্তী অনুরোধগুলি দ্রুত পরিবেশিত হয় কারণ সেজমেকারকে এটিকে আবার ডাউনলোড এবং লোড করতে হবে না।
  6. SageMaker MME এন্ডপয়েন্টে ট্র্যাফিক গঠনের যত্ন নেয় এবং সেরা মূল্যের পারফরম্যান্সের জন্য GPU দৃষ্টান্তে সর্বোত্তম মডেল কপি বজায় রাখে। এটি মডেলটি লোড করা অবস্থায় ট্র্যাফিককে রুট করতে থাকে। যদি দৃষ্টান্তের সংস্থানগুলি উচ্চ ব্যবহারের কারণে ধারণক্ষমতাতে পৌঁছায়, সেজমেকার আরও ঘন ঘন ব্যবহৃত মডেলগুলি লোড করার জন্য সংস্থানগুলি খালি করতে কন্টেইনার থেকে সবচেয়ে কম-ব্যবহৃত মডেলগুলি আনলোড করে।

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

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

এই পোস্টে, আমরা আপনাকে দেখাব কিভাবে সেজমেকার এমএমই-এর নতুন বৈশিষ্ট্যগুলিকে কম্পিউটার ভিশন ব্যবহারের ক্ষেত্রে GPU সহ ব্যবহার করতে হয়। প্রদর্শনের উদ্দেশ্যে, আমরা একটি ResNet-50 কনভোলিউশনাল নিউরাল নেটওয়ার্ক প্রাক-প্রশিক্ষিত মডেল ব্যবহার করি যা ছবিগুলিকে 1,000 বিভাগে শ্রেণীবদ্ধ করতে পারে। আমরা নিম্নলিখিতগুলি কীভাবে করব তা নিয়ে আলোচনা করি:

  • বিভিন্ন ট্রাইটন মডেল ফ্রেমওয়ার্ক ব্যাকএন্ড যেমন PyTorch এবং TensorRT ব্যবহার করে SageMaker MME-এ একটি NVIDIA Triton inference কন্টেইনার ব্যবহার করুন
  • ResNet-50 মডেলকে অপ্টিমাইজ করা TensorRT ইঞ্জিন ফরম্যাটে রূপান্তর করুন এবং একটি SageMaker MME এর সাথে এটি স্থাপন করুন
  • MME এর জন্য স্বয়ংক্রিয় স্কেলিং নীতি সেট আপ করুন৷
  • ইনস্ট্যান্স এবং ইনভোকেশন মেট্রিক্স ব্যবহার করে অন্তর্দৃষ্টি পান অ্যামাজন ক্লাউডওয়াচ

মডেল আর্টিফ্যাক্ট তৈরি করুন

এই বিভাগটি ট্রাইটন ইনফারেন্স সার্ভার মডেল কনফিগারেশন ব্যবহার করে একটি সেজমেকার এমএমই-তে মোতায়েন করার জন্য একটি ResNet-50 প্রাক-প্রশিক্ষিত মডেল প্রস্তুত করার পদক্ষেপের মধ্য দিয়ে চলে। আপনি ধাপে ধাপে নোটবুক অন ব্যবহার করে সমস্ত ধাপ পুনরুত্পাদন করতে পারেন GitHub.

এই পোস্টের জন্য, আমরা দুটি মডেলের সাথে স্থাপনা প্রদর্শন করি। যাইহোক, আপনি শত শত মডেল প্রস্তুত এবং স্থাপন করতে পারেন। মডেলগুলি একই কাঠামো ভাগ করতে পারে বা নাও পারে৷

একটি PyTorch মডেল প্রস্তুত করুন

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

তারপরে আমাদের ট্রাইটন ইনফারেন্স সার্ভারের জন্য মডেলগুলি প্রস্তুত করতে হবে। নিম্নলিখিত কোড PyTorch ফ্রেমওয়ার্ক ব্যাকএন্ডের জন্য মডেল সংগ্রহস্থল দেখায়। Triton ভবিষ্যদ্বাণী পরিবেশন করতে মডেল সংগ্রহস্থলে স্থাপিত model.pt ফাইল ব্যবহার করে।

resnet
├── 1
│   └── model.pt
└── config.pbtxt

মডেল কনফিগারেশন ফাইল config.pbtxt মডেলের নাম অবশ্যই উল্লেখ করতে হবে (resnet), প্ল্যাটফর্ম এবং ব্যাকএন্ড বৈশিষ্ট্য (pytorch_libtorch), max_batch_size (128), এবং ডাটা টাইপ সহ ইনপুট এবং আউটপুট টেনসর (TYPE_FP32) তথ্য। উপরন্তু, আপনি নির্দিষ্ট করতে পারেন instance_group এবং dynamic_batching বৈশিষ্ট্য উচ্চ কর্মক্ষমতা অনুমান অর্জন. নিম্নলিখিত কোড দেখুন:

name: "resnet"
platform: "pytorch_libtorch"
max_batch_size: 128
input {
  name: "INPUT__0"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "OUTPUT__0"
  data_type: TYPE_FP32
  dims: 1000
}

TensorRT মডেল প্রস্তুত করুন

NVIDIA TensorRT উচ্চ-পারফরম্যান্স ডিপ লার্নিং ইনফারেন্সের জন্য একটি SDK, এবং এতে একটি ডিপ লার্নিং ইনফারেন্স অপ্টিমাইজার এবং রানটাইম রয়েছে যা অনুমান অ্যাপ্লিকেশনের জন্য কম লেটেন্সি এবং উচ্চ থ্রুপুট প্রদান করে। আমরা কমান্ড লাইন টুল ব্যবহার করি trtexec একটি থেকে একটি TensorRT সিরিয়ালাইজড ইঞ্জিন তৈরি করতে ওএনএনএক্স মডেল বিন্যাস। একটি ResNet-50 প্রাক-প্রশিক্ষিত মডেলকে NVIDIA TensorRT-তে রূপান্তর করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ব্যবহার করে একটি ONNX ফর্ম্যাটে প্রাক-প্রশিক্ষিত ResNet-50 মডেল রপ্তানি করুন torch.onnx.এই ধাপটি নমুনা ইনপুট দিয়ে তার রান ট্রেস করতে মডেলটিকে একবার চালায় এবং তারপর নির্দিষ্ট ফাইলে ট্রেস করা মডেলটি রপ্তানি করে model.onnx.
  2. থেকে একটি TensorRT ইঞ্জিন পরিকল্পনা তৈরি করতে trtexec ব্যবহার করুন model.onnx ফাইল আপনি ঐচ্ছিকভাবে ফ্লোটিং-পয়েন্ট কম্পিউটেশনের নির্ভুলতা কমাতে পারেন, হয় সেগুলিকে 16-বিট ফ্লোটিং পয়েন্টে চালানোর মাধ্যমে, অথবা ফ্লোটিং পয়েন্টের মানগুলি পরিমাপ করে যাতে 8-বিট পূর্ণসংখ্যা ব্যবহার করে গণনা করা যায়।

নিম্নলিখিত কোড TensorRT মডেলের জন্য মডেল সংগ্রহস্থল গঠন দেখায়:

resnet
├── 1
│   └── model.plan
└── config.pbtxt

TensorRT মডেলের জন্য, আমরা নির্দিষ্ট করি tensorrt_plan প্ল্যাটফর্ম হিসাবে এবং ইনপুট 224 x 224 মাত্রার চিত্রের টেনসরের স্পেসিফিকেশন, যার রঙ চ্যানেল রয়েছে। 1,000 মাত্রার আউটপুট টেনসর টাইপের TYPE_FP32, বিভিন্ন অবজেক্ট বিভাগের সাথে সম্পর্কিত। নিম্নলিখিত কোড দেখুন:

name: "resnet"
platform: "tensorrt_plan"
max_batch_size: 128
input {
  name: "input"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "output"
  data_type: TYPE_FP32
  dims: 1000
}
model_warmup {
    name: "bs128 Warmup"
    batch_size: 128
    inputs: {
        key: "input"
        value: {
            data_type: TYPE_FP32
            dims: 3
            dims: 224
            dims: 224
            zero_data: false
        }
    }
}

Amazon S3-এ মডেল আর্টিফ্যাক্ট সঞ্চয় করুন

সেজমেকার মডেলের আর্টিফ্যাক্ট আশা করে .tar.gz বিন্যাস তাদের ট্রাইটন কন্টেইনার প্রয়োজনীয়তা যেমন মডেল নাম, সংস্করণ, সন্তুষ্ট করা উচিত config.pbtxt ফাইল, এবং আরো. tar মডেল ফাইল ধারণকারী ফোল্ডার হিসাবে .tar.gz এবং এটি Amazon S3 এ আপলোড করুন:

!mkdir -p triton-serve-pt/resnet/1/
!mv -f workspace/model.pt triton-serve-pt/resnet/1/
!tar -C triton-serve-pt/ -czf resnet_pt_v0.tar.gz resnet
model_uri_pt = sagemaker_session.upload_data(path="resnet_pt_v0.tar.gz", key_prefix="resnet-mme-gpu")
!mkdir -p triton-serve-trt/resnet/1/
!mv -f workspace/model.plan triton-serve-trt/resnet/1/
!tar -C triton-serve-trt/ -czf resnet_trt_v0.tar.gz resnet
model_uri_trt = sagemaker_session.upload_data(path="resnet_trt_v0.tar.gz", key_prefix="resnet-mme-gpu")

এখন যেহেতু আমরা মডেল আর্টিফ্যাক্টগুলি Amazon S3 এ আপলোড করেছি, আমরা একটি SageMaker MME তৈরি করতে পারি৷

একটি MME সহ মডেল স্থাপন করুন

আমরা এখন একটি SageMaker MME-এ দুটি ভিন্ন ফ্রেমওয়ার্ক ব্যাকএন্ড (PyTorch এবং TensorRT) সহ একটি ResNet-50 মডেল স্থাপন করি৷

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

আমরা ব্যবহার করি Python (Boto3) এর জন্য AWS SDK API গুলি তৈরি_মডেল, create_endpoint_config, এবং create_endpoint একটি MME তৈরি করতে।

পরিবেশন পাত্রের সংজ্ঞা দাও

ধারক সংজ্ঞায়, সংজ্ঞায়িত করুন model_data_url S3 ডিরেক্টরি নির্দিষ্ট করতে যাতে SageMaker MME লোড এবং ভবিষ্যদ্বাণী পরিবেশন করতে ব্যবহার করে এমন সমস্ত মডেল রয়েছে। সেট Mode থেকে MultiModel ইঙ্গিত করার জন্য যে SageMaker MME কন্টেইনার স্পেসিফিকেশন সহ এন্ডপয়েন্ট তৈরি করে। আমরা একটি চিত্র সহ কন্টেইনার সেট করি যা GPU-এর সাথে MME গুলি স্থাপন সমর্থন করে৷ নিম্নলিখিত কোড দেখুন:

container = {
"Image": ,
"ModelDataUrl": ,
"Mode": "MultiModel"
}

একটি মাল্টি-মডেল অবজেক্ট তৈরি করুন

ব্যবহার করে মডেল তৈরি করতে SageMaker Boto3 ক্লায়েন্ট ব্যবহার করুন create_model API আমরা কন্টেইনার সংজ্ঞাটি তৈরি মডেল API এর সাথে পাস করি ModelName এবং ExecutionRoleArn:

create_model_response = sm_client.create_model(
    ModelName=, ExecutionRoleArn=role, PrimaryContainer=container
)

MME কনফিগারেশন সংজ্ঞায়িত করুন

ব্যবহার করে MME কনফিগারেশন তৈরি করুন create_endpoint_config Boto3 API। একটি ত্বরান্বিত GPU কম্পিউটিং উদাহরণ উল্লেখ করুন InstanceType (আমরা g4dn.4xlarge ইন্সট্যান্স টাইপ ব্যবহার করি)। আমরা অন্তত দুটি উদাহরণের সাথে আপনার শেষ পয়েন্টগুলি কনফিগার করার পরামর্শ দিই৷ এটি SageMaker কে মডেলগুলির জন্য একাধিক উপলব্ধতা অঞ্চল জুড়ে একটি উচ্চ উপলব্ধ ভবিষ্যদ্বাণী প্রদান করতে দেয়৷

আমাদের অনুসন্ধানের উপর ভিত্তি করে, আপনি একটি একক GPU কোরের সাথে ML-অপ্টিমাইজ করা দৃষ্টান্তগুলিতে আরও ভাল মূল্য কার্যক্ষমতা পেতে পারেন। অতএব, GPU বৈশিষ্ট্যের জন্য MME সমর্থন শুধুমাত্র একক-GPU কোর দৃষ্টান্তের জন্য সক্রিয় করা হয়েছে। সমর্থিত উদাহরণগুলির একটি সম্পূর্ণ তালিকার জন্য, পড়ুন সমর্থিত GPU ইনস্ট্যান্স প্রকার.

create_endpoint_config_response = sm_client.create_endpoint_config(
    EndpointConfigName=,
    ProductionVariants=[
        {
            "InstanceType": "ml.g4dn.4xlarge",
            "InitialVariantWeight": 1,
            "InitialInstanceCount": 2,
            "ModelName": ,
            "VariantName": "AllTraffic",
        }
    ],
)

একটি MME তৈরি করুন

পূর্ববর্তী এন্ডপয়েন্ট কনফিগারেশনের সাথে, আমরা ব্যবহার করে একটি SageMaker MME তৈরি করি create_endpoint API SageMaker MME তৈরি করে, ML কম্পিউট ইন্সট্যান্স g4dn.4xlarge চালু করে, এবং PyTorch এবং TensorRT ResNet-50 মডেলগুলি তাদের উপর স্থাপন করে। নিম্নলিখিত কোড দেখুন:

create_endpoint_response = sm_client.create_endpoint(
    EndpointName=, EndpointConfigName=
)

MME তে টার্গেট মডেল আহ্বান করুন

আমরা এন্ডপয়েন্ট তৈরি করার পরে, আমরা ব্যবহার করে MME কে একটি অনুমান অনুরোধ পাঠাতে পারি invoke_enpoint API আমরা নির্দিষ্ট TargetModel আমন্ত্রণ কলে এবং প্রতিটি মডেল প্রকারের জন্য পেলোডে পাস করুন। নিম্নলিখিত কোডটি PyTorch মডেল এবং TensorRT মডেলের জন্য একটি নমুনা আহ্বান:

runtime_sm_client.invoke_endpoint(
    EndpointName=,
    ContentType="application/octet-stream",
    Body=json.dumps(pt_payload),
    TargetModel='resnet_pt_v0.tar.gz', #PyTorch Model
)
runtime_sm_client.invoke_endpoint(
    EndpointName=, 
    ContentType="application/octet-stream", 
    Body=json.dumps(trt_payload),
    TargetModel='resnet_trt_v0.tar.gz' #TensorRT Model
)

GPU MME-এর জন্য স্বয়ংক্রিয় স্কেলিং নীতি সেট আপ করুন৷

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

নিম্নলিখিত স্কেলিং নীতিতে, আমরা কাস্টম মেট্রিক ব্যবহার করি GPUUtilization মধ্যে TargetTrackingScalingPolicyConfiguration কনফিগারেশন এবং সেট একটি TargetValue of 60.0 সেই মেট্রিকের লক্ষ্য মানের জন্য। এই অটোস্কেলিং নীতি পর্যন্ত অতিরিক্ত দৃষ্টান্তের বিধান করে MaxCapacity যখন GPU ব্যবহার 60% এর বেশি হয়।

auto_scaling_client = boto3.client('application-autoscaling')

resource_id='endpoint/' +  + '/variant/' + 'AllTraffic' 
response = auto_scaling_client.register_scalable_target(
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount',
    MinCapacity=1,
    MaxCapacity=5
)

response = auto_scaling_client.put_scaling_policy(
    PolicyName='GPUUtil-ScalingPolicy',
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount', 
    PolicyType='TargetTrackingScaling',
    TargetTrackingScalingPolicyConfiguration={
        'TargetValue': 60.0, 
        'CustomizedMetricSpecification':
        {
            'MetricName': 'GPUUtilization',
            'Namespace': '/aws/sagemaker/Endpoints',
            'Dimensions': [
                {'Name': 'EndpointName', 'Value':  },
                {'Name': 'VariantName','Value': 'AllTraffic'}
            ],
            'Statistic': 'Average',
            'Unit': 'Percent'
        },
        'ScaleInCooldown': 600,
        'ScaleOutCooldown': 200 
    }
)

আমরা ব্যবহার করার সুপারিশ GPUUtilization or InvocationsPerInstance আপনার MME এর জন্য স্বয়ংক্রিয় স্কেলিং নীতিগুলি কনফিগার করতে৷ আরো বিস্তারিত জানার জন্য, দেখুন মাল্টি-মডেল এন্ডপয়েন্ট স্থাপনার জন্য অটোস্কেলিং নীতি সেট করুন

GPU MME এর জন্য CloudWatch মেট্রিক্স

সেজমেকার এমএমইগুলি নিরীক্ষণের জন্য নিম্নলিখিত উদাহরণ-স্তরের মেট্রিক্স সরবরাহ করে:

  • লোড করা মডেল কাউন্ট - পাত্রে লোড করা মডেলের সংখ্যা
  • জিপিইউইটিলাইজেশন - পাত্রে ব্যবহৃত GPU ইউনিটের শতাংশ
  • GPUMemory ইউটিলাইজেশন - পাত্রে ব্যবহৃত GPU মেমরির শতাংশ
  • ডিস্ক ইউটিলাইজেশন - পাত্রে ব্যবহৃত ডিস্ক স্থানের শতাংশ

এই মেট্রিকগুলি আপনাকে GPU উদাহরণ সংস্থানগুলির কার্যকর ব্যবহারের জন্য পরিকল্পনা করতে দেয়৷ নিম্নলিখিত গ্রাফে, আমরা দেখতে GPUMemoryUtilization 38.3% ছিল যখন 16টির বেশি ResNet-50 মডেল কন্টেইনারে লোড করা হয়েছিল। প্রতিটি পৃথক CPU কোরের ব্যবহারের যোগফল (CPUUtilization) ছিল 60.9%, এবং পাত্রে ব্যবহৃত মেমরির শতাংশ (MemoryUtilization) ছিল 9.36%।

Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্ট PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ GPU-তে একাধিক গভীর শিক্ষার মডেল চালান। উল্লম্ব অনুসন্ধান. আ.

SageMaker MMEs মডেল আহ্বান-স্তরের অন্তর্দৃষ্টি পেতে মডেল লোডিং মেট্রিক্স প্রদান করে:

  • মডেল লোডিং ওয়েটটাইম - মডেল ডাউনলোড বা লোড করার জন্য সময়ের ব্যবধান
  • মডেল আনলোড করার সময় - কন্টেইনার থেকে মডেল আনলোড করার সময়ের ব্যবধান
  • মডেল ডাউনলোড করার সময় - Amazon S3 থেকে মডেলটি ডাউনলোড করার সময়
  • মডেলক্যাচহিট – ইতিমধ্যেই কন্টেইনারে লোড করা মডেলের জন্য আহ্বানের সংখ্যা

নিম্নলিখিত গ্রাফে, আমরা লক্ষ্য করতে পারি যে একটি অনুমান অনুরোধে সাড়া দিতে একটি মডেলের জন্য 8.22 সেকেন্ড সময় লেগেছে (ModelLatency), এবং SageMaker ওভারহেডের কারণে এন্ড-টু-এন্ড লেটেন্সিতে 24.1 মিলিসেকেন্ড যোগ করা হয়েছে (OverheadLatency) আমরা একটি এন্ডপয়েন্ট API কল আহ্বান করতে কল থেকে যেকোন ত্রুটির মেট্রিক্সও দেখতে পারি, যেমন Invocation4XXErrors এবং Invocation5XXErrors.

Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্ট PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ GPU-তে একাধিক গভীর শিক্ষার মডেল চালান। উল্লম্ব অনুসন্ধান. আ.

MME CloudWatch মেট্রিক্স সম্পর্কে আরও তথ্যের জন্য, পড়ুন মাল্টি-মডেল এন্ডপয়েন্ট স্থাপনার জন্য ক্লাউডওয়াচ মেট্রিক্স.

সারাংশ

এই পোস্টে, আপনি GPU-এর জন্য নতুন SageMaker মাল্টি-মডেল সমর্থন সম্পর্কে শিখেছেন, যা আপনাকে দ্রুত কম্পিউট হার্ডওয়্যারে শত শত গভীর শিক্ষার মডেলগুলিকে সাশ্রয়ীভাবে হোস্ট করতে সক্ষম করে। আপনি শিখেছেন কিভাবে NVIDIA Triton Inference সার্ভার ব্যবহার করতে হয়, যা বিভিন্ন ফ্রেমওয়ার্ক ব্যাকএন্ডের জন্য একটি মডেল সংগ্রহস্থল কনফিগারেশন তৈরি করে এবং কিভাবে স্বয়ংক্রিয় স্কেলিং সহ একটি MME স্থাপন করতে হয়। এই বৈশিষ্ট্যটি আপনাকে শত শত হাইপার-পার্সোনালাইজড মডেল স্কেল করার অনুমতি দেবে যেগুলি AI অ্যাপ্লিকেশনগুলিতে অনন্য শেষ-ব্যবহারকারীর অভিজ্ঞতা পূরণ করতে সূক্ষ্ম-টিউন করা হয়েছে। আপনি ভগ্নাংশ GPU ব্যবহার করে আপনার অনুমান অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় মূল্য কর্মক্ষমতা অর্জন করতে এই বৈশিষ্ট্যটি ব্যবহার করতে পারেন।

GPU-এর জন্য MME সমর্থন শুরু করতে, দেখুন GPU-এর জন্য মাল্টি-মডেল এন্ডপয়েন্ট সমর্থন.


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

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

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

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

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

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

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

Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্ট PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ GPU-তে একাধিক গভীর শিক্ষার মডেল চালান। উল্লম্ব অনুসন্ধান. আ.এলিউথ ট্রায়ানা NVIDIA-AWS টিমের একজন বিকাশকারী সম্পর্ক ব্যবস্থাপক। তিনি Amazon ML/DL কাজের চাপ, EC2 পণ্য, এবং AWS AI পরিষেবাগুলিকে ত্বরান্বিত করতে এনভিআইডিআইএ প্রযুক্তিবিদ এবং পণ্য নেতাদের সাথে অ্যামাজন এবং AWS পণ্যের নেতা, বিকাশকারী এবং বিজ্ঞানীদের সংযোগ করেন। এছাড়াও, এলিউথ একজন উত্সাহী পর্বত বাইকার, স্কিয়ার এবং জুজু খেলোয়াড়।

Amazon SageMaker মাল্টি-মডেল এন্ডপয়েন্ট PlatoBlockchain ডেটা ইন্টেলিজেন্স সহ GPU-তে একাধিক গভীর শিক্ষার মডেল চালান। উল্লম্ব অনুসন্ধান. আ.ম্যাক্সিমিলিয়ানো ম্যাকান্টি বর্তমানে DynamoDB-এর সাথে AWS-এর একজন প্রিন্সিপাল ইঞ্জিনিয়ার, আমি re:Invent 2017-এ SageMaker-এর লঞ্চ টিমে ছিলাম এবং নিম্নলিখিত 5 বছর হোস্টিং প্ল্যাটফর্মে কাটিয়েছি যাতে সমস্ত ধরনের গ্রাহকদের বৈশিষ্ট্যের সম্মুখীন হতে হয়। আমার অবসর সময়ে আমি ভিনটেজ ভিডিওগেম কনসোল সংগ্রহ, মেরামত এবং খেলি।

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

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

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

উত্স নোড: 1780075
সময় স্ট্যাম্প: ডিসেম্বর 29, 2022

রিফিনিটিভ ডেটা লাইব্রেরি, এডব্লিউএস পরিষেবা এবং অ্যামাজন সেজমেকার সহ রিয়েল-টাইম নিউজ স্ট্রিম সমৃদ্ধ করা

উত্স নোড: 1785503
সময় স্ট্যাম্প: জানুয়ারী 11, 2023

ডেটা ভার্সন কন্ট্রোল এবং অ্যামাজন সেজমেকার পরীক্ষা-নিরীক্ষার মাধ্যমে আপনার এমএল পরীক্ষাগুলি শেষ থেকে শেষ পর্যন্ত ট্র্যাক করুন

উত্স নোড: 1595045
সময় স্ট্যাম্প: জুলাই 14, 2022