Amazon SageMaker JumpStart PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে ইমেজ সেগমেন্টেশন চালান। উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker JumpStart দিয়ে ইমেজ সেগমেন্টেশন চালান

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

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

আপনি যদি সরাসরি জাম্পস্টার্ট API কোডে যেতে চান যা আমরা এই পোস্টে ব্যাখ্যা করেছি, আপনি নিম্নলিখিত নমুনা জুপিটার নোটবুকগুলি উল্লেখ করতে পারেন:

জাম্পস্টার্ট ওভারভিউ

জাম্পস্টার্ট আপনাকে কোডের একটি লাইন না লিখে বিভিন্ন কাজের জন্য ML মডেলের সাথে শুরু করতে সহায়তা করে। লেখার সময়, জাম্পস্টার্ট আপনাকে নিম্নলিখিতগুলি করতে সক্ষম করে:

  • সাধারণ ML কাজের জন্য প্রাক-প্রশিক্ষিত মডেল স্থাপন করুন – জাম্পস্টার্ট আপনাকে বৃহৎ, সর্বজনীনভাবে উপলব্ধ ডেটাসেটে প্রাক-প্রশিক্ষিত মডেলগুলির সহজ স্থাপনার মাধ্যমে কোন উন্নয়ন প্রচেষ্টা ছাড়াই সাধারণ ML কাজগুলিকে মোকাবেলা করতে সক্ষম করে। এমএল গবেষণা সম্প্রদায় সাম্প্রতিক বিকশিত বেশিরভাগ মডেলকে সর্বজনীনভাবে ব্যবহারের জন্য উপলব্ধ করার জন্য প্রচুর পরিমাণে প্রচেষ্টা চালিয়েছে। জাম্পস্টার্ট 300 টিরও বেশি মডেলের একটি সংগ্রহ হোস্ট করে, 15টি সর্বাধিক জনপ্রিয় ML কার্য যেমন অবজেক্ট সনাক্তকরণ, পাঠ্য শ্রেণিবিন্যাস এবং পাঠ্য তৈরি করা, নতুনদের জন্য সেগুলি ব্যবহার করা সহজ করে তোলে। এই মডেলগুলি জনপ্রিয় মডেল হাব যেমন TensorFlow, PyTorch, Hugging Face, এবং MXNet থেকে আঁকা হয়েছে।
  • ফাইন-টিউন প্রাক-প্রশিক্ষিত মডেল - জাম্পস্টার্ট আপনাকে আপনার নিজের প্রশিক্ষণ অ্যালগরিদম লেখার প্রয়োজন ছাড়াই প্রাক-প্রশিক্ষিত মডেলগুলিকে সূক্ষ্ম-টিউন করতে দেয়৷ এমএল-এ, এক ডোমেনে শেখা জ্ঞান অন্য ডোমেনে স্থানান্তর করার ক্ষমতা বলা হয় প্রশিক্ষণ স্থানান্তর. আপনি আপনার ছোট ডেটাসেটে সঠিক মডেল তৈরি করতে ট্রান্সফার লার্নিং ব্যবহার করতে পারেন, মূল মডেলের প্রশিক্ষণে জড়িতদের তুলনায় অনেক কম প্রশিক্ষণ খরচ। লাইটজিবিএম, ক্যাটবুস্ট, এক্সজিবিবুস্ট এবং স্কিট-লার্নের উপর ভিত্তি করে জাম্পস্টার্টে জনপ্রিয় প্রশিক্ষণ অ্যালগরিদমও রয়েছে, যা আপনি সারণী রিগ্রেশন এবং শ্রেণীবিভাগের জন্য স্ক্র্যাচ থেকে প্রশিক্ষণ দিতে পারেন।
  • প্রাক-নির্মিত সমাধান ব্যবহার করুন - জাম্পস্টার্ট সাধারণ এমএল ব্যবহারের ক্ষেত্রে 17টি সমাধানের একটি সেট প্রদান করে, যেমন চাহিদা পূর্বাভাস এবং শিল্প ও আর্থিক অ্যাপ্লিকেশন, যা আপনি মাত্র কয়েকটি ক্লিকে স্থাপন করতে পারেন। সমাধান হল এন্ড-টু-এন্ড এমএল অ্যাপ্লিকেশন যা একটি নির্দিষ্ট ব্যবসায়িক ব্যবহারের ক্ষেত্রে সমাধান করতে বিভিন্ন AWS পরিষেবাকে একত্রিত করে। তারা ব্যবহার করে এডাব্লুএস ক্লাউডফর্মেশন দ্রুত স্থাপনার জন্য টেমপ্লেট এবং রেফারেন্স আর্কিটেকচার, যার মানে তারা সম্পূর্ণরূপে কাস্টমাইজযোগ্য।
  • সেজমেকার অ্যালগরিদমের জন্য নোটবুকের উদাহরণ পড়ুন – SageMaker ডেটা বিজ্ঞানীদের এবং ML অনুশীলনকারীদের দ্রুত ML মডেলগুলিকে প্রশিক্ষণ এবং স্থাপন শুরু করতে সাহায্য করার জন্য অন্তর্নির্মিত অ্যালগরিদমের একটি স্যুট প্রদান করে৷ জাম্পস্টার্ট নমুনা নোটবুক সরবরাহ করে যা আপনি এই অ্যালগরিদমগুলি দ্রুত ব্যবহার করতে ব্যবহার করতে পারেন।
  • প্রশিক্ষণ ভিডিও এবং ব্লগ পর্যালোচনা করুন - জাম্পস্টার্ট অসংখ্য ব্লগ পোস্ট এবং ভিডিও সরবরাহ করে যা আপনাকে সেজমেকারের মধ্যে বিভিন্ন কার্যকারিতা কীভাবে ব্যবহার করতে হয় তা শেখায়।

জাম্পস্টার্ট কাস্টম VPC সেটিংস গ্রহণ করে এবং AWS কী ব্যবস্থাপনা পরিষেবা (AWS KMS) এনক্রিপশন কী, যাতে আপনি আপনার এন্টারপ্রাইজ পরিবেশের মধ্যে নিরাপদে উপলব্ধ মডেল এবং সমাধানগুলি ব্যবহার করতে পারেন৷ আপনি স্টুডিওর মধ্যে বা SageMaker Python SDK-এর মাধ্যমে আপনার নিরাপত্তা সেটিংস জাম্পস্টার্টে পাস করতে পারেন।

শব্দার্থ বিভাজন

শব্দার্থিক বিভাজন একটি ইনপুট ইমেজে প্রদর্শিত বস্তুর প্রতিটি শ্রেণীর বর্ণনা করে। এটি ক্লাসের পূর্বনির্ধারিত সেট থেকে একটি ক্লাস লেবেল সহ ইনপুট চিত্রের প্রতিটি পিক্সেলকে ট্যাগ করে (শ্রেণীবদ্ধ করে)। একই শ্রেণীর একাধিক বস্তু একই মাস্কে ম্যাপ করা হয়।

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

প্রশিক্ষণের ডেটাতে দুটি চিত্র থাকলে ইনপুট ডিরেক্টরিটি নিম্নলিখিত কোডের মতো হওয়া উচিত। .png ফাইলের নাম যেকোনো কিছু হতে পারে।

input_directory
    |--images
        |--abc.png
        |--def.png
    |--masks
        |--abc.png
        |--def.png
    class_label_to_prediction_index.json

মাস্ক ফাইলগুলিতে প্রতিটি পিক্সেলের জন্য ক্লাস লেবেল তথ্য থাকা উচিত।

ইনস্ট্যান্ট বিভাজন

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

বর্তমানে, জাম্পস্টার্ট ইনস্ট্যান্স সেগমেন্টেশনের জন্য শুধুমাত্র অনুমানের মডেল অফার করে এবং ফাইন-টিউনিং সমর্থন করে না।

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

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

নিম্নলিখিত বিভাগগুলি স্টুডিও UI এবং জাম্পস্টার্ট API-এর মাধ্যমে উভয়ই জাম্পস্টার্টের সাথে শব্দার্থিক বিভাজন সম্পাদনের জন্য একটি ধাপে ধাপে ডেমো প্রদান করে।

আমরা নিম্নলিখিত ধাপগুলি দিয়ে হাঁটছি:

  1. স্টুডিও UI এর মাধ্যমে জাম্পস্টার্ট অ্যাক্সেস করুন:
    1. প্রাক-প্রশিক্ষিত মডেলের উপর অনুমান চালান।
    2. প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন।
  2. SageMaker Python SDK-এর সাথে প্রোগ্রাম্যাটিকভাবে জাম্পস্টার্ট ব্যবহার করুন:
    1. প্রাক-প্রশিক্ষিত মডেলের উপর অনুমান চালান।
    2. প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন।

আমরা জাম্পস্টার্টের অতিরিক্ত উন্নত বৈশিষ্ট্য নিয়েও আলোচনা করি।

স্টুডিও UI এর মাধ্যমে জাম্পস্টার্ট অ্যাক্সেস করুন

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

প্রাক-প্রশিক্ষিত মডেলের উপর অনুমান চালান

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

কয়েক মিনিটের পরে, আপনার এন্ডপয়েন্ট কার্যকরী এবং অনুমান অনুরোধের প্রতিক্রিয়া জানাতে প্রস্তুত।

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

প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন

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

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

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

SageMaker SDK-এর সাথে প্রোগ্রাম্যাটিকভাবে জাম্পস্টার্ট ব্যবহার করুন

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

প্রাক-প্রশিক্ষিত মডেলের উপর অনুমান চালান

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

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

model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*"

# Retrieve the inference docker container uri
deploy_image_uri = image_uris.retrieve(
    region=None,
    framework=None,  # automatically inferred from model_id
    image_scope="inference",
    model_id=model_id,
    model_version=model_version,
    instance_type=inference_instance_type,
)

# Retrieve the inference script uri
deploy_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="inference")

base_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="inference")

যেমন সেগমেন্টেশন, আমরা সেট করতে পারি model_id থেকে mxnet-semseg-fcn-resnet50-ade. শনাক্তকারীর মধ্যে রয়েছে ইনস্ট্যান্স সেগমেন্টেশনের সাথে মিল রয়েছে।

এর পরে, আমরা সংস্থানগুলিকে a-এ ফিড করি সেজমেকার মডেল উদাহরণ এবং একটি শেষ পয়েন্ট স্থাপন করুন:

# Create the SageMaker model instance
model = Model(
    image_uri=deploy_image_uri,
    source_dir=deploy_source_uri,
    model_data=base_model_uri,
    entry_point="inference.py",  # entry point file in source_dir and present in deploy_source_uri
    role=aws_role,
    predictor_cls=Predictor,
    name=endpoint_name,
)

# deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class,
# for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(
    initial_instance_count=1,
    instance_type=inference_instance_type,
    predictor_cls=Predictor,
    endpoint_name=endpoint_name,
)

কয়েক মিনিট পরে, আমাদের মডেল স্থাপন করা হয় এবং আমরা বাস্তব সময়ে এটি থেকে ভবিষ্যদ্বাণী পেতে পারি!

নিম্নলিখিত কোড স্নিপেট আপনাকে শব্দার্থিক বিভাজন কেমন দেখাচ্ছে তার একটি আভাস দেয়। প্রতিটি পিক্সেলের জন্য পূর্বাভাসিত মুখোশটি কল্পনা করা হয়। একটি স্থাপন করা মডেল থেকে অনুমান পেতে, একটি ইনপুট চিত্র বাইনারি বিন্যাসে সরবরাহ করা প্রয়োজন। শেষবিন্দুর প্রতিক্রিয়া হল চিত্রের প্রতিটি পিক্সেলের জন্য একটি পূর্বাভাসিত লেবেল। আমরা ব্যবহার করি query_endpoint এবং parse_response সহায়ক ফাংশন, যা সংজ্ঞায়িত করা হয় সহগামী নোটবুক:

query_response = query(base_model_predictor, pedestrian_img)
predictions, labels, image_labels = parse_response(query_response)
print("Objects present in the picture:", image_labels)

প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন

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

from sagemaker import image_uris, model_uris, script_uris

model_id, model_version = "mxnet-semseg-fcn-resnet50-ade", "*"
training_instance_type = "ml.p3.2xlarge"
train_image_uri = image_uris.retrieve(
    region=None,
    framework=None,
    model_id=model_id,
    model_version=model_version,
    image_scope="training",
    instance_type=training_instance_type,)# Retrieve the training script

train_source_uri = script_uris.retrieve(model_id=model_id, model_version=model_version, script_scope="training")# Retrieve the pre-trained model tarball to further fine-tune

train_model_uri = model_uris.retrieve(model_id=model_id, model_version=model_version, model_scope="training")

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

# URI of your training dataset
training_data_bucket = f"jumpstart-cache-prod-{aws_region}"
training_data_prefix = "training-datasets/PennFudanPed_SemSeg/"
training_dataset_s3_path = f"s3://{training_data_bucket}/{training_data_prefix}"
training_job_name = name_from_base(f"jumpstart-example-{model_id}-transfer-learning")# Create SageMaker Estimator instance
semseg_estimator = Estimator(
    role=aws_role,
    image_uri=train_image_uri,
    source_dir=train_source_uri,
    model_uri=train_model_uri,
    entry_point="transfer_learning.py",
    instance_count=1,
    instance_type=training_instance_type,
    max_run=360000,
    hyperparameters=hyperparameters,
    output_path=s3_output_location,)# Launch a SageMaker Training job by passing s3 path of the training data
semseg_estimator.fit({"training": training_dataset_s3_path}, logs=True)

আমরা আমাদের নির্বাচিত মডেলের জন্য একই ডিফল্ট হাইপারপ্যারামিটারগুলি পাই যা আমরা পূর্ববর্তী বিভাগে দেখেছি, ব্যবহার করে sagemaker.hyperparameters.retrieve_default(). তারপরে আমরা একটি সেজমেকার অনুমানকারীকে ইনস্ট্যান্টিয়েট করি এবং কল করি .fit আমাদের প্রশিক্ষণের ডেটার জন্য এটিকে Amazon S3 URI পাস করে আমাদের মডেলকে ফাইন-টিউনিং শুরু করার পদ্ধতি। দ্য entry_point প্রদত্ত স্ক্রিপ্টের নাম transfer_learning.py (অন্যান্য কাজ এবং মডেলগুলির জন্য একই), এবং ইনপুট ডেটা চ্যানেল পাস করা হয়েছে .fit নাম দিতে হবে training.

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

উন্নত বৈশিষ্ট্য

ফাইন-টিউনিং এবং প্রাক-প্রশিক্ষিত মডেল স্থাপনের পাশাপাশি, জাম্পস্টার্ট অনেক উন্নত বৈশিষ্ট্য অফার করে।

প্রথমটি হল স্বয়ংক্রিয় মডেল টিউনিং। এটি আপনাকে SageMaker API এর মাধ্যমে প্রদত্ত সীমার মধ্যে সর্বোচ্চ নির্ভুলতার সাথে হাইপারপ্যারামিটার মানগুলি খুঁজে পেতে আপনার ML মডেলগুলিকে স্বয়ংক্রিয়ভাবে টিউন করতে দেয়৷

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

উপসংহার

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

জাম্পস্টার্ট সম্পর্কে আরও জানতে এবং আপনি কীভাবে ওপেন-সোর্স প্রাক-প্রশিক্ষিত মডেলগুলিকে অন্যান্য বিভিন্ন এমএল কাজের জন্য ব্যবহার করতে পারেন, নিম্নলিখিতগুলি দেখুন AWS re: উদ্ভাবন 2020 ভিডিও.


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

Amazon SageMaker JumpStart PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে ইমেজ সেগমেন্টেশন চালান। উল্লম্ব অনুসন্ধান. আ.বিবেক মদন ড অ্যামাজন সেজমেকার জাম্পস্টার্ট দলের একজন ফলিত বিজ্ঞানী। তিনি আরবানা-চ্যাম্পেইনের ইলিনয় বিশ্ববিদ্যালয় থেকে তার পিএইচডি পেয়েছিলেন এবং জর্জিয়া টেকের পোস্ট ডক্টরাল গবেষক ছিলেন। তিনি মেশিন লার্নিং এবং অ্যালগরিদম ডিজাইনের একজন সক্রিয় গবেষক এবং EMNLP, ICLR, COLT, FOCS এবং SODA কনফারেন্সে গবেষণাপত্র প্রকাশ করেছেন।

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

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

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

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

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

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

Amazon SageMaker Canvas Generative AI ব্যবহার করে কোম্পানির নথি থেকে অন্তর্দৃষ্টি বের করতে আপনার ব্যবসার ব্যবহারকারীদের ক্ষমতায়ন করুন | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1906631
সময় স্ট্যাম্প: অক্টোবর 26, 2023

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

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

Amazon SageMaker খরচ বিশ্লেষণ করুন এবং ব্যবহারের উপর ভিত্তি করে খরচ অপ্টিমাইজেশান সুযোগ নির্ধারণ করুন, পার্ট 3: প্রসেসিং এবং ডেটা র্যাংলার চাকরি | আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1843425
সময় স্ট্যাম্প: 30 পারে, 2023