Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল

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

আজ, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (এনএলপি) উদাহরণগুলি ইংরেজি ভাষা দ্বারা প্রাধান্য পেয়েছে, মানব জনসংখ্যার মাত্র 5% এর মাতৃভাষা এবং শুধুমাত্র 17% দ্বারা কথ্য।

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

এই পোস্টে, আমরা কম-রিসোর্স ভাষার চ্যালেঞ্জগুলির সংক্ষিপ্ত বিবরণ দিই এবং Amazon SageMaker-এ Hugging Face Transformers ব্যবহার করে 100 টিরও বেশি ভাষা কভার করে বিভিন্ন সমাধান পদ্ধতি নিয়ে পরীক্ষা করি।

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

আমরা আলিঙ্গন ফেস ট্রান্সফরমার ব্যবহার করার বিভিন্ন সুবিধা প্রদর্শন করি আমাজন সেজমেকার, যেমন প্রশিক্ষণ এবং স্কেলে পরীক্ষা, এবং উত্পাদনশীলতা এবং খরচ-দক্ষতা বৃদ্ধি।

NLP এর ওভারভিউ

2017 সাল থেকে এনএলপি-তে বেশ কিছু বড় অগ্রগতি হয়েছে। ট্রান্সফরমারের মতো গভীর শিক্ষার স্থাপত্যের আবির্ভাব [২], অত্যন্ত বড় ডেটাসেটে এই ধরনের মডেলগুলিকে প্রশিক্ষণের জন্য তত্ত্বাবধানহীন শেখার কৌশল এবং স্থানান্তর শেখার উল্লেখযোগ্যভাবে উন্নতি করেছে অবস্থার উন্নতি। প্রাকৃতিক ভাষা বোঝার মধ্যে শিল্প। প্রাক-প্রশিক্ষিত মডেল হাবগুলির আগমন এনএলপি সম্প্রদায়ের সম্মিলিত জ্ঞানের অ্যাক্সেসকে আরও গণতান্ত্রিক করেছে, শুরু থেকে শুরু করার প্রয়োজনীয়তাকে সরিয়ে দিয়েছে।

একটি ভাষা মডেল হল একটি এনএলপি মডেল যা একটি ক্রমানুসারে পরবর্তী শব্দ (বা কোনো মুখোশযুক্ত শব্দ) ভবিষ্যদ্বাণী করতে শেখে। প্রারম্ভিক বিন্দু হিসাবে ভাষার মডেলগুলির আসল সৌন্দর্য তিনগুণ: প্রথমত, গবেষণায় দেখা গেছে যে একটি বড় পাঠ্য কর্পাস ডেটাতে প্রশিক্ষিত ভাষা মডেলগুলি পূর্ববর্তী পদ্ধতির তুলনায় শব্দের আরও জটিল অর্থ শিখে। উদাহরণস্বরূপ, একটি বাক্যে পরবর্তী শব্দটি ভবিষ্যদ্বাণী করতে সক্ষম হওয়ার জন্য, ভাষার মডেলটিকে প্রসঙ্গ, শব্দার্থবিদ্যা এবং ব্যাকরণ বুঝতে ভাল হতে হবে। দ্বিতীয়ত, একটি ভাষা মডেলকে প্রশিক্ষণ দেওয়ার জন্য, প্রাক-প্রশিক্ষণের সময় লেবেলযুক্ত ডেটা-যা দুষ্প্রাপ্য এবং ব্যয়বহুল-প্রয়োজন হয় না। এটি গুরুত্বপূর্ণ কারণ লেবেলবিহীন পাঠ্য ডেটার একটি বিশাল পরিমাণ ওয়েবে অনেক ভাষায় সর্বজনীনভাবে উপলব্ধ। তৃতীয়ত, এটি প্রমাণিত হয়েছে যে ভাষা মডেলটি যে কোনো বাক্যের পরবর্তী শব্দের পূর্বাভাস দেওয়ার জন্য যথেষ্ট স্মার্ট হয়ে গেলে, খুব কম লেবেলযুক্ত ডেটার সাথে অনুভূতি বিশ্লেষণ বা প্রশ্নের উত্তর দেওয়ার মতো অন্যান্য NLP কাজগুলি সম্পাদন করা তুলনামূলকভাবে সহজ, কারণ ফাইন-টিউনিং পুনরায় ব্যবহার করে। একটি প্রাক-প্রশিক্ষিত ভাষা মডেল থেকে উপস্থাপনা [3]।

সম্পূর্ণরূপে পরিচালিত NLP পরিষেবাগুলিও NLP গ্রহণকে ত্বরান্বিত করেছে। অ্যামাজন সমঝোতা এটি একটি সম্পূর্ণরূপে পরিচালিত পরিষেবা যা নথির বিষয়বস্তু থেকে অন্তর্দৃষ্টি বের করতে পাঠ্য বিশ্লেষণকে সক্ষম করে এবং এটি বিভিন্ন ভাষা সমর্থন করে৷ Amazon Comprehend কাস্টম শ্রেণীবিভাগ এবং কাস্টম সত্তা স্বীকৃতি সমর্থন করে এবং আপনাকে এমন কাস্টম এনএলপি মডেল তৈরি করতে সক্ষম করে যা আপনার প্রয়োজনীয়তার সাথে নির্দিষ্ট, কোনো ML দক্ষতার প্রয়োজন ছাড়াই।

স্বল্প-সম্পদ ভাষার জন্য চ্যালেঞ্জ এবং সমাধান

বিপুল সংখ্যক ভাষার জন্য প্রধান চ্যালেঞ্জ হল তাদের প্রশিক্ষণের জন্য তুলনামূলকভাবে কম ডেটা উপলব্ধ। এগুলো বলা হয় কম সম্পদের ভাষা. m-BERT কাগজ [4] এবং XLM-R কাগজ [7] উর্দু এবং সোয়াহিলিকে নিম্ন-সম্পদ ভাষা হিসাবে উল্লেখ করে।

নিম্নলিখিত চিত্রটি 80টিরও বেশি ভাষার ISO কোড এবং দুটি প্রধান প্রাক-প্রশিক্ষণের মধ্যে আকারের পার্থক্য (লগ-স্কেলে) উল্লেখ করে [7]। উইকিপিডিয়ায় (কমলা), 18 মিলিয়নের বেশি নিবন্ধ সহ 1টি ভাষা এবং 52টি ভাষায় 1,000টির বেশি নিবন্ধ রয়েছে, কিন্তু 164টি ভাষায় মাত্র 1-10,000 নিবন্ধ রয়েছে [9]। CommonCrawl কর্পাস (নীল) নিম্ন-সম্পদ ভাষার জন্য ডেটার পরিমাণ দুটি মাত্রায় বৃদ্ধি করে। তা সত্ত্বেও, ইংরেজি, রাশিয়ান বা জার্মানের মতো উচ্চ-সম্পদ ভাষার তুলনায় এগুলি এখনও তুলনামূলকভাবে ছোট।

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.

উইকিপিডিয়া নিবন্ধ সংখ্যার পরিপ্রেক্ষিতে, উর্দু (100,000তম) সহ 28 নিবন্ধের (54তম) একই গ্রুপের তুর্কি আরেকটি ভাষা। উর্দুর সাথে তুলনা করলে, তুর্কি একটি মধ্য-সম্পদ ভাষা হিসাবে বিবেচিত হবে। তুর্কি ভাষার কিছু আকর্ষণীয় বৈশিষ্ট্য রয়েছে, যা ভাষাবিদ্যা এবং টোকেনাইজেশনে কিছু চ্যালেঞ্জ তৈরি করে ভাষার মডেলকে আরও শক্তিশালী করে তুলতে পারে। এটি একটি সমষ্টিগত ভাষা। এটির একটি খুব মুক্ত শব্দের ক্রম, একটি জটিল রূপবিদ্যা, বা ইংরেজি সমতুল্য ছাড়া কাল রয়েছে। ইংরেজির মতো ভাষায় বেশ কয়েকটি শব্দ দিয়ে গঠিত বাক্যাংশগুলিকে একটি একক শব্দ ফর্ম দিয়ে প্রকাশ করা যেতে পারে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে।

তুর্কী ইংরেজি
বিড়াল বিড়াল
বিড়ালগুলি বিড়ালs
বিড়ালGilগুলি পরিবার বিড়াল
কেডিগিলারগর্ত এর অন্তর্গত বিড়াল পরিবার
বিড়ালleştirebileceklerimizdenmişçesineyken যখন এটা মনে হয় যে এক যে আমরা করতে পারেন বিড়াল

দুটি প্রধান সমাধান পদ্ধতি হল ভাষা-নির্দিষ্ট মডেল বা বহুভাষিক মডেল (আন্তর্জাতিক তত্ত্বাবধান সহ বা ছাড়া):

  • একভাষিক ভাষার মডেল – প্রথম পদ্ধতি হল একটি নির্দিষ্ট টার্গেট ল্যাঙ্গুয়েজে একটি BERT বৈকল্পিক প্রয়োগ করা। প্রশিক্ষণের ডেটা যত বেশি, মডেলের কর্মক্ষমতা তত বেশি।
  • বহুভাষিক মুখোশযুক্ত ভাষার মডেল - অন্য পদ্ধতি হল অনেক ভাষায় বড় ট্রান্সফরমার মডেলগুলিকে প্রাক-প্রশিক্ষণ দেওয়া। বহুভাষিক ভাষা মডেলিংয়ের লক্ষ্য হল প্রচুর সংখ্যক ভাষার প্রাক-প্রশিক্ষণের মাধ্যমে স্বল্প-সম্পদ ভাষার ডেটা চ্যালেঞ্জের অভাব সমাধান করা যাতে একটি ভাষা থেকে শেখা NLP কাজগুলি অন্য ভাষায় স্থানান্তর করা যায়। বহুভাষিক মুখোশযুক্ত ভাষা মডেল (এমএলএম) আন্ত-ভাষিক বোঝার কাজগুলিতে অত্যাধুনিক-কে চাপ দিয়েছে। দুটি উদাহরণ হল:
    • বহুভাষিক BERT – বহুভাষিক BERT মডেলটি উইকিপিডিয়া কর্পাস ব্যবহার করে 104টি ভিন্ন ভাষায় প্রশিক্ষিত হয়েছিল। যাইহোক, এটি দেখানো হয়েছে যে এটি শুধুমাত্র অনুরূপ ভাষাগত কাঠামো এবং টাইপোলজিকাল বৈশিষ্ট্যগুলি (উদাহরণস্বরূপ, অনুরূপ শব্দ ক্রম সহ ভাষাগুলি) জুড়ে ভালভাবে সাধারণীকরণ করে। এর বহুভাষিকতা হ্রাস পেয়েছে বিশেষ করে বিভিন্ন শব্দের ক্রমযুক্ত ভাষার জন্য (উদাহরণস্বরূপ, বিষয়/বস্তু/ক্রিয়া) [৪]।
    • XLM-R – ক্রস-লিঙ্গুয়াল ল্যাঙ্গুয়েজ মডেল (এক্সএলএম) সমান্তরাল ডেটাসেট (দুটি ভিন্ন ভাষায় একই টেক্সট) ব্যবহার করে অথবা একভাষিক ডেটাসেট ব্যবহার করে ক্রস-লিঙ্গুয়াল উদ্দেশ্য ছাড়াই প্রশিক্ষিত হয় [6]। গবেষণা দেখায় যে স্বল্প-সম্পদ ভাষাগুলি আরও ভাষায় স্কেলিং করার মাধ্যমে উপকৃত হয়। XLM-RoBERTa হল একটি ট্রান্সফরমার-ভিত্তিক মডেল যা RoBERTa দ্বারা অনুপ্রাণিত হয়েছে [5], এবং এর সূচনা পয়েন্ট হল প্রস্তাবনা যে বহুভাষিক BERT এবং XLM আন্ডার-টিউনড। এটি উইকিপিডিয়া এবং কমনক্রল কর্পাস উভয় ব্যবহার করে 100টি ভাষায় প্রশিক্ষিত, তাই স্বল্প-সম্পদ ভাষার জন্য প্রশিক্ষণ ডেটার পরিমাণ m-BERT [7] এর তুলনায় প্রায় দুই অর্ডার বড়।

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

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

পূর্বপ্রশিক্ষিত মডেল শব্দভান্ডার আকার "কেডিলেরি"* এর জন্য টোকেনাইজেশন
dbmdz/বার্ট-বেস-তুর্কি-আনকেসড 32,000 টোকেন [সিএলএস] বিড়াল ##আমি [সেপ]
ইনপুট আইডি 2 23714 1023 3
bert-বেস-বহুভাষিক-আকাশবিহীন 105,879 টোকেন [সিএলএস] ked ##ইলার ##আমি [সেপ]
ইনপুট আইডি 101 30210 33719 10116 102
deepset/xlm-roberta-base-squad2 250,002 টোকেন কে di গুলি
ইনপুট আইডি 0 1345 428 1341 .
*ইংরেজিতে: (its) cats

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

পরবর্তী বিভাগে, আমরা তুর্কি ভাষার জন্য একটি QA ডেটাসেট ব্যবহার করে একটি প্রশ্নের উত্তর দেওয়ার জন্য তিনটি পদ্ধতির সূক্ষ্ম টিউনিং করে তুলনা করি: BERTurk [8], বহুভাষিক BERT [4], এবং XLM-R [7]।

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

আমাদের কর্মপ্রবাহ নিম্নরূপ:

  1. একটিতে ডেটাসেট প্রস্তুত করুন অ্যামাজন সেজমেকার স্টুডিও নোটবুক পরিবেশ এবং এটি আপলোড আমাজন সিম্পল স্টোরেজ সার্ভিস (Amazon S3)।
  2. ফাইন-টিউনিং স্ক্রিপ্ট প্রদান করে SageMaker প্রশিক্ষণ গভীর শিক্ষার পাত্রে সমান্তরাল প্রশিক্ষণ কাজ চালু করুন।
  3. প্রতিটি পরীক্ষা থেকে মেটাডেটা সংগ্রহ করুন।
  4. ফলাফল তুলনা করুন এবং সবচেয়ে উপযুক্ত মডেল সনাক্ত করুন.

নিম্নলিখিত চিত্রটি সমাধানের স্থাপত্যকে চিত্রিত করে।

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.

স্টুডিও নোটবুক সম্পর্কে আরও তথ্যের জন্য, পড়ুন Amazon SageMaker স্টুডিও নোটবুক আর্কিটেকচারের গভীরে ডুব দিন. সেজমেকারের সাথে কীভাবে আলিঙ্গন মুখ একত্রিত হয় সে সম্পর্কে আরও তথ্যের জন্য, পড়ুন প্রাকৃতিক ভাষা প্রক্রিয়াজাতকরণ মডেলগুলি সহজ ও ত্বরান্বিত করতে এডাব্লুএস এবং আলিঙ্গন ফেস সহযোগিতা করে.

ডেটাসেট প্রস্তুত করুন

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

data_files = {}
data_files["train"] = 'data/train.json'
data_files["validation"] = 'data/val.json' ds = load_dataset("json", data_files=data_files) print("Number of features in dataset: n Train = {}, n Validation = {}".format(len(ds['train']), len(ds['validation'])))

প্রায় 9,000 নমুনা আছে।

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.

ইনপুট ডেটাসেটটি প্রাক-প্রশিক্ষিত মডেলগুলির দ্বারা প্রত্যাশিত একটি বিন্যাসে সামান্য রূপান্তরিত হয়েছে এবং এতে নিম্নলিখিত কলামগুলি রয়েছে:

df = pd.DataFrame(ds['train'])
df.sample(1)

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.
আউটপুটটির ইংরেজি অনুবাদ নিম্নরূপ:

  • প্রসঙ্গ – রেসিট এমরে কোঙ্গার (জন্ম 13 অক্টোবর 1941, ইস্তাম্বুল), তুর্কি সমাজবিজ্ঞানী, অধ্যাপক।
  • প্রশ্ন – এমরে কোঙ্গার একাডেমিক শিরোনাম কি?
  • উত্তর - প্রফেসর

ফাইন-টিউনিং স্ক্রিপ্ট

হাগিং ফেস ট্রান্সফরমার লাইব্রেরি একটি প্রশ্নের উত্তর দেওয়ার টাস্কের জন্য একটি মডেলকে সূক্ষ্ম-টিউন করার জন্য একটি উদাহরণ কোড প্রদান করে, যাকে বলা হয় রান_qa.py. নিম্নলিখিত কোডটি প্রশিক্ষককে শুরু করে:

 # Initialize our Trainer trainer = QuestionAnsweringTrainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, eval_examples=eval_examples, tokenizer=tokenizer, data_collator=data_collator, post_process_function=post_processing_function, compute_metrics=compute_metrics, )

আসুন একটি উচ্চ স্তরে বিল্ডিং ব্লক পর্যালোচনা করা যাক.

টোকেনাইজার

স্ক্রিপ্টটি ব্যবহার করে একটি টোকেনাইজার লোড করে AutoTokenizer ক্লাস দ্য AutoTokenizer ক্লাস সঠিক টোকেনাইজার ফেরত দেওয়ার যত্ন নেয় যা মডেলের সাথে মিলে যায়:

tokenizer = AutoTokenizer.from_pretrained( model_args.model_name_or_path, cache_dir=model_args.cache_dir, use_fast=True, revision=model_args.model_revision, use_auth_token=None, )

টোকেনাইজার কীভাবে কাজ করে তার একটি উদাহরণ নিচে দেওয়া হল:

from transformers import AutoTokenizer tokenizer = AutoTokenizer.from_pretrained("deepset/xlm-roberta-base-squad2") input_ids = tokenizer.encode('İstanbulun en popüler hayvanı hangisidir? Kedileri', return_tensors="pt")
tokens = tokenizer('İstanbulun en popüler hayvanı hangisidir? Kedileri').tokens()

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.

মডেল

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

 model = AutoModelForQuestionAnswering.from_pretrained( model_args.model_name_or_path, config=config, cache_dir=model_args.cache_dir, revision=model_args.model_revision, )

প্রিপ্রসেসিং এবং প্রশিক্ষণ

সার্জারির prepare_train_features() এবং prepare_validation_features() পদ্ধতিগুলি যথাক্রমে প্রশিক্ষণ ডেটাসেট এবং বৈধতা ডেটাসেটগুলিকে প্রিপ্রসেস করে৷ কোডটি ইনপুট ডেটাসেটের উপর পুনরাবৃত্তি করে এবং সঠিক মডেল-নির্দিষ্ট টোকেন টাইপ আইডি (টোকেনগুলির সংখ্যাসূচক উপস্থাপনা) এবং মনোযোগের মুখোশ সহ প্রসঙ্গ এবং বর্তমান প্রশ্ন থেকে একটি ক্রম তৈরি করে। ক্রম তারপর মডেল মাধ্যমে পাস করা হয়. এটি নিম্নলিখিত সারণীতে দেখানো শুরু এবং শেষ উভয় অবস্থানের জন্য স্কোরের একটি পরিসীমা আউটপুট করে।

ইনপুট ডেটাসেট ক্ষেত্র QuestionAnsweringTrainer এর জন্য প্রি-প্রসেসড ট্রেনিং ডেটাসেট ক্ষেত্র
id input_ids
খেতাব মনোযোগ_মাস্ক
প্রসঙ্গ start_positions
প্রশ্ন শেষ_পদ
উত্তর { answer_start, answer_text } .

মূল্যায়ন

সার্জারির compute_metrics() পদ্ধতিটি মেট্রিক্স গণনার যত্ন নেয়। প্রশ্নের উত্তর দেওয়ার জন্য আমরা নিম্নলিখিত জনপ্রিয় মেট্রিক্স ব্যবহার করি:

  • সঠিক মিল - যে কোনো একটি স্থল সত্য উত্তরের সাথে মেলে এমন ভবিষ্যদ্বাণীর শতাংশ পরিমাপ করে।
  • F1 স্কোর - ভবিষ্যদ্বাণী এবং স্থল সত্য উত্তরের মধ্যে গড় ওভারল্যাপ পরিমাপ করে। F1 স্কোর হল নির্ভুলতা এবং স্মরণের সুরেলা গড়:
    • স্পষ্টতা - ভবিষ্যদ্বাণীতে মোট শব্দের সংখ্যার সাথে ভাগ করা শব্দের সংখ্যার অনুপাত।
    • প্রত্যাহার – গ্রাউন্ড ট্রুথের মোট শব্দের সাথে ভাগ করা শব্দের সংখ্যার অনুপাত।

সেজমেকারে পরিচালিত প্রশিক্ষণ

কাস্টম মেশিন লার্নিং (ML) পরিবেশ সেট আপ করা এবং পরিচালনা করা সময়সাপেক্ষ এবং কষ্টকর হতে পারে। সঙ্গে AWS ডিপ লার্নিং কন্টেইনার (DLCs) হাগিং ফেস ট্রান্সফরমার লাইব্রেরির জন্য, আমাদের কাছে প্রিপ্যাকেজড এবং অপ্টিমাইজ করা গভীর শিক্ষার ফ্রেমওয়ার্কগুলিতে অ্যাক্সেস রয়েছে, যা ন্যূনতম অতিরিক্ত কোড সহ একাধিক প্রশিক্ষণের কাজ জুড়ে আমাদের স্ক্রিপ্ট চালানো সহজ করে তোলে।

আমরা শুধু ব্যবহার করতে হবে আলিঙ্গন মুখ অনুমানক নিম্নলিখিত ইনপুট সহ SageMaker Python SDK-তে উপলব্ধ:

# Trial configuration
config['model'] = 'deepset/xlm-roberta-base-squad2'
config['instance_type'] = 'ml.p3.16xlarge'
config['instance_count'] = 2 # Define the distribution parameters in the HuggingFace Estimator config['distribution'] = {'smdistributed':{'dataparallel':{ 'enabled': True }}}
trial_configs.append(config) # We can specify a training script that is stored in a GitHub repository as the entry point for our Estimator, # so we don’t have to download the scripts locally.
git_config = {'repo': 'https://github.com/huggingface/transformers.git'} hyperparameters_qa={ 'model_name_or_path': config['model'], 'train_file': '/opt/ml/input/data/train/train.json', 'validation_file': '/opt/ml/input/data/val/val.json', 'do_train': True, 'do_eval': True, 'fp16': True, 'per_device_train_batch_size': 16, 'per_device_eval_batch_size': 16, 'num_train_epochs': 2, 'max_seq_length': 384, 'pad_to_max_length': True, 'doc_stride': 128, 'output_dir': '/opt/ml/model' } huggingface_estimator = HuggingFace(entry_point='run_qa.py', source_dir='./examples/pytorch/question-answering', git_config=git_config, instance_type=config['instance_type'], instance_count=config['instance_count'], role=role, transformers_version='4.12.3', pytorch_version='1.9.1', py_version='py38', distribution=config['distribution'], hyperparameters=hyperparameters_qa, metric_definitions=metric_definitions, enable_sagemaker_metrics=True,) nlp_training_job_name = f"NLPjob-{model}-{instance}-{int(time.time())}" training_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' test_input_path = f's3://{sagemaker_session_bucket}/{s3_prefix_qa}/' huggingface_estimator.fit( inputs={'train': training_input_path, 'val': test_input_path}, job_name=nlp_training_job_name, experiment_config={ "ExperimentName": nlp_experiment.experiment_name, "TrialName": nlp_trial.trial_name, "TrialComponentDisplayName": nlp_trial.trial_name,}, wait=False, )

ফলাফল মূল্যায়ন

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

  • একভাষিক ভাষার মডেল - তুর্কি প্রশ্নের উত্তরের পাঠ্যের উপর প্রাক-প্রশিক্ষিত মডেলটিকে বলা হয় বার্ট-বেস-তুর্কি-আকাশবিহীন [৮]। এটি মাত্র দুটি যুগে এবং 8টি লেবেলযুক্ত আইটেম সহ 1 এর F75.63 স্কোর এবং 56.17 এর সঠিক ম্যাচ স্কোর অর্জন করে। যাইহোক, যখন একটি প্রাক-প্রশিক্ষিত ভাষা মডেল বিদ্যমান না থাকে, অথবা স্ক্র্যাচ থেকে প্রশিক্ষণের জন্য সামান্য ডেটা উপলব্ধ থাকে তখন এই পদ্ধতিটি নিম্ন-সম্পদ ভাষার জন্য উপযুক্ত নয়।
  • বহুভাষিক BERT সহ বহুভাষিক ভাষার মডেল - প্রাক-প্রশিক্ষিত মডেল বলা হয় bert-বেস-বহুভাষিক-আকাশবিহীন. বহুভাষিক BERT কাগজ [4] দেখিয়েছে যে এটি ভাষা জুড়ে ভালভাবে সাধারণীকরণ করে। একভাষিক মডেলের সাথে তুলনা করলে, এটি আরও খারাপ কাজ করে (F1 স্কোর 71.73, সঠিক মিল 50:45), কিন্তু মনে রাখবেন যে এই মডেলটি 100 টিরও বেশি ভাষা পরিচালনা করে, তুর্কি ভাষার প্রতিনিধিত্ব করার জন্য কম জায়গা রেখে দেয়।
  • XLM-R সহ বহুভাষিক ভাষার মডেল - প্রাক-প্রশিক্ষিত মডেল বলা হয় xlm-roberta-base-squad2. XLM-R পেপার দেখায় যে প্রতি-ভাষা পারফরম্যান্সকে ত্যাগ না করে 100 টিরও বেশি ভাষার জন্য একটি একক বড় মডেল থাকা সম্ভব [7]। তুর্কি প্রশ্নের উত্তর দেওয়ার কাজের জন্য, এটি বহুভাষিক BERT এবং একভাষিক BERT F1 স্কোরকে যথাক্রমে 5% এবং 2% ছাড়িয়েছে (F1 স্কোর 77.14, সঠিক মিল 56.39)।

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.

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

অতিরিক্ত পরীক্ষা-নিরীক্ষা

প্রদত্ত নোটবুকে অতিরিক্ত পরীক্ষার উদাহরণ রয়েছে।

SageMaker প্রশিক্ষণ দৃষ্টান্ত ধরনের একটি বিস্তৃত পরিসীমা প্রদান করে. আমরা p3.2xlarge (GPU: Nvidia V100 GPU, GPU আর্কিটেকচার: Volta (2017)), p3.16xlarge (GPU: 8 Nvidia V100 GPUs), এবং g4dn.xlarge (GPU: Nvidia T4) তে XLM-R মডেলটি ফাইন-টিউন করেছি। GPU, GPU আর্কিটেকচার: টুরিং (2018)), এবং নিম্নলিখিতগুলি পর্যবেক্ষণ করেছে:

  • প্রশিক্ষণের সময়কাল – আমাদের পরীক্ষা অনুসারে, XLM-R মডেলটি p24xlarge-এ প্রশিক্ষণ নিতে প্রায় 3.2 মিনিট এবং g30dn.xlarge-এ (প্রায় 4% বেশি) 23 মিনিট সময় নেয়। আমরা দুটি p3.16x বড় দৃষ্টান্তে বিতরণকৃত ফাইন-টিউনিংও করেছি এবং প্রশিক্ষণের সময় 10 মিনিটে কমে গেছে। SageMaker-এ একটি ট্রান্সফরমার-ভিত্তিক মডেলের বিতরণ প্রশিক্ষণ সম্পর্কে আরও তথ্যের জন্য, পড়ুন Amazon SageMaker-এ Hugging Face Transformers ব্যবহার করে প্রশ্ন-উত্তর দেওয়ার জন্য একটি BERT বড় মডেলের ফাইন-টিউনিং বিতরণ করা হয়েছে.
  • প্রশিক্ষণ খরচ - আমরা SageMaker অন-ডিমান্ড দাম আনতে AWS প্রাইসিং এপিআই ব্যবহার করেছি যাতে এটি ফ্লাইতে গণনা করা যায়। আমাদের পরীক্ষা অনুসারে, p1.58xlarge-এ প্রশিক্ষণের খরচ প্রায় $3.2, এবং g4dn.xlarge-এ প্রায় চার গুণ কম ($0.37)। 3.16টি জিপিইউ ব্যবহার করে দুটি p16x বড় দৃষ্টান্তে বিতরণ করা প্রশিক্ষণের দাম $9.68।

সংক্ষিপ্তভাবে বলতে গেলে, যদিও g4dn.xlarge সবচেয়ে কম ব্যয়বহুল মেশিন ছিল, আমরা যে সবথেকে শক্তিশালী ইন্সট্যান্স টাইপ (দুটি p3.16xlarge) নিয়ে পরীক্ষা করেছি তার থেকে এটি প্রশিক্ষণ নিতে প্রায় তিনগুণ বেশি সময় নেয়। আপনার প্রকল্পের অগ্রাধিকারের উপর নির্ভর করে, আপনি সেজমেকার প্রশিক্ষণের উদাহরণের বিভিন্ন ধরণের থেকে বেছে নিতে পারেন।

উপসংহার

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

ভাষা মানুষের যোগাযোগের প্রধান পদ্ধতি, এবং এটি মূল্যবোধের যোগাযোগ এবং সাংস্কৃতিক ঐতিহ্যের সৌন্দর্য ভাগ করার একটি মাধ্যম। ভাষাগত বৈচিত্র্য আন্তঃসাংস্কৃতিক সংলাপকে শক্তিশালী করে এবং অন্তর্ভুক্তিমূলক সমাজ গঠন করে।

ML একটি অত্যন্ত পুনরাবৃত্তিমূলক প্রক্রিয়া; একটি একক প্রকল্পের সময়, ডেটা বিজ্ঞানীরা সর্বাধিক নির্ভুলতার সন্ধানে শত শত বিভিন্ন মডেল, ডেটাসেট এবং পরামিতিগুলিকে প্রশিক্ষণ দেন। SageMaker ML এবং গভীর শিক্ষার শক্তিকে কাজে লাগানোর জন্য টুলগুলির সবচেয়ে সম্পূর্ণ সেট অফার করে। এটি আপনাকে স্কেলে ML পরীক্ষাগুলি সংগঠিত করতে, ট্র্যাক করতে, তুলনা করতে এবং মূল্যায়ন করতে দেয়৷

আলিঙ্গন মুখ SageMaker-এর সাথে সংহত করা হয়েছে ডেটা বিজ্ঞানীদেরকে আরও দ্রুত এবং সহজে অত্যাধুনিক NLP মডেলগুলি বিকাশ, প্রশিক্ষণ এবং সুর করতে সাহায্য করার জন্য৷ আমরা Amazon SageMaker-এ Hugging Face ট্রান্সফরমার ব্যবহার করার বিভিন্ন সুবিধা প্রদর্শন করেছি, যেমন প্রশিক্ষণ এবং স্কেলে পরীক্ষা, এবং উত্পাদনশীলতা এবং খরচ-দক্ষতা বৃদ্ধি।

আপনি সেজমেকার উপলভ্য সমস্ত AWS অঞ্চলে আপনার পছন্দের ভাষায় NLP কাজগুলি নিয়ে পরীক্ষা করতে পারেন। উদাহরণ নোটবুক কোড পাওয়া যায় GitHub.

কিভাবে Amazon SageMaker ট্রেনিং কম্পাইলার গভীর শিক্ষার মডেলের প্রশিক্ষণকে 50% পর্যন্ত ত্বরান্বিত করতে পারে তা জানতে, দেখুন নতুন - সেজমেকার ট্রেনিং কম্পাইলার উপস্থাপন করা হচ্ছে.

লেখক খসড়া পর্যালোচনা এবং পরামর্শ প্রদানের জন্য মারিয়ানো কাম্প এবং এমিলি ওয়েবারের প্রতি তাদের গভীর কৃতজ্ঞতা প্রকাশ করতে চান।

তথ্যসূত্র

  1. J. Devlin et al., "BERT: ভাষা বোঝার জন্য গভীর দ্বিমুখী ট্রান্সফরমারের প্রাক-প্রশিক্ষণ", (2018)।
  2. A. Vaswani et al., “অনটেনশন ইজ অল ইউ নিড”, (2017)।
  3. জে. হাওয়ার্ড এবং এস. রুডার, "টেক্সট ক্লাসিফিকেশনের জন্য ইউনিভার্সাল ল্যাঙ্গুয়েজ মডেল ফাইন-টিউনিং", (2018)।
  4. T. Pires et al., “How multilingual is Multilingual BERT?”, (2019)।
  5. Y. Liu et al., "RoBERTa: A Robustly Optimized BERT Pretraining Approach", (2019)
  6. G. Lample, এবং A. Conneau, "Cross-Lingual Language Model Pretraining", (2019)।
  7. A. Conneau et al., "Unsupervised Cross-Lingual Representation Learning at Scale", (2019)।
  8. স্টেফান শোয়েটার। BERTurk - তুর্কিদের জন্য BERT মডেল (2020)।
  9. বহুভাষিক উইকি পরিসংখ্যান https://en.wikipedia.org/wiki/Wikipedia:Multilingual_statistics

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

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.অর্ণব খারে AWS-এ গ্লোবাল ফাইন্যান্সিয়াল সার্ভিসেসের জন্য একজন প্রধান সমাধান আর্কিটেক্ট। তার প্রাথমিক ফোকাস হল ক্লাউডে অ্যানালিটিক্স এবং মেশিন লার্নিং অ্যাপ্লিকেশনগুলি তৈরি এবং ডিজাইন করতে আর্থিক পরিষেবা সংস্থাগুলিকে সহায়তা করা৷ অর্ণব এডিনবার্গ ইউনিভার্সিটি থেকে কৃত্রিম বুদ্ধিমত্তায় এমএসসি করেছেন এবং তার প্রতিষ্ঠিত ছোট স্টার্টআপ থেকে শুরু করে নোকিয়া এবং ব্যাঙ্ক অফ আমেরিকার মতো বৃহৎ উদ্যোগ পর্যন্ত 18 বছরের শিল্প অভিজ্ঞতা রয়েছে। কাজের বাইরে, অর্ণব তার দুই মেয়ের সাথে সময় কাটাতে, নতুন স্বাধীন কফি শপ খুঁজে, পড়া এবং ভ্রমণ করতে পছন্দ করে। আপনি আমাকে খুঁজে পেতে পারেন লিঙ্কডইন এবং সারে, ইউকে বাস্তব জীবনে।

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.হাসান-বসরী আকিরমাক (কম্পিউটার ইঞ্জিনিয়ারিং-এ বিএসসি এবং এমএসসি এবং গ্র্যাজুয়েট স্কুল অফ বিজনেস-এ এক্সিকিউটিভ এমবিএ) অ্যামাজন ওয়েব পরিষেবার একজন সিনিয়র সলিউশন আর্কিটেক্ট। তিনি একজন ব্যবসায়িক প্রযুক্তিবিদ যিনি এন্টারপ্রাইজ সেগমেন্টের ক্লায়েন্টদের পরামর্শ দেন। তার বিশেষত্বের ক্ষেত্র হল বড় আকারের ডেটা প্রসেসিং সিস্টেম এবং মেশিন লার্নিং সলিউশনের উপর আর্কিটেকচার এবং ব্যবসায়িক কেস ডিজাইন করা। হাসান ইউরোপ, মধ্যপ্রাচ্য এবং আফ্রিকার ক্লায়েন্টদের জন্য বিজনেস ডেভেলপমেন্ট, সিস্টেম ইন্টিগ্রেশন, প্রোগ্রাম ম্যানেজমেন্ট প্রদান করেছেন। 2016 সাল থেকে তিনি স্টার্টআপ ইনকিউবেশন প্রোগ্রাম প্রো-বোনো শত শত উদ্যোক্তাদের পরামর্শ দিয়েছেন।

Amazon SageMaker PlatoBlockchain Data Intelligence-এ Hugging Face সহ ভাষাগত বৈচিত্র্যের জন্য ফাইন-টিউন ট্রান্সফরমার ভাষার মডেল। উল্লম্ব অনুসন্ধান. আ.হেইকো হটজ তিনি এআই এবং মেশিন লার্নিংয়ের একজন সিনিয়র সলিউশন আর্কিটেক্ট এবং AWS-এর মধ্যে ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP) সম্প্রদায়ের নেতৃত্ব দেন। এই ভূমিকার আগে, তিনি আমাজনের ইইউ গ্রাহক পরিষেবার ডেটা সায়েন্সের প্রধান ছিলেন। Heiko আমাদের গ্রাহকদের AWS-এ তাদের AI/ML যাত্রায় সফল হতে সাহায্য করে এবং বীমা, আর্থিক পরিষেবা, মিডিয়া এবং বিনোদন, স্বাস্থ্যসেবা, উপযোগিতা এবং উত্পাদন সহ অনেক শিল্পে সংস্থার সাথে কাজ করেছে। তার অবসর সময়ে হেইকো যতটা সম্ভব ভ্রমণ করে।

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

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

সেজমেকার ক্যানভাস মডেল লিডারবোর্ড ব্যবহার করে উন্নত কনফিগারেশন সহ মেশিন লার্নিং মডেলগুলি তৈরি এবং মূল্যায়ন করুন | আমাজন ওয়েব সার্ভিসেস

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

অ্যামাজন সেজমেকার ক্যানভাস ব্যবহার করে দ্রুত এমএল মডেল প্রশিক্ষণের মাধ্যমে দ্রুত সময়ের থেকে মূল্যবান ব্যবসায়িক ফলাফল অর্জন করুন

উত্স নোড: 1809540
সময় স্ট্যাম্প: মার্চ 3, 2023