मुख्य बिंदु
- सर्वश्रेष्ठ स्थानीय मॉडल वह सबसे बड़ा है जो आपकी VRAM में एक उपयोगी गति पर फिट बैठता है, न कि जिसकी सबसे अच्छी प्रतिष्ठा है।
- Ollama आपकी अपनी मशीन पर एक OpenAI-संगत एंडपॉइंट प्रकट करता है, इसलिए एक ही क्लाइंट कोड स्थानीय और होस्टेड दोनों पर काम करता है।
- स्थानीय गोपनीयता और ऑफ़लाइन उपयोग प्रदान करता है; होस्टेड एक बड़े मॉडल, बिना हार्डवेयर और बिना सेटअप की सुविधा देता है।
- हम केवल एक होस्टेड एंडपॉइंट प्रदान करते हैं: इस सेवा से कोई मॉडल डाउनलोड नहीं है।
संक्षिप्त उत्तर: मेमोरी के आधार पर चुनें, फिर दो या तीन का परीक्षण करें
इसके लिए कोई एक सर्वोत्तम मॉडल नहीं है, क्योंकि सीमा आपकी हार्डवेयर है। एक मॉडल को GPU मेमोरी (या सिस्टम RAM, जो बहुत धीमी है) में अपने कार्यकारी कैश के साथ फिट होना चाहिए। व्यावहारिक नियम सरल है: अपनी मेमोरी में आराम से फिट होने वाले सबसे बड़े मॉडल को खोजें और उस गति पर उत्तर देता हो जिसके साथ आप रह सकते हैं, फिर अपने प्रॉम्प्ट पर दो या तीन उम्मीदवारों की तुलना करें।
मॉडल नाम और रैंकिंग हर कुछ सप्ताहों में बदल जाते हैं, इसलिए आज लिखी गई कोई भी सूची जल्दी पुरानी हो जाती है। लीडरबोर्ड छोड़ दें और एक छोटी विधि का उपयोग करें: Ollama लाइब्रेरी और समुदाय अपलोड ब्राउज़ करें, बिना सेंसर, abliterated या रोलप्ले के लिए फाइन-ट्यून्ड के रूप में वर्णित मॉडल के लिए फ़िल्टर करें, एक छोटा और एक मध्यम आकार का खींचें, और प्रत्येक के माध्यम से एक ही दस प्रॉम्प्ट चलाएं। आपके अपने प्रॉम्प्ट आपको किसी अन्य के बेंचमार्क पर स्कोर से अधिक बताते हैं।
यदि इसके बाद आपको लगता है कि आपके मशीन के लिए फिट होने वाले मॉडल आपकी वांछित गुणवत्ता के लिए बहुत छोटे हैं, तो एक होस्टेड एंडपॉइंट वैकल्पिक है। इस पेज का शेष भाग उस लाभ-हानि को संख्याओं के साथ निर्णय लेने के लिए प्रस्तुत करता है।
अपनी मशीन के लिए मॉडल का आकार कैसे निर्धारित करें
तीन संख्याएं तय करती हैं कि क्या अच्छी तरह चलता है: पैरामीटर गणना, क्वांटीज़ेशन, और संदर्भ लंबाई।
पैरामीटर और क्वांटीज़ेशन
अधिक पैरामीटर वाले मॉडल सामान्य रूप से बेहतर लिखते हैं, निर्देशों का अधिक विश्वसनीय रूप से पालन करते हैं और एक चरित्र को लंबे समय तक बनाए रखते हैं। लेकिन पैरामीटर मेमोरी लेते हैं। पूर्ण 16-बिट सटीकता पर एक मॉडल को प्रति पैरामीटर लगभग दो बाइट की आवश्यकता होती है, इसलिए 7B मॉडल को किसी भी कैश से पहले लगभग 14 GB की आवश्यकता होती है। क्वांटीज़ेशन इसे कम कर देता है। एक 4-बिट संस्करण को प्रति पैरामीटर लगभग आधा बाइट की आवश्यकता होती है, इसलिए वही 7B मॉडल लगभग 4 से 5 GB में फिट हो जाता है। गुणवत्ता हर कदम नीचे थोड़ी गिर जाती है, और नुकसान आमतौर पर 4 से 5 बिट पर छोटा होता है और उससे नीचे स्पष्ट होता है।
कॉन्टेक्स्ट लंबाई
कॉन्टेक्स्ट विंडो भी मेमोरी खर्च करता है, क्योंकि मॉडल बातचीत में हर चीज़ का कैश संग्रहीत करता है। एक लंबी रोलप्ले सत्र या एक कहानी जिसमें बहुत सारी पूर्व पाठ है, एक बड़े कैश की आवश्यकता होती है। Ollama आपको प्रति मॉडल कॉन्टेक्स्ट साइज़ सेट करने देता है, और एक बड़ा मान अधिक मेमोरी का उपयोग करता है और जनरेशन को धीमा कर देता है। कई लोकल सेटअप तेज़ रहने के लिए कुछ हजार टोकन की विंडो के साथ चलते हैं, जिसका अर्थ है कि मॉडल लंबी चैट की शुरुआत भूल जाता है।
गति
यदि एक मॉडल GPU मेमोरी से निकलकर सिस्टम RAM में जाता है, तो जनरेशन एक सुखद पढ़ने की गति से एक शब्द प्रति समय तक गिर सकता है। एक छोटा मॉडल जो पूरी तरह GPU पर फिट होता है, अक्सर एक बड़े मॉडल से बेहतर लगता है जो फिट नहीं होता है, भले ही बड़ा मॉडल थोड़ा बेहतर लिखता हो।
Ollama में मॉडल चलाना और कोड से कॉल करना
एक बार Ollama इंस्टॉल होने के बाद, खींचने और चैट करने में दो कमांड लगते हैं, और सटीक मॉडल नाम उस लाइब्रेरी पेज से आता है जिसे आपने चुना है:
ollama pull MODEL_NAME
ollama run MODEL_NAME
Ollama आपके स्वयं के मशीन पर एक OpenAI-संगत API भी सर्व करता है, डिफ़ॉल्ट रूप से http://localhost:11434/v1 पर। इसका मतलब है कि वही क्लाइंट कोड एक लोकल मॉडल या होस्टेड मॉडल से बात कर सकता है, और आप बेस URL और मॉडल नाम बदलकर स्विच करते हैं:
from openai import OpenAI
# Local Ollama (the key is ignored but must be non-empty)
local = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
# Hosted endpoint
hosted = OpenAI(base_url="https://api.ornith.top/v1", api_key="YOUR_API_KEY")
def ask(client, model, text):
r = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": text}],
)
return r.choices[0].message.content
prompt = "Write a tense two-paragraph scene set in an abandoned lighthouse."
print(ask(local, "MODEL_NAME", prompt))
print(ask(hosted, "uncensored", prompt))
एक ही प्रॉम्प्ट्स पर दोनों चलाना आपके मामले के लिए प्रश्न का उत्तर देने का सबसे तेज़ तरीका है। यदि स्थानीय आउटपुट पर्याप्त है, तो आपका कार्य समाप्त हो गया है और इसमें आपको बिजली का खर्च आता है। यदि नहीं, तो आपके पास यह जानने का आधार है कि आपको क्या लाभ मिलेगा।
लोकल Ollama बनाम होस्टेड API
प्रत्येक मामले में कोई भी बेहतर नहीं है। यह तालिका प्रत्येक दृष्टिकोण के संरचनात्मक रूप से सत्य तथ्यों पर टिकी रहती है।
| बिंदु | स्थानीय रूप से Ollama के साथ | होस्टेड API |
|---|---|---|
| अग्रिम लागत | अपना GPU या पर्याप्त RAM वाली एक मशीन | कोई नहीं; $20 से प्रीपेड क्रेडिट |
| चलाने की लागत | बिजली और आपका समय | $0.15 प्रति 1M इनपुट टोकन, $0.50 प्रति 1M आउटपुट टोकन |
| मॉडल साइज़ | आपकी मेमोरी द्वारा सीमित | प्रदाता द्वारा चुना गया एक मॉडल |
| ऑफ़लाइन काम करता है | हाँ | नहीं, इंटरनेट की आवश्यकता है |
| डेटा आपके मशीन से बाहर जाता है | नहीं | हाँ, प्रॉम्प्ट प्रदाता को जाते हैं; हमारे प्रॉम्प्ट प्रशिक्षण में उपयोग नहीं किए जाते |
| मॉडल का चयन | जो भी आप डाउनलोड कर सकते हैं | केवल एक ही पेश किया गया |
| समवर्ती उपयोगकर्ता | आपके हार्डवेयर द्वारा सीमित | पूर्ण कुंजी पर 8 समानांतर अनुरोध तक |
| सेटअप | इंस्टॉल करें, पुल करें, सेटिंग्स ट्यून करें | बेस URL और कुंजी बदलें |
गोपनीयता, ऑफलाइन उपयोग और स्वतंत्र चयन में स्थानीय मॉडल बेहतर हैं। यदि आपका टेक्स्ट कभी भी आपके मशीन से बाहर नहीं जाना चाहिए, या आप साप्ताहिक मॉडल बदलना चाहते हैं, तो स्थानीय रूप से चलाएं। एक होस्टेड API सेटअप समय में, काम करते समय आपकी GPU को बांधे बिना, और एक साथ कई उपयोगकर्ताओं के लिए ऐप को सर्व करने में बेहतर है।
यह भी सही है कि हम क्या नहीं देते। यह सेवा केवल एक होस्टेड एंडपॉइंट है। डाउनलोड करने के लिए कोई मॉडल फ़ाइल नहीं है, कोई फाइन-ट्यूनिंग नहीं है और अपने वेट्स लाने का कोई रास्ता नहीं है। यदि आप मॉडल को स्वयं चाहते हैं, तो Ollama सही टूल है, और हमारा खुला-स्रोत LLM API गाइड विकल्पों के व्यापक सेट को समझाता है।
मेजबान सेवा की लागत, विस्तृत गणना
अक्सर लोग मानते हैं कि मेजबान मॉडल मुफ़्त लोकल रनिंग की तुलना में महंगा होता है। हार्डवेयर की लागत जोड़ने पर लोकल मुफ़्त नहीं रहता, लेकिन ठोस उपयोग के साथ तुलना करना आसान होता है। यहाँ कीमतें हैं: 1M इनपुट टोकन के लिए $0.15 और 1M आउटपुट टोकन के लिए $0.50।
- कैजुल रोलप्ले, प्रतिदिन 100 संदेश। मान लें कि प्रत्येक टर्न पर 3,000 टोकन इतिहास भेजा जाता है और 300 टोकन वापस मिलते हैं। प्रति टर्न इनपुट: 3,000, $0.15 प्रति 1M पर $0.00045। आउटपुट: 300, $0.50 प्रति 1M पर $0.00015। यह प्रति टर्न $0.0006, 100 टर्न के लिए $0.06, और 30 दिनों में लगभग $1.80 है।
- एक लेखन परियोजना। एक महीने में 5M इनपुट टोकन और 1M आउटपुट टोकन की लागत $0.75 प्लस $0.50, यानी कुल $1.25 है।
- एक छोटा ऐप। एक महीने में 200M इनपुट और 40M आउटपुट टोकन की लागत $30 प्लस $20, यानी कुल $50 है।
केवल आप अपनी GPU की लागत तय कर सकते हैं, लेकिन हल्के और मध्यम उपयोग की मेजबान लागत बहुत कम है। $20 का न्यूनतम टॉप-अप पहले दो स्तरों पर लंबे समय तक चलता है, और क्रेडिट कभी समाप्त नहीं होता, इसलिए यदि आप एक महीने का ब्रेक लेते हैं तो यह गायब नहीं होगा। बड़े टॉप-अप पर बोनस मिलता है: $50 पर 5%, $100 पर 10%, $200 पर 15%। विस्तृत विवरण मूल्य निर्धारण पृष्ठ पर उपलब्ध है।
दोनों को जोड़ने का एक समझदारी भरा तरीका
आपको एक बार में चयन करना आवश्यक नहीं है। कई लोग तेज़ ड्राफ्ट और निजी नोट्स के लिए एक छोटे स्थानीय मॉडल को चलाते हैं, और लंबे या अधिक मांग वाले कार्यों को एक होस्टेड एंडपॉइंट पर भेजते हैं। चूंकि दोनों OpenAI फॉर्मेट बोलते हैं, आपका ऐप दो क्लाइंट ऑब्जेक्ट्स रख सकता है और कार्य के अनुसार मार्ग निर्देशित कर सकता है, जैसा कि ऊपर कोड में है।
जब आप होस्टेड साइड का परीक्षण करते हैं, तो नए उपयोगकर्ता API कुंजी पेज पर एक क्लिक के साथ $0.50 का मुफ़्त ट्रायल क्रेडिट दावा कर सकते हैं, बिना कार्ड के, प्रति व्यक्ति एक, 7 दिनों के लिए मान्य। ऊपर प्रति-टर्न आंकड़ों के अनुसार, यह सैकड़ों रोलप्ले टर्न हैं, जो आपको समान प्रॉम्प्ट पर अपने सर्वोत्तम स्थानीय मॉडल के खिलाफ तुलना करने की अनुमति देते हैं। आप साइन इन करने के बाद एक API कुंजी बना सकते हैं Google या ईमेल और पासवर्ड के साथ। API दस्तावेज़ temperature, top_p, stop और seed जैसे पैरामीटर सूचीबद्ध करते हैं, जिन्हें पास किया जाता है, इसलिए आपकी स्थानीय सैंपलिंग सेटिंग्स लागू होती हैं।
कुछ सीमाएँ हैं जिनकी योजना बनानी होगी। एक ट्रायल कुंजी 2 समानांतर अनुरोध और प्रति मिनट 60 अनुरोध की अनुमति देती है; एक पूर्ण कुंजी 8 और 300 की अनुमति देती है। कॉन्टेक्स्ट विंडो 100,000 टोकन की है, जो अधिकांश लोकल सेटअप द्वारा सहजता से चलाए जाने वाले डेटा से कहीं अधिक है। और एकमात्र नियम जो किसी सेटिंग से नहीं बदलता: मॉडल कानूनी वयस्क उपयोग के लिए है और नाबालिगों से संबंधित यौन सामग्री उत्पन्न नहीं करेगा।
