GPU VPS বনাম API টোকেন: খরচ সাশ্রয়ের ব্রেক-ইভেন পয়েন্ট
GPU VPS ভাড়া করা বনাম প্রতি-টোকেন API বিলিংয়ের মধ্যে কোনটি সাশ্রয়ী তা জানুন। আমরা মাসিক টোকেন ভলিউম এবং নির্দিষ্ট গাণিতিক ফর্মুলা বিশ্লেষণ করেছি যা আপনাকে খরচের সঠিক হিসাব দেবে।
বাস্তবে break-even কোথায়
একটি GPU VPS তখনই token-ভিত্তিক API billing-এর চেয়ে সাশ্রয়ী হয়, যখন নির্দিষ্ট মাসিক ভাড়া ভাগ করে ওই মাসে আপনি যে output token সত্যিই তৈরি করেন তার সংখ্যা দিয়ে পাওয়া খরচ, একই token-এর জন্য API যে মূল্য নেয় তার চেয়ে কম হয়। ভাড়া অপরিবর্তিত থাকে। প্রতিটি request-এর সঙ্গে API bill পরিবর্তিত হয়। তাই উত্তরটি সবসময় একটি মাসিক volume, সরাসরি হ্যাঁ বা না নয়।
$0.50 প্রতি ঘণ্টা দামের একটি mid-range GPU VPS ধরে হিসাব করুন। 730-hour মাসে এর খরচ $365। একটি frontier model API-এর ক্ষেত্রে break-even হবে প্রতি মাসে 24.3 million output token-এ। একটি ছোট commercial model-এর ক্ষেত্রে তা হবে 73 million। একই আকারের একটি hosted open-weight model-এর ক্ষেত্রে আপনি কখনো break-even-এ পৌঁছাবেন না, কারণ একটি card এক মাসে crossing point-এ পৌঁছানোর মতো পর্যাপ্ত token তৈরি করতে পারে না।
প্রকাশিত break-even study-গুলো এই প্রশ্নের উত্তর দেয় না। July 2026-এর একটি vendor analysis অনুযায়ী, $2.00 প্রতি ঘণ্টা দামের একটি dedicated H100 এবং serverless inference তুলনা করলে crossover প্রায় 50% utilisation-এ হয়। এ ধরনের study-তে dedicated data-centre card-কে serverless product-এর সঙ্গে তুলনা করা হয় এবং accelerator-এর জন্য এখানে ব্যবহৃত hourly rate-এর কয়েক গুণ দাম ধরা হয়। Arithmetic একই থাকে। পরের হিসাবটি একটি card, 7B থেকে 30B range-এর একটি open model এবং সাধারণ metered API billing ধরে নতুন করে করা হয়েছে।
নিচের প্রতিটি সংখ্যা একটি input, result নয়। সবগুলো নিজের মান দিয়ে প্রতিস্থাপন করুন।
সূত্রটি, যাতে আপনি আপনার নিজস্ব সংখ্যা বসাতে পারেন
cost_per_million = (hourly_rate * 1000000) / (tokens_per_second * 3600 * duty_cycle)
breakeven_millions_per_month = (hourly_rate * hours_per_month) / api_price_per_million
capacity_millions_per_month = (tokens_per_second * 3600 * hours_per_month) / 1000000
required_duty_cycle = breakeven_millions_per_month / capacity_millions_per_monthচারটি ইনপুট, যার সবগুলোই আপনি পরিমাপ করতে পারেন বা খুঁজে বের করতে পারেন।
hourly_rateহলো GPU VPS-এর প্রতি ঘণ্টার খরচ, এমনকি যখন এটি অলস অবস্থায় থাকে তখনও। আপনি যদি মাসিক ভিত্তিতে অর্থ প্রদান করেন, তবে মাসিক মূল্যকে 730 দিয়ে ভাগ করুন।tokens_per_secondহলো আপনার প্রকৃত কনকারেন্সির (concurrency) অধীনে আপনার সার্ভারের সামগ্রিক আউটপুট রেট। এটি কোনো ভেন্ডর চার্টের একক-স্ট্রিম সংখ্যা নয়।duty_cycleহলো মাসের সেই ভগ্নাংশ সময় যা GPU টোকেন জেনারেট করতে ব্যয় করে। আপনি যদি পুরো মাস একটি বক্স ভাড়া নেন এবং দিনে দুই ঘণ্টা ব্যবহার করেন, তবে এর হার দাঁড়াবে 8.3%।api_price_per_millionহলো সেই মিটারড মূল্য যার সাথে আপনি আউটপুট টোকেনের তুলনা করছেন।
উদাহরণটিতে উভয় ক্ষেত্রেই আউটপুট টোকেনের মূল্য নির্ধারণ করা হয়েছে, কারণ চ্যাট এবং এজেন্ট কাজের ক্ষেত্রে বিলের বড় অংশ জুড়ে থাকে আউটপুট। যদি আপনার প্রম্পটগুলো দীর্ঘ হয়, তবে উভয় পাশে ইনপুট যোগ করুন। API-এর ক্ষেত্রে এটি ইনভয়েসে একটি আলাদা লাইন হিসেবে থাকে। আপনার নিজস্ব কার্ডের ক্ষেত্রে, প্রিফিল (prefill) GPU-এর সময় খরচ করে, তাই এটি ইতিমধ্যেই একটি কম পরিমাপকৃত tokens_per_second হিসেবে প্রদর্শিত হয়।
গাণিতিক হিসাবের ওপর আস্থা রাখার আগে টোকেন প্রতি সেকেন্ড পরিমাপ করার উপায়
উপরের সবকিছু একটি পরিমাপকৃত সংখ্যার ওপর নির্ভর করে। এই সংখ্যায় তিন গুণের ভুল হলে আপনার চূড়ান্ত উত্তরেও তিন গুণের ভুল হবে। আপনি যে কার্ডটি ভাড়া নিচ্ছেন, তাতে যে মডেল এবং যে কোয়ান্টাইজেশন (quantisation) ব্যবহার করবেন, তা দিয়েই পরিমাপ করুন।
Ollama একটি কমান্ডের মাধ্যমেই আপনাকে সিঙ্গেল-স্ট্রিম সংখ্যাটি দেবে:
ollama run qwen3:8b --verbose "Write 400 words about disk latency."--verbose উত্তরের শেষে একটি টাইমিং ব্লক প্রিন্ট করে। এখানে গুরুত্বপূর্ণ লাইনটি হলো eval rate, যা টোকেন প্রতি সেকেন্ডে হিসাব করে এবং শুধুমাত্র জেনারেশন বা তৈরির সময়টুকু গণনা করে। prompt eval rate হলো প্রিফিল (prefill) গতি, যা সাধারণত অনেক বেশি হয়। আপনার প্রাপ্ত সংখ্যাগুলো নিচের মতো হবে:
eval count: 412 token(s)
eval duration: 9.612s
eval rate: 42.86 tokens/sখরচের মডেল তৈরির জন্য সিঙ্গেল-স্ট্রিম সংখ্যাটি সঠিক নয়, কারণ এটি এমন একটি কার্ডে একবারে একটি অনুরোধ পরিমাপ করে যা একই সাথে অনেকগুলো অনুরোধ সামলাতে পারে। সামগ্রিক বা এগ্রিগেট সংখ্যার জন্য, vLLM দিয়ে মডেলটি সার্ভ করুন এবং সার্ভার নিজে থেকে যে থ্রুপুট (throughput) রিপোর্ট করে তা দেখুন:
pip install vllm
vllm serve Qwen/Qwen3-8B --max-model-len 8192অনুরোধগুলো চলমান থাকা অবস্থায়, সার্ভার প্রতিটি রিপোর্টিং ইন্টারভালে একটি স্ট্যাটাস লাইন লগ করে। vLLM-এর বিভিন্ন রিলিজের সাথে এর ফিল্ডগুলো পরিবর্তিত হতে পারে, তাই আমারটির ওপর নির্ভর না করে আপনার সার্ভারের আউটপুট পড়ুন:
Avg prompt throughput: 812.4 tokens/s, Avg generation throughput: 396.1 tokens/s, Running: 16 reqs, Waiting: 0 reqs, GPU KV cache usage: 21.7%Avg generation throughput হলো সেই সংখ্যা যা আপনার ফর্মুলার জন্য প্রয়োজন। আপনি যত বেশি কনকারেন্ট বা সমসাময়িক অনুরোধ যোগ করবেন, এই সংখ্যাটি তত বাড়তে থাকবে যতক্ষণ না KV cache (key-value cache, যা vLLM-এর VRAM-এ প্রতিটি অনুরোধের অ্যাটেনশন স্টেট ধরে রাখে) পূর্ণ হয়; এরপর এটি আর বাড়বে না। এর চেয়ে বেশি চাপ দিলে অনুরোধগুলো দ্রুত হওয়ার পরিবর্তে কিউতে (queue) জমা হতে থাকবে, যা আপনি Waiting কাউন্ট বাড়তে দেখে বুঝতে পারবেন। vLLM-এর সাথে একটি লোড জেনারেটরও আসে, যার নাম vllm bench serve। এর ফ্ল্যাগগুলো বিভিন্ন ভার্সনে পরিবর্তিত হয়, তাই কোনো ব্লগ পোস্ট থেকে কমান্ড কপি না করে আপনার ইনস্টল করা ভার্সনে vllm bench serve --help চালিয়ে দেখুন।
পরীক্ষা চলাকালীন কার্ডটির অবস্থা পর্যবেক্ষণ করুন:
nvidia-smi --query-gpu=utilization.gpu,memory.used,power.draw --format=csv -l 5যদি জেনারেশনের সময় utilization.gpu প্রায় 100% এর কাছাকাছি থাকে, তবে আপনি থ্রুপুট-বাউন্ড অবস্থায় আছেন এবং আপনার পরিমাপ করা সংখ্যাটিই প্রকৃত সীমা। যদি এটি কম থাকে, তবে অন্য কোনো সীমাবদ্ধতা কাজ করছে: হয়তো কনকারেন্ট অনুরোধের সংখ্যা কম, ক্লায়েন্ট ধীরগতির, অথবা মডেলটি VRAM-এ পুরোপুরি ধরছে না এবং আংশিকভাবে সিস্টেম RAM-এ অফলোড হচ্ছে। Ollama এবং vLLM এখানে সম্পূর্ণ ভিন্ন ধরনের ট্রেড-অফ করে, এবং একই কার্ডে তাদের মধ্যে গতির পার্থক্য এতই বেশি যে তা আপনার ব্রেক-ইভেন পয়েন্টকে কয়েক গুণ বদলে দিতে পারে।
এক মাসে বিলের হিসাব কেমন হয়
এখানে একটি উদাহরণ দেওয়া হলো: 24 GB GPU-সহ একটি VPS যার ভাড়া প্রতি ঘণ্টায় $0.50, যেখানে vLLM ব্যবহার করে একটি 8B open model চালানো হচ্ছে। 16টি concurrent request-এর ক্ষেত্রে এর আউটপুট ক্ষমতা প্রতি সেকেন্ডে 400 tokens। আপনি কার্ডটি ব্যবহার করুন বা না করুন, ভাড়া একই থাকে। এই হারে প্রতি মাসে 1,051 মিলিয়ন আউটপুট টোকেন তৈরি করা সম্ভব, যদি কার্ডটি কোনো বিরতি ছাড়াই চলতে থাকে।
এই চার্টের পেছনের ডেটা
[
{
"output_tokens_millions": 5,
"gpu_vps_usd": 365,
"open_api_usd": 1,
"small_api_usd": 25,
"frontier_api_usd": 75
},
{
"output_tokens_millions": 10,
"gpu_vps_usd": 365,
"open_api_usd": 2,
"small_api_usd": 50,
"frontier_api_usd": 150
},
{
"output_tokens_millions": 25,
"gpu_vps_usd": 365,
"open_api_usd": 5,
"small_api_usd": 125,
"frontier_api_usd": 375
},
{
"output_tokens_millions": 50,
"gpu_vps_usd": 365,
"open_api_usd": 10,
"small_api_usd": 250,
"frontier_api_usd": 750
},
{
"output_tokens_millions": 100,
"gpu_vps_usd": 365,
"open_api_usd": 20,
"small_api_usd": 500,
"frontier_api_usd": 1500
},
{
"output_tokens_millions": 250,
"gpu_vps_usd": 365,
"open_api_usd": 50,
"small_api_usd": 1250,
"frontier_api_usd": 3750
},
{
"output_tokens_millions": 500,
"gpu_vps_usd": 365,
"open_api_usd": 100,
"small_api_usd": 2500,
"frontier_api_usd": 7500
},
{
"output_tokens_millions": 1000,
"gpu_vps_usd": 365,
"open_api_usd": 200,
"small_api_usd": 5000,
"frontier_api_usd": 15000
}
]GPU-এর খরচের লাইনটি 365 ডলারে স্থির থাকে, কারণ কার্ডটি আপনি কীভাবে ব্যবহার করছেন তার ওপর ভাড়া নির্ভর করে না। প্রতিটি API-এর খরচের লাইন শূন্য থেকে শুরু হওয়া একটি সরলরেখা। প্রতিটি জোড়া ঠিক একবার একে অপরকে অতিক্রম করে।
মাসে 25 মিলিয়ন আউটপুট টোকেনের ক্ষেত্রে frontier API-এর বিল আসে 375 ডলার, অর্থাৎ উভয় খরচের পার্থক্য দশ ডলারের কম। 50 মিলিয়ন টোকেনের ক্ষেত্রে ছোট commercial model-এর বিল আসে 250 ডলার এবং এটিই সাশ্রয়ী বিকল্প। 1000 মিলিয়ন আউটপুট টোকেনের ক্ষেত্রে, যার জন্য কার্ডটিকে মাসের 95% সময় ব্যস্ত থাকতে হয়, hosted open-weight API-এর বিল আসে 200 ডলার, যা একই ভাড়ার বিপরীতে হিসাব করা হয়েছে। কার্ডটি যখন সর্বোচ্চ ক্ষমতায় কাজ করছে, ঠিক সেই পরিমাণ ভলিউমেও এটি প্রায় দ্বিগুণ খরচে পিছিয়ে থাকে।
শেষের এই ফলাফলটি মানুষকে অবাক করে, তবে এটি কোনো দুর্ঘটনা নয়। একটি hosted open-weight endpoint হলো এমন একটি GPU fleet যা উচ্চ ব্যবহারের হার বজায় রেখে চালানো হয়, তাই এর দাম একটি পরিপূর্ণভাবে ব্যবহৃত কার্ডের খরচের কাছাকাছি থাকে। একটি কার্ড ভাড়া নিয়ে সেটিকে পূর্ণ ক্ষমতার চেয়ে কম লোডে চালিয়ে আপনি একটি পরিপূর্ণ fleet-এর সাথে প্রতিযোগিতায় জিততে পারবেন না। আপনি যা করতে পারেন তা হলো frontier pricing-কে হারানো, কারণ সেটির দাম সিলিকন ব্যবহারের সময়ের চেয়ে সক্ষমতার ওপর ভিত্তি করে নির্ধারণ করা হয়।
প্রতিটি duty cycle-এ প্রতি মিলিয়ন output token-এর খরচ
Volume এবং duty cycle একই বিষয়কে দুটি দিক থেকে দেখায়। ভাড়া দিলে ঘণ্টা কেনা হয়। Idle ঘণ্টায় কোনো output তৈরি হয় না, কিন্তু খরচ চলতেই থাকে।
এই চার্টের পেছনের ডেটা
[
{
"label": "100% duty",
"self_host_usd_per_million": "0.35",
"open_api_usd_per_million": "0.20",
"small_api_usd_per_million": "5.00",
"frontier_api_usd_per_million": "15.00"
},
{
"label": "50% duty",
"self_host_usd_per_million": "0.69",
"open_api_usd_per_million": "0.20",
"small_api_usd_per_million": "5.00",
"frontier_api_usd_per_million": "15.00"
},
{
"label": "25% duty",
"self_host_usd_per_million": "1.39",
"open_api_usd_per_million": "0.20",
"small_api_usd_per_million": "5.00",
"frontier_api_usd_per_million": "15.00"
},
{
"label": "10% duty",
"self_host_usd_per_million": "3.47",
"open_api_usd_per_million": "0.20",
"small_api_usd_per_million": "5.00",
"frontier_api_usd_per_million": "15.00"
},
{
"label": "5% duty",
"self_host_usd_per_million": "6.94",
"open_api_usd_per_million": "0.20",
"small_api_usd_per_million": "5.00",
"frontier_api_usd_per_million": "15.00"
},
{
"label": "2% duty",
"self_host_usd_per_million": "17.36",
"open_api_usd_per_million": "0.20",
"small_api_usd_per_million": "5.00",
"frontier_api_usd_per_million": "15.00"
}
]তিনটি API column-এ August 2026 অনুযায়ী প্রকাশিত সাধারণ list price দেখানো হয়েছে: hosted 8B open-weight model-এর জন্য প্রতি মিলিয়ন output token-এ 0.20 dollar, small commercial model-এর জন্য 5.00 dollar এবং frontier model-এর জন্য 15.00 dollar। এগুলো উদাহরণস্বরূপ দেওয়া হয়েছে। সিদ্ধান্ত নেওয়ার আগে আজকের price page পরীক্ষা করুন। আপনার তুলনা যদি metered token-এর বদলে flat monthly plan-এর সঙ্গে হয়, তাহলে subscription-এর হিসাব ভিন্নভাবে কাজ করে এবং crossing point আবার পরিবর্তিত হয়।
Card-টি সম্পূর্ণ capacity-তে চালালে এক মিলিয়ন output token-এর খরচ 0.35 dollar, যা সত্যিই কম। 10% duty cycle-এ একই এক মিলিয়ন token-এর খরচ 3.47 dollar। 2% duty cycle-এ খরচ হয় 17.36 dollar। এটি hosted open model-এর একই output-এর জন্য নেওয়া 0.20 dollar-এর কাছাকাছি নয়।
Hosted open-weight model-এর তুলনায় chart-এ দেখানো প্রতিটি duty cycle-এ GPU ভাড়া নেওয়াই বেশি ব্যয়বহুল পছন্দ। 10% duty cycle-এ আপনি প্রতি মিলিয়ন token output-এর জন্য 3.47 dollar দিচ্ছেন, অথচ একই output-এর hosted open model-এর দাম 0.20 dollar। পার্থক্যের বিনিময়ে আপনি privacy এবং অপরিবর্তনীয় bill কিনছেন। এগুলোর বাস্তব মূল্য থাকতে পারে। তবে এগুলো দামের সুবিধা নয়, তাই এগুলোকে price win হিসেবে গণ্য করবেন না। Commercial tier-এর তুলনায় চিত্রটি উল্টো: 10% duty cycle-এ card-টির খরচ small commercial এবং frontier—উভয় price-এর চেয়ে কম। Duty cycle প্রায় 2.3%-এ নেমে যাওয়া পর্যন্ত এটি frontier tier-এর চেয়ে সস্তা থাকে।
প্রতিটি API টায়ারের জন্য ব্রেক-ইভেন ভলিউম
এই চার্টের পেছনের ডেটা
[
{
"label": "Hosted open 8B API",
"breakeven_tokens_millions": 1825,
"required_duty_pct": 174
},
{
"label": "Small commercial model",
"breakeven_tokens_millions": 73,
"required_duty_pct": 6.9
},
{
"label": "Frontier model",
"breakeven_tokens_millions": 24.3,
"required_duty_pct": 2.3
}
]ফ্রন্টিয়ার টায়ারের বিপরীতে আপনার প্রতি মাসে 24.3 মিলিয়ন আউটপুট টোকেন প্রয়োজন, যা কার্ডটির সক্ষমতার মাত্র 2.3%। এটি একটি সহজ লক্ষ্য। একটি ছোট দল যারা কর্মদিবস জুড়ে কোডিং এজেন্ট চালায়, তারা সহজেই এটি অতিক্রম করতে পারে।
স্মল কমার্শিয়াল টায়ারের বিপরীতে আপনার প্রতি মাসে 73 মিলিয়ন টোকেন বা 6.9% ডিউটি সাইকেল প্রয়োজন। হোস্ট করা ওপেন-ওয়েট টায়ারের ক্ষেত্রে প্রয়োজনীয় ডিউটি সাইকেল হলো 174%। 100%-এর বেশি যেকোনো কিছু সংজ্ঞায়িতভাবেই অর্জনযোগ্য নয়: কারণ কার্ডটিকে এক মাসে যত ঘণ্টা আছে তার চেয়ে বেশি সময় ধরে চলতে হবে। এই আওয়ারলি রেটে একটি মিড-রেঞ্জ কার্ড এই তুলনায় সফল হতে পারে না, তাই ফলাফল পরিবর্তনের একমাত্র উপায় হলো একটি সস্তা কার্ড, একটি দ্রুতগতির কার্ড, অথবা এমন কোনো কারণ যা মূল্যের সাথে সম্পর্কিত নয়।
সূত্রটি যা গোপন রাখে
এই সূত্রটি GPU আওয়ার এবং টোকেনের মূল্য নির্ধারণ করে। তবে বেশ কিছু প্রকৃত খরচ এর বাইরে থেকে যায়।
Cold starts. 16-বিট ওয়েটসহ একটি 8B মডেলের আকার প্রায় 16 GB, এবং এটি লোকাল ডিস্ক থেকে VRAM-এ লোড হতে কয়েক দশ সেকেন্ড সময় লাগে। ভাড়ার খরচ বাঁচাতে ব্যবহারের মাঝে সার্ভার বন্ধ রাখলে প্রতিবার প্রথম রিকোয়েস্টের সময় এই অপেক্ষার মাশুল দিতে হয়। আবার এই অপেক্ষা এড়াতে সার্ভার চালু রাখলে আপনার ডিউটি সাইকেল কমে যায়, যা প্রতি টোকেনের খরচ বাড়িয়ে দেয়। এই ভারসাম্যহীনতাই serverless inference-এর অস্তিত্বের মূল কারণ।
Storage এবং download. মডেলের ওয়েটগুলো বেশ বড়। 16-বিট ফরম্যাটে একটি 8B মডেলের আকার প্রায় 16 GB, 4-বিট কোয়ান্টাইজড একটি 30B মডেলের আকার প্রায় 18 GB, এবং 16-বিট ফরম্যাটে একটি 30B মডেল 24 GB-এর কোনো কার্ডে একেবারেই ধরবে না। উচ্চপর্যায়ে এই সীমাবদ্ধতা খুব দ্রুত স্পষ্ট হয়ে ওঠে, যেখানে Kimi K3-এর মতো ট্রিলিয়ন-প্যারামিটার ওপেন মডেল চালানো মানে হলো, ওয়েটগুলোর আকারই আপনার ভাড়া করা যেকোনো সিঙ্গেল কার্ডের ধারণক্ষমতাকে ছাড়িয়ে যাবে। আপনাকে প্রতি মাসে এই ডিস্কের জন্য মূল্য পরিশোধ করতে হবে এবং প্রতিবার রিবিল্ডের সময়ও ব্যয় হবে। এক সপ্তাহ পরীক্ষার পর du -sh ~/.cache/huggingface/hub চালান। এটি আপনার প্রত্যাশার চেয়ে দ্রুত বৃদ্ধি পায়, কারণ আপনার ট্রাই করা প্রতিটি কোয়ান্টাইজেশন ফাইল সেখানে রয়ে গেছে।
আপনার নিজস্ব সময়. ড্রাইভার এবং CUDA ভার্সন, গতকাল কাজ করা কনটেক্সট লেন্থে আজ out-of-memory এরর, অথবা চ্যাট টেম্পলেট পরিবর্তন করে এমন কোনো মডেল আপডেট। এর কোনোটিই প্রতি-টোকেন খরচের হিসাবে আসে না, কিন্তু এর সবকিছুর মূল্য আপনার ব্যক্তিগত সময় দিয়ে পরিশোধ করতে হয়। আপনি যদি আগে কখনো এই ধরনের বক্সের সাইজ নির্ধারণ না করে থাকেন, তবে একটি GPU VPS আপনাকে আসলে কী দেয় তা এক মাসের ভাড়ার চুক্তিতে যাওয়ার আগে পড়ে নেওয়া উচিত।
মানের পার্থক্য. এটি সবচেয়ে বড় গোপন খরচ এবং এর মূল্য নির্ধারণ করা সবচেয়ে কঠিন। একটি 8B ওপেন মডেল কোনো ফ্রন্টিয়ার মডেল নয়। যদি একটি ফ্রন্টিয়ার মডেলের একটি উত্তরের বিপরীতে এই মডেলটির তিনটি প্রচেষ্টার প্রয়োজন হয়, তবে কার্যকর উত্তরের ক্ষেত্রে এর প্রকৃত মূল্য চার্টের মূল্যের তিন গুণ, এবং এটি কাজটি সম্পন্ন করতে ব্যর্থও হতে পারে। মূল্যের ভিত্তিতে তুলনা করার আগে আপনার নিজস্ব প্রম্পট দিয়ে তুলনা করুন। এজেন্ট ওয়ার্কলোডের ক্ষেত্রে সাধারণ সমাধান হলো জটিলতা অনুযায়ী রাউট করা এবং বাল্ক কাজের জন্য সস্তা লোকাল টোকেন ব্যবহার করা, যা মূলত একটি VPS-এ এজেন্টের খরচ নিয়ন্ত্রণ করার মূল বিষয়।
যে বিলগুলো আপনি ভুলে গেছেন. একটি আওয়ারলি GPU ইনস্ট্যান্স বন্ধ করার পরেও অনেক সময় এর সাথে যুক্ত স্টোরেজ এবং রিজার্ভড IP অ্যাড্রেসের জন্য বিল আসতে থাকে। প্রাইস পেজ নয়, বরং ইনভয়েসটি পড়ুন।
যখন self-hosting খরচের বাইরেও অন্যান্য কারণে সুবিধাজনক
চারটি ক্ষেত্র যেখানে গাণিতিক হিসাবই একমাত্র বিবেচ্য বিষয় নয়।
- যে ডেটা আপনার নিয়ন্ত্রণের বাইরে যেতে পারে না। যদি কোনো কমপ্লায়েন্স নিয়ম তৃতীয় কোনো পক্ষকে টেক্সট পাঠানো নিষিদ্ধ করে, তবে সেখানে প্রতি টোকেনের খরচ বিবেচ্য বিষয় নয়।
- নিয়মিত উচ্চ ভলিউমের কাজ। প্রতিদিন রাতে ছয় ঘণ্টা ধরে চলা একটি ব্যাচ ক্লাসিফিকেশন জব মূলত 25% ডিউটি সাইকেলে থাকে এবং এটি আপনাকে কখনোই অপ্রত্যাশিত বিলের সম্মুখীন করবে না।
- রেট লিমিট। আপনার নিজস্ব কার্ডের কিউ শুধুমাত্র আপনার নিয়ন্ত্রণে থাকে।
- এমন মডেল যা কোনো API-তে নেই। যদি আপনার নির্দিষ্ট কোনো fine-tune-এর প্রয়োজন হয়, তবে তুলনা করার মতো কোনো বিকল্প নেই।
আপনি যদি প্রথমে সাশ্রয়ী সংস্করণটি পরীক্ষা করতে চান, তবে একটি VPS-এ Ollama ব্যবহার করে ছোট মডেল চালানো মাত্র এক বিকেলের কাজ, এবং আপনার ভাড়া করা কার্ডের সাথে একটি ওপেন মডেলের সক্ষমতা যাচাই করা আপনাকে জানিয়ে দেবে আপনার ঠিক কোন GPU-টি প্রয়োজন। GPU ভাড়ার জন্য এক মাসের সাবস্ক্রিপশন নেওয়ার আগে এই পরিমাপগুলো করে নিন।
FAQ
কোন মাসিক token volume-এ GPU VPS-এর খরচ API pricing-এর চেয়ে কম হয়?
GPU-এর মাসিক খরচকে প্রতি million output token-এর API price দিয়ে ভাগ করুন। মাসে $365 ভাড়ার একটি card, প্রতি million token-এ 15.00 dollar দামের frontier API-এর তুলনায়, প্রতি মাসে 24.3 million output token-এ break-even-এ পৌঁছায়। প্রতি million token-এ 5.00 dollar দামের একটি small commercial model-এর তুলনায় এই পরিমাণ 73 million। প্রতি million token-এ 0.20 dollar দামের hosted open-weight model-এর তুলনায় একটি mid-range card এক মাসে break-even-এ পৌঁছানোর মতো পর্যাপ্ত token তৈরি করতে পারে না।
Hosted open-weight API-এর খরচ আমার নিজের GPU-এর চেয়ে কম কেন?
কারণ এর price fully loaded GPU-এর খরচের কাছাকাছি নির্ধারিত, কিন্তু আপনার card fully loaded নয়। হাজার হাজার concurrent request পরিবেশনকারী provider তার fleet-কে saturation-এর কাছাকাছি রাখতে পারে। তাই উৎপাদনের marginal cost-এর কাছাকাছি দামে token বিক্রি করা সম্ভব হয়। আপনার card দিনের বেশির ভাগ সময় idle থাকে, কিন্তু idle hour-এর জন্যও আপনাকে অর্থ দিতে হয়। 10% duty cycle-এ আপনার খরচ প্রতি million output token-এ 3.47 dollar, যেখানে তাদের খরচ 0.20 dollar।
Input token-ও কি output token-এর সঙ্গে গণনা করা উচিত?
আপনার prompt দীর্ঘ হলে input token-ও গণনা করুন। এখানে করা তুলনায় শুধু output token ব্যবহার করা হয়েছে, কারণ chat ও agent কাজের ক্ষেত্রে এটিই প্রধান উপাদান। Input যোগ করলে উভয় পাশের হিসাব পরিবর্তিত হয়। API-এর ক্ষেত্রে invoice-এ এটি আলাদা এবং কম দামের line item। নিজের card-এ prefill GPU time ব্যবহার করে, তাই আপনি যে aggregate token per second মেপেছেন, তার মধ্যেই এই খরচ অন্তর্ভুক্ত থাকে। আপনার বাস্তব prompt length দিয়ে মাপুন, তাহলে দুই পাশ তুলনাযোগ্য থাকবে।
Formula-এর জন্য প্রয়োজনীয় tokens per second কীভাবে মাপব?
যেভাবে model ব্যবহার করবেন, সেভাবেই সেটি serve করুন। তারপর বাস্তব concurrency-র অধীনে aggregate generation rate পড়ুন। Ollama-তে, ollama run <model> --verbose tokens per second-এ একটি eval rate print করে। তবে এটি single stream এবং batched server-এর rate কম দেখায়। vLLM-এ request চলমান থাকলে server log-এ Avg generation throughput দেখা যায়। ব্যবহার করার figure এটিই। একই সময়ে nvidia-smi monitor করুন। Generation চলার সময় GPU utilisation যদি 100%-এর কাছাকাছি না থাকে, তাহলে আপনি এখনও সর্বোচ্চ সীমা খুঁজে পাননি।
10%-এর নিচে utilisation হলে GPU VPS ভাড়া করা কি সার্থক?
আপনি অন্যথায় কোন API-এর জন্য অর্থ দিতেন, তার ওপর এটি নির্ভর করে। 10% duty cycle-এ প্রতি million output token-এর জন্য আপনার খরচ 3.47 dollar। এটি small commercial এবং frontier tier—উভয়ের চেয়ে কম, কিন্তু hosted open-weight tier-এর চেয়ে অনেক বেশি। 2%-এ আপনার খরচ 17.36 dollar। এই তুলনার প্রতিটি metered API-এর চেয়ে, frontier tier-সহ, এটি বেশি। শুধু price বিবেচনা করলে small commercial tier-এর তুলনায় প্রায় 6.9% duty cycle-এ এবং frontier tier-এর তুলনায় প্রায় 2.3% duty cycle-এ card-এর সুবিধা শেষ হয়। Hosted open weight-এর তুলনায় card কখনও সাশ্রয়ী হয় না। Privacy বা কোনো API-তে অনুপলব্ধ model-এর জন্য অর্থ দিতে চাইলে তবেই এই সীমার নিচে card ভাড়া নিন।