একজন ডেভেলপার একটি ৩৫০-মিলিয়ন-প্যারামিটার বিশিষ্ট ল্যাঙ্গুয়েজ মডেল নিয়ে সেটিকে ফাইন-টিউন করেছেন এবং একটি সম্পূর্ণ কার্যকরী AI অ্যাসিস্ট্যান্ট হিসেবে মোতায়েন করেছেন যা যেকোনো আধুনিক ওয়েব ব্রাউজারের ভেতরে চলে—কোনো সার্ভার কল নেই, কোনো API কী নেই, এমনকি কোনো ক্লাউড বিলও নেই।
এই প্রজেক্টটি একটি স্ট্যাটিক ওয়েবপেজের সাথে মডেলের ওয়েটস (weights) সরবরাহ করে, যা এজেন্টকে টুলস বেছে নিতে, আর্গুমেন্ট বাইন্ড করতে, “the second one”-এর মতো রেফারেন্স সমাধান করতে এবং তথ্য না থাকলে উত্তর দিতে অস্বীকার করতে সাহায্য করে—আর এই পুরো প্রক্রিয়া চলাকালীন আপনার ডেটা আপনার নিজের ডিভাইসেই থাকে।
কীভাবে ব্রাউজার-ভিত্তিক এজেন্টটি তৈরি করা হয়েছে
এর শুরুর বিন্দু ছিল LiquidAI-এর LFM2.5 ফ্যামিলি, বিশেষ করে ২৩০M এবং ৩৫০M প্যারামিটার ভেরিয়েন্টগুলো।
মডেলের মধ্যে প্রোডাক্ট ক্যাটালগ বা প্রাইস টেবিল ঠাসাঠাসি করে না ঢুকিয়ে, ট্রেইনার একে ইন্টারঅ্যাকশনের প্যাটার্ন বা ধরন শিখিয়েছেন। এজেন্ট কখনোই কোনো নির্দিষ্ট SKU জানে না; বরং এটি শেখে কীভাবে:
- একটি নির্দিষ্ট অনুরোধের জন্য উপযুক্ত টুল বেছে নেওয়া।
- সেই টুলের জন্য সঠিক আর্গুমেন্ট এবং আইডেন্টিফায়ার বাইন্ড করা।
- অস্পষ্ট রেফারেন্স ব্যাখ্যা করা (“a dozen,” “the second one”)।
- বাইরের টেক্সট সংগ্রহ করা এবং তা ব্যবহার করে প্রশ্নের উত্তর দেওয়া।
- প্রয়োজনীয় তথ্য না থাকলে উত্তর দিতে অস্বীকার করা।
- কথোপকথন মূল বিষয়ের ওপর রাখা।
টুলসেটটি উদ্দেশ্যমূলকভাবে স্ট্যাটিক রাখা হয়েছে: list_items, get_item, search_knowledge, add_to_cart, remove_from_cart, clear_cart, checkout, এবং navigate। এই তালিকাটি স্থির রাখার ফলে মডেলটি টুল আইডিগুলো মুখস্থ করতে পারে না এবং ফাইন-টিউনিং ডেটার আকারও ছোট থাকে।
তিনটি ইঞ্জিনিয়ারিং সিদ্ধান্ত সিস্টেমটিকে লাইটওয়েট রাখতে সাহায্য করে:
- Frozen tool roster – মডেলটি কাজের একটি নির্দিষ্ট তালিকা দেখে, তাই এর টুল নামের জন্য বিশাল শব্দভাণ্ডারের প্রয়োজন হয় না।
- RAG as a tool – Retrieval-augmented generation (RAG) অন্য যেকোনো ফাংশনের মতো কাজ করে। এজেন্ট টেক্সট আনার জন্য
search_knowledgeকল করে, তারপর সেই টেক্সটটি সরাসরি তার উত্তরে যুক্ত করে দেয়; এতে আলাদা কোনো রিট্রিভাল পাইপলাইন ব্যবহারের প্রয়োজন হয় না, যা ল্যাটেন্সি এবং মেমরি ওভারহেড কমায়। - Grammar-constrained decoding – জেনারেশনের সময় ডিকোডার একটি সহজ গ্রামার অনুসরণ করে যা আউটপুটকে একটি বৈধ টুল-কল স্ট্রাকচারে বাধ্য করে। এই সীমাবদ্ধতা অপ্রয়োজনীয় টোকেন অপচয় রোধ করে এবং ভুল কমান্ডের সংখ্যা কমায়।
প্রশিক্ষণে সিন্থেটিক ডেটা ডিস্টিলেশন (synthetic data distillation) ব্যবহার করা হয়েছে। লেখক ১৮টি ইন্টারঅ্যাকশন রেসিপি সংজ্ঞায়িত করেছেন, যার প্রতিটি একজন ব্যবহারকারী এবং অ্যাসিস্ট্যান্টের মধ্যকার সাধারণ কথোপকথন বর্ণনা করে। একটি বড় “teacher” মডেল ন্যাচারাল-ল্যাঙ্গুয়েজ অংশটি তৈরি করেছে, আর একটি ডিটারমিনিস্টিক স্ক্রিপ্ট সঠিক টুল-কল ফরম্যাট তৈরি করেছে। ফাইন-টিউনিং প্রক্রিয়ায় প্রায় ৩০ মিলিয়ন টোকেন ব্যবহৃত হয়েছে এবং এটি ১৬ জিবি মেমরি সম্পন্ন একটি মাত্র জিপিইউ-তে চালানো সম্ভব হয়েছে।
কেন অন-ডিভাইস (on-device) গুরুত্বপূর্ণ
- Privacy – সমস্ত ইউজার প্রম্পট ব্রাউজারের মেমরিতে থাকে। ডিভাইস থেকে কোনো টেলিমেট্রি বাইরে যায় না, যা সংবেদনশীল অনুসন্ধানের ক্ষেত্রে অত্যন্ত গুরুত্বপূর্ণ।
- Offline capability – মডেলটি লোকালি ক্যাশ করা থাকায় ইন্টারনেট সংযোগ ছাড়াই অ্যাসিস্ট্যান্টটি কাজ করতে পারে, যা ফিল্ড ওয়ার্ক বা ভ্রমণের ক্ষেত্রে নতুন সম্ভাবনা তৈরি করে।
- Cost – স্ট্যাটিক মডেল ফাইল সরবরাহ করার ফলে বারবার জিপিইউ-চালিত ইনফারেন্স সার্ভার বা প্রতিবার কল করার জন্য এপিআই (API) ফি দেওয়ার প্রয়োজন হয় না।
- Accessibility – কম ক্ষমতার ডিভাইসেও জটিল ওয়েব ইন্টারফেসের ভয়েস-চালিত নেভিগেশন সম্ভব হয়, যা সহায়ক প্রযুক্তির (assistive technology) ওপর নির্ভরশীল ব্যবহারকারীদের কাছে ওয়েব অ্যাপ্লিকেশনগুলোর পরিধি বাড়িয়ে দেয়।
এই সুবিধাগুলো আলোচনার মোড় “একটি বিশাল মডেল কি এটি উত্তর দিতে পারবে?” থেকে ঘুরিয়ে “একটি মডেল কতটা ছোট হতে পারে যা দিয়ে তবুও কার্যকর সহায়তা পাওয়া সম্ভব?”—এতে নিয়ে আসে।
সম্ভাব্য সীমাবদ্ধতা
এই আকারের একটি মডেল এনসাইক্লোপেডিক তথ্য মনে রাখতে পারে না। যখন কোনো ব্যবহারকারী নির্দিষ্ট পণ্যের দাম বা সাম্প্রতিক কোনো খবরের শিরোনাম জানতে চান, তখন অ্যাসিস্ট্যান্ট হয় search_knowledge-এর মাধ্যমে তথ্যটি খুঁজে বের করে অথবা বিনয়ের সাথে উত্তর দিতে অস্বীকার করে। এই ডিজাইনটি গোপনীয়তা রক্ষা করে কিন্তু সিস্টেমটিকে তার বাহ্যিক জ্ঞান উৎসের গুণমান এবং নতুনত্বের ওপর নির্ভরশীল করে তোলে।
পরবর্তীতে যা লক্ষ্য রাখা উচিত
পাবলিক ডেমোটি একটি সাধারণ GitHub Pages ইউআরএল-এ রয়েছে এবং এর সোর্স কোড সবার জন্য উন্মুক্ত।
মূল কথা (Takeaway): একটি মাঝারি আকারের LLM-কে একটি কঠোর টুল গ্রামার অনুসরণ করতে শেখানোর মাধ্যমে এবং রিট্রিভালকে (retrieval) কেবল আরেকটি ফাংশন হিসেবে বিবেচনা করার মাধ্যমে, ডেভেলপাররা এমন একটি দরকারী AI অ্যাসিস্ট্যান্ট তৈরি করতে পারেন যা সম্পূর্ণভাবে ব্রাউজারের ভেতরেই কাজ করে—যা মূল কথোপকথন করার ক্ষমতা বিসর্জন না দিয়েই গোপনীয়তা, অফলাইন ব্যবহার এবং শূন্য ক্লাউড খরচ নিশ্চিত করে।
