मुख्य बिंदु
- मॉडल वजन को 16-बिट पर प्रति पैरामीटर लगभग 2 बाइट, 8-बिट पर 1 और 4-बिट पर 0.5 की आवश्यकता होती है, साथ ही कॉन्टेक्स्ट कैश के लिए जगह।
- एक किराए पर ली गई GPU हर घंटे के लिए बिल करती है जबकि API केवल उन टोकनों के लिए बिल करती है जिन्हें आप भेजते और प्राप्त करते हैं।
- $0.15 प्रति 1M इनपुट और $0.50 प्रति 1M आउटपुट टोकन पर, 1,500 इन और 500 आउट वाले 20,000 चैट प्रतिदिन की लागत $285 प्रति माह आती है।
- स्व-होस्टिंग तब जीतती है जब आपको फाइन-ट्यूनिंग, एक अलग मॉडल, ऑफलाइन उपयोग या एक स्थिर, बहुत उच्च मात्रा की आवश्यकता हो।
संक्षिप्त उत्तर: यह आपकी मात्रा पर निर्भर करता है
यदि आप पूछ रहे हैं कि अपने आप LLM वजन कैसे होस्ट करें, तो ईमानदार सारांश यह है कि एक मॉडल को अपने मशीन पर जवाब देना आसान है और इसे दूसरों के लिए सस्ता चलाना कठिन है। एक लैपटॉप या डेस्कटॉप GPU व्यक्तिगत उपयोग के लिए पर्याप्त है। एक सेवा जिसमें एक साथ कई उपयोगकर्ताओं को किसी भी समय जवाब देना है, को अधिक मेमोरी, अधिक ट्यूनिंग और इसे जीवित रखने वाले व्यक्ति की आवश्यकता होती है।
वैकल्पिक तरीका है एक होस्टेड OpenAI-कम्पैटिबल एंडपॉइंट पर कॉल करना और टोकन के हिसाब से भुगतान करना। छोटे और मध्यम वर्कलोड के लिए यह लगभग हमेशा सस्ता होता है, क्योंकि आप आइडल GPU समय के लिए कभी भुगतान नहीं करते। बहुत बड़े और स्थिर वर्कलोड के लिए, या उन जॉब्स के लिए जिनमें आपको अपने खुद के फाइन-ट्यून्ड मॉडल की आवश्यकता होती है, हार्डवेयर खरीदना तर्कसंगत बनने लगता है। नीचे दिए गए खंड दोनों पक्षों पर संख्याएँ देते हैं ताकि आप अपना ब्रेक-ईव पॉइंट खोज सकें।
यहाँ कोई फ्री टियर नहीं है। साइन इन करने के बाद आप API कुंजी पेज पर एक बार $0.50 का ट्रायल क्रेडिट दावा कर सकते हैं, और उसके बाद आप $20 से प्रीपेड क्रेडिट जोड़ सकते हैं। ट्रायल क्रेडिट आपके प्रॉम्प्ट्स का एक वास्तविक टेस्ट चलाने के लिए पर्याप्त है, इससे पहले कि आप कुछ भी तय करें।
एक मॉडल होस्ट करने के लिए वास्तव में क्या आवश्यक है
एक लैंग्वेज मॉडल संख्याओं का एक बड़ा फ़ाइल होता है, वेट्स, जिसे मॉडल चलते समय तेज़ मेमोरी में रहना चाहिए। उस फ़ाइल का साइज़ पहली बाधा है, और आप इसे स्वयं गणना कर सकते हैं: पैरामीटर को प्रति पैरामीटर बाइट्स से गुणा करें।
| मॉडल साइज़ | 16-बिट वेट | 8-बिट वेट्स | 4-बिट वेट |
|---|---|---|---|
| 8B पैरामीटर | 16 GB | 8 GB | 4 GB |
| 32B पैरामीटर | 64 GB | 32 GB | 16 GB |
| 70B पैरामीटर | 140 GB | 70 GB | 35 GB |
ये केवल वेट्स हैं। इसके अलावा आपको की-वैल्यू कैश के लिए मेमोरी की आवश्यकता होती है, जो प्रत्येक सक्रिय संवाद की लंबाई के साथ बढ़ती है, और रनटाइम के लिए कुछ हेडरूम की भी आवश्यकता होती है। एक ऐसा मॉडल जो नाममात्र पर 24 GB में फिट बैठता है, एक लंबे कॉन्टेक्स्ट या कई समानांतर उपयोगकर्ताओं के लिए पूछने पर मेमोरी खत्म हो सकती है। 4-बिट पर क्वांटाइज़ करने से फ़ाइल छोटी हो जाती है, लेकिन इससे आउटपुट की गुणवत्ता में थोड़ा बदलाव आता है, और प्रभाव मॉडल के अनुसार अलग-अलग होता है।
फिर सॉफ़्टवेयर की ओर है। आपको एक इनफरेंस सर्वर जैसे llama.cpp, Ollama या vLLM की आवश्यकता है, एक HTTP परत ताकि आपकी एप्स इसे कॉल कर सकें, एक तरीका जब यह क्रैश हो जाए तो उसे रीस्टार्ट करने का, और मॉनिटरिंग ताकि जब यह हो जाए तो आपको पता चल सके। इनमें से कोई भी अलग से कठिन नहीं है। इन सभी में समय लगता है, और समय लागत का हिस्सा है।
विकल्प एक: इसे अपने कंप्यूटर पर चलाएं
शुरू करने का सबसे सस्ता तरीका वह मशीन है जो आपके पास पहले से है। Ollama और llama.cpp जैसे टूल्स एक मॉडल डाउनलोड करते हैं और एक लोकल सर्वर प्रकट करते हैं, और कई में एक OpenAI-शैली एंडपॉइंट भी होता है, इसलिए आपका कोड जो आप उन्हें लिखते हैं बाद में एक होस्टेड API की ओर इशारा कर सकता है बस दो सेटिंग्स बदलकर।
लोकल होस्टिंग एक उपयुक्त विकल्प है जब:
- आप एक व्यक्ति हैं जो प्रयोग कर रहे हैं, और जवाब में कुछ सेकंड ठीक हैं;
- डेटा कभी भी मशीन से बाहर नहीं जाना चाहिए;
- आप कई अलग-अलग ओपन मॉडल्स को जल्दी आज़माना चाहते हैं;
- आपके पास एक GPU है जिसमें पर्याप्त मेमोरी है और वह दिन के अधिकांश समय आइडल है।
यह एक कम उपयुक्त विकल्प है जब आपको दूसरों के लिए सेवा प्रदान करनी हो, जब आपका मॉडल आपकी मेमोरी से बड़ा हो, या जब आपको लंबे कॉन्टेक्स्ट की आवश्यकता हो। स्थानीय बिना सेंसर मॉडल और होस्टेड APIs की हमारी तुलना विस्तार से ट्रेड-ऑफ्स पर चर्चा करती है, जिसमें छोटे स्थानीय मॉडलों और बड़े होस्टेड मॉडलों के बीच उत्तर की गुणवत्ता में परिवर्तन शामिल है।
बिजली एक वास्तविक लेकिन छोटा आइटम है एक अकेले उपयोगकर्ता के लिए। बड़ी लागत वह हार्डवेयर है जिसे आपको खरीदना पड़ा, जिसे आप भुगतान करते हैं चाहे आप इसका उपयोग करें या न करें। यदि आपके पास पहले से यह है, तो मार्जिनल लागत कम है और लोकल होस्टिंग निजी प्रयोगों के लिए बेहतरीन है।
विकल्प दो: GPU सर्वर किराए पर लें
जब आपकी अपनी मशीन पर्याप्त नहीं होती है, तो अगला कदम एक किराए की GPU है। प्रदाता किसी मशीन के लिए प्रति घंटे की दर से चार्ज करते हैं जिसमें GPU मेमोरी की एक निश्चित मात्रा होती है। कीमतें प्रदाताओं के बीच काफी भिन्न होती हैं और अक्सर बदलती रहती हैं, इसलिए किसी भी संख्या पर भरोसा करने के बजाय, किसी आर्टिकल में पढ़ी गई किसी भी संख्या, इस आर्टिकल सहित, उनकी वर्तमान कीमतें जांचें।
बिल की प्रकृति मायने रखती है। एक किराए की सर्वर हर घंटे के लिए चार्ज करती है जब यह चालू होती है, चाहे वह एक अनुरोध का जवाब दे रही हो या कोई नहीं। यदि आप इसे पूरे महीने के लिए चालू छोड़ देते हैं, तो गणना सरल है: एक महीने में लगभग 730 घंटे होते हैं (एक वर्ष में 8,760 घंटे को 12 से विभाजित करें)। मान लीजिए, केवल एक माना गया उदाहरण और कोई क्वोट नहीं, कि एक उपयुक्त सर्वर की कीमत $1 प्रति घंटा है। इसे चौबीसों घंटे चलाने से 730 × $1 = $730 प्रति माह की लागत होती है आप स्टोरेज, बैंडविड्थ और अपने समय को जोड़ने से पहले।
आप सर्वर को बंद कर सकते हैं जब आप इसका उपयोग नहीं कर रहे हैं, लेकिन तब आप देरी के साथ भुगतान करते हैं: एक बड़े मॉडल को मेमोरी में लोड करने में समय लगता है, और एक विराम के बाद पहला उपयोगकर्ता इसके लिए प्रतीक्षा करता है। स्वचालित स्केलिंग सेटअप इसे कम करते हैं, और वे अपनी जटिलता जोड़ते हैं।
API के सापेक्ष ब्रेक-ईवन मूल्य से आता है। एक मिलियन इनपुट टोकन और एक मिलियन आउटपुट टोकन का खर्च इस API पर $0.15 + $0.50 = $0.65 है। आपका माना गया $730 सर्वर 730 ÷ 0.65 ≈ 1,123 ऐसे जोड़ों के बराबर है, या एक महीने में लगभग 1.1 बिलियन इनपुट और 1.1 बिलियन आउटपुट टोकन। उस मात्रा से नीचे, API का खर्च कम है। उससे ऊपर, एक अच्छी तरह से उपयोग किया गया सर्वर जीत सकता है, बशर्ते वह उस ट्राफिक के साथ वास्तव में चल सके, जो मॉडल, GPU और सर्वर को कितनी अच्छी तरह ट्यून किया गया है, इस पर निर्भर करता है।
विकल्प तीन: एक होस्टेड API का उपयोग करें
API मार्ग हार्डवेयर, सर्वर और निष्क्रिय समय को हटा देता है। आप एक अनुरोध भेजते हैं, आप एक जवाब पाते हैं, और आप उन टोकन के लिए भुगतान करते हैं जो उपयोग किए गए थे। यहाँ कीमत $0.15 प्रति 1M इनपुट टोकन और $0.50 प्रति 1M आउटपुट टोकन है, प्रीपेड क्रेडिट से उपयोग के अनुसार भुगतान, कोई सब्सक्रिप्शन नहीं। क्रेडिट कभी समाप्त नहीं होता, और विफल या अस्वीकृत अनुरोधों के लिए चार्ज नहीं किया जाता है।
यहाँ तीन यथार्थवादी मात्राओं पर यह कैसा दिखता है। एक सामान्य चैट टर्न में 1,500 इनपुट टोकन (सिस्टम प्रॉम्प्ट और इतिहास) और 500 आउटपुट टोकन का उपयोग माना गया है।
- एक अनुरोध: 1,500 इनपुट टोकन का खर्च 0.0015 × $0.15 = $0.000225 है, और 500 आउटपुट टोकन का खर्च 0.0005 × $0.50 = $0.00025 है। मिलकर यह $0.000475 है।
- प्रतिदिन 1,000 चैट, 30 दिन: 1,000 × $0.000475 = $0.475 प्रतिदिन, या $14.25 प्रतिमाह।
- प्रतिदिन 20,000 चैट, 30 दिन: 20,000 × $0.000475 = $9.50 प्रतिदिन, या $285 प्रतिमाह।
- 100,000 अनुरोधों का एक बैच जिसमें प्रत्येक में 2,000 इनपुट और 400 आउटपुट टोकन हैं: इनपुट 200M टोकन है, इसलिए 200 × $0.15 = $30; आउटपुट 40M टोकन है, इसलिए 40 × $0.50 = $20। कुल मिलाकर $50 है।
मध्य आंकड़े पर, API का खर्च $285 प्रतिमाह है, जो एक हमेशा-चालू सर्वर के माना गए $730 से काफी नीचे है। सबसे बड़े आंकड़े पर, आपको एक किराये के सर्वर के बराबर होने से पहले बहुत अधिक ट्राफिक की आवश्यकता होगी। आपके अपने प्रॉम्प्ट वास्तविक संख्याएं तय करते हैं, इसलिए अनुमान लगाने के बजाय एक नमूना मापें। हर जवाब के साथ लौटने वाला उपयोग ब्लॉक आपको सटीक टोकन गणना बताता है।
$0.50 ट्रायल क्रेडिट 1,500 इन, 500 आउट आकार के लगभग 1,052 अनुरोधों को कवर करता है (0.50 ÷ 0.000475 ≈ 1,052), जो परीक्षण के लिए पर्याप्त है। इसके बाद आप $20 से $500 तक किसी भी पूर्ण राशि से टॉप-अप करते हैं। बड़े टॉप-अप एक बोनस लाते हैं: $50 से +5%, $100 से +10% और $200 से +15%, इसलिए एक $100 टॉप-अप $110 क्रेडिट देता है। विवरण मूल्य निर्धारण पृष्ठ पर हैं। भुगतान कार्ड (Visa, Mastercard, Apple Pay, Google Pay) या क्रिप्टो (TRC20 पर USDT, Base पर USDC) द्वारा किया जाता है।
होस्ट न करने पर आप जो त्यागते हैं
एक API में ट्रेड-ऑफ्स मुफ्त नहीं हैं, और इस पर निर्माण करने से पहले उन्हें जानना बेहतर है।
- एक मॉडल। आपको एक अकेला ओपन-वेट मॉडल मिलता है, जिसे
uncensoredके रूप में एड्रेस किया जाता है। आप एक अलग एक को स्विच नहीं कर सकते या अपने वेट्स लोड नहीं कर सकते। - कोई फाइन-ट्यूनिंग नहीं और केवल टेक्स्ट। कोई ट्रेनिंग एंडपॉइंट नहीं, कोई एम्बेडिंग नहीं और न ही इमेज, ऑडियो या वीडियो जनरेशन।
- सीमाएं। एक पूर्ण कुंजी 8 समानांतर अनुरोध और प्रति मिनट 300 अनुरोध की अनुमति देती है। एक ट्रायल कुंजी 2 और 60 की अनुमति देती है। यह अधिकांश ऐप्स के लिए फिट बैठता है, लेकिन एक बहुत बड़े बैच के लिए आपके पक्ष में क्यूइंग की आवश्यकता होती है।
- कॉन्टेक्स्ट। विंडो प्रॉम्प्ट और कंप्लीशन के लिए 100,000 टोकन की है।
- आपका डेटा आपके नेटवर्क से बाहर जाता है। प्रॉम्प्ट को ट्रेनिंग के लिए उपयोग नहीं किया जाता है, लेकिन वे एक तीसरे पक्ष के पास यात्रा करते हैं। यदि वह किसी दिए गए डेटासेट के लिए स्वीकार्य नहीं है, तो स्थानीय रूप से होस्ट करें।
स्व-होस्टिंग बेहतर विकल्प है जब इनमें से कोई भी कठोर आवश्यकता हो: अपने डेटा पर फाइन-ट्यूनिंग, एक विशिष्ट मॉडल जिसे API पेश नहीं करता है, पूरी तरह से ऑफलाइन संचालन, या एक स्थिर मात्रा जो इतनी बड़ी है कि स्वामित्व वाले हार्डवेयर चौबीसों घंटे व्यस्त रहे।
हार्डवेयर खरीदने से पहले API आज़माएं
एक घंटे का परीक्षण अधिकांश किराये के सर्वरों के एकल घंटे से कम खर्च करता है और आपको बताता है कि क्या मॉडल आपके प्रॉम्प्ट को अच्छी तरह से उत्तर देता है। एंडपॉइंट OpenAI-कम्पैटिबल है, इसलिए यदि आपके पास पहले से ही एक स्थानीय सर्वर से बात करने वाला कोड है, तो आपको केवल बेस URL, कुंजी और मॉडल ID बदलने की आवश्यकता है। यह स्क्रिप्ट हर कॉल के खर्च की भी रिपोर्ट करती है, जवाब में उपयोग संख्याओं का उपयोग करके:
from openai import OpenAI
client = OpenAI(
base_url="https://api.uncensoredllmhub.com/v1",
api_key="YOUR_API_KEY",
)
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise the pros and cons of self-hosting an LLM."}],
)
u = resp.usage
cost = u.prompt_tokens / 1_000_000 * 0.15 + u.completion_tokens / 1_000_000 * 0.50
print(resp.choices[0].message.content)
print(f"in={u.prompt_tokens} out={u.completion_tokens} cost=${cost:.6f}")
इसे अपने कुछ दर्जन वास्तविक प्रॉम्प्ट्स पर चलाएं, लागत की पंक्तियों को जोड़ें और अपने अपेक्षित दैनिक वॉल्यूम से गुणा करें। यह आपको एक आंकड़ा देता है जिसे आप हार्डवेयर कोट के बगल में सेट कर सकते हैं। यदि आप सेटअप विवरण चाहते हैं, तो दस्तावेज़ीकरण समर्थित पैरामीटरों की सूची देता है, जिसमें स्ट्रीमिंग, फ़ंक्शन कॉलिंग और JSON मोड शामिल हैं।
