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

Amazon SageMaker JumpStart এর সাথে ক্রমবর্ধমান প্রশিক্ষণ

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

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

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

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

জাম্পস্টার্ট হল একটি বহুমুখী পণ্য যা আপনাকে SageMaker-এ ML-এর সাথে দ্রুত শুরু করতে সাহায্য করার জন্য বিভিন্ন ক্ষমতা অন্তর্ভুক্ত করে। লেখার সময়, জাম্পস্টার্ট আপনাকে নিম্নলিখিতগুলি করতে সক্ষম করে:

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

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

ছবির শ্রেণীবিভাগ

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

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

input_directory |--roses |--abc.jpg |--def.jpg |--dandelion |--ghi.jpg |--jkl.jpg

ফোল্ডারের নাম, ক্লাস, এবং .jpg ফাইলের নাম যেকোনো কিছু হতে পারে।

আমরা সরবরাহ tf_flowers1 মডেলটিকে ফাইন-টিউন করার জন্য একটি ডিফল্ট ডেটাসেট হিসাবে ডেটাসেট। এই ডেটাসেটে পাঁচ ধরনের ফুলের ছবি রয়েছে। ডেটাসেট থেকে ডাউনলোড করা হয়েছে TensorFlow.

ওয়াকথ্রু ওভারভিউ

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

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

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

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

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

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

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

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

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

আপনি স্টুডিও কনসোলে সরাসরি আপনার প্রশিক্ষণের কাজ নিরীক্ষণ করতে পারেন এবং এটি সমাপ্ত হওয়ার পরে বিজ্ঞপ্তি দেওয়া হয়।

সূক্ষ্ম সুরযুক্ত মডেল স্থাপন করুন

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

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

অনুমান করার জন্য আপনার সময়কে ত্বরান্বিত করতে, জাম্পস্টার্ট একটি নমুনা নোটবুক সরবরাহ করে যা আপনাকে দেখায় কিভাবে আপনার সদ্য স্থাপন করা শেষ পয়েন্টে অনুমান চালাতে হয়। পছন্দ করা নোটবুক খুলুন অধীনে এন্ডপয়েন্ট ব্যবহার করুন স্টুডিও থেকে।

ক্রমবর্ধমানভাবে সূক্ষ্ম-সংযুক্ত মডেলকে প্রশিক্ষণ দিন এবং স্থাপন করুন

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

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

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

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

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

from sagemaker import image_uris, model_uris, script_uris model_id, model_version = "pytorch-ic-mobilenet-v2", "1.0.0"
training_instance_type = "ml.p3.2xlarge" # Retrieve the docker image
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 আমরা পূর্বে ব্যবহার করা একই মডেলের সাথে সংশ্লিষ্ট। শনাক্তকারীর ic চিত্রের শ্রেণীবিভাগের সাথে মিলে যায়।

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

# URI of your training dataset
training_dataset_s3_path = "s3://jumpstart-cache-prod-us-west-2/training-datasets/tf_flowers/"
training_job_name = name_from_base(f"jumpstart-example-{model_id}-transfer-learning") # Create SageMaker Estimator instance
ic_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
ic_estimator.fit({"training": training_dataset_s3_path}, logs=True)

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

ফাইন-টিউনড মডেল স্থাপন করা হচ্ছে

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

# Retrieve the inference docker container uri
deploy_image_uri = image_uris.retrieve( region=None, framework=None, 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"
) endpoint_name = name_from_base(f"jumpstart-example-FT-{model_id}-") # Use the estimator from the previous step to deploy to a SageMaker endpoint
finetuned_predictor = ic_estimator.deploy( initial_instance_count=1, instance_type=inference_instance_type, entry_point="inference.py", image_uri=deploy_image_uri, source_dir=deploy_source_uri, endpoint_name=endpoint_name,
)

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

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

query_response = finetuned_predictor.predict( img, {"ContentType": "application/x-image", "Accept": "application/json;verbose"} )
model_predictions = json.loads(query_response)
predicted_label = model_predictions["predicted_label"]
display( HTML( f'<img src={image_filename} alt={image_filename} align="left" style="width: 250px;"/>' f"<figcaption>Predicted Label: {predicted_label}</figcaption>" )
)

ক্রমবর্ধমানভাবে সূক্ষ্ম-টিউন করা মডেলকে প্রশিক্ষণ দিন এবং পুনরায় স্থাপন করুন

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

last_trained_model_path = f"{s3_output_location}/{last_training_job_name}/output/model.tar.gz"
incremental_s3_output_location = f"s3://{output_bucket}/{incremental_output_prefix}/output"incremental_train_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=last_trained_model_path, entry_point="transfer_learning.py", instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=incremental_s3_output_location, base_job_name=incremental_training_job_name,
) incremental_train_estimator.fit({"training": training_dataset_s3_path}, logs=True)

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

উপসংহার

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

এই পোস্টে, আমরা আপনাকে দেখিয়েছি কীভাবে একটি প্রাক-প্রশিক্ষিত চিত্র শ্রেণিবিন্যাসের মডেলকে সূক্ষ্ম-টিউন এবং স্থাপন করা যায়। আমরা আরও দেখিয়েছি কিভাবে ক্রমবর্ধমানভাবে চিত্রের শ্রেণীবিভাগের জন্য একটি সূক্ষ্ম-টিউনড মডেলকে প্রশিক্ষণ দেওয়া যায়। জাম্পস্টার্ট দিয়ে, আপনি কোডের প্রয়োজন ছাড়াই এই প্রক্রিয়াটি সহজেই সম্পাদন করতে পারেন। আপনার নিজের সমাধান চেষ্টা করুন এবং মন্তব্যে এটি কিভাবে যায় আমাদের জানান। জাম্পস্টার্ট সম্পর্কে আরও জানতে, AWS re:Invent 2020 ভিডিওটি দেখুন Amazon SageMaker JumpStart এর সাথে মিনিটের মধ্যে ML দিয়ে শুরু করুন.

তথ্যসূত্র

  1. টেনসরফ্লো টিম, 2019

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

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

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

Amazon SageMaker JumpStart PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে ক্রমবর্ধমান প্রশিক্ষণ। উল্লম্ব অনুসন্ধান. আ.আশিস খেতান ড সঙ্গে একজন সিনিয়র ফলিত বিজ্ঞানী আমাজন সেজমেকার জাম্পস্টার্ট এবং Amazon SageMaker বিল্ট-ইন অ্যালগরিদম এবং মেশিন লার্নিং অ্যালগরিদম বিকাশে সহায়তা করে। তিনি মেশিন লার্নিং এবং পরিসংখ্যানগত অনুমানের একজন সক্রিয় গবেষক এবং NeurIPS, ICML, ICLR, JMLR, ACL, এবং EMNLP সম্মেলনে অনেক গবেষণাপত্র প্রকাশ করেছেন।

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

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

AWS AI পরিষেবা কার্ড উপস্থাপন করা হচ্ছে: স্বচ্ছতা বাড়াতে এবং দায়িত্বশীল এআইকে এগিয়ে নেওয়ার জন্য একটি নতুন সংস্থান

উত্স নোড: 1766345
সময় স্ট্যাম্প: নভেম্বর 30, 2022