AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.

AWS স্থাপনায় এক-ক্লিক Kubeflow সহ Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড ML ওয়ার্কফ্লো সক্ষম করা

আজ, অনেক AWS গ্রাহক এন্টারপ্রাইজ-রেডি মেশিন লার্নিং (ML) প্ল্যাটফর্ম তৈরি করছে অ্যামাজন ইলাস্টিক কুবারনেটস পরিষেবা (Amazon EKS) ব্যবহার করে AWS-এ কুবেফ্লো (Kubeflow-এর একটি AWS-নির্দিষ্ট বন্টন) কম্পিউটার দৃষ্টি, প্রাকৃতিক ভাষা বোঝা, বক্তৃতা অনুবাদ এবং আর্থিক মডেলিং সহ অনেকগুলি ব্যবহারের ক্ষেত্রে।

সঙ্গে সঙ্গে ওপেন-সোর্স Kubeflow v1.6.1 এর সর্বশেষ প্রকাশ, Kubeflow সম্প্রদায় এন্টারপ্রাইজ ব্যবহারের ক্ষেত্রে Kubeflow-এর এই বৃহৎ মাপের গ্রহণকে সমর্থন করে চলেছে। সর্বশেষ রিলিজে অনেক নতুন উত্তেজনাপূর্ণ বৈশিষ্ট্য রয়েছে যেমন Kubernetes v1.22-এর জন্য সমর্থন, PyTorch-এর জন্য সম্মিলিত Python SDK, MXNet, MPI, Kubeflow-এর বিতরণকৃত ট্রেনিং অপারেটরে XGBoost, মডেল পরিষেবার জন্য নতুন ClusterServingRuntime এবং ServingRuntime CRD, এবং আরও অনেক কিছু।

AWS 1.6.1-এ Kubeflow-এর সাম্প্রতিক লঞ্চের সাথে Kubeflow-এ AWS অবদান সমস্ত আপস্ট্রিম ওপেন-সোর্স Kubeflow বৈশিষ্ট্যগুলিকে সমর্থন করে এবং অত্যন্ত অপ্টিমাইজ করা, ক্লাউড-নেটিভ, এন্টারপ্রাইজ-রেডি AWS পরিষেবাগুলির সাথে অনেক নতুন ইন্টিগ্রেশন অন্তর্ভুক্ত করে যা আপনাকে অত্যন্ত নির্ভরযোগ্য, নিরাপদ, পোর্টেবল এবং মাপযোগ্য এমএল সিস্টেম।

এই পোস্টে, আমরা AWS v1.6.1 বৈশিষ্ট্যগুলিতে নতুন Kubeflow নিয়ে আলোচনা করেছি এবং তিনটি গুরুত্বপূর্ণ ইন্টিগ্রেশন হাইলাইট করেছি যা আপনাকে অফার করার জন্য একটি প্ল্যাটফর্মে বান্ডিল করা হয়েছে::

  • কোড হিসাবে পরিকাঠামো (IaaC) এক-ক্লিক সমাধান যা EKS ক্লাস্টার তৈরি সহ Kubeflow-এর এন্ড-টু-এন্ড ইনস্টলেশন স্বয়ংক্রিয় করে
  • বিতরণ প্রশিক্ষণের জন্য সমর্থন আমাজন সেজমেকার ব্যবহার Kubernetes জন্য Amazon SageMaker অপারেটর (ACK) এবং কুবেফ্লো পাইপলাইনের জন্য সেজমেকার উপাদান এবং স্থানীয়ভাবে Kubernetes ব্যবহার করে কুবেফ্লো প্রশিক্ষণ অপারেটর. অনেক গ্রাহক হাইব্রিড মেশিন লার্নিং আর্কিটেকচার তৈরি করতে এই ক্ষমতা ব্যবহার করছেন যেখানে তারা পরীক্ষামূলক পর্যায়ের জন্য Kubernetes কম্পিউট এবং উৎপাদন স্কেল ওয়ার্কলোড চালানোর জন্য SageMaker উভয়ই ব্যবহার করছে।
  • Amazon EKS, Kubeflow মেট্রিক্স এবং Prometheus, Grafana ব্যবহার করে অ্যাপ্লিকেশন লগ সহ এমএল ওয়ার্কলোডগুলির জন্য উন্নত পর্যবেক্ষণ এবং পর্যবেক্ষণযোগ্যতা অ্যামাজন ক্লাউডওয়াচ ঐক্যবদ্ধতার

এই ব্লগে ব্যবহারের ক্ষেত্রে বিশেষভাবে AWS-এ Kubeflow-এর সাথে SageMaker ইন্টিগ্রেশনের উপর ফোকাস করা হবে যা আপনার বিদ্যমান Kubernetes ওয়ার্কফ্লোতে যোগ করা যেতে পারে যা আপনাকে হাইব্রিড মেশিন লার্নিং আর্কিটেকচার তৈরি করতে সক্ষম করে।

AWS-এ কুবেফ্লো

AWS 1.6.1-এ Kubeflow বিদ্যমান ক্ষমতার উপরে নিম্নলিখিত AWS পরিষেবাগুলি যোগ করে, Kubeflow ব্যবহার করার জন্য একটি পরিষ্কার পথ প্রদান করে:

  • Kubernetes (ACK) এর জন্য SageMaker অপারেটর এবং Kubeflow পাইপলাইনের জন্য SageMaker উপাদান ব্যবহার করে হাইব্রিড ML ওয়ার্কফ্লো চালানোর জন্য Kubeflow-এর সাথে SageMaker ইন্টিগ্রেশন।
  • Kustomize স্ক্রিপ্ট এবং হেলম চার্ট ব্যবহার করে স্বয়ংক্রিয় স্থাপনার বিকল্পগুলি উন্নত এবং সরলীকৃত করা হয়েছে।
  • কোড (IaC) হিসাবে অবকাঠামোর জন্য সমর্থন যোগ করা হয়েছে AWS-এ Kubeflow-এর জন্য এক-ক্লিক স্থাপনার জন্য Terraform ব্যবহার করে সমস্ত উপলব্ধ স্থাপনার বিকল্প. এই স্ক্রিপ্টটি নিম্নলিখিত AWS সংস্থানগুলিকে স্বয়ংক্রিয়ভাবে তৈরি করে:
  • জন্য সমর্থন AWS প্রাইভেট লিঙ্ক Amazon S3 এর জন্য অ-বাণিজ্যিক অঞ্চল ব্যবহারকারীদের তাদের নিজ নিজ S3 এন্ডপয়েন্টের সাথে সংযোগ করতে সক্ষম করে।
  • সঙ্গে একীকরণ যোগ করা হয়েছে প্রমিথিউসের জন্য আমাজন পরিচালিত পরিষেবা (এএমপি) এবং আমাজন পরিচালিত Grafana AWS-এ Kubeflow এর সাথে মেট্রিক্স নিরীক্ষণ করতে।
  • TensorFlow 2.10.0 এবং PyTorch 1.12.1 এর উপর ভিত্তি করে সর্বশেষ গভীর শিক্ষার কন্টেইনার ইমেজ সহ Kubeflow নোটবুক সার্ভার কন্টেনার আপডেট করা হয়েছে।
  • বিতরণ চালানোর জন্য AWS DLC-এর সাথে একীকরণ প্রশিক্ষণ এবং অনুমান কাজের ভার.

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

এডব্লিউএস 1.6.1-এ কুবেফ্লো কীভাবে আপনার প্রতিষ্ঠানের জন্য সহায়ক হতে পারে সে সম্পর্কে আরও বিস্তারিত আলোচনা করা যাক।

AWS বৈশিষ্ট্য বিবরণে Kubeflow

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

স্থাপনার বিকল্পসমূহ

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

আপনি যদি ন্যূনতম পরিবর্তনের সাথে কুবেফ্লো স্থাপন করতে চান তবে বিবেচনা করুন ভ্যানিলা স্থাপনার বিকল্প। সমস্ত উপলব্ধ স্থাপনার বিকল্পগুলি Kustomize, Helm, বা Terraform ব্যবহার করে ইনস্টল করা যেতে পারে।

আমাদের কাছে বিভিন্ন অ্যাড-অন স্থাপনা রয়েছে যা এই স্থাপনার বিকল্পগুলির যে কোনও উপরে ইনস্টল করা যেতে পারে:

ইনস্টলেশন বিকল্পগুলি

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

বিকল্প 1: Terraform (IaC)

এটি একটি EKS ক্লাস্টার এবং সমস্ত সম্পর্কিত AWS অবকাঠামো সংস্থান তৈরি করে এবং তারপরে Terraform ব্যবহার করে একটি কমান্ডে Kubeflow স্থাপন করে। অভ্যন্তরীণভাবে, এটি EKS ব্লুপ্রিন্ট এবং হেলম চার্ট ব্যবহার করে।

এই বিকল্পটির নিম্নলিখিত সুবিধা রয়েছে:

  • এটি নির্দিষ্ট Kubeflow উপাদান কনফিগারেশন সম্পর্কে চিন্তা না করে একটি কমান্ডের সাথে Amazon EKS এবং Kubeflow স্থাপন করার জন্য এন্টারপ্রাইজগুলিকে নমনীয়তা প্রদান করে। এটি প্রযুক্তি মূল্যায়ন, প্রোটোটাইপিং এবং পণ্য বিকাশের জীবনচক্রকে টেরাফর্ম মডিউলগুলি ব্যবহার করার জন্য নমনীয়তা প্রদান করে এবং যেকোন প্রকল্প-নির্দিষ্ট প্রয়োজন মেটাতে এটিকে সংশোধন করতে সাহায্য করবে।
  • বর্তমানে অনেক প্রতিষ্ঠান যাদের ক্লাউড কৌশলের কেন্দ্র হিসেবে Terraform রয়েছে তারা এখন তাদের ক্লাউড লক্ষ্য পূরণের জন্য AWS Terraform সমাধানে Kubeflow ব্যবহার করতে পারে।

বিকল্প 2: কাস্টমাইজ বা হেলম চার্ট:

এই বিকল্পটি আপনাকে একটি দ্বি-পদক্ষেপ প্রক্রিয়ায় Kubeflow স্থাপন করতে দেয়:

  1. AWS রিসোর্স তৈরি করুন যেমন Amazon EKS, Amazon RDS, Amazon S3, এবং Amazon Cognito, হয় AWS ডিস্ট্রিবিউশনে অন্তর্ভুক্ত স্বয়ংক্রিয় স্ক্রিপ্টের মাধ্যমে অথবা ম্যানুয়ালি অনুসরণ করে ধাপে ধাপে নির্দেশিকা.
  2. হেলম চার্ট বা কাস্টমাইজ ব্যবহার করে কুবেফ্লো স্থাপনা ইনস্টল করুন।

এই বিকল্পটির নিম্নলিখিত সুবিধা রয়েছে:

  • এই ইনস্টলেশন বিকল্পের মূল লক্ষ্য হল Kubeflow-সম্পর্কিত Kubernetes কনফিগারেশন প্রদান করা। অতএব, আপনি বিদ্যমান EKS ক্লাস্টার বা আমাজন RDS, Amazon S3, এবং Amazon Cognito এর মত যেকোনও সম্পর্কিত AWS সংস্থান তৈরি বা আনতে এবং AWS-এ Kubeflow-এর সাথে কাজ করার জন্য কনফিগার ও পরিচালনা করতে পারেন।
  • একটি ওপেন সোর্স Kustomize Kubeflow ম্যানিফেস্ট থেকে AWS Kubeflow ডিস্ট্রিবিউশনে সরানো সহজ।

নিম্নলিখিত চিত্রটি উভয় বিকল্পের আর্কিটেকচারগুলিকে চিত্রিত করে৷

AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.

SageMaker সঙ্গে ইন্টিগ্রেশন

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

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

এই প্রয়োজনটি পূরণ করার জন্য, AWS আপনাকে নিম্নলিখিত দুটি বিকল্প ব্যবহার করে Amazon EKS থেকে SageMaker-এ প্রশিক্ষণ, সুর এবং মডেল স্থাপনের অনুমতি দেয়:

  • আমাজন সেজমেকার ACK অপারেটর কুবারনেটসের জন্য, যা এর উপর ভিত্তি করে কুবারনেটসের জন্য AWS কন্ট্রোলার (ACK) কাঠামো। ACK হল AWS কৌশল যা Kubernetes কাস্টম কন্ট্রোলার তৈরির জন্য প্রমিতকরণ নিয়ে আসে যা Kubernetes ব্যবহারকারীদের AWS সংস্থান যেমন ডাটাবেস বা বার্তা সারির ব্যবস্থা করতে দেয় কেবল Kubernetes API ব্যবহার করে। SageMaker ACK অপারেটররা ML ডেভেলপার এবং ডেটা বিজ্ঞানীদের জন্য সহজ করে তোলে যারা কুবারনেটসকে তাদের কন্ট্রোল প্লেন হিসাবে ব্যবহার করে সেজমেকার কনসোলে সাইন ইন না করেই সেজমেকারে এমএল মডেলগুলিকে প্রশিক্ষণ, টিউন এবং স্থাপন করতে।
  • সার্জারির কুবেফ্লো পাইপলাইনের জন্য সেজমেকার উপাদান, যা আপনাকে কুবেফ্লো পাইপলাইনগুলির বহনযোগ্যতা এবং অর্কেস্ট্রেশনের সাথে সেজমেকারকে সংহত করতে দেয়৷ সেজমেকার উপাদানগুলির সাথে, পাইপলাইন ওয়ার্কফ্লোতে প্রতিটি কাজ স্থানীয় কুবারনেটস ক্লাস্টারের পরিবর্তে সেজমেকারে চলে। এটি আপনাকে আপনার কুবেফ্লো পাইপলাইন থেকে নেটিভ সেজমেকার প্রশিক্ষণ, টিউনিং, এন্ডপয়েন্ট ডিপ্লয়মেন্ট এবং ব্যাচ ট্রান্সফর্ম কাজগুলি তৈরি এবং নিরীক্ষণ করতে দেয়, যার ফলে আপনি Kubernetes ক্লাস্টার থেকে SageMaker-এর মেশিন লার্নিং-অপ্টিমাইজড পরিচালিত পরিষেবাতে ডেটা প্রসেসিং এবং প্রশিক্ষণের কাজগুলি সহ সম্পূর্ণ গণনা স্থানান্তর করতে পারবেন।

AWS v1.6.1-এ Kubeflow দিয়ে শুরু করে, উপলব্ধ সমস্ত Kubeflow স্থাপনার বিকল্পগুলি একটি প্ল্যাটফর্মে ডিফল্টরূপে উভয় Amazon SageMaker ইন্টিগ্রেশন বিকল্পগুলিকে একত্রিত করে৷ তার মানে, আপনি এখন একটি Kubeflow Notebook সার্ভার থেকে SageMaker ACK অপারেটর ব্যবহার করে কাস্টম SageMaker রিসোর্স জমা দিয়ে বা SageMaker উপাদান ব্যবহার করে Kubeflow পাইপলাইন ধাপ থেকে SageMaker কাজ জমা দিতে পারেন।

সেজমেকার উপাদানগুলির দুটি সংস্করণ রয়েছে - বোটো৩ (পাইথনের জন্য AWS SDK এর জন্য AWS SDK) ভিত্তিক সংস্করণ 1 উপাদান এবং K8s (ACK) ভিত্তিক সংস্করণ 2 উপাদানগুলির জন্য SageMaker অপারেটর৷ নতুন SageMaker উপাদান সংস্করণ 2 সর্বশেষ SageMaker প্রশিক্ষণ এপিস সমর্থন করে এবং আমরা উপাদানটির এই সংস্করণে আরও SageMaker বৈশিষ্ট্য যুক্ত করতে থাকব। তবে আপনার কাছে প্রশিক্ষণের জন্য সেজমেকার উপাদানগুলির সংস্করণ 2 এবং হাইপারপ্যারামিটার টিউনিং, প্রক্রিয়াকরণের কাজ, হোস্টিং এবং আরও অনেক কিছুর মতো সেজমেকার বৈশিষ্ট্যগুলির জন্য সংস্করণ 1 একত্রিত করার নমনীয়তা রয়েছে।

প্রমিথিউস এবং গ্রাফানার সাথে একীকরণ

Prometheus হল একটি ওপেন সোর্স মেট্রিক্স এগ্রিগেশন টুল যা আপনি Kubernetes ক্লাস্টারে চালানোর জন্য কনফিগার করতে পারেন। কুবারনেটস ক্লাস্টারে চলার সময়, একটি প্রধান প্রমিথিউস সার্ভার পর্যায়ক্রমে পড এন্ডপয়েন্ট স্ক্র্যাপ করে।

Kubeflow উপাদান, যেমন Kubeflow Pipelines (KFP) এবং নোটবুক, প্রমিথিউস মেট্রিক্স নির্গত করে যাতে কম্পোনেন্ট রিসোর্স যেমন চলমান পরীক্ষার সংখ্যা বা নোটবুকের সংখ্যা পর্যবেক্ষণ করা যায়।

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

AWS বিতরণে Kubeflow নিম্নলিখিত AWS পরিচালিত পরিষেবাগুলির সাথে একীকরণের জন্য সমর্থন প্রদান করে:

  1. আমাজন পরিচালিত প্রমিথিউস (এএমপি) যেটি একটি প্রমিথিউস- কনটেইনার পরিকাঠামোর জন্য সামঞ্জস্যপূর্ণ মনিটরিং পরিষেবা এবং কন্টেইনারগুলির জন্য অ্যাপ্লিকেশন মেট্রিক্স যা গ্রাহকদের জন্য সহজে কন্টেইনার পরিবেশগুলিকে নিরাপদে নিরীক্ষণ করা সহজ করে তোলে। AMP ব্যবহার করে, আপনি আপনার IT পোর্টফোলিও জুড়ে AWS, তৃতীয় পক্ষের ISV এবং অন্যান্য সংস্থান সহ আপনার পর্যবেক্ষণযোগ্যতা সিস্টেমের একাধিক ডেটা উত্স থেকে সংগ্রহ করা আপনার মেট্রিক্স, লগ এবং ট্রেসগুলিকে কল্পনা করতে, বিশ্লেষণ করতে এবং অ্যালার্ম করতে পারেন৷
  2. Amazon Managed Grafana, একটি সম্পূর্ণরূপে পরিচালিত এবং নিরাপদ ডেটা ভিজ্যুয়ালাইজেশন পরিষেবা যা ওপেন সোর্সের উপর ভিত্তি করে গ্রাফানা প্রকল্প, যা গ্রাহকদের একাধিক ডেটা উৎস থেকে তাদের অ্যাপ্লিকেশনের জন্য তাত্ক্ষণিকভাবে অনুসন্ধান করতে, সম্পর্কযুক্ত করতে এবং অপারেশনাল মেট্রিক্স, লগ এবং ট্রেসগুলি কল্পনা করতে সক্ষম করে। অ্যামাজন পরিচালিত Grafana স্বয়ংক্রিয়ভাবে কম্পিউট এবং ডাটাবেস পরিকাঠামোকে স্কেল করার মাধ্যমে গ্রাফনার অপারেশনাল ম্যানেজমেন্ট অফলোড করে, যেহেতু ব্যবহারের চাহিদা বৃদ্ধি পায়, স্বয়ংক্রিয় সংস্করণ আপডেট এবং নিরাপত্তা প্যাচিং সহ।

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

নিম্নলিখিত মেট্রিকগুলি ইনজেস্ট করা হয় এবং কল্পনা করা যেতে পারে:

আপনার Kubeflow ক্লাস্টারের জন্য Prometheus এবং Amazon Managed Grafana-এর জন্য Amazon Managed Service কনফিগার করতে, পড়ুন AWS-এ Kubeflow এর সাথে মেট্রিক নিরীক্ষণ করতে Prometheus, Prometheus এর জন্য Amazon Managed Service এবং Amazon Managed Grafana ব্যবহার করুন.

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

এই ব্যবহারের ক্ষেত্রে, আমরা Terraform ইনস্টলেশন বিকল্প ব্যবহার করে Kubeflow ভ্যানিলা স্থাপনা ব্যবহার করি। ইনস্টলেশন সম্পূর্ণ হলে, আমরা কুবেফ্লো ড্যাশবোর্ডে লগ ইন করি। ড্যাশবোর্ড থেকে, আমরা একটি Kubeflow পাইপলাইন তৈরি করতে একটি Kubeflow Jupyter নোটবুক সার্ভার স্পিন করি যা SageMaker ব্যবহার করে একটি চিত্র শ্রেণিবিন্যাসের মডেলের জন্য বিতরণ করা প্রশিক্ষণ চালানোর জন্য এবং মডেল স্থাপনের জন্য একটি SageMaker এন্ডপয়েন্ট।

পূর্বশর্ত

নিশ্চিত করুন যে আপনি নিম্নলিখিত পূর্বশর্তগুলি পূরণ করেছেন:

  • আপনার একটি আছে এডাব্লুএস অ্যাকাউন্ট.
  • নিশ্চিত হয়ে নিন যে আপনি us-west-2 এই উদাহরণ চালানোর জন্য অঞ্চল.
  • এর সাথে ইন্টারঅ্যাক্ট করার জন্য Google Chrome ব্যবহার করুন এডাব্লুএস ম্যানেজমেন্ট কনসোল এবং কুবেফ্লো।
  • পরিষেবা কোটা কনসোল ব্যবহার করে আপনার অ্যাকাউন্টে ml.p3.2xlarge-এর জন্য SageMaker ট্রেনিং রিসোর্স টাইপ সীমা 2-এ বৃদ্ধি করা হয়েছে তা নিশ্চিত করুন।
  • ঐচ্ছিকভাবে, আপনি ব্যবহার করতে পারেন এডাব্লুএস ক্লাউড 9, একটি ক্লাউড-ভিত্তিক সমন্বিত উন্নয়ন পরিবেশ (IDE) যা আপনার ওয়েব ব্রাউজার থেকে সমস্ত কাজ সম্পূর্ণ করতে সক্ষম করে। সেটআপ নির্দেশাবলীর জন্য, পড়ুন Cloud9 IDE সেটআপ করুন. AWS Cloud18.04 সেটিংসে একটি প্ল্যাটফর্ম হিসাবে উবুন্টু সার্ভার 9 নির্বাচন করুন।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.তারপর আপনার AWS Cloud9 পরিবেশ থেকে, প্লাস চিহ্নটি নির্বাচন করুন এবং নতুন টার্মিনাল খুলুন।

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

aws configure --profile=kubeflow

AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]: us-west-2
Default output format [None]: json

# (In Cloud9, select “Cancel” and “Permanently disable” when the AWS managed temporary credentials dialog pops up)

export AWS_PROFILE=kubeflow

AWS রিসোর্স কল করতে Cloud9 যে অনুমতিগুলি ব্যবহার করবে তা যাচাই করুন৷

aws sts get-caller-identity

নীচের আউটপুট থেকে যাচাই করুন যে আপনি অ্যাডমিন ব্যবহারকারীর আর্ন দেখতে পাচ্ছেন যা আপনি AWS CLI প্রোফাইলে কনফিগার করেছেন। এই উদাহরণে এটি "কুবেফ্লো-ব্যবহারকারী"

{
    "UserId": "*******",
    "Account": "********",
    "Arn": "arn:aws:iam::*******:user/kubeflow-user"
}

AWS-এ Amazon EKS এবং Kubeflow ইনস্টল করুন

AWS-এ Amazon EKS এবং Kubeflow ইনস্টল করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. AWS এ Kubeflow স্থাপনের জন্য আপনার পরিবেশ সেট আপ করুন:
    #Clone the awslabs/kubeflow-manifests and the kubeflow/manifests repositories and check out the release branches of your choosing
    export KUBEFLOW_RELEASE_VERSION=v1.6.1
    export AWS_RELEASE_VERSION=v1.6.1-aws-b1.0.0
    git clone https://github.com/awslabs/kubeflow-manifests.git && cd kubeflow-manifests
    git checkout ${AWS_RELEASE_VERSION}
    git clone --branch ${KUBEFLOW_RELEASE_VERSION} https://github.com/kubeflow/manifests.git upstream
    
    export MANIFEST_DIR=$PWD

    #Install the necessary tools with the following command:
    make install-tools
    source ~/.bash_profile

  2. টেরাফর্ম ব্যবহার করে AWS এবং EKS এর মতো সম্পর্কিত AWS সংস্থানগুলিতে Kubeflow এর ভ্যানিলা সংস্করণ স্থাপন করুন। দয়া করে মনে রাখবেন যে EKS নোডগ্রুপে ব্যবহৃত EBS ভলিউমগুলি ডিফল্টরূপে এনক্রিপ্ট করা হয় না:
    #Define the following environment variables
    
    #Region to create the cluster in
    export CLUSTER_REGION=us-west-2
    #Name of the cluster to create
    export CLUSTER_NAME=

    cd deployments/vanilla/terraform
    
    #Save the variables to a .tfvars file
    cat < sample.auto.tfvars
    cluster_name="${CLUSTER_NAME}"
    cluster_region="${CLUSTER_REGION}"
    EOF
    
    #Run the following one-click command to deploy terraform to install EKS infrastructure and Kubeflow
    make deploy

Kubeflow অনুমতি সেট আপ করুন

  1. SageMaker, S3 এবং IAM api ব্যবহার করে কল করতে নোটবুক পড এবং পাইপলাইন কম্পোনেন্ট পডে অনুমতি যোগ করুন kubeflow_iam_permissions.sh লিপি.
    export NAMESPACE=kubeflow-user-example-com
    
    wget https://raw.githubusercontent.com/aws-samples/eks-kubeflow-cloudformation-quick-start/9e46662d97e1be7edb0be7fc31166e545655636a/utils/kubeflow_iam_permissions.sh
    chmod +x kubeflow_iam_permissions.sh
    ./kubeflow_iam_permissions.sh $NAMESPACE $CLUSTER_NAME $CLUSTER_REGION

  2. S3 পরিষেবা ব্যবহার করে প্রশিক্ষণ ডেটাসেট অ্যাক্সেস করতে SageMaker প্রশিক্ষণ কাজ সক্ষম করতে SageMaker সম্পাদন ভূমিকা তৈরি করুন sagemaker_role.sh লিপি.
    wget https://raw.githubusercontent.com/aws-samples/eks-kubeflow-cloudformation-quick-start/9e46662d97e1be7edb0be7fc31166e545655636a/utils/sagemaker_role.sh
    chmod +x sagemaker_role.sh
    ./sagemaker_role.sh

কুবেফ্লো ড্যাশবোর্ড অ্যাক্সেস করুন

Kubeflow ড্যাশবোর্ড অ্যাক্সেস করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. আপনি নীচের কমান্ডগুলি চালিয়ে আপনার URLগুলিকে সর্বজনীন ইন্টারনেটে প্রকাশ না করে Cloud9 পরিবেশে স্থানীয়ভাবে Kubeflow ড্যাশবোর্ড চালাতে পারেন৷
    # Configure Kubecontext
    $(terraform output -raw configure_kubectl)
    
    cd ${MANIFEST_DIR}
    make port-forward

  2. বেছে নিন প্রাকদর্শন চলমান অ্যাপ্লিকেশন.AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.
  3. ক্রোমে আলাদা ট্যাব হিসেবে খুলতে Kubeflow ড্যাশবোর্ডের কোণে আইকনটি বেছে নিন।
  4. ডিফল্ট শংসাপত্র লিখুন (user@example.com/12341234) কুবেফ্লো ড্যাশবোর্ডে লগ ইন করতে।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.

AWS পরিবেশে Kubeflow সেট আপ করুন

একবার আপনি কুবেফ্লো ড্যাশবোর্ডে লগ ইন করলে, নিশ্চিত করুন যে আপনার সঠিক নামস্থান আছে (kubeflow-user-example-com) নির্বাচিত। AWS পরিবেশে আপনার Kubeflow সেট আপ করতে নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. Kubeflow ড্যাশবোর্ডে, নির্বাচন করুন নোটবুক নেভিগেশন ফলকে।
  2. বেছে নিন নতুন নোটবুক.
  3. জন্য নামপ্রবেশ করান aws-nb.
  4. জন্য জুপিটার ডকেট ইমেজ, ইমেজ নির্বাচন করুন jupyter-pytorch:1.12.0-cpu-py38-ubuntu20.04-ec2-2022-09-20 (সর্বশেষ উপলব্ধ jupyter-pytorch DLC ইমেজ)।
  5. জন্য সিপিইউপ্রবেশ করান 1.
  6. জন্য স্মৃতিপ্রবেশ করান 5.
  7. জন্য জিপিইউ, হিসাবে ছেড়ে না.
  8. কোন পরিবর্তন করবেন না কর্মক্ষেত্র এবং ডেটা ভলিউম বিভাগে।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.
  9. নির্বাচন করা কুবেফ্লো পাইপলাইনে অ্যাক্সেসের অনুমতি দিন মধ্যে কনফিগারেশন বিভাগ এবং লঞ্চ নির্বাচন করুন।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.
  10. যাচাই করুন যে আপনার নোটবুক সফলভাবে তৈরি হয়েছে (এটি কয়েক মিনিট সময় নিতে পারে)।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.
  11. বেছে নিন সংযোগ করা JupyterLab এ লগ ইন করতে।
  12. প্রবেশ করে রেপো ক্লোন করুন https://github.com/aws-samples/eks-kubeflow-cloudformation-quick-start.git মধ্যে একটি রেপো ক্লোন করুন ক্ষেত্র।
  13. বেছে নিন ক্লোন.AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.

একটি বিতরণ প্রশিক্ষণ উদাহরণ চালান

আপনি জুপিটার নোটবুক সেট আপ করার পরে, আপনি ফোল্ডার থেকে নিম্নলিখিত উচ্চ-স্তরের পদক্ষেপগুলি ব্যবহার করে পুরো ডেমো চালাতে পারেন eks-kubeflow-cloudformation-quick-start/workshop/pytorch-distributed-training ক্লোন করা সংগ্রহস্থলে:

  1. PyTorch Distributed Data Parallel (DDP) ট্রেনিং স্ক্রিপ্ট চালান - PyTorch DDP প্রশিক্ষণ স্ক্রিপ্ট পড়ুন cifar10-distributed-gpu-final.py, যা একটি মাল্টি-নোড CPU এবং GPU ক্লাস্টারে প্রশিক্ষণ বিতরণের জন্য একটি নমুনা কনভোল্যুশনাল নিউরাল নেটওয়ার্ক এবং যুক্তি অন্তর্ভুক্ত করে।
  2. একটি Kubeflow পাইপলাইন তৈরি করুন - নোটবুক চালান STEP1.0_create_pipeline_k8s_sagemaker.ipynb একটি পাইপলাইন তৈরি করতে যা সেজমেকারে মডেলগুলি চালায় এবং স্থাপন করে। নিশ্চিত করুন যে আপনি প্রথম নোটবুক সেলের অংশ হিসাবে সেজমেকার লাইব্রেরি ইনস্টল করেছেন এবং বাকি নোটবুক কোষগুলি চালানোর আগে কার্নেলটি পুনরায় চালু করুন৷
  3. একটি সেজমেকার এন্ডপয়েন্ট আহ্বান করুন - নোটবুক চালান STEP1.1_invoke_sagemaker_endpoint.ipynb আগের নোটবুকে তৈরি সেজমেকার মডেল ইনফারেন্স এন্ডপয়েন্ট আহ্বান ও পরীক্ষা করতে।

পরবর্তী বিভাগে, আমরা এই পদক্ষেপগুলির প্রতিটি বিশদভাবে আলোচনা করব।

PyTorch DDP প্রশিক্ষণ স্ক্রিপ্ট চালান

বিতরণকৃত প্রশিক্ষণের অংশ হিসাবে, আমরা একটি সাধারণ কনভোল্যুশনাল নিউরাল নেটওয়ার্ক দ্বারা তৈরি একটি শ্রেণিবিন্যাস মডেলকে প্রশিক্ষণ দিই যা CIFAR10 ডেটাসেটে কাজ করে। প্রশিক্ষণের স্ক্রিপ্ট cifar10-distributed-gpu-final.py শুধুমাত্র ওপেন-সোর্স লাইব্রেরি ধারণ করে এবং জিপিইউ ডিভাইস বা সিপিইউ ইনস্ট্যান্সে কুবারনেটস এবং সেজমেকার ট্রেনিং ক্লাস্টার উভয়ই চালানোর জন্য সামঞ্জস্যপূর্ণ। আমরা আমাদের নোটবুকের উদাহরণগুলি চালানোর আগে প্রশিক্ষণের স্ক্রিপ্টের কয়েকটি গুরুত্বপূর্ণ দিক দেখি।

আমরা ব্যবহার করি torch.distributed মডিউল, যা ক্লাস্টারের নোড জুড়ে বহু-প্রক্রিয়া সমান্তরালতার জন্য PyTorch সমর্থন এবং যোগাযোগ আদিম ধারণ করে:

...
import torch
import torch.distributed as dist
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import torch.utils.data
import torch.utils.data.distributed
import torchvision
from torchvision import datasets, transforms
...

কনভোল্যুশনাল, ম্যাক্স পুলিং, এবং লিনিয়ার লেয়ারের সমন্বয় ব্যবহার করে আমরা একটি সাধারণ ইমেজ ক্লাসিফিকেশন মডেল তৈরি করি যাতে একটি relu অ্যাক্টিভেশন ফাংশন মডেল প্রশিক্ষণের ফরোয়ার্ড পাসে প্রয়োগ করা হয়:

# Define models
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(3, 6, 5)
self.pool = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)

def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = x.view(-1, 16 * 5 * 5)
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x

ট্রেনিং ক্লাস্টারে যদি GPU থাকে, স্ক্রিপ্টটি CUDA ডিভাইসে ট্রেনিং চালায় এবং ডিভাইস ভেরিয়েবল ডিফল্ট CUDA ডিভাইস ধারণ করে:

device = "cuda" if torch.cuda.is_available() else "cpu"
...

আপনি PyTorch ব্যবহার করে বিতরণ প্রশিক্ষণ চালানোর আগে DistributedDataParallel একাধিক নোডে বিতরণ প্রক্রিয়া চালানোর জন্য, আপনাকে কল করে বিতরণ করা পরিবেশ শুরু করতে হবে init_process_group. এটি প্রশিক্ষণ ক্লাস্টারের প্রতিটি মেশিনে শুরু করা হয়।

dist.init_process_group(backend=args.backend, rank=host_rank, world_size=world_size)
...

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

model = Net().to(device)

if is_distributed:
model = torch.nn.parallel.DistributedDataParallel(model)

...

একটি Kubeflow পাইপলাইন তৈরি করুন

নোটবুক ব্যবহার করে Kubeflow পাইপলাইন SDK এবং ML ওয়ার্কফ্লো পাইপলাইনগুলি নির্দিষ্ট করতে এবং চালানোর জন্য পাইথন প্যাকেজগুলির সেট। এই SDK-এর অংশ হিসাবে, আমরা ডোমেন-নির্দিষ্ট ভাষা (DSL) প্যাকেজ ডেকোরেটর ব্যবহার করি dsl.pipeline, যা পাইপলাইন ফেরত দিতে পাইথন ফাংশন সাজায়।

Kubeflow পাইপলাইন SageMaker ACK অপারেটর ব্যবহার করে SageMaker-এ প্রশিক্ষণ জমা দেওয়ার জন্য SageMaker উপাদান V2 ব্যবহার করে। SageMaker মডেল তৈরি এবং মডেল স্থাপনায় SageMaker উপাদান V1 ব্যবহার করে, যা Boto3-ভিত্তিক SageMaker উপাদান। আপনার পছন্দের নমনীয়তা প্রদর্শন করতে আমরা এই উদাহরণে উভয় উপাদানের সংমিশ্রণ ব্যবহার করি।

  1. নিম্নলিখিত কোড ব্যবহার করে SageMaker উপাদান লোড করুন:
    # Loads SageMaker training components v2 for Kubeflow pipeline from the URL
    sagemaker_train_ack_op = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/d4aaa03035f221351ebe72fbd74fcfccaf25bb66/components/aws/sagemaker/TrainingJob/component.yaml')
    
    # Loads SageMaker components v1 for Kubeflow pipeline from the URL
    sagemaker_model_op = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/cb36f87b727df0578f4c1e3fe9c24a30bb59e5a2/components/aws/sagemaker/model/component.yaml')
    sagemaker_deploy_op = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/cb36f87b727df0578f4c1e3fe9c24a30bb59e5a2/components/aws/sagemaker/deploy/component.yaml')

    নিম্নলিখিত কোডে, আমরা কুবেফ্লো পাইপলাইন তৈরি করি যেখানে আমরা দুটি ব্যবহার করে সেজমেকার বিতরণ করা প্রশিক্ষণ চালাই ml.p3.2xlarge উদাহরণ:

    # Create Kubeflow Pipeline using Amazon SageMaker Service
    @dsl.pipeline(name="PyTorch Training pipeline", description="Sample training job test")
    def pytorch_cnn_pipeline(region=target_region,
    train_image=aws_dlc_sagemaker_train_image,
    serving_image=aws_dlc_sagemaker_serving_image,
    learning_rate='0.01',
    pytorch_backend='gloo',
    training_job_name=pytorch_distributed_jobname,
    instance_type='ml.p3.2xlarge',
    instance_count='2',
    network_isolation='False',
    traffic_encryption='False',
    ):
    
    # Step to run training on SageMaker using SageMaker Components V2 for Pipeline.
    training = sagemaker_train_ack_op(
    region=region,
    algorithm_specification=(f'{{ '
    f'"trainingImage": "{train_image}",'
    '"trainingInputMode": "File"'
    f'}}'),
    training_job_name=training_job_name,
    hyper_parameters=(f'{{ '
    f'"backend": "{pytorch_backend}",'
    '"batch-size": "64",'
    '"epochs": "10",'
    f'"lr": "{learning_rate}",'
    '"model-type": "custom",'
    '"sagemaker_container_log_level": "20",'
    '"sagemaker_program": "cifar10-distributed-gpu-final.py",'
    f'"sagemaker_region": "{region}",'
    f'"sagemaker_submit_directory": "{source_s3}"'
    f'}}'),
    resource_config=(f'{{ '
    f'"instanceType": "{instance_type}",'
    f'"instanceCount": {instance_count},'
    '"volumeSizeInGB": 50'
    f'}}'),
    input_data_config=training_input(datasets),
    output_data_config=training_output(bucket_name),
    enable_network_isolation=network_isolation,
    enable_inter_container_traffic_encryption=traffic_encryption,
    role_arn=role,
    stopping_condition={"maxRuntimeInSeconds": 3600}
    )
    
    model_artifact_url = get_s3_model_artifact_op(
    training.outputs["model_artifacts"]
    ).output
    
    # This step creates SageMaker Model which refers to model artifacts and inference script to deserialize the input image
    create_model = sagemaker_model_op(
    region=region,
    model_name=training_job_name,
    image=serving_image,
    model_artifact_url=model_artifact_url,
    network_isolation=network_isolation,
    environment=(f'{{ '
    '"SAGEMAKER_CONTAINER_LOG_LEVEL": "20",'
    '"SAGEMAKER_PROGRAM": "inference.py",'
    f'"SAGEMAKER_REGION": "{region}",'
    f'"SAGEMAKER_SUBMIT_DIRECTORY": "{model_artifact_url}"'
    f'}}'),
    role=role
    )
    
    # This step creates SageMaker Endpoint which will be called to run inference
    prediction = sagemaker_deploy_op(
    region=region,
    model_name_1=create_model.output,
    instance_type_1='ml.c5.xlarge'
    )
    
    #Disable pipeline cache
    training.execution_options.caching_strategy.max_cache_staleness = "P0D"

    পাইপলাইনটি সংজ্ঞায়িত হওয়ার পরে, আপনি Kubeflow Pipelines SDK এর ব্যবহার করে একটি Argo YAML স্পেসিফিকেশনে পাইপলাইন কম্পাইল করতে পারেন kfp.compiler প্যাকেজ আপনি Kubeflow Pipelines SDK ক্লায়েন্ট ব্যবহার করে এই পাইপলাইনটি চালাতে পারেন, যা পাইপলাইন পরিষেবার এন্ডপয়েন্টকে কল করে এবং নোটবুক থেকে সঠিক প্রমাণীকরণ শিরোনামে পাস করে। নিম্নলিখিত কোড দেখুন:

    # DSL Compiler that compiles pipeline functions into workflow yaml.
    kfp.compiler.Compiler().compile(pytorch_cnn_pipeline, "pytorch_cnn_pipeline.yaml")
    
    # Connect to Kubeflow Pipelines using the Kubeflow Pipelines SDK client
    client = kfp.Client()
    
    experiment = client.create_experiment(name="ml_workflow")
    
    # Run a specified pipeline
    my_run = client.run_pipeline(experiment.id, "pytorch_cnn_pipeline", "pytorch_cnn_pipeline.yaml")
    
    # Please click “Run details” link generated below this cell to view your pipeline. You can click every pipeline step to see logs.

  2. পছন্দ বিস্তারিত চালান Kubeflow পাইপলাইন দেখার জন্য শেষ কক্ষের নিচে লিঙ্ক করুন। নিম্নলিখিত স্ক্রিনশটটি সেজমেকার প্রশিক্ষণ এবং স্থাপনার উপাদানের জন্য আমাদের পাইপলাইনের বিশদ বিবরণ দেখায়।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.
  3. প্রশিক্ষণ কাজের ধাপ এবং উপর নির্বাচন করুন লগ ট্যাবে, SageMaker লগগুলি অ্যাক্সেস করতে CloudWatch লগ লিঙ্কটি বেছে নিন।
    নিম্নলিখিত স্ক্রিনশট দুটি ml.p3.2x বড় উদাহরণগুলির প্রতিটির জন্য CloudWatch লগগুলি দেখায়৷AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.
  4. লগগুলি দেখতে গ্রুপগুলির মধ্যে যেকোনো একটি বেছে নিন।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.
  5. বেছে নিয়ে সেজমেকার এন্ডপয়েন্ট ক্যাপচার করুন সেজমেকার - মডেল স্থাপন করুন ধাপ এবং অনুলিপি endpoint_name আউটপুট আর্টিফ্যাক্ট মান।AWS স্থাপনার PlatoBlockchain Data Intelligence-এ এক-ক্লিক Kubeflow-এর মাধ্যমে Amazon EKS এবং Amazon SageMaker-এ হাইব্রিড এমএল ওয়ার্কফ্লো সক্রিয় করা হচ্ছে। উল্লম্ব অনুসন্ধান. আ.

একটি সেজমেকার এন্ডপয়েন্ট আহ্বান করুন

খাতাটি STEP1.1_invoke_sagemaker_endpoint.ipynb আগের ধাপে তৈরি সেজমেকার ইনফারেন্স এন্ডপয়েন্টকে আহ্বান করে। নিশ্চিত করুন যে আপনি শেষ পয়েন্টের নাম আপডেট করেছেন:

# Invoke SageMaker Endpoint. * Ensure you update the endpoint
# You can grab the SageMaker Endpoint name by either 1) going to the pipeline visualization of Kubeflow console and click the component for deployment, or 2) Go to SageMaker console and go to the list of endpoints, and then substitute the name to the EndpointName='...' in this cell.

endpointName=''

response = client.invoke_endpoint(EndpointName=endpointName,
ContentType='application/x-image',
Body=payload)

pred = json.loads(response['Body'].read().decode())

output_vector_list=pred['score']

# Get outout vector of 10 classes
output_vector = output_vector_list[0]

# Find the class with highest probability
max=output_vector[0]
index = 0
for i in range(1,len(output_vector)):
if output_vector[i] > max:
max = output_vector[i]
index = i

print(f'Index of the maximum value is : {index}')

labels = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']

print(labels[index])

পরিষ্কার কর

আপনার সংস্থানগুলি পরিষ্কার করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. AWS সংস্থানগুলি মুছতে AWS Cloud9 এ নিম্নলিখিত কমান্ডগুলি চালান:
    cd ${MANIFEST_DIR}/deployments/vanilla/terraform
    make delete

  2. আইএএম ভূমিকা মুছুন "sagemakerroleনিম্নলিখিত AWS CLI কমান্ড ব্যবহার করে:
    aws iam detach-role-policy --role-name sagemakerrole --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
    aws iam detach-role-policy --role-name sagemakerrole --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
    aws iam delete-role --role-name sagemakerrole

  3. নিম্নলিখিত AWS CLI কমান্ড ব্যবহার করে SageMaker এন্ডপয়েন্ট মুছুন:
    aws sagemaker delete-endpoint --endpoint-name  --region us-west-2

সারাংশ

এই পোস্টে, আমরা AWS 1.6.1-এ Kubeflow যে মানটি এন্টারপ্রাইজ-স্তরের AI এবং ML ব্যবহারের ক্ষেত্রে প্রয়োজন তা মোকাবেলায় নেটিভ AWS-পরিচালিত পরিষেবা একীকরণের মাধ্যমে প্রদান করে তা হাইলাইট করেছি। আপনি Terraform, Kustomize, বা Helm ব্যবহার করে বিভিন্ন পরিষেবা ইন্টিগ্রেশন সহ AWS-এ Kubeflow ইনস্টল করার জন্য বিভিন্ন স্থাপনার বিকল্প থেকে বেছে নিতে পারেন। এই পোস্টে ব্যবহারের ক্ষেত্রে SageMaker-এর সাথে একটি Kubeflow ইন্টিগ্রেশন দেখানো হয়েছে যা একটি SageMaker পরিচালিত ট্রেনিং ক্লাস্টার ব্যবহার করে একটি ইমেজ শ্রেণীবিভাগ মডেলের জন্য বিতরণ করা প্রশিক্ষণ এবং মডেল স্থাপনের জন্য SageMaker এন্ডপয়েন্ট ব্যবহার করে।

আমরা একটি উপলব্ধ করা হয়েছে নমুনা পাইপলাইন উদাহরণ যে সর্বশেষ SageMaker উপাদান ব্যবহার করে; আপনি এটি সরাসরি Kubeflow ড্যাশবোর্ড থেকে চালাতে পারেন। এই পাইপলাইন প্রয়োজন Amazon S3 ডেটা এবং SageMaker মৃত্যুদন্ড IAM ভূমিকা প্রয়োজনীয় ইনপুট হিসাবে।

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


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

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

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

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

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

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

AWS APEJ AI লাইফ-সাইকেল সফটওয়্যার টুলস এবং প্ল্যাটফর্ম ভেন্ডর অ্যাসেসমেন্টের জন্য 2022 IDC মার্কেটস্কেপে লিডার ক্যাটাগরিতে অবস্থান করেছে

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