আগের একটি পাঠে LLM কীভাবে টেক্সট পূর্বাভাস দিতে শেখে তা আলোচিত হয়েছিল। এই পাঠে দুটি উপায় আলোচনা করা হবে যেভাবে পেশাদাররা একটি সাধারণ-উদ্দেশ্য মডেলকে একটি নির্দিষ্ট প্রয়োজনে খাপ খাওয়ান — ফাইন-টিউনিং আর RAG — আর দ্বিতীয়টিতে গভীরে যাওয়া হবে, যেহেতু দুই পাঠ আগের ডকুমেন্ট চ্যাটবটটি আসলে এটির উপরই তৈরি হয়েছিল।
ফাইন-টিউনিং মানে একটি ইতিমধ্যে-প্রশিক্ষিত মডেল নিয়ে সেটিকে একটি নির্দিষ্ট, সংকীর্ণ ডেটাসেটে আরও প্রশিক্ষণ দেওয়া, আসলে এর অভ্যন্তরীণ প্যারামিটার সমন্বয় করা। প্রম্পটিং (RAG সহ) মডেলটিকে সম্পূর্ণ অপরিবর্তিত রাখে আর এর বদলে আপনি যখন জিজ্ঞাসা করেন তখন আপনি যা পাঠান তার মাধ্যমে এর আচরণ গঠন করে।
| ফাইন-টিউনিং | প্রম্পটিং / RAG | |
|---|---|---|
| মডেল নিজেই বদলায়? | হ্যাঁ — নতুন তথ্যে আবার প্রশিক্ষণ নেয় | না — মডেল ঠিক আগের মতোই থাকে |
| খরচ আর পরিশ্রম | উল্লেখযোগ্য — একটি প্রস্তুত ডেটাসেট আর প্রকৃত প্রশিক্ষণ সময় প্রয়োজন | কম — শুধু একটি ভালো প্রম্পট লিখুন বা প্রাসঙ্গিক প্রসঙ্গ যোগ করুন |
| সবচেয়ে ভালো যেক্ষেত্রে | একটি সামঞ্জস্যপূর্ণ টোন, ফরম্যাট, বা বিশেষায়িত দক্ষতা শেখানো যা মডেলে ডিফল্টভাবে নেই | মডেলকে এমন তথ্য দেওয়া যা এটি জানে না, বা যে তথ্য প্রায়ই বদলায় |
| পুনরাবৃত্তির গতি | ধীর — প্রতিটি পরিবর্তনের মানে আবার প্রশিক্ষণ | দ্রুত — তাৎক্ষণিকভাবে বদলান আর টেস্ট করুন |
বাস্তবে, বেশিরভাগ বাস্তব অ্যাপ্লিকেশন প্রথমে প্রম্পটিং আর RAG-এর দিকে যায়, যেহেতু এগুলো পুনরাবৃত্তি করা নাটকীয়ভাবে সস্তা আর দ্রুত — ফাইন-টিউনিং একটি আরও বিশেষায়িত টুল যখন প্রম্পটিং সত্যিই যথেষ্ট নয়।
একটি LLM-এর একটি প্রশিক্ষণ সীমা তারিখ আছে আর আপনার প্রাইভেট তথ্যে কোনো অ্যাক্সেস নেই। আপনি যদি এমন একটি চ্যাটবট চান যা আপনার নির্দিষ্ট কোম্পানির পণ্য, নীতি, বা ডকুমেন্টেশন জানে, আপনি শুধু প্রতিটি প্রম্পটে সবকিছু পেস্ট করতে পারবেন না — এটি অনেক বেশি লম্বা আর ব্যয়বহুল হবে — আর এর জন্য মডেল আবার প্রশিক্ষণ দেওয়া অত্যন্ত ব্যয়বহুল। Retrieval-Augmented Generation (RAG) মডেল স্পর্শ না করেই এটি সমাধান করে।
লাইব্রেরির উপমা
একটি সাধারণ LLM এমন একজন অধ্যাপকের মতো যিনি একটি নির্দিষ্ট তারিখের আগে প্রকাশিত প্রচুর বই পড়েছেন, কিন্তু এরপর আর কিছু খুঁজে দেখতে পারেন না। RAG এমন যেন সেই একই অধ্যাপককে আপনার নির্দিষ্ট প্রাইভেট লাইব্রেরিতে অ্যাক্সেস দেওয়া, আর আপনার প্রশ্নের উত্তর দেওয়ার আগে তাকে দ্রুত প্রাসঙ্গিক পাতা খুঁজে বের করতে দেওয়া।
| ধাপ | কী ঘটে |
|---|---|
| ১. ইনজেস্ট | আপনার ডকুমেন্ট (একটি PDF, একটি ওয়েবসাইট, অভ্যন্তরীণ ডকুমেন্ট) ছোট চাংকে ভাগ করা হয় — প্রতিটি কয়েকশ শব্দের। |
| ২. এমবেড | একটি এমবেডিং মডেল ব্যবহার করে প্রতিটি চাংক একটি গাণিতিক ভেক্টরে — সংখ্যার একটি লম্বা তালিকা — রূপান্তরিত হয়। একই রকম অর্থ একই রকম ভেক্টর তৈরি করে, আর এগুলো একটি ভেক্টর ডেটাবেসে জমা থাকে। |
| ৩. রিট্রিভ | একজন ব্যবহারকারী প্রশ্ন করলে, প্রশ্নটি নিজেই একটি ভেক্টরে রূপান্তরিত হয়, আর সিস্টেম সেই সংরক্ষিত চাংক খুঁজে বের করে যাদের ভেক্টর এর সবচেয়ে কাছাকাছি — আপনার ডকুমেন্টের সবচেয়ে প্রাসঙ্গিক অংশ। |
| ৪. জেনারেট | প্রশ্ন প্লাস সেই খুঁজে পাওয়া চাংক একসাথে LLM-এ পাঠানো হয়: "শুধু এই প্রসঙ্গের ভিত্তিতে, এই প্রশ্নের উত্তর দিন।" মডেলটি এর সাধারণ প্রশিক্ষণ থেকে নয়, আপনার প্রকৃত তথ্য থেকে উত্তর দেয়। |
এটাই ঠিক সেই প্রক্রিয়া যা অটোমেশন পাঠের LangChain উদাহরণটি কোডে বাস্তবায়ন করেছিল — এখন আপনি জানেন এর পাঁচটি ধাপের প্রতিটি ভেতরে ভেতরে আসলে কী করছিল।
একটি ভেক্টর ডেটাবেস বিশেষভাবে এই সংখ্যাসূচক ভেক্টর দক্ষতার সাথে সংরক্ষণ আর সার্চ করতে তৈরি, লক্ষ লক্ষ চাংকের মধ্যে সেকেন্ডের একটি ভগ্নাংশে সবচেয়ে কাছের মিল খুঁজে বের করে — একটি বিশেষায়িত কাজের জন্য একটি বিশেষায়িত টুল, ঠিক যেভাবে একটি সাধারণ ডেটাবেস অর্থ-ভিত্তিক সাদৃশ্যের বদলে সারি আর কলামের জন্য অপ্টিমাইজ করা।
এখন আপনি একটি মডেলের আচরণ খাপ খাওয়ানো আর এটিকে বাস্তব তথ্যে ভিত্তি করা দুটোই বোঝেন। পরের পাঠে আরও এগিয়ে যাওয়া হবে — উত্তর দেওয়া একটি মডেল থেকে আসলে কাজ করতে পারে এমন একটিতে।