পাঠ্যক্রম খুলুন
অগ্রসর পর্যায়

LLM Token Budget: latency, context ও খরচ

Tokens, Latency, and Cost Budgets

এই পাঠের কুইজ ↓৫ মিনিট পড়াPHP 8.3+ · Laravel 12
এই পাঠের সূচিপত্র

এই পাঠে যা শিখবেন

  • Token ও character আলাদা করুন
  • Context output ও cost budget নির্ধারণ করুন
  • Tenant অনুযায়ী usage admission দিন

সমস্যা দিয়ে শুরু

বাংলা support chat-এ English-এর character estimate দিয়ে token খরচ ধরা হয়েছিল। বড় document আর আগের সব message পাঠানোয় context limit ছাড়াল এবং bill বেড়ে গেল। User উত্তর ছোট চেয়েও model দীর্ঘ text দিচ্ছে।

সহজ করে বুঝি

Token model tokenizer-এর unit; বাংলা শব্দ বা character-এর স্থির অনুপাত নয়। Input, retrieved context, conversation history, tool messages এবং expected output context budget ব্যবহার করে। Provider billing unit ও cached-token policy আলাদা হতে পারে। Accurate estimate model-compatible tokenizer ও actual usage feedback চায়।

পরিচিত একটি উপমা

Suitcase-এর জায়গা শুধু জামার সংখ্যা দিয়ে মাপা যায় না; আকারও লাগে। আগের conversation আর retrieved documents একই suitcase ভরে। জরুরি জিনিস আগে রাখা ও output-এর জন্য খালি জায়গা রাখার মতো input budget ঠিক করতে হয়।

নকশাটি দেখুন

Diagram লোড হচ্ছে…

Token ও character আলাদা করুন
Diagram-এর text flow দেখুন
flowchart LR
 Q[Question] --> B[Budget Planner]
 H[Conversation History] --> B
 R[Retrieved Chunks] --> B
 B --> C[Context Limit Check]
 C --> M[Model with Output Cap]
 M --> U[Actual Usage Ledger]

Planner সব input source-এর estimate একত্র করে। Context check output reserve রাখে। Model request-এ supported output cap পাঠানো হয়। শেষে actual usage ledger-এ record করে estimation calibration হয়। User limit পার হলে silent truncation নয়, সংক্ষিপ্ত context বা explicit response দিন।

PHP ও Laravel-এ প্রয়োগ

PHP budget calculator fragment; $inputTokens trusted tokenizer estimate, rates per million tokens illustrative configuration, বর্তমান provider price নয়। Float accounting final invoice-এর জন্য যথেষ্ট নাও হতে পারে; money decimal বা integer units-এ সংরক্ষণ করুন।

php
$contextLimit = 16000;
$outputReserve = 1000;
$inputTokens = $tokenizer->count($serializedConversation);
if ($inputTokens + $outputReserve > $contextLimit) {
    abort(422, 'Conversation needs shorter context.');
}
$inputRatePerMillion = 1.00;
$outputRatePerMillion = 4.00;
$estimatedCost = ($inputTokens * $inputRatePerMillion
    + $outputReserve * $outputRatePerMillion) / 1_000_000;

logger()->info('generation.budget', [
    'input_tokens_estimate' => $inputTokens,
    'output_token_cap' => $outputReserve,
    'estimated_cost_units' => $estimatedCost,
]);
// Rates here are assumptions for arithmetic, not a vendor price quote.

এটি PHP 8.3+ ও Laravel 12-এর শিক্ষামূলক fragment; সম্পূর্ণ application নয়। সংশ্লিষ্ট route-এ authentication ও resource authorization প্রয়োগ করতে হবে। নিচের অনুশীলনে failure ইচ্ছা করে তৈরি করুন; শুধু সফল response দেখে correctness ধরে নেবেন না।

সুবিধা, সীমাবদ্ধতা ও trade-off

ছোট context cost ও prefill latency কমায় কিন্তু relevant তথ্য বাদ পড়তে পারে। বেশি output cap পূর্ণ উত্তর দেয় কিন্তু latency ও spending বাড়ায়। Summarization memory compact করে, তবে ভুল summary পরের উত্তরেও ভুল ছড়াতে পারে।

সাধারণ ভুল

  • বাংলায় এক শব্দ মানেই এক token বলা।
  • Output reserve ছাড়া context সম্পূর্ণ ভরা।
  • Estimate আর actual bill একই ধরে quota enforcement করা।

আরও একটু গভীরে

Admission-এর সময় maximum expected cost reserve করে completion-এর পরে actual usage দিয়ে settle করা যায়। Concurrent requests আলাদা check করলে একসঙ্গে quota ছাড়াতে পারে; atomic reservation দরকার। Failed বা cancelled generation-এর provider usage আলাদা reconcile করুন।

একই অর্থের বাংলা ও English prompt tokenizer দিয়ে মাপুন। Result model-specific বলে উল্লেখ করুন। তিন concurrent request-এ tenant budget ছোট রাখুন; reservation ছাড়া overspend এবং atomic reservation-এর পার্থক্য দেখুন। Logs-এ raw private prompt না রেখে usage metadata রাখুন।

মনে রাখুন

  • Token estimate model-specific।
  • Output capacity আগেই reserve করুন।
  • Actual usage দিয়ে budget ঠিক করুন।

নিজে চেষ্টা করুন

দশ হাজার token context budget-এ question, history, retrieval ও output-এর বরাদ্দ দিন। Retrieval chunk না কেটে relevance reranking কীভাবে সাহায্য করবে লিখুন।

নিজের বোঝা যাচাই করুন

1. শব্দ আর token?

এক নয়। Tokenization language ও model অনুযায়ী ভিন্ন হয়।

2. Output reserve কেন?

Input-এ সব capacity খরচ হলে generation-এর জায়গা থাকবে না বা request reject হবে।

3. দাম কোথা থেকে?

Chosen deployment-এর documented current pricing; lesson-এর arithmetic rate benchmark বা quote নয়।

4. Quota race কী?

Concurrent request একই available balance দেখে সবাই অনুমোদিত হতে পারে; atomic reservation লাগে।

5. কম context সবসময় ভালো?

না। প্রয়োজনীয় evidence বাদ গেলে quality খারাপ হয়; relevance ও cost একসঙ্গে মাপুন।

আরও পড়ুন

এই পাঠের কুইজ

এই পাঠ থেকে ২টি প্রশ্ন। উত্তর দিয়ে ব্যাখ্যা দেখুন; অধ্যায়ের কুইজ আলাদাভাবে দিতে হবে।

এই পাঠের ২টি প্রশ্নের উত্তর দিন। পাস করতে দুটিই সঠিক হতে হবে।

জমা দেওয়ার পর সঠিক উত্তর ও ব্যাখ্যা দেখবেন। ফলাফল এই ব্রাউজারে সংরক্ষিত থাকবে। অনুশীলনের ফল অধ্যায় সম্পন্নের হিসাবে যোগ হয় না।

সব বিষয় মিলিয়ে অনুশীলন করুন →

অগ্রগতি এই ব্রাউজারে সংরক্ষিত থাকে। শুধু পাঠ খুললে সম্পন্ন হয় না।