খরচ বা ল্যাটেন্সি না বাড়িয়ে কীভাবে আপনার প্রোডাক্টে একটি LLM যুক্ত করবেন
একটি AI ডেমো তৈরি করা সহজ। আপনি একটি API key পান, একটি প্রম্পট লেখেন এবং সেটি আপনার টিমের কাছে দেখান।
তারপর আপনি এটি লঞ্চ করেন। ট্রাফিক আসতে শুরু করে। আপনার খরচ বহুগুণ বেড়ে যায় এবং ল্যাটেন্সি (latency) বৃদ্ধি পায়।
একটি ডেমো থেকে আসল প্রোডাক্টে যাওয়ার জন্য কস্ট এবং ল্যাটেন্সি ইঞ্জিনিয়ারিং প্রয়োজন। এটি করার উপায় নিচে দেওয়া হলো।
আপনার আউটপুট নিয়ন্ত্রণ করুন
বেশিরভাগ API টোকেন অনুযায়ী চার্জ করে। ইনপুট টোকেনের চেয়ে আউটপুট টোকেনের খরচ বেশি।
মানুষ প্রম্পট ছোট করার জন্য সময় ব্যয় করে কিন্তু মডেলকে অপ্রাসঙ্গিক কথা বলতে দেয়। এটি একটি ভুল।
টাকা এবং সময় বাঁচাতে আউটপুট সীমাবদ্ধ রাখুন:
- JSON ফরম্যাটে উত্তর চান।
- একটি মাত্র বাক্যের জন্য অনুরোধ করুন।
- একটি
max_tokensলিমিট সেট করুন। - মডেলকে সংক্ষেপে উত্তর দিতে বলুন।
ছোট উত্তর দ্রুত এবং সাশ্রয়ী।
অপ্রয়োজনীয় কল করা বন্ধ করুন
সাশ্রয় করার সেরা উপায় হলো মডেলটিকে কল না করা।
- ক্যাশিং (caching) ব্যবহার করুন: সাধারণ প্রশ্নগুলোর উত্তর জমা রাখুন। প্রশ্নগুলো যদি হুবহু এক না হয়েও কাছাকাছি হয়, তবে একটি সিম্যান্টিক ক্যাশ (semantic cache) সাহায্য করতে পারে।
- রাউটিং (routing) ব্যবহার করুন: সাধারণ কাজের জন্য আপনার সেরা মডেলটি ব্যবহার করবেন না। ক্লাসিফিকেশনের জন্য একটি ছোট ও সস্তা মডেল ব্যবহার করুন। জটিল কাজের জন্য দামী মডেলটি জমিয়ে রাখুন।
ইউজার এক্সপেরিয়েন্স উন্নত করুন
যদি একটি রেসপন্স আসতে সময় লাগে, তবে সেটিকে দ্রুত বলে মনে করানোর ব্যবস্থা করুন।
- টোকেন স্ট্রিম (Stream tokens) করুন: শব্দগুলো তৈরি হওয়ার সাথে সাথে দেখান। এটি অপেক্ষার অনুভূত সময় কমিয়ে দেয়।
- প্রগ্রেস দেখান: যদি টাস্কটির একাধিক ধাপ থাকে, তবে ব্যবহারকারীকে জানান কী ঘটছে। একটি নিস্তব্ধ স্পিনার (spinner) দেখানোর পরিবর্তে "Searching documents..." এর মতো টেক্সট ব্যবহার করুন।
"টেইল" (tail) ল্যাটেন্সি ম্যানেজ করুন
কিছু রিকোয়েস্ট সবসময়ই ধীরগতির হবে। সেগুলোকে আপনার প্রোডাক্টের ক্ষতি করতে দেবেন না।
- টাইমআউট (timeout) সেট করুন: একটি রিকোয়েস্ট আটকে গেলে কী হবে তা ঠিক করে রাখুন। একটি ফলব্যাক (fallback) বা ছোট মডেল ব্যবহার করুন।
- রিট্রাই (retries) ব্যবহার করুন: ছোটখাটো ভুলের জন্য রিট্রাই যোগ করুন, তবে এর একটি সীমা রাখুন।
- সার্কিট ব্রেকার (circuit breakers) ব্যবহার করুন: যদি কোনো প্রোভাইডার ডাউন হয়ে যায়, তবে দীর্ঘক্ষণ অপেক্ষার হাত থেকে বাঁচতে সাথে সাথে রিকোয়েস্ট পাঠানো বন্ধ করে দিন।
আপনার ডেটা ট্র্যাক করুন
আপনি যা পরিমাপ করতে পারেন না, তা ঠিক করতে পারবেন না। প্রতিটি রিকোয়েস্টের জন্য এই তিনটি সংখ্যা লগ (log) করুন:
- ইনপুট টোকেন।
- আউটপুট টোকেন।
- মোট ল্যাটেন্সি।
প্রতিটি সফল ইউজার আউটকামের জন্য খরচ কত তা দেখুন। একটি ব্যর্থ সস্তা ফিচারের চেয়ে একটি কার্যকর ফিচার অনেক ভালো।
LLM-কে জাদু হিসেবে দেখা বন্ধ করুন। এটিকে একটি ধীরগতির এবং ব্যয়বহুল ডিপেন্ডেন্সি (dependency) হিসেবে বিবেচনা করুন যা আপনাকে অবশ্যই ম্যানেজ করতে হবে।
Optional learning community: https://t.me/GyaanSetuAi
