আপনি যদি লার্জ ল্যাঙ্গুয়েজ মডেলের (LLM) ওপর ভিত্তি করে অ্যাপ্লিকেশন তৈরি করেন, তবে বেতন বা পেরোল (payroll) দেওয়ার পর আপনার ইনফারেন্স (Inference) বিল সম্ভবত আপনার সবচেয়ে দ্রুত বর্ধনশীল খরচ। এর ফলে আপনার প্রোভাইডারের যেকোনো প্রাইসিং আপডেট কেবল মার্কেটিংয়ের শোরগোল নয়, বরং একটি প্রকৃত অপারেশনাল ঘটনা হয়ে দাঁড়ায়। ডেভেলপাররা বর্তমানে LLM হোস্টিং এবং API-এর জন্য যে দুটি প্ল্যাটফর্ম ব্যবহার করেন, Novita এবং StreamLake, তারা সম্প্রতি তাদের রেট বা হার পরিবর্তন করেছে। আপনি একটি সাইড-প্রজেক্ট চ্যাটবট চালান বা একটি প্রোডাকশন SaaS প্রোডাক্ট, এই পরিবর্তনগুলো আপনার ইউনিট ইকোনমিক্স (unit economics) বদলে দেবে। আপনাকে এর খুঁটিনাটি দেখতে হবে, আপনার বার্ন রেট (burn rate) পুনরায় গণনা করতে হবে এবং সিদ্ধান্ত নিতে হবে যে আপনার বর্তমান স্ট্যাক (stack) এখনও যুক্তিযুক্ত কি না।
কেন ইনফারেন্স প্রাইসিং আপনার মনোযোগ পাওয়ার যোগ্য
বেশিরভাগ ডেভেলপার মডেলগুলোর কারণে AI ইঞ্জিনিয়ারিংয়ে আসেন, প্রাইসিং টেবিল পড়ার শখ বলে নয়। এটি একটি ভুল। ইনফারেন্স হলো কনজাম্পশন-ভিত্তিক (consumption-based) ইনফ্রাস্ট্রাকচার। আপনি কোনো নির্দিষ্ট মাসিক ফি প্রদান করেন না; বরং সিস্টেমের মাধ্যমে প্রবাহিত প্রতিটি টোকেনের জন্য আপনাকে অর্থ দিতে হয়। যখন কোনো প্রোভাইডার তাদের রেট কার্ড পরিবর্তন করে, তখন এর প্রভাব হয় তাৎক্ষণিক এবং রৈখিক (linear)। আপনার অ্যাপ্লিকেশন যদি প্রতিদিন গড়ে এক লক্ষ ইউজার কোয়েরি সম্পন্ন করে, তবে প্রতি-টোকেন খরচে সামান্য পরিবর্তনও আপনার মাসিক ইনভয়েসে একটি লক্ষণীয় পার্থক্য তৈরি করতে পারে।
প্রোভাইডাররা সাধারণত ইনপুট এবং আউটপুট টোকেনের ওপর ভিত্তি করে প্রাইসিং নির্ধারণ করে। ইনপুট টোকেনের মধ্যে প্রম্পট, সিস্টেম ইনস্ট্রাকশন এবং উইন্ডোতে দেওয়া যেকোনো কনটেক্সট অন্তর্ভুক্ত থাকে। আউটপুট টোকেন হলো মডেল যা জেনারেট করে। কিছু প্রোভাইডার উভয় ক্ষেত্রেই একই রেট চার্জ করে; অন্যরা আউটপুটকে উল্লেখযোগ্যভাবে বেশি দামী করে তোলে কারণ জেনারেশন বা উৎপাদন করা কম্পিউটেশনালি অনেক বেশি কঠিন। যখন Novita বা StreamLake তাদের প্রাইসিং আপডেট করে, তখন গুরুত্বপূর্ণ প্রশ্নটি কেবল "এটি কি সস্তা হয়েছে নাকি দামী হয়েছে?" তা নয়। প্রশ্নটি হলো, "সমীকরণের কোন অংশটি পরিবর্তিত হয়েছে এবং কতটা?"
আরও কিছু কম দৃশ্যমান খরচ বা কস্ট ড্রাইভার রয়েছে। দীর্ঘ কনটেক্সট উইন্ডো প্রায়শই একটি নির্দিষ্ট টোকেন থ্রেশহোল্ডের পরে প্রিমিয়াম টায়ার সক্রিয় করে দেয়। কিছু প্রোভাইডার ন্যূনতম টোকেন কাউন্টসহ প্রতি অনুরোধের (per request) ভিত্তিতে বিল করে, যার অর্থ হলো একটি মাত্র শব্দের কোয়েরির জন্যও আপনাকে ন্যূনতম খরচ দিতে হবে। রেট লিমিট আপনাকে উচ্চতর কনকারেন্সি টায়ারে নিয়ে যেতে পারে যেখানে অতিরিক্ত সারচার্জ দিতে হয়। আপনি যদি শর্তাবলির খুঁটিনাটি (fine print) না পড়েন, তবে আপনি ধরে নিতে পারেন যে আপনার খরচ অপরিবর্তিত রয়েছে, অথচ আপনার বিল নিঃশব্দে বাড়তে পারে।
Novita এবং StreamLake-এ কী পরিবর্তন হয়েছে
Novita একটি সার্ভারলেস ইনফারেন্স প্ল্যাটফর্ম হিসেবে কাজ করে, যা ডেভেলপারদের GPU ক্লাস্টার ম্যানেজ করার ঝামেলা ছাড়াই ওপেন-ওয়েট মডেলগুলোতে API অ্যাক্সেস দেয়। StreamLake বড় পরিসরে মডেল চালানোর জন্য অনুরূপ ইনফ্রাস্ট্রাকচার পরিষেবা প্রদান করে। উভয়ই সম্প্রতি তাদের LLM প্রাইসিং সংশোধন করেছে, যার অর্থ হলো তাদের এন্ডপয়েন্টের মাধ্যমে একটি রিকোয়েস্ট পাঠানোর খরচ পরিবর্তিত হয়েছে।
যেহেতু এই প্ল্যাটফর্মগুলো একাধিক মডেল ফ্যামিলি সাপোর্ট করে এবং প্রায়শই মডেলের আকার ও কনটেক্সট দৈর্ঘ্যের ভিত্তিতে প্রাইসিং আলাদা করে, তাই একটি মাত্র "প্রাইস চেঞ্জ" ঘোষণা অনেক তথ্য লুকিয়ে রাখতে পারে। একটি মডেল সস্তা হতে পারে আবার অন্যটি আরও দামী হতে পারে। ৪K টোকেনের নিচের কনটেক্সট উইন্ডোর দাম অপরিবর্তিত থাকতে পারে, যেখানে ১২৮K কনটেক্সটের ক্ষেত্রে প্রিমিয়াম অ্যাডজাস্টমেন্ট দেখা দিতে পারে। ব্যাচ প্রসেসিং বা অফ-পিক ব্যবহারের জন্য ডিসকাউন্ট আসতে পারে বা চলে যেতে পারে। এই সূক্ষ্ম বৈচিত্র্যের কারণেই আপনি কেবল হেডলাইন দেখে সন্তুষ্ট হতে পারবেন না। আপনার প্রকৃত রেট কার্ড প্রয়োজন।
সঠিক পার্থক্যগুলো সম্বলিত ডেভেলপার ব্রেকডাউন মূল আপডেট পেজে পাওয়া যাবে। আগামী সপ্তাহে আবার পরিবর্তিত হতে পারে এমন সংখ্যার ওপর অনুমান না করে, সরাসরি উৎস থেকে বর্তমান তথ্যগুলো সংগ্রহ করুন এবং আপনার শেষ ইনভয়েসের সাথে লাইন-বাই-লাইন তুলনা করুন।
আপনার স্ট্যাকে এর প্রভাব কীভাবে অডিট করবেন
যখন আপনি কোনো প্রাইসিং পরিবর্তনের খবর পাবেন, আতঙ্কিত হওয়া বা উদযাপন করার আগে আপনার নিজস্ব ব্যবহারের ওপর একটি দ্রুত ডায়াগনস্টিক চালান।
১. আপনার টোকেন হিস্টোগ্রাম (token histogram) এক্সপোর্ট করুন। বেশিরভাগ প্রোভাইডার ব্যবহারের ড্যাশবোর্ড বা API লগ প্রদান করে যা ইনপুট বনাম আউটপুট ব্যবহারের বিস্তারিত দেখায়। অনুপাতটি দেখুন। আপনার অ্যাপ্লিকেশন যদি সিস্টেম প্রম্পট এবং RAG কনটেক্সটের ওপর বেশি নির্ভরশীল হয়, তবে আপনি ইনপুট-বায়াসড (input-biased)। আর যদি আপনি দীর্ঘ নিবন্ধ, কোড বা মাল্টি-স্টেপ রিজনিং চেইন জেনারেট করেন, তবে আপনি আউটপুট-বায়াসড (output-biased)। আপনার এই বায়াস বা প্রবণতাকে প্রাইস মুভমেন্টের সাথে মিলিয়ে দেখুন। ইনপুট-প্রাইস কমানো RAG পাইপলাইনের জন্য সহায়ক; অন্যদিকে আউটপুট-প্রাইস বৃদ্ধি রাইটিং অ্যাসিস্ট্যান্টের জন্য ক্ষতিকর।
২. ভলিউম অনুযায়ী আপনার শীর্ষ পাঁচটি মডেল চিহ্নিত করুন। আপনি ক্লাসিফিকেশনের জন্য একটি দ্রুত ও সস্তা মডেল এবং সামারাইজেশনের জন্য একটি বড় মডেল ব্যবহার করতে পারেন। প্রাইসিং পরিবর্তন খুব কমই পুরো ক্যাটালগে একইভাবে প্রযোজ্য হয়। যদি Novita বা StreamLake ছোট ক্লাসিফায়ারের রেট পরিবর্তন করে কিন্তু বড় মডেলটির রেট অপরিবর্তিত রাখে, তবে প্রতি রিকোয়েস্টের জন্য আপনার মিশ্র গড় খরচ (blended average cost) খুব সামান্যই পরিবর্তিত হতে পারে।
৩. বান্ডেলড পরিবর্তনগুলো যাচাই করুন। মাঝে মাঝে একটি দামের পরিবর্তনের সাথে context-window সম্প্রসারণ, একটি নতুন fine-tuning endpoint, অথবা সংশোধিত rate limits আসতে পারে। যদি প্রোভাইডার আপনার ব্যবহারকারীর অভিজ্ঞতা নষ্ট করা concurrency দ্বিগুণ করে দেয় এবং queueing বিলম্ব দূর করে, তবে প্রতি-টোকেন উচ্চ খরচ সহ্য করা সম্ভব হতে পারে। খরচ কেবল একটি চলক; ল্যাটেন্সি এবং নির্ভরযোগ্যতাও সমান গুরুত্বপূর্ণ।
৪. আগামী ত্রিশ দিনের মডেল তৈরি করুন। গত সপ্তাহের টোকেন সংখ্যা নিন, নতুন রেট প্রয়োগ করুন এবং একটি মাসিক রান রেট প্রজেক্ট করুন। যদি পার্থক্য পাঁচ শতাংশের নিচে হয় এবং আপনি এখনও ভালো ল্যাটেন্সি পাচ্ছেন, তবে সম্ভবত API মাইগ্রেট করার খরচ সেই সাশ্রয়ের চেয়ে বেশি হবে। যদি পার্থক্য পঁচিশ শতাংশ হয়, তবে এটি আলোচনার মাধ্যমে দরদাম করার, অপ্টিমাইজ করার বা বিকল্প খোঁজার সময়।
ইনফারেন্স খরচ অনুমানযোগ্য রাখার কৌশলসমূহ
এমনকি Novita এবং StreamLake যদি দাম অপরিবর্তিত রাখত, তবুও টোকেন খরচের ব্যাপারে আপনাকে সতর্ক থাকতে হতো। এখানে কিছু ব্যবহারিক অভ্যাস দেওয়া হলো যা মডেল কে হোস্ট করছে তার ওপর নির্ভর না করেই আপনার মার্জিন রক্ষা করবে।
আপনার প্রম্পট সংকুচিত করুন। আপনার system prompt-এ প্রতিটি অপ্রয়োজনীয় বাক্য প্রতিটি রিকোয়েস্টের ওপর একটি অতিরিক্ত করের মতো। অপ্রয়োজনীয় শব্দ সরিয়ে ফেলুন, আপনার JSON schemas-এ সংক্ষিপ্ত লেবেল ব্যবহার করুন এবং বারবার আসা নির্দেশাবলী বাদ দিন। আপনি যদি কোনো প্রম্পট নিয়ে কাজ করেন, তবে সেটি ডেপ্লয় করার আগে একটি tokenizer দিয়ে টোকেন সংখ্যা পরিমাপ করে নিন। প্রতি রিকোয়েস্টে একশ বাইট সাশ্রয় করা বড় পরিসরে প্রকৃত অর্থ সাশ্রয় করে।
নির্ধারিত (deterministic) কুয়েরিগুলো ক্যাশ করুন। যদি আপনার ব্যবহারকারীরা ঘন ঘন একই প্রশ্ন করেন বা যদি আপনার ব্যাকএন্ড ওভারল্যাপিং ডেটার ওপর একই ক্লাসিফিকেশন টাস্ক চালায়, তবে ফলাফলটি কয়েক মিনিট বা কয়েক ঘণ্টার জন্য সংরক্ষণ করুন। আপনার LLM ক্লায়েন্টের সামনে একটি পাতলা caching layer ব্যবহার করলে মডেলের গুণমান পরিবর্তন না করেই ভলিউম অর্ধেক কমিয়ে আনা সম্ভব।
টাস্ক অনুযায়ী মডেল পরিবর্তন করুন। প্রতিটি অপারেশনের জন্য প্ল্যাটফর্মের সবচেয়ে সক্ষম এবং সবচেয়ে ব্যয়বহুল মডেলের প্রয়োজন নেই। সহজ কাজগুলো ছোট এবং সস্তা checkpoints-এ পাঠান এবং জটিল বা edge cases-এর জন্য ভারী মডেলগুলো সংরক্ষণ করুন। যদি StreamLake বা Novita তাদের মিড-টিয়ার মডেলগুলোকে আরও প্রতিযোগিতামূলক করতে প্রাইসিং পরিবর্তন করে থাকে, তবে সেটি আপনার রাউটিং রুলস পুনরায় ভারসাম্যপূর্ণ করার একটি সংকেত।
টোকেন সিলিং (ceiling) প্রয়োগ করুন। আপনার generation calls-এ আউটপুট দৈর্ঘ্যের ওপর একটি কঠোর সীমা বা সিলিং নির্ধারণ করুন। যদি ব্যবহারকারী একটি সারসংক্ষেপ চায়, তবে মডেলটিকে এক হাজার টোকেন পর্যন্ত কথা বলতে না দিয়ে দুইশ টোকেনে সীমাবদ্ধ রাখুন। আপনার ব্যবহারকারীরা সাধারণত সংক্ষিপ্ত উত্তরই পছন্দ করেন।
রিজার্ভড ক্যাপাসিটি বা কমিটমেন্ট ডিসকাউন্টের দিকে নজর দিন। যদি আপনার ভলিউম স্থিতিশীল হয়, তবে serverless per-token প্রাইসিং কম্পিউট কেনার সবচেয়ে ব্যয়বহুল উপায় হতে পারে। কিছু প্রোভাইডার রিজার্ভড থ্রুপুট (reserved throughput) বা এন্টারপ্রাইজ কমিটমেন্ট অফার করে যা কম ইউনিটের রেটের বিনিময়ে নমনীয়তা ত্যাগ করতে বলে। প্রাইসিং পরিবর্তনের ঘটনাটি তাদের সেলস টিমের কাছে মার্কেটিং সাইটে প্রকাশিত নয় এমন লুকানো টায়ার সম্পর্কে জিজ্ঞাসা করার একটি ভালো সুযোগ।
বিস্তারিত কোথায় অনুসরণ করবেন
যেহেতু LLM ইনফ্রাস্ট্রাকচার মার্কেট খুব দ্রুত পরিবর্তিত হচ্ছে, তাই স্থির নিবন্ধগুলো দ্রুত পুরনো হয়ে যায়। ঠিক কোন Novita এবং StreamLake endpoint পরিবর্তন হয়েছে, কতটা পরিবর্তন হয়েছে এবং কোন মডেলগুলো প্রভাবিত হয়েছে তার সম্পূর্ণ বিবরণ লিঙ্ক করা ডেভেলপার আপডেটে তালিকাভুক্ত করা আছে।
আপনি যদি অন্যান্য বিল্ডারদের সাথে চলমান আলোচনা করতে চান যারা প্রোভাইডার প্রাইসিং, বিলিং ট্রিকস এবং মডেল পারফরম্যান্স ট্র্যাক করছেন, তবে GyaanSetu Telegram কমিউনিটি উন্মুক্ত রয়েছে। প্ল্যাটফর্মগুলো যখন তাদের রেট পরিবর্তন করে এবং আপনার স্ট্যাক রিফ্যাক্টর করা উচিত নাকি খরচ মেনে নেওয়া উচিত সে বিষয়ে দ্বিতীয় মতের প্রয়োজন হয়, তখন এটি নোট তুলনা করার জন্য একটি দরকারী জায়গা।
মূল শিক্ষা
প্রাইসিং পরিবর্তন কেবল ভেন্ডর নিউজ নয়; এগুলো সংকেত যে আপনার খরচের অনুমানগুলোর সাথে বাস্তবতার নতুন করে সমন্বয় করা প্রয়োজন। Novita এবং StreamLake তাদের LLM রেট আপডেট করেছে, যার মানে হলো আপনি তিন মাস আগে যে স্প্রেডশিট তৈরি করেছিলেন তা সম্ভবত ভুল। আপনার ব্যবহারের ডেটা সংগ্রহ করুন, নতুন রেট কার্ড প্রয়োগ করুন, আপনার রাউটিং লজিক পরীক্ষা করুন এবং সিদ্ধান্ত নিন যে অপ্টিমাইজ করবেন, দরদাম করবেন নাকি মাইগ্রেট করবেন। ইনফারেন্স কোনো স্থির খরচ (fixed overhead) নয়; এটি একটি পরিবর্তনশীল খরচ যা আপনার সাফল্যের সাথে বৃদ্ধি পায়। এটিকে সেইভাবেই বিবেচনা করুন।
