Interviewer: "আচ্ছা বলুন তো , Data Drift কী এবং LLM-এ এটি কীভাবে শনাক্ত করা যায়?"
আমাদের নিকুঞ্জ তে একটা “বুদ্ধিমান রোবট লাইব্রেরিয়ান” নামে এক স্মার্ট রোবট কাজ করত। তার কাজ ছিল শহরের লোকদের বই সাজেস্ট করা। রোবটটি খুব ভালোভাবে শিখে নিয়েছিল, কে কোন ধরনের বই পছন্দ করে।
📚 রোবট কীভাবে কাজ করত?
যদি কেউ এসে বলত "আমি রহস্য গল্প চাই," রোবট সঙ্গে সঙ্গে শার্লক হোমস বা ফেলুদা সাজেস্ট করত। আবার কেউ যদি বলত "আমি বিজ্ঞান বিষয়ক কিছু পড়তে চাই," রোবট আইনস্টাইনের থিওরি বা কোয়ান্টাম ফিজিক্স সাজেস্ট করত।
শহরের সবাই খুশি ছিল, কারণ রোবট ঠিক তাদের চাহিদা অনুযায়ী বই দিতে পারত।
⚡ কিন্তু একদিন বিপত্তি ঘটল!
একদিন, শহরে হঠাৎ একদল পর্যটক এলো। তারা ছিল বিভিন্ন দেশের মানুষ, তাদের পছন্দ ছিল শহরের লোকদের চেয়ে একেবারেই ভিন্ন!
🧑🚀 "আমার জন্য কি কোনো জাপানি মাঙ্গা কমিকস আছে?"
👩⚕️ "আপনার কাছে কি মেডিকেল রিসার্চ পেপার আছে?"
👨🍳 "আমি রান্নাবিষয়ক নতুন বই খুঁজছি!"
রোবট হতবাক! 🤖💭 "এগুলো তো আমি জানিই না! আমি তো শুধু শহরের লোকদের পছন্দের বই দিতে শিখেছি!"
🔴 এটাই Data Drift!
রোবটের প্রশিক্ষণ ডেটা ছিল শহরের মানুষের পছন্দ অনুযায়ী, কিন্তু নতুন পর্যটকদের বইয়ের চাহিদা একেবারেই আলাদা ছিল। ফলে রোবট নতুন পরিস্থিতির সাথে মানিয়ে নিতে পারছিল না!
🚀 বাস্তব জীবনে Data Drift কীভাবে কাজ করে?
আমরা যখন Large Language Model (LLM) তৈরি করি, তখন সেটি একটি নির্দিষ্ট ডেটাসেট থেকে শেখে। কিন্তু যদি প্রোডাকশনে এমন ধরনের ডেটা আসে, যা মডেল কখনো দেখেনি, তখনই Data Drift ঘটে!
✅ একটি বাস্তব উদাহরণ:
- যদি একটি ভাষা মডেল শুধু ইংরেজি রিভিউ থেকে Sentiment Analysis শেখে, কিন্তু হঠাৎ স্প্যানিশ রিভিউ পায়, তাহলে তার পারফরম্যান্স কমে যাবে।
- একটি চ্যাটবট যদি সাধারণ কাস্টমার সার্ভিসের জন্য ট্রেন করা হয়, কিন্তু হঠাৎ কেউ যদি জটিল মেডিকেল প্রশ্ন করে, তখন সেটি বিভ্রান্ত হয়ে যাবে।
🛠️ তাহলে Data Drift কীভাবে শনাক্ত করা যায়?
আমাদের রোবট যখন বুঝতে পারল, তার ডেটা আগের চেয়ে বদলে গেছে, তখন সে নতুন কৌশল বের করতে লাগল। বাস্তব জীবনে LLM-এ Data Drift বুঝতে ঠিক এভাবেই বিভিন্ন পদ্ধতি ব্যবহার করা হয়!
1️⃣ Euclidean Distance পদ্ধতি
📌 রোবট কী করল?
সে শহরের লোকদের বইয়ের তালিকা আর পর্যটকদের বইয়ের তালিকা তুলনা করল। সে দেখল—
"আরে! এদের পছন্দ তো একেবারেই আলাদা!"
🔹 LLM-এ এই পদ্ধতিতে: Reference (পুরোনো) এবং Current (নতুন) ডেটার মধ্যে গড় দূরত্ব পরিমাপ করা হয়। যদি দূরত্ব বেশি হয়, তাহলে বুঝতে হবে Data Drift হয়েছে।
2️⃣ Cosine Distance পদ্ধতি
📌 রোবট এবার কী করল?
সে ভাবল, "আমার আগের বইয়ের তালিকার সাথে নতুন বইগুলোর কতটা মিল আছে?"
🔹 LLM-এ এই পদ্ধতিতে: Reference এবং Current ডেটার Cosine Similarity বের করা হয়। যদি নতুন ডেটার সাথে আগের ডেটার মিল কম থাকে, তাহলে বুঝতে হবে Data Drift ঘটেছে।
3️⃣ Classifier Model (ডোমেইন ক্লাসিফায়ার পদ্ধতি)
📌 শেষে, রোবট আরেকটি চূড়ান্ত সমাধান বের করল!
সে এমন একটি মডেল বানাল, যা পুরোনো ও নতুন বইয়ের মধ্যে পার্থক্য করতে পারে।
🔹 LLM-এ এই পদ্ধতিতে:
- একটি বাইনারি ক্লাসিফায়ার ট্রেন করা হয়, যা বলে দিতে পারে Reference এবং Current ডেটা আলাদা কিনা।
- ROC AUC Score (0 থেকে 1):
- 0.5 এর কাছাকাছি: ডেটাসেট দু’টির পার্থক্য নেই।
- 1.0: ডেটাসেট দু’টি একেবারে আলাদা, অর্থাৎ সম্পূর্ণ Data Drift হয়েছে!
🔍 উপসংহার: রোবট কী শিখল?
আমাদের রোবট বুঝতে পারল—পুরোনো অভ্যাস দিয়ে নতুন পরিস্থিতি সামলানো যায় না!
ঠিক তেমনই, LLM যখন নতুন ধরনের ডেটার সাথে পরিচিত হয় না, তখনই Data Drift ঘটে।
✅ তাহলে কী করা উচিত?
- নিয়মিত ডেটা মনিটরিং করা
- নতুন ডেটা অনুযায়ী মডেল আপডেট করা
- Drift Detection Algorithms ব্যবহার করা