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

Amazon SageMaker ভিন্নধর্মী ক্লাস্টার ব্যবহার করে আপনার মডেল প্রশিক্ষণের মূল্য কর্মক্ষমতা উন্নত করুন

এই পোস্টটি Mobileye থেকে Chaim Rand-এর সাথে সহ-লিখিত।

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

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

অনুরূপ ব্যবহারের ক্ষেত্রে, মোবাইলয়ে, একটি স্বায়ত্তশাসিত যানবাহন প্রযুক্তি বিকাশকারী কোম্পানির কাছে এটি শেয়ার করার ছিল:

“এটি ব্যবহার করে একাধিক ইন্সট্যান্স টাইপের (সিপিইউ এবং জিপিইউ/এমএল এক্সিলারেটর) চালানোর জন্য সিপিইউ-বাউন্ড ডিপ লার্নিং কম্পিউটার ভিশন মডেল প্রশিক্ষণকে সরিয়ে নিয়ে tf.data.service আমরা তৈরি করেছি ভিত্তিক সমাধান, আমরা প্রশিক্ষণের সময় 40% কমাতে পেরেছি যখন প্রশিক্ষণের খরচ 30% কমিয়েছি। আমরা ভিন্নধর্মী ক্লাস্টার সম্পর্কে উত্তেজিত যে আমাদের এই সমাধানটি অ্যামাজন সেজমেকারে চালানোর অনুমতি দেয়।"

— এআই ইঞ্জিনিয়ারিং, মোবাইলে

এই পোস্টে, আমরা নিম্নলিখিত বিষয়গুলি নিয়ে আলোচনা করব:

  • কিভাবে ভিন্নধর্মী ক্লাস্টার CPU বাধা দূর করতে সাহায্য করে
  • কখন ভিন্নধর্মী ক্লাস্টার ব্যবহার করবেন এবং অন্যান্য বিকল্প
  • PyTorch এবং TensorFlow-এ রেফারেন্স বাস্তবায়ন
  • কর্মক্ষমতা বেঞ্চমার্ক ফলাফল
  • Mobileye এ ভিন্নধর্মী ক্লাস্টার

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

কীভাবে ভিন্নধর্মী ক্লাস্টারগুলি ডেটা প্রক্রিয়াকরণের বাধাগুলি সরিয়ে দেয়

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

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

উদাহরণস্বরূপ, একটি শক্তিশালী GPU দৃষ্টান্তের ধরন বিবেচনা করুন, ml.p4d.24xlarge (96 vCPU, 8 x NVIDIA A100 GPUs), একটি CPU:GPU অনুপাত 12:1 সহ। ধরুন আপনার প্রশিক্ষণের কাজের জন্য একটি GPU 20% ব্যবহার করতে পর্যাপ্ত ডেটা প্রিপ্রসেস করার জন্য 100 vCPU-এর প্রয়োজন। অতএব, সমস্ত 8টি জিপিইউ 100% ব্যবহার করার জন্য, আপনার একটি 160 vCPUs ইনস্ট্যান্স টাইপ প্রয়োজন। যাইহোক, ml.p4d.24xlarge 64 vCPU-এর কম, বা 40%, GPU ব্যবহারকে 60%-এ সীমিত করে, যেমনটি নিম্নলিখিত চিত্রের বাম দিকে চিত্রিত হয়েছে। আরেকটি ml.p4d.24x বড় উদাহরণ যোগ করা সাহায্য করবে? না, কারণ কাজের CPU:GPU অনুপাত একই থাকবে।

ভিন্নধর্মী ক্লাস্টারগুলির সাথে, আমরা ডায়াগ্রামের ডানদিকে দেখানো হিসাবে দুটি ml.c5.18xlarge (72 vCPU) যোগ করতে পারি। এই ক্লাস্টারে নেট মোট vCPU হল 210 (96+2*72), যার ফলে CPU:GPU অনুপাত 30:1 হয়। এই কম্পিউট-অপ্টিমাইজ করা দৃষ্টান্তগুলির প্রতিটি একটি ডেটা প্রিপ্রসেসিং সিপিইউ-নিবিড় টাস্ক সহ অফলোড করা হবে এবং দক্ষ GPU ব্যবহারের অনুমতি দেবে। ml.c5.18xlarge-এর অতিরিক্ত খরচ হওয়া সত্ত্বেও, উচ্চতর GPU ব্যবহার দ্রুত প্রক্রিয়াকরণের অনুমতি দেয়, এবং তাই উচ্চ মূল্যের কর্মক্ষমতা সুবিধা।

কখন ভিন্নধর্মী ক্লাস্টার ব্যবহার করবেন এবং অন্যান্য বিকল্প

এই বিভাগে, আমরা ব্যাখ্যা করি কিভাবে একটি CPU বটলনেক শনাক্ত করা যায়, এবং ইন্সট্যান্স টাইপ স্কেল আপ বনাম ভিন্নধর্মী ক্লাস্টার ব্যবহার করে সমাধান করার বিষয়ে আলোচনা করি।

একটি CPU বাধা সনাক্ত করার দ্রুত উপায় হল CPU এবং GPU নিরীক্ষণ করা ব্যবহার মেট্রিক্স সেজমেকার প্রশিক্ষণের চাকরির জন্য অ্যামাজন ক্লাউডওয়াচ. আপনি থেকে এই দৃশ্য অ্যাক্সেস করতে পারেন এডাব্লুএস ম্যানেজমেন্ট কনসোল প্রশিক্ষণ কাজের পৃষ্ঠার ইনস্ট্যান্স মেট্রিক্স হাইপারলিঙ্কের মধ্যে। প্রাসঙ্গিক মেট্রিক্স বেছে নিন এবং 5-মিনিট থেকে 1-মিনিট রেজোলিউশনে স্যুইচ করুন। মনে রাখবেন যে স্কেলটি প্রতি vCPU বা GPU-এ 100%, তাই 4টি vCPU/GPU-এর ক্ষেত্রে ব্যবহারের হার 400% পর্যন্ত হতে পারে। নিম্নলিখিত চিত্রটি ক্লাউডওয়াচ মেট্রিক্সের এমন একটি উদাহরণ, যেখানে সিপিইউ প্রায় 100% ব্যবহার করা হয়, যা একটি সিপিইউ বাধা নির্দেশ করে, যেখানে জিপিইউ কম ব্যবহার করা হয়।

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

বিস্তারিত নির্ণয়ের জন্য, এর সাথে প্রশিক্ষণের কাজ চালান আমাজন সেজমেকার ডিবাগার আপনি যখন SageMaker Python SDK ব্যবহার করে একটি SageMaker এস্টিমেটর তৈরি করেন তখন একটি প্রোফাইলার কনফিগারেশন যোগ করে, সম্পদ ব্যবহারের স্থিতি, পরিসংখ্যান এবং ফ্রেমওয়ার্ক অপারেশন প্রোফাইলে। আপনি প্রশিক্ষণের কাজ জমা দেওয়ার পরে, ফলাফলটি পর্যালোচনা করুন প্রোফাইলার রিপোর্ট CPU বাধাগুলির জন্য।

আপনি যদি উপসংহারে পৌঁছান যে আপনার চাকরি একটি উচ্চতর CPU:GPU কম্পিউট অনুপাত থেকে উপকৃত হতে পারে, প্রথমে একই উদাহরণ পরিবারে অন্য একটি উদাহরণ টাইপ পর্যন্ত স্কেল করার কথা বিবেচনা করুন, যদি একটি উপলব্ধ থাকে। উদাহরণস্বরূপ, আপনি যদি আপনার মডেলকে ml.g5.8xlarge (32 vCPUs, 1 GPU) এ প্রশিক্ষণ দিচ্ছেন, তাহলে ml.g5.16xlarge (64 vCPUs, 1 GPU) পর্যন্ত স্কেল করার কথা বিবেচনা করুন। অথবা, আপনি যদি মাল্টি-জিপিইউ ইন্সট্যান্স ml.g5.12xlarge (48 vCPUs, 4 GPUs) ব্যবহার করে আপনার মডেলকে প্রশিক্ষণ দিচ্ছেন, তাহলে ml.g5.24xlarge (96 vCPUs, 4 GPUs) পর্যন্ত স্কেল করার কথা বিবেচনা করুন। পড়ুন G5 আরও বিস্তারিত জানার জন্য উদাহরণ পারিবারিক স্পেসিফিকেশন।

কখনও কখনও, স্কেল আপ করা একটি বিকল্প নয়, কারণ একই দৃষ্টান্ত পরিবারে উচ্চতর vCPU:GPU অনুপাত সহ কোনও উদাহরণ টাইপ নেই৷ উদাহরণস্বরূপ, আপনি যদি মডেলটিকে ml.trn1.32xlarge, ml.p4d.24xlarge, অথবা ml.g5.48xlarge, আপনার সেজমেকার মডেল প্রশিক্ষণের জন্য ভিন্নধর্মী ক্লাস্টার বিবেচনা করা উচিত।

স্কেল আপ করার পাশাপাশি, আমরা মনে রাখতে চাই যে ভিন্ন ভিন্ন ক্লাস্টারের অতিরিক্ত বিকল্প আছে, যেমন NVIDIA দলি, যা GPU-তে ইমেজ প্রিপ্রসেসিং অফলোড করে। আরো তথ্যের জন্য, পড়ুন টেনসরফ্লো ডেটা সার্ভিস, এনভিআইডিএ ডালি এবং অন্যান্য পদ্ধতির মাধ্যমে ডেটা প্রিপ্রসেসিং বাধাগুলি অতিক্রম করা.

সিদ্ধান্ত গ্রহণকে সহজ করতে, নিম্নলিখিত ফ্লোচার্টটি পড়ুন।

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

সেজমেকার ভিন্নধর্মী ক্লাস্টারগুলি কীভাবে ব্যবহার করবেন

দ্রুত শুরু করতে, আপনি সরাসরি এই পোস্টের অংশ হিসাবে দেওয়া TensorFlow বা PyTorch উদাহরণগুলিতে যেতে পারেন।

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

এই বৈশিষ্ট্যের আগে, আপনি প্রশিক্ষণ কাজের অনুমানকারী ক্লাসটি এর সাথে শুরু করেছেন InstanceCount এবং InstanceType পরামিতি, যা পরোক্ষভাবে অনুমান করে যে আপনার কাছে শুধুমাত্র একটি একক উদাহরণ টাইপ (একটি সমজাতীয় ক্লাস্টার) আছে। ভিন্নধর্মী ক্লাস্টার প্রকাশের সাথে, আমরা নতুন প্রবর্তন করেছি sagemaker.instance_group.InstanceGroup ক্লাস এটি একটি নির্দিষ্ট ইনস্ট্যান্স টাইপের এক বা একাধিক দৃষ্টান্তের একটি গ্রুপকে প্রতিনিধিত্ব করে, যা একটি যৌক্তিক ভূমিকা বহন করার জন্য ডিজাইন করা হয়েছে (যেমন ডেটা প্রসেসিং বা নিউরাল নেটওয়ার্ক অপ্টিমাইজেশান। আপনার দুটি বা ততোধিক গ্রুপ থাকতে পারে এবং প্রতিটি ইনস্ট্যান্স গ্রুপের জন্য একটি কাস্টম নাম নির্দিষ্ট করুন, উদাহরণ টাইপ করুন, এবং প্রতিটি উদাহরণ গোষ্ঠীর জন্য দৃষ্টান্তের সংখ্যা। আরও তথ্যের জন্য, পড়ুন SageMaker Python SDK ব্যবহার করে এবং নিম্ন-স্তরের সেজমেকার API ব্যবহার করা.

আপনি উদাহরণ গোষ্ঠীগুলি সংজ্ঞায়িত করার পরে, আপনাকে সেজমেকার পড়ার জন্য আপনার প্রশিক্ষণ স্ক্রিপ্টটি সংশোধন করতে হবে প্রশিক্ষণ পরিবেশ তথ্য এর মধ্যে রয়েছে ভিন্নধর্মী ক্লাস্টার কনফিগারেশন। কনফিগারেশনে বর্তমান ইনস্ট্যান্স গ্রুপ, প্রতিটি গ্রুপের বর্তমান হোস্ট এবং বর্তমান হোস্ট তাদের র‌্যাঙ্কিং সহ কোন গ্রুপে থাকে তার মতো তথ্য রয়েছে। নির্দিষ্ট প্রশিক্ষণ এবং ডেটা প্রসেসিং কাজের জন্য উদাহরণ গোষ্ঠীগুলিকে বরাদ্দ করতে আপনি আপনার প্রশিক্ষণ স্ক্রিপ্টে যুক্তি তৈরি করতে পারেন। উপরন্তু, আপনার প্রশিক্ষণ স্ক্রিপ্টের আন্তঃ-দৃষ্টান্ত গোষ্ঠী যোগাযোগ বা বিতরণ করা ডেটা লোডিং প্রক্রিয়ার যত্ন নেওয়া প্রয়োজন (উদাহরণস্বরূপ, tf.data.service TensorFlow বা জেনেরিক gRPC ক্লায়েন্ট সার্ভার) বা অন্য কোন কাঠামো (উদাহরণস্বরূপ, আপা স্পার্ক).

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

  1. প্রশিক্ষণের কাজটি সংজ্ঞায়িত এবং চালু করার সময়, আমরা SageMaker অনুমানকারীর আর্গুমেন্ট হিসাবে ব্যবহৃত দুটি উদাহরণ গ্রুপ কনফিগার করি:
    from sagemaker.instance_group import InstanceGroup
    data_group = InstanceGroup("data_group", "ml.c5.18xlarge", 2)
    dnn_group = InstanceGroup("dnn_group", "ml.p4d.24xlarge", 1)
    
    from sagemaker.pytorch import PyTorch
    estimator = PyTorch(...,
        entry_point='launcher.py',
        instance_groups=[data_group, dnn_group]
    )
  2. এন্ট্রি পয়েন্ট ট্রেনিং স্ক্রিপ্টে (নাম launcher.py), উদাহরণটি প্রিপ্রসেসিং বা DNN কোড চালাবে কিনা তা আমরা ভিন্নধর্মী ক্লাস্টার কনফিগারেশন পড়ি:
    from sagemaker_training import environment
    env = environment.Environment()
    if env.current_instance_group == 'data_group': ...;

এর সাথে, SageMaker আপনার পক্ষে যে কাজগুলি করে এবং যে কাজগুলির জন্য আপনি দায়ী তার সংক্ষিপ্ত বিবরণ দেওয়া যাক৷

সেজমেকার নিম্নলিখিত কাজগুলি সম্পাদন করে:

  1. ইনস্ট্যান্স গ্রুপ সংজ্ঞা অনুযায়ী বিভিন্ন ধরনের উদাহরণ প্রদান করুন।
  2. সমস্ত বা নির্দিষ্ট উদাহরণ গোষ্ঠীতে ইনপুট চ্যানেল সরবরাহ করুন।
  3. দৃষ্টান্তগুলিতে প্রশিক্ষণ স্ক্রিপ্ট এবং নির্ভরতা বিতরণ করুন।
  4. নির্দিষ্ট ইনস্ট্যান্স গ্রুপে একটি MPI ক্লাস্টার সেট আপ করুন, যদি সংজ্ঞায়িত করা হয়।

আপনি নিম্নলিখিত কাজের জন্য দায়ী:

  1. উদাহরণ গোষ্ঠী নির্দিষ্ট করতে আপনার শুরু প্রশিক্ষণ কাজের স্ক্রিপ্ট পরিবর্তন করুন।
  2. একটি বিতরণ করা ডেটা পাইপলাইন প্রয়োগ করুন (উদাহরণস্বরূপ, tf.data.service).
  3. আপনার এন্ট্রি পয়েন্ট স্ক্রিপ্ট পরিবর্তন করুন (দেখুন launcher.py উদাহরণ নোটবুকে) একটি একক এন্ট্রি পয়েন্ট হতে হবে যা সমস্ত দৃষ্টান্তে চলবে, এটি কোন ইনস্ট্যান্স গ্রুপে চলছে তা সনাক্ত করবে এবং প্রাসঙ্গিক আচরণকে ট্রিগার করবে (যেমন ডেটা প্রসেসিং বা DNN অপ্টিমাইজেশান)।
  4. ট্রেনিং লুপ শেষ হলে, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার এন্ট্রি পয়েন্ট প্রক্রিয়াটি সমস্ত ইনস্ট্যান্স গ্রুপ জুড়ে সমস্ত দৃষ্টান্তে প্রস্থান করে। এটি গুরুত্বপূর্ণ কারণ SageMaker কাজটিকে সম্পূর্ণ হিসাবে চিহ্নিত করার আগে এবং বিলিং বন্ধ করার আগে সমস্ত দৃষ্টান্ত প্রক্রিয়াকরণ শেষ করার জন্য অপেক্ষা করে। দ্য launcher.py TensorFlow এবং PyTorch উদাহরণের নোটবুকের স্ক্রিপ্ট যখন DNN গ্রুপের উদাহরণগুলি তাদের কাজ শেষ করে তখন প্রস্থান করার জন্য সিগন্যালিং ডেটা গ্রুপ ইন্সট্যান্সের একটি রেফারেন্স বাস্তবায়ন প্রদান করে।

সেজমেকার ভিন্নধর্মী ক্লাস্টারের জন্য উদাহরণ নোটবুক

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

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

একটি tf.data.service ভিত্তিক বিতরণকৃত ডেটা লোডার (টেনসরফ্লো) ব্যবহার করে ভিন্নধর্মী ক্লাস্টার

এই নোটবই টেনসরফ্লো ব্যবহার করে সেজমেকার প্রশিক্ষণের জন্য একটি ভিন্নধর্মী ক্লাস্টার কীভাবে বাস্তবায়ন করা যায় তা প্রদর্শন করে tf.data.service ভিত্তিক বিতরণ করা ডেটা পাইপলাইন। আমরা একটি গভীর শিক্ষার কম্পিউটার ভিশন মডেল প্রশিক্ষণ Resnet50 যার জন্য CPU-নিবিড় ডেটা বৃদ্ধির প্রয়োজন। এটি ব্যবহার করে হরভোড মাল্টি-জিপিইউ বিতরণ করা ডেটা সমান্তরালতার জন্য।

আমরা দুটি কনফিগারেশনে কাজের চাপ চালাই: প্রথমে একটি সমজাতীয় ক্লাস্টার হিসাবে, একক ml.p4d.24x বড় উদাহরণ, একটি স্ট্যান্ডার্ড ব্যবহার করে tf.data পাইপলাইন যা CPU বাধাগুলি দেখায় যার ফলে GPU ব্যবহার কম হয়। দ্বিতীয় দৌড়ে, আমরা একটি সেজমেকার ভিন্নধর্মী ক্লাস্টার ব্যবহার করে একটি একক দৃষ্টান্ত টাইপ থেকে দুটি উদাহরণ গ্রুপে স্যুইচ করি। এই রান অতিরিক্ত CPU দৃষ্টান্তে কিছু ডেটা প্রসেসিং অফলোড করে (ব্যবহার করে tf.data.service).

তারপরে আমরা একজাতীয় এবং ভিন্নধর্মী কনফিগারেশনের তুলনা করি এবং মূল মূল্য কার্যক্ষমতার সুবিধাগুলি খুঁজে পাই। নিম্নলিখিত সারণীতে দেখানো হয়েছে, ভিন্নধর্মী কাজ (86ms/পদক্ষেপ) সমজাতীয় কাজের (2.2ms/পদক্ষেপ) থেকে প্রশিক্ষণের জন্য 192 গুণ দ্রুত, এটি একটি মডেলকে প্রশিক্ষণের জন্য 46% সস্তা করে তোলে।

উদাহরণ 1 (TF) ml.p4d.24xl ml.c5.18xl প্রতি ঘণ্টায় মূল্য* গড় ধাপ সময় প্রতি ধাপে খরচ মূল্য কর্মক্ষমতা উন্নতি
সজাতি 1 0 $37.688 192 এমএস $0.201 .
ভিন্নধর্মী 1 2 $45.032 86 এমএস $0.108 46%

* প্রতি ঘন্টার মূল্য us-east-1 এর উপর ভিত্তি করে সেজমেকার অন-ডিমান্ড মূল্য

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

জিআরপিসি ক্লায়েন্ট-সার্ভার ভিত্তিক ডিস্ট্রিবিউটেড ডেটা লোডার (PyTorch) ব্যবহার করে ভিন্নধর্মী ক্লাস্টার

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

এই উদাহরণে, আমরা ধরে নিয়েছি যে কাজের চাপ একাধিক GPU থেকে উপকৃত হতে পারে না এবং একটি নির্দিষ্ট GPU আর্কিটেকচারের উপর নির্ভরশীলতা রয়েছে (NVIDIA V100) আমরা সমজাতীয় এবং ভিন্নধর্মী উভয় প্রশিক্ষণের কাজ চালিয়েছি, এবং নিম্নলিখিত সারণীতে দেখানো হিসাবে মূল মূল্য কর্মক্ষমতা সুবিধা পেয়েছি। ভিন্নধর্মী কাজ (1.19s/ধাপ) সমজাতীয় কাজের (6.5s/ধাপ) থেকে প্রশিক্ষণের জন্য 0.18 গুণ দ্রুততর, এটি একটি মডেলকে প্রশিক্ষণের জন্য 77% সস্তা করে তোলে।

উদাহরণ 2 (PT) ml.p3.2xl ml.c5.9xl প্রতি ঘণ্টায় মূল্য* গড় ধাপ সময় প্রতি ধাপে খরচ মূল্য কর্মক্ষমতা উন্নতি
সজাতি 1 0 $3.825 1193 এমএস $0.127 .
ভিন্নধর্মী 1 1 $5.661 184 এমএস $0.029 77%

* প্রতি ঘন্টার মূল্য us-east-1 এর উপর ভিত্তি করে সেজমেকার অন-ডিমান্ড মূল্য

এটি সম্ভব কারণ উচ্চতর CPU সংখ্যার সাথে, আমরা ডেটা প্রিপ্রসেস করার জন্য 32 ডেটা লোডার কর্মী (ml.p8xlarge-এর সাথে 3.2 এর তুলনায়) ব্যবহার করতে পারি এবং GPU-কে প্রায় 100% এর কাছাকাছি রাখতে পারি। দেখুন নোটবই আরো বিস্তারিত এবং গ্রাফের জন্য।

Mobileye এ ভিন্নধর্মী ক্লাস্টার

Mobileye, একটি ইন্টেল কোম্পানি, পরিবহন শিল্পে বিপ্লব ঘটানো, রাস্তা নিরাপদ করা এবং জীবন বাঁচানোর লক্ষ্যে অ্যাডভান্সড ড্রাইভার অ্যাসিসট্যান্স সিস্টেম (ADAS) এবং স্বায়ত্তশাসিত যানবাহন প্রযুক্তি তৈরি করে। এই প্রযুক্তিগুলি অত্যাধুনিক কম্পিউটার ভিশন (সিভি) মডেলগুলি ব্যবহার করে সক্ষম করা হয়েছে যা সেজমেকার ব্যবহার করে প্রচুর পরিমাণে ডেটা সংরক্ষণ করে আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3)। এই মডেলগুলি অত্যাধুনিক গভীর শিক্ষার নিউরাল নেটওয়ার্ক কৌশল ব্যবহার করে।

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

বিবেচ্য বিষয়

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

  • ভিন্নধর্মী ক্লাস্টার বৈশিষ্ট্য সেজমেকারের মাধ্যমে উপলব্ধ পাইটর্চ এবং TensorFlow ফ্রেমওয়ার্ক অনুমানকারী ক্লাস। সমর্থিত ফ্রেমওয়ার্ক হল PyTorch v1.10 বা তার পরের এবং TensorFlow v2.6 বা তার পরের।
  • সমস্ত উদাহরণ গোষ্ঠী একই ডকার ইমেজ ভাগ করে।
  • সমস্ত উদাহরণ গোষ্ঠী একই প্রশিক্ষণ স্ক্রিপ্ট ভাগ করে। অতএব, আপনার প্রশিক্ষণ স্ক্রিপ্টটি কোন দৃষ্টান্ত গোষ্ঠীর অন্তর্গত তা সনাক্ত করার জন্য পরিবর্তন করা উচিত এবং সেই অনুযায়ী ফর্ক চলে।
  • প্রশিক্ষণ দৃষ্টান্ত হোস্টনাম (উদাহরণস্বরূপ, alog-1, algo-2, এবং তাই) এলোমেলোভাবে বরাদ্দ করা হয়, এবং তারা কোন ইনস্ট্যান্স গ্রুপের অন্তর্গত তা নির্দেশ করে না। দৃষ্টান্তের ভূমিকা পেতে, আমরা রানটাইমের সময় এটির দৃষ্টান্ত গোষ্ঠীর সদস্যপদ পাওয়ার পরামর্শ দিই। লগ ইন পর্যালোচনা করার সময় এটিও প্রাসঙ্গিক ক্লাউডওয়াচ, কারণ লগ স্ট্রীম নাম [training-job-name]/algo-[instance-number-in-cluster]-[epoch_timestamp] হোস্টনাম আছে।
  • একটি বিতরণকৃত প্রশিক্ষণ কৌশল (সাধারণত একটি MPI ক্লাস্টার) শুধুমাত্র একটি উদাহরণ গ্রুপে প্রয়োগ করা যেতে পারে।
  • SageMaker পরিচালিত উষ্ণ পুল এবং সেজমেকার স্থানীয় মোড বর্তমানে ভিন্নধর্মী ক্লাস্টার প্রশিক্ষণের সাথে ব্যবহার করা যাবে না।

উপসংহার

এই পোস্টে, আমরা আলোচনা করেছি কখন এবং কীভাবে সেজমেকার প্রশিক্ষণের ভিন্নধর্মী ক্লাস্টার বৈশিষ্ট্য ব্যবহার করতে হবে। আমরা একটি বাস্তব-বিশ্ব ব্যবহারের ক্ষেত্রে 46% মূল্যের কর্মক্ষমতা উন্নতি প্রদর্শন করেছি এবং আপনাকে বিতরণ করা ডেটা লোডারের সাথে দ্রুত শুরু করতে সাহায্য করেছি (tf.data.service এবং gRPC ক্লায়েন্ট-সার্ভার) বাস্তবায়ন। আপনি আপনার বিদ্যমান প্রশিক্ষণ স্ক্রিপ্টগুলিতে ন্যূনতম কোড পরিবর্তনের সাথে এই বাস্তবায়নগুলি ব্যবহার করতে পারেন।

শুরু করতে, আমাদের চেষ্টা করে দেখুন উদাহরণ নোটবুক. এই বৈশিষ্ট্য সম্পর্কে আরও জানতে, পড়ুন একটি ভিন্নধর্মী ক্লাস্টার ব্যবহার করে ট্রেন.


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

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

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

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

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

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

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

Accenture AWS জেনারেটিভ এআই পরিষেবা ব্যবহার করে একটি নিয়ন্ত্রক নথি অথরিং সমাধান তৈরি করে | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1945213
সময় স্ট্যাম্প: ফেব্রুয়ারী 6, 2024

ট্যাবুলার ডেটা মডেলিংয়ের জন্য নতুন বিল্ট-ইন অ্যামাজন সেজমেকার অ্যালগরিদম: লাইটজিবিএম, ক্যাটবুস্ট, অটোগ্লুওন-টেবুলার এবং ট্যাবট্রান্সফরমার

উত্স নোড: 1541386
সময় স্ট্যাম্প: জুন 28, 2022

Amazon SageMaker অসিঙ্ক্রোনাস এন্ডপয়েন্টের সাথে Amazon SageMaker JumpStart ফাউন্ডেশন মডেলের স্থাপনার খরচ অপ্টিমাইজ করুন | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1885621
সময় স্ট্যাম্প: সেপ্টেম্বর 5, 2023