টেনসরফ্লো র‌্যাঙ্কিং ওভারভিউ

TensorFlow র‍্যাঙ্কিং লাইব্রেরি আপনাকে সাম্প্রতিক গবেষণার সু-প্রতিষ্ঠিত পদ্ধতি এবং কৌশল ব্যবহার করে মেশিন লার্নিং মডেলকে র‌্যাঙ্ক করার জন্য স্কেলেবল লার্নিং তৈরি করতে সাহায্য করে। একটি র‌্যাঙ্কিং মডেল একই ধরনের আইটেমগুলির একটি তালিকা নেয়, যেমন ওয়েব পৃষ্ঠাগুলি, এবং সেই আইটেমগুলির একটি অপ্টিমাইজ করা তালিকা তৈরি করে, উদাহরণস্বরূপ সবচেয়ে প্রাসঙ্গিক পৃষ্ঠাগুলির জন্য সবচেয়ে প্রাসঙ্গিক৷ মডেলদের র‌্যাঙ্ক করা শেখার জন্য অনুসন্ধান, প্রশ্নের উত্তর, সুপারিশকারী সিস্টেম এবং ডায়ালগ সিস্টেমে অ্যাপ্লিকেশন রয়েছে। আপনি Keras API ব্যবহার করে আপনার অ্যাপ্লিকেশনের জন্য একটি র‌্যাঙ্কিং মডেল তৈরিকে ত্বরান্বিত করতে এই লাইব্রেরিটি ব্যবহার করতে পারেন। র‌্যাঙ্কিং লাইব্রেরিও ওয়ার্কফ্লো ইউটিলিটিগুলি সরবরাহ করে যাতে বিতরণ করা প্রক্রিয়াকরণ কৌশলগুলি ব্যবহার করে বড় ডেটাসেটের সাথে কার্যকরভাবে কাজ করার জন্য আপনার মডেল বাস্তবায়নকে সহজতর করা যায়।

এই সংক্ষিপ্ত বিবরণটি এই লাইব্রেরির সাথে মডেল র্যাঙ্ক করার জন্য শেখার উন্নয়নের একটি সংক্ষিপ্ত সারাংশ প্রদান করে, লাইব্রেরি দ্বারা সমর্থিত কিছু উন্নত কৌশল প্রবর্তন করে এবং র‍্যাঙ্কিং অ্যাপ্লিকেশনের জন্য বিতরণ প্রক্রিয়াকরণকে সমর্থন করার জন্য প্রদত্ত ওয়ার্কফ্লো ইউটিলিটিগুলি নিয়ে আলোচনা করে।

মডেল র্যাঙ্ক শেখার উন্নয়নশীল

টেনসরফ্লো র‍্যাঙ্কিং লাইব্রেরি সহ বিল্ডিং মডেল এই সাধারণ পদক্ষেপগুলি অনুসরণ করে:

  1. কেরাস স্তরগুলি ব্যবহার করে একটি স্কোরিং ফাংশন নির্দিষ্ট করুন ( tf.keras.layers )
  2. আপনি মূল্যায়নের জন্য যে মেট্রিকগুলি ব্যবহার করতে চান তা নির্ধারণ করুন, যেমন tfr.keras.metrics.NDCGMetric
  3. একটি ক্ষতি ফাংশন নির্দিষ্ট করুন, যেমন tfr.keras.losses.SoftmaxLoss
  4. মডেলটি tf.keras.Model.compile() দিয়ে কম্পাইল করুন এবং আপনার ডেটা দিয়ে প্রশিক্ষণ দিন

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

উন্নত র‌্যাঙ্কিং কৌশল

টেনসরফ্লো র‌্যাঙ্কিং লাইব্রেরি Google গবেষক এবং প্রকৌশলীদের দ্বারা গবেষণা করা এবং প্রয়োগ করা উন্নত র‌্যাঙ্কিং কৌশল প্রয়োগের জন্য সহায়তা প্রদান করে। নিম্নলিখিত বিভাগগুলি এই কৌশলগুলির একটি ওভারভিউ প্রদান করে এবং কীভাবে সেগুলি আপনার অ্যাপ্লিকেশনে ব্যবহার করা শুরু করবেন৷

BERT তালিকা ইনপুট অর্ডারিং

র‍্যাঙ্কিং লাইব্রেরি TFR-BERT-এর বাস্তবায়ন প্রদান করে, একটি স্কোরিং আর্কিটেকচার যা BERT-কে LTR মডেলিং-এর সাথে লিস্ট ইনপুটগুলির ক্রমকে অপ্টিমাইজ করার জন্য যুক্ত করে। এই পদ্ধতির একটি উদাহরণ প্রয়োগ হিসাবে, একটি প্রশ্ন এবং n নথিগুলির একটি তালিকা বিবেচনা করুন যা আপনি এই প্রশ্নের উত্তরে র‌্যাঙ্ক করতে চান। <query, document> জোড়া জুড়ে স্বাধীনভাবে স্কোর করা একটি BERT প্রতিনিধিত্ব শেখার পরিবর্তে, LTR মডেলগুলি যৌথভাবে একটি BERT উপস্থাপনা শিখতে র‌্যাঙ্কিং ক্ষতি প্রয়োগ করে যা গ্রাউন্ড-ট্রুথ লেবেলগুলির সাপেক্ষে সমগ্র র‌্যাঙ্ক করা তালিকার উপযোগিতাকে সর্বাধিক করে তোলে। নিম্নলিখিত চিত্রটি এই কৌশলটি চিত্রিত করে:

TensorFlow Ranking BERT ডায়াগ্রাম
চিত্র 1 : TensorFlow র‍্যাঙ্কিং BERT আর্কিটেকচার ডায়াগ্রাম পৃথক <query,document> জোড়ার BERT উপস্থাপনা ব্যবহার করে n নথির একটি তালিকায় একটি যৌথ LTR মডেল দেখাচ্ছে।

এই পদ্ধতিটি <query, document> tuples-এর একটি তালিকায় একটি প্রশ্নের উত্তরে র্যাঙ্ক করার জন্য নথিগুলির একটি তালিকাকে সমতল করে। এই tuples তারপর একটি BERT প্রাক-প্রশিক্ষিত ভাষা মডেল খাওয়ানো হয়. সম্পূর্ণ নথির তালিকার জন্য পুল করা BERT আউটপুটগুলি তারপর TensorFlow র‌্যাঙ্কিং-এ উপলব্ধ বিশেষ র‌্যাঙ্কিং লসগুলির মধ্যে একটির সাথে যৌথভাবে সূক্ষ্ম-টিউন করা হয়।

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

নিউরাল র‌্যাঙ্কিং জেনারেলাইজড অ্যাডেটিভ মডেল (GAM)

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

রিগ্রেশন এবং শ্রেণীবিভাগের কাজগুলির সাথে GAMগুলি ব্যাপকভাবে অধ্যয়ন করা হয়েছে, তবে এটি একটি র্যাঙ্কিং অ্যাপ্লিকেশনে কীভাবে প্রয়োগ করা যায় তা কম স্পষ্ট। উদাহরণস্বরূপ, যদিও GAMগুলিকে তালিকার প্রতিটি পৃথক আইটেমের মডেল করার জন্য সহজভাবে প্রয়োগ করা যেতে পারে, আইটেমের মিথস্ক্রিয়া এবং এই আইটেমগুলি যে প্রেক্ষাপটে র‌্যাঙ্ক করা হয়েছে উভয়ের মডেলিং করা আরও চ্যালেঞ্জিং সমস্যা। টেনসরফ্লো র‌্যাঙ্কিং নিউরাল র‌্যাঙ্কিং GAM- এর বাস্তবায়ন প্রদান করে, র‌্যাঙ্কিং সমস্যার জন্য ডিজাইন করা সাধারণ সংযোজন মডেলগুলির একটি এক্সটেনশন। GAM-এর TensorFlow র‍্যাঙ্কিং বাস্তবায়ন আপনাকে আপনার মডেলের বৈশিষ্ট্যগুলিতে নির্দিষ্ট ওজন যোগ করতে দেয়।

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

র‌্যাঙ্কিং উদাহরণের জন্য সাধারণ সংযোজন মডেল
চিত্র 2 : স্থানীয় অনুসন্ধানের জন্য নিউরাল র‌্যাঙ্কিং GAM প্রয়োগ করা। প্রতিটি ইনপুট বৈশিষ্ট্যের জন্য, যেমন মূল্য বা দূরত্ব, একটি উপ-মডেল একটি উপ-স্কোর তৈরি করে যা পরীক্ষা করা যেতে পারে, স্বচ্ছতা প্রদান করে। উপ-মডেল স্কোরের ওজন নির্ধারণ করতে ব্যবহারকারীর ডিভাইসের প্রকারের মতো প্রসঙ্গ বৈশিষ্ট্যগুলি ব্যবহার করা যেতে পারে।

র‌্যাঙ্কিং মডেলের সাথে GAM ব্যবহার করার বিষয়ে আরও তথ্যের জন্য, সম্পর্কিত গবেষণা দেখুন। আপনি টেনসরফ্লো র‌্যাঙ্কিং উদাহরণ কোডে এই কৌশলটির একটি নমুনা বাস্তবায়ন দিয়ে শুরু করতে পারেন।

র‌্যাঙ্কিং সমর্থন বিতরণ করা হয়েছে

টেনসরফ্লো র‌্যাঙ্কিং বৃহৎ-স্কেল র‌্যাঙ্কিং সিস্টেম তৈরির জন্য ডিজাইন করা হয়েছে এন্ড-টু-এন্ড: ডেটা প্রসেসিং, মডেল বিল্ডিং, মূল্যায়ন এবং প্রোডাকশন ডিপ্লয়মেন্ট সহ। এটি ভিন্নধর্মী ঘন এবং বিক্ষিপ্ত বৈশিষ্ট্যগুলি পরিচালনা করতে পারে, লক্ষ লক্ষ ডেটা পয়েন্ট পর্যন্ত স্কেল করতে পারে এবং বৃহৎ-স্কেল র‌্যাঙ্কিং অ্যাপ্লিকেশনগুলির জন্য বিতরণ করা প্রশিক্ষণকে সমর্থন করার জন্য ডিজাইন করা হয়েছে।

টেনসরফ্লো র‌্যাঙ্কিং ক্লাসের ডায়াগ্রাম
চিত্র 3 : বিতরণ প্রক্রিয়াকরণকে সমর্থন করার জন্য টেনসরফ্লো র‌্যাঙ্কিং ক্লাসের ডায়াগ্রাম। সবুজ মডিউলগুলি আপনার র‌্যাঙ্কিং মডেলের জন্য কাস্টমাইজ করা যেতে পারে।

লাইব্রেরি একটি অপ্টিমাইজড র‌্যাঙ্কিং পাইপলাইন আর্কিটেকচার প্রদান করে, যাতে পুনরাবৃত্ত, বয়লারপ্লেট কোড এড়ানো যায় এবং বিতরণ করা সমাধান তৈরি করা যায় যা আপনার র‌্যাঙ্কিং মডেলের প্রশিক্ষণ থেকে এটি পরিবেশন করা পর্যন্ত প্রয়োগ করা যেতে পারে। র‌্যাঙ্কিং পাইপলাইনটি টেনসরফ্লো-এর বেশিরভাগ বিতরণ করা কৌশলগুলিকে সমর্থন করে, যার মধ্যে রয়েছে MirroredStrategy , TPUStrategy , MultiWorkerMirroredStrategy , এবং ParameterServerStrategy । র‌্যাঙ্কিং পাইপলাইন tf.saved_model ফরম্যাটে প্রশিক্ষিত র‌্যাঙ্কিং মডেল রপ্তানি করতে পারে, যা বেশ কিছু ইনপুট স্বাক্ষর সমর্থন করে.. উপরন্তু, র‌্যাঙ্কিং পাইপলাইনটি টেনসরবোর্ড ডেটা ভিজ্যুয়ালাইজেশন এবং ব্যাকআপঅ্যান্ডরেস্টোরের জন্য সমর্থন সহ দরকারী কলব্যাক প্রদান করে যাতে দীর্ঘ-চলমান ব্যর্থতা থেকে পুনরুদ্ধার করা যায়। প্রশিক্ষণ অপারেশন

র‍্যাঙ্কিং লাইব্রেরি tfr.keras.pipeline ক্লাসের একটি সেট প্রদান করে একটি বিতরণকৃত প্রশিক্ষণ বাস্তবায়ন তৈরিতে সহায়তা করে, যা একটি মডেল নির্মাতা, ডেটা নির্মাতা এবং হাইপারপ্যারামিটারগুলিকে ইনপুট হিসাবে গ্রহণ করে। কেরাস-ভিত্তিক tfr.keras.ModelBuilder ক্লাস আপনাকে বিতরণ করা প্রক্রিয়াকরণের জন্য একটি মডেল তৈরি করতে সক্ষম করে এবং এক্সটেনসিবল ইনপুট ক্রিয়েটর, প্রিপ্রসেসর এবং স্কোরার ক্লাসের সাথে কাজ করে:

টেনসরফ্লো র‍্যাঙ্কিং পাইপলাইন ক্লাসগুলি প্রশিক্ষণ ডেটা সেট আপ করতে ডেটাসেট বিল্ডারের সাথেও কাজ করে, যা হাইপারপ্যারামিটারগুলিকে অন্তর্ভুক্ত করতে পারে। অবশেষে, পাইপলাইন নিজেই একটি PipelineHparams অবজেক্ট হিসাবে হাইপারপ্যারামিটারের একটি সেট অন্তর্ভুক্ত করতে পারে।

ডিস্ট্রিবিউটেড র‌্যাঙ্কিং টিউটোরিয়াল ব্যবহার করে ডিস্ট্রিবিউটেড র‌্যাঙ্কিং মডেল তৈরি করা শুরু করুন।