12GB या उससे कम GPU पर मॉडल स्विचिंग देरी को खत्म करने के लिए llama-swap सेटिंग्स
14 mai 2026
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
मध्यम-स्तर के GPU उपयोगकर्ताओं के लिए VRAM हमेशा एक सीमित संसाधन होता है। RTX 3060 या 4060 का उपयोग करते समय कई मॉडल चलाने से आप जल्दी ही इसकी सीमा तक पहुँच जाते हैं। 4-बिट क्वांटाइज़ेशन (Q4_K_M) वाला Llama 3.1 8B मॉडल अकेले 5.2GB वजन (weights) लेता है। विंडोज के बुनियादी उपयोग के 1GB को घटाने के बाद, केवल 2GB के आसपास जगह बचती है। यदि आप यहाँ जबरदस्ती और मॉडल लोड करते हैं, तो सिस्टम RAM का उपयोग करने वाला 'स्पिलओवर' शुरू हो जाता है। जब गति 15 टोकन प्रति सेकंड से गिरकर 1 टोकन पर आ जाती है, तो आप तुरंत उस प्रोसेस को बंद करना चाहेंगे।
इस बाधा को रोकने के लिए, आपको config.yaml में प्रत्येक मॉडल के लिए idle_timeout (निकासी समय) अलग से सेट करना होगा।
globalTTL को 300 (5 मिनट) पर सेट करें। मॉडल रन कमांड (cmd) के पीछे --ctx-size 8192 जोड़ें ताकि KV कैश बची हुई पूरी मेमोरी को न सोख ले और आप OOM (Out of Memory) से बच सकें।ttl: 0 के साथ हमेशा मौजूद रखें, और भारी Qwen 2.5 Coder 7B को ttl: 60 पर सेट करें ताकि कोडिंग समाप्त होते ही यह VRAM खाली कर दे।इस तरह सेट करने से आप मॉडल को बार-बार मैन्युअल रूप से बंद करने और चालू करने में बर्बाद होने वाले दिन के कम से कम 20 मिनट बचा सकते हैं।
Ollama का उपयोग करते समय llama.cpp पर स्विच करने से पोर्ट ओवरलैप और संसाधन संघर्ष (resource conflict) होता है। llama-swap इस अव्यवस्था को संभालने वाला एक ट्रैफिक पुलिस है। Go भाषा में बना यह हल्का प्रॉक्सी, नए मॉडल कॉल आने पर मौजूदा प्रोसेस को SIGTERM सिग्नल भेजकर उसे सुरक्षित रूप से बंद करता है और नया मॉडल लोड करता है।
स्थिर एकीकरण के लिए YAML लिखने का तरीका स्पष्ट है:
macros सेक्शन में निष्पादन योग्य फ़ाइल पाथ और --flash-attn, --mlock जैसे सामान्य फ्लैग्स को पहले से परिभाषित करें। इससे कॉन्फ़िगरेशन फ़ाइल बहुत साफ सुथरी हो जाएगी।models आइटम के तहत ${PORT} मैक्रो का उपयोग करके प्रत्येक मॉडल का निष्पादन पाथ निर्दिष्ट करें।proxy फील्ड में http://localhost:11434 लिखकर केवल पाथ को कनेक्ट करें।परिणामस्वरूप, आपके ऐप को केवल एक एड्रेस http://localhost:8080/v1 को देखना होगा। अंदर इंजन बदले या मॉडल, आपको चिंता करने की ज़रूरत नहीं होगी।
लोकल LLM का उपयोग करने का असली कारण पैसा बचाना और व्यक्तिगत डेटा को सुरक्षित रखना है। Cursor मूल रूप से सशुल्क है, लेकिन OpenAI Compatible सेटिंग्स का उपयोग करके आप इसे लोकल llama-swap के साथ इस्तेमाल कर सकते हैं। इस तरह आप हर महीने 20 डॉलर, यानी साल के 240 डॉलर बचाते हैं।
कनेक्ट करने का तरीका सरल है:
http://localhost:8080/v1 डालें।gpt-4o जैसा उपनाम (Alias) दें, तो Cursor इसे अपना पार्टनर समझकर तुरंत काम करने लगेगा।nomic-embed-text पर सेट करें और llama-swap में ttl: 0 पर फिक्स करें।नोट्स बनाते समय कोडिंग विंडो पर जाने पर भी, बैकएंड में मॉडल अपने आप स्वैप हो जाता है। सारा डेटा आपके कंप्यूटर के अंदर ही रहता है, इसलिए सुरक्षा की कोई चिंता नहीं है।
हर बार टर्मिनल खोलकर प्रॉक्सी चालू करना बहुत थकाऊ काम है। AI को एक टूल की तरह इस्तेमाल करने के लिए, इसे हवा की तरह शांति से बैकग्राउंड में चलते रहना चाहिए। विंडोज उपयोगकर्ताओं के लिए, NSSM (Non-Sucking Service Manager) के साथ सेवा के रूप में llama-swap को पंजीकृत करना सबसे अच्छा तरीका है।
तरीका इस प्रकार है:
winget install NSSM के साथ इसे इंस्टॉल करें, और एडमिनिस्ट्रेटर अधिकारों के साथ nssm install LlamaSwap टाइप करें।llama-swap.exe का पाथ और Arguments में --config config.yaml -watch-config दर्ज करें।अब कंप्यूटर चालू करते ही API एंडपॉइंट सक्रिय हो जाएगा। YAML कॉन्फ़िगरेशन फ़ाइल में बदलाव करने और उसे सहेजने पर, -watch-config विकल्प के कारण सेवा को रीस्टार्ट किए बिना नए बदलाव तुरंत लागू हो जाएंगे।
मॉडल बदलते समय बातचीत का टूटना या बंद होना अक्सर मेमोरी डिज़ाइन की गलती होती है। इन्फरेन्स इंजन चालू होते समय कॉन्टेक्स्ट विंडो जितनी मेमोरी पहले से सुरक्षित करने की कोशिश करता है। यदि इसे नियंत्रित नहीं किया गया, तो आपको अप्रत्याशित एरर का सामना करना पड़ेगा।
स्थिरता सुनिश्चित करने के लिए तीन उपाय यहाँ दिए गए हैं:
cmd फील्ड में --ctx-size को 8192 के आसपास स्पष्ट रूप से निर्दिष्ट करें। इसे असीमित छोड़ने पर VRAM क्रैश हो सकता है।healthCheckTimeout को लगभग 300 सेकंड पर सेट करें ताकि लोडिंग के दौरान प्रॉक्सी कनेक्शन न काटे।--flash-attn अनिवार्य है। इसका उपयोग करने पर, आप उसी VRAM में 20% अधिक कॉन्टेक्स्ट का उपयोग कर सकते हैं।8B मॉडल के आधार पर, स्वैपिंग लगभग 5 सेकंड में पूरी हो जाती है। यह वर्कफ़्लो में बाधा न डालने के लिए पर्याप्त है। भले ही आपके पास हाई-परफॉर्मेंस वर्कस्टेशन न हो, बस कुछ सेटिंग्स को ठीक करके आप अपने डेस्क पर एक सुखद AI वातावरण का आनंद ले सकते हैं।