খুচরা, ব্যাঙ্কিং, ফিনান্স, স্বাস্থ্যসেবা, উৎপাদন এবং ঋণদানের মতো শিল্প জুড়ে সংস্থাগুলিকে প্রায়শই সংবাদ, ব্লগ, পণ্য পর্যালোচনা, গ্রাহক সহায়তা চ্যানেল এবং সোশ্যাল মিডিয়ার মতো বিভিন্ন উত্স থেকে প্রচুর পরিমাণে অসংগঠিত পাঠ্য নথির মোকাবিলা করতে হয়। এই নথিগুলিতে গুরুত্বপূর্ণ তথ্য রয়েছে যা গুরুত্বপূর্ণ ব্যবসায়িক সিদ্ধান্ত নেওয়ার চাবিকাঠি। একটি প্রতিষ্ঠানের বৃদ্ধির সাথে সাথে এই নথিগুলি থেকে গুরুত্বপূর্ণ তথ্য বের করা একটি চ্যালেঞ্জ হয়ে দাঁড়ায়। প্রাকৃতিক ভাষা প্রক্রিয়াকরণ (NLP) এবং মেশিন লার্নিং (ML) কৌশলগুলির অগ্রগতির সাথে, আমরা এই পাঠ্য নথিগুলি থেকে দ্রুত এবং উচ্চ নির্ভুলতার সাথে মূল্যবান অন্তর্দৃষ্টি এবং সংযোগগুলি উন্মোচন করতে পারি, যার ফলে কোম্পানিগুলিকে সময়মতো মানসম্পন্ন ব্যবসায়িক সিদ্ধান্ত নিতে সহায়তা করে৷ সম্পূর্ণরূপে পরিচালিত NLP পরিষেবাগুলিও NLP গ্রহণকে ত্বরান্বিত করেছে। অ্যামাজন সমঝোতা একটি সম্পূর্ণরূপে পরিচালিত পরিষেবা যা আপনাকে কাস্টম এনএলপি মডেলগুলি তৈরি করতে সক্ষম করে যা আপনার প্রয়োজনীয়তার সাথে নির্দিষ্ট, কোনো এমএল দক্ষতার প্রয়োজন ছাড়াই৷
In this post, we demonstrate how to utilize state-of-the-art ML techniques to solve five different NLP tasks: document summarization, text classification, question answering, named entity recognition, and relationship extraction. For each of these NLP tasks, we demonstrate how to use আমাজন সেজমেকার নিম্নলিখিত কর্ম সম্পাদন করতে:
- একটি প্রাক-প্রশিক্ষিত মডেলের উপর অনুমান স্থাপন এবং চালান
- একটি নতুন কাস্টম ডেটাসেটে প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম-টিউন করুন
- আরও উন্নত সঙ্গে সূক্ষ্ম-টিউনিং কর্মক্ষমতা সেজমেকার স্বয়ংক্রিয় মডেল টিউনিং
- বিভিন্ন মূল্যায়ন মেট্রিক্স সহ হোল্ড-আউট পরীক্ষার ডেটাতে মডেলের কার্যকারিতা মূল্যায়ন করুন
যদিও আমরা এই পোস্টে পাঁচটি নির্দিষ্ট NLP টাস্ক কভার করেছি, আপনি এই সমাধানটিকে একটি টেমপ্লেট হিসাবে ব্যবহার করতে পারেন আপনার নিজস্ব ডেটাসেটের সাথে সূক্ষ্ম-টিউনিং প্রাক-প্রশিক্ষিত মডেলগুলিকে সাধারণীকরণ করতে এবং পরবর্তীতে সঠিকতা উন্নত করতে হাইপারপ্যারামিটার অপ্টিমাইজেশান চালাতে পারেন।
জাম্পস্টার্ট সমাধান টেমপ্লেট
আমাজন সেজমেকার জাম্পস্টার্ট অনেক সাধারণ ML ব্যবহারের ক্ষেত্রে এক-ক্লিক, এন্ড-টু-এন্ড সমাধান প্রদান করে। উপলব্ধ সমাধান টেমপ্লেট সম্পর্কে আরও তথ্যের জন্য নিম্নলিখিত ব্যবহারের ক্ষেত্রে অন্বেষণ করুন:
জাম্পস্টার্ট সলিউশন টেমপ্লেটগুলি বিভিন্ন ধরনের ব্যবহারের ক্ষেত্রে কভার করে, যার প্রত্যেকটির অধীনে বেশ কয়েকটি ভিন্ন সমাধান টেমপ্লেট দেওয়া হয় (এই ডকুমেন্ট বোঝার সমাধানটি "ডকুমেন্ট থেকে ডেটা এক্সট্র্যাক্ট এবং বিশ্লেষণ করুন" ব্যবহারের ক্ষেত্রে রয়েছে)।
জাম্পস্টার্ট ল্যান্ডিং পৃষ্ঠা থেকে আপনার ব্যবহারের ক্ষেত্রে সবচেয়ে উপযুক্ত সমাধান টেমপ্লেটটি বেছে নিন। প্রতিটি ব্যবহারের ক্ষেত্রে নির্দিষ্ট সমাধান সম্পর্কে আরও তথ্যের জন্য এবং কীভাবে একটি জাম্পস্টার্ট সমাধান চালু করতে হয়, দেখুন সমাধান টেমপ্লেট.
সমাধান ওভারভিউ
নিম্নলিখিত চিত্রটি দেখায় যে আপনি কীভাবে সেজমেকার উপাদানগুলির সাথে এই সমাধানটি ব্যবহার করতে পারেন। সেজমেকার প্রশিক্ষণের কাজগুলি বিভিন্ন এনএলপি মডেলকে প্রশিক্ষণের জন্য ব্যবহার করা হয়, এবং সেজমেকার এন্ডপয়েন্টগুলি প্রতিটি পর্যায়ে মডেলগুলি স্থাপন করতে ব্যবহৃত হয়। আমরা ব্যাবহার করি আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3) SageMaker-এর পাশাপাশি প্রশিক্ষণের ডেটা এবং মডেল আর্টিফ্যাক্ট সংরক্ষণ করতে, এবং অ্যামাজন ক্লাউডওয়াচ প্রশিক্ষণ এবং শেষ পয়েন্ট আউটপুট লগ করতে.
ডকুমেন্ট বোঝার সমাধান খুলুন
জাম্পস্টার্টে ডকুমেন্ট বোঝার সমাধানে নেভিগেট করুন।
এখন আমরা ডেমো নোটবুক থেকে শুরু করে এই সলিউশনে অন্তর্ভুক্ত কিছু সম্পদের উপর ঘনিষ্ঠভাবে নজর দিতে পারি।
ডেমো নোটবুক
নথির সারসংক্ষেপ এবং প্রশ্নের উত্তর দেওয়ার কাজগুলির জন্য ইতিমধ্যেই মোতায়েন করা মডেলের শেষ পয়েন্টগুলিতে উদাহরণ ডেটা পাঠাতে আপনি ডেমো নোটবুক ব্যবহার করতে পারেন। ডেমো নোটবুকটি আপনাকে উদাহরণের ডেটা জিজ্ঞাসা করে দ্রুত অভিজ্ঞতা পেতে দেয়।
আপনি ডকুমেন্ট আন্ডারস্ট্যান্ডিং সমাধান চালু করার পরে, নির্বাচন করে ডেমো নোটবুকটি খুলুন নোটবুকে এন্ডপয়েন্ট ব্যবহার করুন.
আসুন এই সমাধানের জন্য পাঁচটি প্রধান নোটবুকের প্রতিটিতে গভীরভাবে ডুব দেওয়া যাক।
পূর্বশর্ত
In অ্যামাজন সেজমেকার স্টুডিও, ensure you’re using the PyTorch 1.10 Python 3.8 CPU Optimized
নোটবুক খুলতে image/kernel. প্রশিক্ষণ পাঁচটি ml.g4dn.2x বৃহৎ দৃষ্টান্ত ব্যবহার করে, তাই আপনার উচিৎ a বাড়াতে হবে পরিষেবা সীমা বৃদ্ধির অনুরোধ যদি আপনার অ্যাকাউন্টের এই ধরনের জন্য বর্ধিত সীমা প্রয়োজন হয়।
পাঠ্য শ্রেণিবিন্যাস
পাঠ্য শ্রেণিবিন্যাস বলতে প্রশিক্ষণ ডেটাসেটের ক্লাস লেবেলের একটিতে একটি ইনপুট বাক্যকে শ্রেণিবদ্ধ করা বোঝায়। এই নোটবুকটি কীভাবে ব্যবহার করতে হয় তা প্রদর্শন করে জাম্পস্টার্ট API পাঠ্য শ্রেণীবিভাগের জন্য।
প্রাক-প্রশিক্ষিত মডেলে অনুমান স্থাপন এবং চালান
টেক্সট ক্লাসিফিকেশন মডেল যেটি আমরা ব্যবহার করার জন্য বেছে নিয়েছি তা একটি টেক্সট এম্বেডিংয়ের উপর নির্মিত (tensorflow-tc-bert-en-uncased-L-12-H-768-A-12-2
) থেকে মডেল টেনসরফ্লো হাব, যা উইকিপিডিয়া এবং বুককর্পাস ডেটাসেটে প্রাক-প্রশিক্ষিত।
স্থাপনার জন্য উপলব্ধ মডেলটি পাঠ্য এমবেডিং মডেলের আউটপুটে একটি বাইনারি শ্রেণিবিন্যাস স্তর সংযুক্ত করে এবং তারপরে সম্পূর্ণ মডেলটিকে সূক্ষ্ম-টিউনিং করে তৈরি করা হয়। SST-2 ডেটাসেট, যা ইতিবাচক এবং নেতিবাচক মুভি রিভিউ নিয়ে গঠিত।
এই মডেলে অনুমান চালানোর জন্য, আমাদের প্রথমে অনুমান কন্টেইনার ডাউনলোড করতে হবে (deploy_image_uri
), অনুমান লিপি (deploy_source_uri
), এবং প্রাক-প্রশিক্ষিত মডেল (base_model_uri
) তারপরে আমরা সেজমেকার মডেল অবজেক্টকে ইনস্ট্যান্ট করার জন্য প্যারামিটার হিসাবে পাস করি, যা আমরা তারপর স্থাপন করতে পারি:
নিম্নলিখিত কোড আমাদের প্রতিক্রিয়া দেখায়:
একটি কাস্টম ডেটাসেটে প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন
আমরা এইমাত্র একটি প্রাক-প্রশিক্ষিত BERT মডেলের অনুমানের মধ্য দিয়ে হেঁটেছি, যা SST-2
ডেটাসেট
এর পরে, আমরা আলোচনা করি যে কোন সংখ্যক ক্লাস সহ একটি কাস্টম ডেটাসেটে একটি মডেলকে কীভাবে সূক্ষ্ম-টিউন করা যায়। আমরা ফাইন-টিউনিংয়ের জন্য যে ডেটাসেটটি ব্যবহার করি তা এখনও রয়েছে SST-2
ডেটাসেট আপনি এই ডেটাসেটটিকে আপনার আগ্রহের যেকোনো ডেটাসেট দিয়ে প্রতিস্থাপন করতে পারেন৷
We retrieve the training Docker container, training algorithm source, and pre-trained model:
অ্যালগরিদম-নির্দিষ্ট হাইপারপ্যারামিটারের জন্য, আমরা প্রশিক্ষণ হাইপারপ্যারামিটারগুলির একটি পাইথন অভিধান নিয়ে শুরু করি যা অ্যালগরিদম তাদের ডিফল্ট মান সহ গ্রহণ করে। আপনি তাদের কাস্টম মান দিয়ে ওভাররাইড করতে পারেন, যেমনটি নিম্নলিখিত কোডে দেখানো হয়েছে:
ডেটাসেট (SST-2
) is split into training, validation, and test sets, where the training set is used to fit the model, the validation set is used to compute evaluation metrics that can be used for HPO, and the test set is used as hold-out data for evaluating model performance. Next, the train and validation dataset are uploaded to Amazon S3 and used to launch the fine-tuning training job:
ফাইন-টিউনিং কাজ সম্পূর্ণ হওয়ার পরে, আমরা মডেল স্থাপন করি, হোল্ড-আউট টেস্ট ডেটাসেটে অনুমান চালাই এবং মূল্যায়ন মেট্রিক্স গণনা করি। কারণ এটি একটি বাইনারি শ্রেণীবিভাগের কাজ, আমরা ব্যবহার করি নির্ভুলতা স্কোর এবং F1 স্কোর মূল্যায়ন মেট্রিক্স হিসাবে. একটি বড় মান আরও ভাল কর্মক্ষমতা নির্দেশ করে। নিম্নলিখিত স্ক্রিনশট আমাদের ফলাফল দেখায়.
SageMaker স্বয়ংক্রিয় মডেল টিউনিংয়ের সাথে সূক্ষ্ম-টিউনিং কর্মক্ষমতা আরও উন্নত করুন
এই ধাপে, আমরা দেখাই কিভাবে আপনি SageMaker স্বয়ংক্রিয় মডেল টিউনিংয়ের মাধ্যমে মডেলটিকে ফাইন-টিউনিং করে মডেলের কার্যক্ষমতা আরও উন্নত করতে পারেন। স্বয়ংক্রিয় মডেল টিউনিং, যা হাইপারপ্যারামিটার অপ্টিমাইজেশান (HPO) নামেও পরিচিত, আপনার নির্দিষ্ট করা হাইপারপ্যারামিটারের একটি পরিসর সহ আপনার ডেটাসেটে একাধিক প্রশিক্ষণের কাজ চালানোর মাধ্যমে একটি মডেলের সেরা সংস্করণ খুঁজে পায়। তারপরে এটি হাইপারপ্যারামিটার মানগুলি বেছে নেয় যার ফলস্বরূপ একটি মডেল যা সর্বোত্তম কার্য সম্পাদন করে, যেমনটি আপনার চয়ন করা একটি মেট্রিক দ্বারা পরিমাপ করা হয়, যা বৈধকরণ ডেটাসেটে।
প্রথমত, আমরা উদ্দেশ্যটিকে বৈধতা ডেটার নির্ভুলতা স্কোর হিসাবে সেট করি (val_accuracy
) এবং উদ্দেশ্য মেট্রিক নাম এবং একটি রেগুলার এক্সপ্রেশন (রেজেক্স) উল্লেখ করে টিউনিং কাজের জন্য সংজ্ঞায়িত মেট্রিক্স। রেগুলার এক্সপ্রেশনটি অ্যালগরিদমের লগ আউটপুটের সাথে মেলে এবং মেট্রিক্সের সাংখ্যিক মান ক্যাপচার করতে ব্যবহৃত হয়। এরপরে, সেরা হাইপারপ্যারামিটার মান নির্বাচন করতে আমরা হাইপারপ্যারামিটার রেঞ্জ নির্দিষ্ট করি। আমরা মোট টিউনিং কাজের সংখ্যা ছয় হিসাবে সেট করেছি এবং এই কাজগুলিকে তিনটি আলাদাভাবে বিতরণ করি অ্যামাজন ইলাস্টিক কম্পিউট ক্লাউড (Amazon EC2) সমান্তরাল টিউনিং কাজ চালানোর জন্য উদাহরণ। নিম্নলিখিত কোড দেখুন:
আমরা পূর্ববর্তী ফাইন-টিউনিং ধাপে যা করেছি তার অনুরূপ একটি সেজমেকার এস্টিমেটর অবজেক্ট ইনস্ট্যান্টিয়েট করতে আমরা সেই মানগুলি পাস করি। কল করার পরিবর্তে fit
এর ফাংশন Estimator
বস্তু, আমরা পাস Estimator
একটি পরামিতি হিসাবে অবজেক্ট হাইপারপ্যারামিটার টিউনার কনস্ট্রাক্টর এবং কল করুন fit
টিউনিং কাজ চালু করার জন্য এর কাজ:
টিউনিং কাজগুলি সম্পূর্ণ হওয়ার পরে, আমরা মডেল স্থাপন করি যা যাচাইকরণ ডেটাসেটে সেরা মূল্যায়ন মেট্রিক স্কোর দেয়, একই হোল্ড-আউট টেস্ট ডেটাসেটের অনুমান সঞ্চালন করি যা আমরা পূর্ববর্তী বিভাগে করেছি এবং মূল্যায়ন মেট্রিক্স গণনা করি।
ফলাফলগুলি দেখায় যে স্বয়ংক্রিয় মডেল টিউনিং দ্বারা নির্বাচিত মডেলটি একটি হোল্ড-আউট টেস্ট ডেটাসেটে পূর্ববর্তী বিভাগে সূক্ষ্মভাবে করা মডেলটিকে উল্লেখযোগ্যভাবে ছাড়িয়ে যায়৷
নামকৃত সত্তার স্বীকৃতি
নামকৃত সত্তা স্বীকৃতি (NER) হল নামকৃত সত্তাকে পূর্বনির্ধারিত শ্রেণীতে সনাক্তকরণ এবং শ্রেণীবদ্ধ করার প্রক্রিয়া, যেমন ব্যক্তি, সংস্থা, অবস্থান এবং পরিমাণের নাম। NER-এর জন্য অনেক বাস্তব-বিশ্ব ব্যবহারের ক্ষেত্রে রয়েছে, যেমন সুপারিশ ইঞ্জিন, শ্রেণীকরণ এবং সঠিক বিভাগে গ্রাহক সহায়তা টিকিট বরাদ্দ করা, স্বাস্থ্যসেবায় রোগীর রিপোর্ট থেকে প্রয়োজনীয় তথ্য বের করা, এবং সংবাদ এবং ব্লগ থেকে বিষয়বস্তু শ্রেণীবিভাগ।
প্রাক-প্রশিক্ষিত মডেলে অনুমান স্থাপন এবং চালান
আমরা স্থাপন En_core_web_md থেকে মডেল spaCy library. spaCy is an open-source NLP library that can be used for various tasks, and has built-in methods for NER. We use an AWS PyTorch Deep Learning Container (DLC) with a script mode and install the spaCy library as a dependency on top of the container.
Next, an entry point for the script (argument entry_point.py
) উল্লেখ করা হয়েছে, ডাউনলোড এবং লোড করার জন্য সমস্ত কোড রয়েছে En_core_web_md
এন্ডপয়েন্টে পাঠানো ডেটার মডেল এবং অনুমান সঞ্চালন। অবশেষে, আমরা এখনও প্রদান করতে হবে model_data
অনুমানের জন্য প্রাক-প্রশিক্ষিত মডেল হিসাবে। কারণ প্রি-ট্রেনড En_core_web_md
মডেলটি ফ্লাইতে ডাউনলোড করা হয়, যা এন্ট্রি স্ক্রিপ্টে নির্দিষ্ট করা হয়, আমরা একটি খালি সংরক্ষণাগার ফাইল সরবরাহ করি। এন্ডপয়েন্ট স্থাপন করার পর, আপনি সেজমেকার পাইথন এসডিকে ব্যবহার করে নোটবুক থেকে সরাসরি এন্ডপয়েন্টটি আনতে পারেন Predictor
। নিম্নলিখিত কোডটি দেখুন:
মডেলের জন্য ইনপুট ডেটা একটি পাঠ্য নথি। নামযুক্ত সত্তা মডেল পাঠ্য নথিতে বিশেষ্য অংশ এবং নামযুক্ত সত্তাগুলিকে বের করে এবং তাদের বিভিন্ন ধরণের (যেমন মানুষ, স্থান এবং সংস্থা) মধ্যে শ্রেণীবদ্ধ করে। উদাহরণ ইনপুট এবং আউটপুট নিম্নলিখিত কোড দেখানো হয়. দ্য start_char
প্যারামিটার স্প্যান শুরুর জন্য অফসেট অক্ষর নির্দেশ করে, এবং end_char
indicates the end of the span.
একটি কাস্টম ডেটাসেটে প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন
এই ধাপে, আমরা আপনার নিজের ডেটাসেটে NER-এর জন্য একটি প্রাক-প্রশিক্ষিত ভাষার মডেলগুলিকে কীভাবে সূক্ষ্ম-টিউন করতে হয় তা প্রদর্শন করি। ফাইন-টিউনিং ধাপটি আপনার নিজস্ব ডেটার বৈশিষ্ট্য ক্যাপচার করতে এবং নির্ভুলতা উন্নত করতে মডেল প্যারামিটার আপডেট করে। আমরা ব্যবহার করি উইকিএএনএন (PAN-X) ডেটাসেটটি সূক্ষ্ম-টিউন করতে DistilBERT-বেস-আনকেসড আলিঙ্গন মুখ থেকে ট্রান্সফরমার মডেল.
The dataset is split into training, validation, and test sets.
এর পরে, আমরা মডেলের হাইপারপ্যারামিটারগুলি নির্দিষ্ট করি এবং একটি স্ক্রিপ্ট মোডের সাথে একটি AWS হাগিং ফেস DLC ব্যবহার করি (আর্গুমেন্ট entry_point
) ফাইন-টিউনিং কাজ ট্রিগার করতে:
ফাইন-টিউনিং কাজটি সম্পূর্ণ হওয়ার পরে, আমরা একটি এন্ডপয়েন্ট স্থাপন করি এবং হোল্ড-আউট পরীক্ষার ডেটা সহ সমাপ্তি বিন্দুতে অনুসন্ধান করি। এন্ডপয়েন্ট জিজ্ঞাসা করার জন্য, প্রতিটি টেক্সট স্ট্রিংকে এক বা একাধিক টোকেনে টোকেনাইজ করতে হবে এবং ট্রান্সফরমার মডেলে পাঠাতে হবে। প্রতিটি টোকেন একটি পূর্বাভাসিত নামযুক্ত সত্তা ট্যাগ পায়। যেহেতু প্রতিটি টেক্সট স্ট্রিংকে এক বা একাধিক টোকেনে টোকেনাইজ করা যেতে পারে, তাই আমাদের স্ট্রিংয়ের গ্রাউন্ড ট্রুথ নামের সত্তা ট্যাগটিকে এর সাথে যুক্ত সমস্ত টোকেনে ডুপ্লিকেট করতে হবে। প্রদত্ত নোটবুকটি আপনাকে এটি অর্জনের পদক্ষেপের মাধ্যমে নিয়ে যায়।
সবশেষে, আমরা Hugging Face বিল্ট-ইন মূল্যায়ন মেট্রিক্স ব্যবহার করি seqeval হোল্ড-আউট পরীক্ষার ডেটাতে মূল্যায়ন স্কোর গণনা করতে। ব্যবহৃত মূল্যায়ন মেট্রিক্স হল সামগ্রিক নির্ভুলতা, সামগ্রিক স্মরণ, সামগ্রিক F1 এবং নির্ভুলতা। নিম্নলিখিত স্ক্রিনশট আমাদের ফলাফল দেখায়.
SageMaker স্বয়ংক্রিয় মডেল টিউনিংয়ের সাথে সূক্ষ্ম-টিউনিং কর্মক্ষমতা আরও উন্নত করুন
টেক্সট শ্রেণীবিভাগের অনুরূপ, আমরা প্রদর্শন করি কিভাবে আপনি SageMaker স্বয়ংক্রিয় মডেল টিউনিংয়ের মাধ্যমে মডেলটিকে সূক্ষ্ম-টিউনিং করে মডেলের কার্যকারিতা আরও উন্নত করতে পারেন। টিউনিং কাজ চালানোর জন্য, আমাদের একটি উদ্দেশ্যমূলক মেট্রিক সংজ্ঞায়িত করতে হবে যা আমরা বৈধকরণ ডেটাসেটে মডেলের কার্যকারিতা মূল্যায়নের জন্য ব্যবহার করতে চাই (এই ক্ষেত্রে F1 স্কোর), হাইপারপ্যারামিটার রেঞ্জগুলি থেকে সেরা হাইপারপ্যারামিটার মান নির্বাচন করতে, সেইসাথে টিউনিং কাজের কনফিগারেশন যেমন সর্বোচ্চ সংখ্যক টিউনিং কাজের এবং সমান্তরাল কাজের সংখ্যা একবারে চালু করার জন্য:
টিউনিং কাজগুলি সম্পূর্ণ হওয়ার পরে, আমরা মডেল স্থাপন করি যা যাচাইকরণ ডেটাসেটে সেরা মূল্যায়ন মেট্রিক স্কোর দেয়, একই হোল্ড-আউট টেস্ট ডেটাসেটের অনুমান সঞ্চালন করি যা আমরা পূর্ববর্তী বিভাগে করেছি এবং মূল্যায়ন মেট্রিক্স গণনা করি।
We can see that the model with HPO achieves significantly better performance across all metrics.
প্রশ্নের উত্তর
Question answering is useful when you want to query a large amount of text for specific information. It allows a user to express a question in natural language and get an immediate and brief response. Question answering systems powered by NLP can be used in search engines and phone conversational interfaces.
প্রাক-প্রশিক্ষিত মডেলে অনুমান স্থাপন এবং চালান
আমাদের প্রাক-প্রশিক্ষিত মডেল হল এক্সট্রাক্টিভ প্রশ্ন উত্তর (EQA) মডেল bert-বৃহৎ-আনকেস-পুরো-শব্দ-মাস্কিং-সূক্ষ্ম-দল আলিঙ্গন মুখ থেকে একটি ট্রান্সফরমার মডেল নির্মিত. আমরা একটি স্ক্রিপ্ট মোড সহ একটি AWS PyTorch DLC ব্যবহার করি এবং ইনস্টল করি ট্রান্সফরমার কন্টেইনারের উপরে নির্ভরতা হিসাবে লাইব্রেরি। NER টাস্কের মতো, আমরা আর্গুমেন্টে একটি খালি আর্কাইভ ফাইল প্রদান করি model_data
কারণ প্রাক-প্রশিক্ষিত মডেল ফ্লাইতে ডাউনলোড করা হয়। এন্ডপয়েন্ট স্থাপন করার পর, আপনি সেজমেকার পাইথন এসডিকে ব্যবহার করে নোটবুক থেকে সরাসরি এন্ডপয়েন্টটি আনতে পারেন Predictor
। নিম্নলিখিত কোডটি দেখুন:
আমাদের যা করতে হবে তা হল দুটি কী দিয়ে একটি অভিধান অবজেক্ট তৈরি করা। context
পাঠ্য যা থেকে আমরা তথ্য পুনরুদ্ধার করতে চাই। question
প্রাকৃতিক ভাষার প্রশ্ন যা নির্দিষ্ট করে যে আমরা কোন তথ্য বের করতে আগ্রহী। আমরা কল predict
আমাদের ভবিষ্যদ্বাণীকারীতে, এবং আমাদের শেষ পয়েন্ট থেকে একটি প্রতিক্রিয়া পাওয়া উচিত যাতে সম্ভাব্য উত্তরগুলি রয়েছে:
আমাদের কাছে প্রতিক্রিয়া আছে, এবং আমরা সম্ভাব্য উত্তরগুলি প্রিন্ট করতে পারি যা পূর্ববর্তী পাঠ্য থেকে বের করা হয়েছে। প্রতিটি উত্তরে র্যাঙ্কিংয়ের জন্য ব্যবহৃত একটি আত্মবিশ্বাসের স্কোর রয়েছে (কিন্তু এই স্কোরটিকে সত্যিকারের সম্ভাব্যতা হিসাবে ব্যাখ্যা করা উচিত নয়)। মৌখিক উত্তর ছাড়াও, আপনি মূল প্রসঙ্গ থেকে উত্তরের শুরু এবং শেষ অক্ষর সূচীও পাবেন:
এখন আমরা আরও ভালো ফলাফল পেতে আমাদের নিজস্ব কাস্টম ডেটাসেটের সাথে এই মডেলটিকে ফাইন-টিউন করি।
একটি কাস্টম ডেটাসেটে প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন
এই ধাপে, আমরা প্রদর্শন করি কিভাবে আপনার নিজস্ব ডেটাসেটে EQA-এর জন্য একটি প্রাক-প্রশিক্ষিত ভাষার মডেলগুলিকে সূক্ষ্ম-টিউন করা যায়। ফাইন-টিউনিং ধাপটি আপনার নিজস্ব ডেটার বৈশিষ্ট্য ক্যাপচার করতে এবং নির্ভুলতা উন্নত করতে মডেল প্যারামিটার আপডেট করে। আমরা ব্যবহার করি SQuAD2.0 একটি টেক্সট এমবেডিং মডেল ফাইন-টিউন করার জন্য ডেটাসেট bert-base-uncased আলিঙ্গন মুখ থেকে. ফাইন-টিউনিংয়ের জন্য উপলব্ধ মডেলটি পাঠ্য এমবেডিং মডেলের সাথে একটি উত্তর নিষ্কাশনকারী স্তর সংযুক্ত করে এবং স্তর পরামিতিগুলিকে এলোমেলো মানগুলিতে শুরু করে। ফাইন-টিউনিং ধাপটি ইনপুট ডেটাতে ভবিষ্যদ্বাণী ত্রুটি কমাতে মডেলের সমস্ত প্যারামিটারকে সূক্ষ্ম-টিউন করে এবং সূক্ষ্ম-টিউন করা মডেলটি ফেরত দেয়।
টেক্সট ক্লাসিফিকেশন টাস্কের মতো, ডেটাসেট (SQuAD2.0) প্রশিক্ষণ, বৈধতা এবং পরীক্ষা সেটে বিভক্ত।
এর পরে, আমরা মডেলের হাইপারপ্যারামিটারগুলি নির্দিষ্ট করি এবং ব্যবহার করি জাম্পস্টার্ট API একটি সূক্ষ্ম টিউনিং কাজ ট্রিগার করতে:
ফাইন-টিউনিং কাজ সম্পূর্ণ হওয়ার পরে, আমরা মডেল স্থাপন করি, হোল্ড-আউট টেস্ট ডেটাসেটে অনুমান চালাই এবং মূল্যায়ন মেট্রিক্স গণনা করি। ব্যবহৃত মূল্যায়ন মেট্রিক্স হল গড় সঠিক মিল স্কোর এবং গড় F1 স্কোর। নিম্নলিখিত স্ক্রিনশট ফলাফল দেখায়.
SageMaker স্বয়ংক্রিয় মডেল টিউনিংয়ের সাথে সূক্ষ্ম-টিউনিং কর্মক্ষমতা আরও উন্নত করুন
Similar to the previous sections, we use a HyperparameterTuner
টিউনিং কাজ চালু করতে অবজেক্ট:
টিউনিং কাজগুলি সম্পূর্ণ হওয়ার পরে, আমরা মডেল স্থাপন করি যা যাচাইকরণ ডেটাসেটে সেরা মূল্যায়ন মেট্রিক স্কোর দেয়, একই হোল্ড-আউট টেস্ট ডেটাসেটের অনুমান সঞ্চালন করি যা আমরা পূর্ববর্তী বিভাগে করেছি এবং মূল্যায়ন মেট্রিক্স গণনা করি।
We can see that the model with HPO shows a significantly better performance on the hold-out test data.
সম্পর্ক নিষ্কাশন
রিলেশনশিপ এক্সট্রাকশন হল টেক্সট থেকে শব্দার্থিক সম্পর্ক বের করার কাজ, যা সাধারণত দুই বা ততোধিক সত্তার মধ্যে ঘটে। সম্পর্ক নিষ্কাশন একটি গুরুত্বপূর্ণ ভূমিকা পালন করে অসংগঠিত উত্স থেকে কাঠামোগত তথ্য যেমন কাঁচা পাঠ্য থেকে আহরণে। এই নোটবুকে, আমরা সম্পর্ক নিষ্কাশনের দুটি ব্যবহারের ক্ষেত্রে প্রদর্শন করি।
একটি কাস্টম ডেটাসেটে প্রাক-প্রশিক্ষিত মডেলটি সূক্ষ্ম সুর করুন
আমরা একটি সম্পর্কে নির্মিত একটি সম্পর্ক নিষ্কাশন মডেল ব্যবহার BERT-বেস-আনকেসড থেকে ট্রান্সফরমার ব্যবহার করে মডেল আলিঙ্গন মুখ ট্রান্সফরমার লাইব্রেরি ফাইন-টিউনিংয়ের জন্য মডেলটি একটি রৈখিক শ্রেণিবিন্যাস স্তর সংযুক্ত করে যা পাঠ্য এমবেডিং মডেল দ্বারা আউটপুট করা এক জোড়া টোকেন এম্বেডিং নেয় এবং স্তরের পরামিতিগুলিকে এলোমেলো মানগুলিতে শুরু করে। ফাইন-টিউনিং ধাপটি ইনপুট ডেটাতে ভবিষ্যদ্বাণী ত্রুটি কমাতে মডেলের সমস্ত প্যারামিটারকে সূক্ষ্ম-টিউন করে এবং সূক্ষ্ম-টিউন করা মডেলটি ফেরত দেয়।
আমরা যে ডেটাসেটটি মডেলটি সূক্ষ্ম-টিউন করি তা হল SemEval-2010 টাস্ক 8. ফাইন-টিউনিং দ্বারা প্রত্যাবর্তিত মডেলটি অনুমানের জন্য আরও স্থাপন করা যেতে পারে।
ডেটাসেটে প্রশিক্ষণ, বৈধতা এবং পরীক্ষার সেট রয়েছে।
আমরা SageMaker Python SDK থেকে একটি স্ক্রিপ্ট মোড সহ AWS PyTorch DLC ব্যবহার করি, যেখানে transformers
লাইব্রেরি ধারক উপরে নির্ভরতা হিসাবে ইনস্টল করা হয়. আমরা সেজমেকারকে সংজ্ঞায়িত করি PyTorch
প্রাক-প্রশিক্ষিত মডেল, শেখার হার, এবং সূক্ষ্ম টিউনিং সম্পাদনের জন্য যুগের সংখ্যার মতো অনুমানকারী এবং হাইপারপ্যারামিটারের একটি সেট। সম্পর্ক নিষ্কাশন মডেল ফাইন-টিউনিং জন্য কোড সংজ্ঞায়িত করা হয়েছে entry_point.py
। নিম্নলিখিত কোডটি দেখুন:
SageMaker স্বয়ংক্রিয় মডেল টিউনিংয়ের সাথে সূক্ষ্ম-টিউনিং কর্মক্ষমতা আরও উন্নত করুন
Similar to the previous sections, we use a HyperparameterTuner
সেজমেকার হাইপারপ্যারামিটার টিউনিং API-এর সাথে ইন্টারঅ্যাক্ট করার জন্য অবজেক্ট। আমরা কল করে হাইপারপ্যারামিটার টিউনিং কাজ শুরু করতে পারি fit
পদ্ধতি:
হাইপারপ্যারামিটার টিউনিং কাজ সম্পূর্ণ হলে, আমরা অনুমান সম্পাদন করি এবং মূল্যায়ন স্কোর পরীক্ষা করি।
আমরা দেখতে পাচ্ছি যে HPO সহ মডেলটি হোল্ড-আউট পরীক্ষার ডেটাতে আরও ভাল পারফরম্যান্স দেখায়।
নথির সারসংক্ষেপ
নথি বা টেক্সট সংক্ষিপ্তকরণ হল মূল বিষয়বস্তুর মধ্যে সবচেয়ে গুরুত্বপূর্ণ বা প্রাসঙ্গিক তথ্য উপস্থাপন করে অর্থপূর্ণ বাক্যগুলির একটি ছোট উপসেটে প্রচুর পরিমাণে পাঠ্য ডেটা ঘনীভূত করার কাজ। নথির সংক্ষিপ্তকরণ হল একটি দরকারী কৌশল যাতে বৃহৎ পরিমাণের পাঠ্য ডেটা থেকে কয়েকটি বাক্যে গুরুত্বপূর্ণ তথ্য পাতন করা যায়। টেক্সট সংক্ষিপ্তকরণ অনেক ব্যবহারের ক্ষেত্রে ব্যবহৃত হয়, যেমন ডকুমেন্ট প্রসেসিং এবং ব্লগ, নিবন্ধ এবং সংবাদ থেকে তথ্য বের করা।
This notebook demonstrates deploying the document summarization model T5-বেস থেকে আলিঙ্গন মুখ ট্রান্সফরমার লাইব্রেরি আমরা একটি পাঠ্য নিবন্ধ ব্যবহার করে নিয়োজিত শেষ পয়েন্টগুলি পরীক্ষা করি এবং আলিঙ্গন মুখ বিল্ট-ইন মূল্যায়ন মেট্রিক ব্যবহার করে ফলাফল মূল্যায়ন করি লাল.
প্রশ্নের উত্তর এবং NER নোটবুকের অনুরূপ, আমরা ব্যবহার করি PyTorchModel
SageMaker Python SDK থেকে একটি সহ entry_point.py
একটি HTTPS এন্ডপয়েন্টে T5-বেস মডেল লোড করার জন্য স্ক্রিপ্ট। এন্ডপয়েন্ট সফলভাবে মোতায়েন হওয়ার পর, আমরা একটি ভবিষ্যদ্বাণী প্রতিক্রিয়া পেতে এন্ডপয়েন্টে একটি পাঠ্য নিবন্ধ পাঠাতে পারি:
এর পরে, আমরা ROUGE মেট্রিক ব্যবহার করে পাঠ্য নিবন্ধ এবং সারসংক্ষেপ ফলাফলের মূল্যায়ন ও তুলনা করি। তিনটি মূল্যায়ন মেট্রিক গণনা করা হয়: rougeN
, rougeL
, এবং rougeLsum
. rougeN
মিলের সংখ্যা পরিমাপ করে n-grams
মডেল-উত্পাদিত পাঠ্যের মধ্যে (সারাংশ ফলাফল) এবং ক reference
(ইনপুট টেক্সট)। মেট্রিক্স rougeL
এবং rougeLsum
উত্পন্ন এবং রেফারেন্স সারাংশে দীর্ঘতম সাধারণ সাবস্ট্রিংগুলি সন্ধান করে শব্দগুলির দীর্ঘতম মিলিত ক্রমগুলি পরিমাপ করুন৷ প্রতিটি মেট্রিকের জন্য, নির্ভুলতা, প্রত্যাহার এবং F1 স্কোরের জন্য আত্মবিশ্বাসের ব্যবধান গণনা করা হয়। নিম্নলিখিত কোডটি দেখুন:
পরিষ্কার কর
এই সমাধানের জন্য তৈরি সংস্থানগুলি ব্যবহার করে মুছে ফেলা যেতে পারে সমস্ত সংস্থান মুছুন সেজমেকার স্টুডিও আইডিই থেকে বোতাম। প্রতিটি নোটবুক শেষ পয়েন্টগুলি মুছে ফেলার জন্য কোড সহ একটি ক্লিন-আপ বিভাগ সরবরাহ করে।
উপসংহার
In this post, we demonstrated how to utilize state-of-the-art ML techniques to solve five different NLP tasks: document summarization, text classification, question and answering, named entity recognition, and relationship extraction using Jumpstart. এখনই জাম্পস্টার্ট দিয়ে শুরু করুন!
লেখক সম্পর্কে
ডঃ জিন হুয়াং Amazon SageMaker JumpStart এবং Amazon SageMaker বিল্ট-ইন অ্যালগরিদমের জন্য একজন ফলিত বিজ্ঞানী। তিনি স্কেলেবল মেশিন লার্নিং অ্যালগরিদম বিকাশের দিকে মনোনিবেশ করেন। তার গবেষণার আগ্রহগুলি প্রাকৃতিক ভাষা প্রক্রিয়াকরণ, ট্যাবুলার ডেটার উপর ব্যাখ্যাযোগ্য গভীর শিক্ষা এবং নন-প্যারামেট্রিক স্পেস-টাইম ক্লাস্টারিংয়ের শক্তিশালী বিশ্লেষণের ক্ষেত্রে। তিনি ACL, ICDM, KDD কনফারেন্স এবং রয়্যাল স্ট্যাটিস্টিক্যাল সোসাইটি: সিরিজ এ জার্নালে অনেক গবেষণাপত্র প্রকাশ করেছেন।
বিবেক গঙ্গাসানি is a Senior Machine Learning Solutions Architect at Amazon Web Services. He helps Startups build and operationalize AI/ML applications. He is currently focused on combining his background in Containers and Machine Learning to deliver solutions on MLOps, ML Inference and low-code ML. In his spare time, he enjoys trying new restaurants and exploring emerging trends in AI and deep learning.
গেরেমি কোহেন তিনি AWS-এর সাথে একজন সলিউশন আর্কিটেক্ট যেখানে তিনি গ্রাহকদের অত্যাধুনিক, ক্লাউড-ভিত্তিক সমাধান তৈরি করতে সাহায্য করেন। তার অবসর সময়ে, তিনি সৈকতে ছোট হাঁটা উপভোগ করেন, তার পরিবারের সাথে উপসাগর এলাকা ঘুরে দেখেন, বাড়ির চারপাশে জিনিসপত্র ঠিক করেন, বাড়ির চারপাশের জিনিস ভাঙেন এবং BBQing করেন।
নীলম কোশিয়া AWS-এর একজন এন্টারপ্রাইজ সলিউশন আর্কিটেক্ট। তার বর্তমান ফোকাস হল এন্টারপ্রাইজ গ্রাহকদের কৌশলগত ব্যবসায়িক ফলাফলের জন্য তাদের ক্লাউড গ্রহণের যাত্রায় সহায়তা করা। তার অবসর সময়ে, তিনি পড়া এবং বাইরে থাকা উপভোগ করেন।
- উন্নত (300)
- AI
- ai শিল্প
- এআই আর্ট জেনারেটর
- আইআই রোবট
- আমাজন সেজমেকার
- আমাজন সেজমেকার জাম্পস্টার্ট
- কৃত্রিম বুদ্ধিমত্তা
- কৃত্রিম বুদ্ধিমত্তা সার্টিফিকেশন
- ব্যাংকিং এ কৃত্রিম বুদ্ধিমত্তা
- কৃত্রিম বুদ্ধিমত্তার রোবট
- কৃত্রিম বুদ্ধিমত্তার রোবট
- কৃত্রিম বুদ্ধিমত্তা সফ্টওয়্যার
- এডাব্লুএস মেশিন লার্নিং
- blockchain
- ব্লকচেইন সম্মেলন এআই
- coingenius
- কথোপকথন কৃত্রিম বুদ্ধিমত্তা
- ক্রিপ্টো সম্মেলন এআই
- ডাল-ই
- গভীর জ্ঞানার্জন
- বিশেষজ্ঞ (400)
- গুগল আই
- মেশিন লার্নিং
- Plato
- প্লেটো এআই
- প্লেটো ডেটা ইন্টেলিজেন্স
- প্লেটো গেম
- প্লেটোডাটা
- প্লেটোগেমিং
- স্কেল ai
- বাক্য গঠন
- zephyrnet