लोकल AI

आपको कितने लोकल AI थ्रेड चलाने चाहिए?

एक साथ कई लोकल AI अनुरोध चलाने से बैच अधिक कुशल लग सकता है, लेकिन समानांतरता निःशुल्क नहीं होती। हर लोकल वर्कर को लोड किए गए मॉडल की अपनी प्रति चाहिए हो सकती है, इसलिए थ्रेड बढ़ाने से मेमोरी का उपयोग बढ़ सकता है और उसी GPU के लिए प्रतिस्पर्धा हो सकती है। सही सवाल “अधिकतम संख्या क्या है?” नहीं, बल्कि “इस डिवाइस पर स्थिर और उपयोगी रहने वाली सबसे ऊँची सेटिंग क्या है?” है।

यह मार्गदर्शिका उदाहरण के लिए MetaStocker का लोकल ब्राउज़र निष्पादन इस्तेमाल करती है। यही तरीका ब्राउज़र-आधारित अन्य लोकल मॉडल पर भी लागू होता है: एक-थ्रेड आधार-स्थिति तय करें, छोटे बैच में दो थ्रेड आज़माएँ और अधिक सेटिंग तभी रखें जब वह त्रुटियों या परेशान करने वाले धीमेपन के बिना कार्यप्रवाह सुधारे।

सुरक्षित लोकल समानांतरता परीक्षण: एक-थ्रेड आधार तय करें — छोटा प्रतिनिधि बैच चलाएँ और स्थिरता तथा ब्राउज़र प्रतिक्रिया दर्ज करें।; दो वर्कर आज़माएँ — मॉडल, फ़ाइलों और प्रॉम्प्ट को अपरिवर्तित रखते हुए दो थ्रेड में दोहराएँ।; स्थिर सेटिंग रखें — विश्वसनीय होने पर ही दो रखें; अन्यथा एक थ्रेड पर लौटें।
इस मार्गदर्शिका में बताए गए काम के चरण।

लोकल थ्रेड वास्तव में क्या खर्च करता है

लोकल थ्रेड AI अनुरोध संभालने वाला एक वर्कर होता है। MetaStocker में लोकल निष्पादन ब्राउज़र में WebGPU वर्कर का उपयोग करता है। दूसरा वर्कर एक और अनुरोध संसाधित कर सकता है, लेकिन वह चुने गए मॉडल की अलग प्रति भी लोड कर सकता है। इसका अर्थ है कि मेमोरी का उपयोग छोटे नियंत्रण विकल्प की तरह नहीं, बल्कि “हर सक्रिय वर्कर के लिए एक मॉडल” के करीब बढ़ सकता है।

सटीक आवश्यकता मॉडल, ब्राउज़र, GPU, ड्राइवर, छवि के आयाम, प्रॉम्प्ट के संदर्भ और उस समय खुली अन्य चीज़ों पर निर्भर करती है। केवल WebGPU समर्थन होना इस बात का प्रमाण नहीं है कि डिवाइस में मॉडल के लिए पर्याप्त मेमोरी है। थ्रेड संख्या को केवल RAM देखकर चुनी जाने वाली विशिष्टता नहीं, बल्कि कार्यभार की सेटिंग मानें।

  • डिवाइस में अतिरिक्त क्षमता हो तो अधिक थ्रेड गति बढ़ा सकते हैं।
  • अधिक थ्रेड मेमोरी का दबाव, प्रतिस्पर्धा, दोबारा प्रयास या ब्राउज़र त्रुटियाँ भी पैदा कर सकते हैं।
  • ब्राउज़र कैश में रखा मॉडल डेटा सक्रिय मॉडल मेमोरी के समान नहीं होता।

एक-थ्रेड आधार-स्थिति से शुरू करें

एक लोकल थ्रेड और छोटे, प्रतिनिधि बैच से शुरू करें। सामान्य काम में जिस मॉडल, प्रॉम्प्ट, फ़ाइल प्रकार और ब्राउज़र सत्र का उपयोग करने की उम्मीद है, वही रखें। व्यावहारिक बातें दर्ज करें: मॉडल लोड होता है या नहीं, अनुरोध पूरे होते हैं या नहीं, ब्राउज़र कितना प्रतिक्रियाशील रहता है और परिणामों में असामान्य रूप से अधिक सुधार की आवश्यकता तो नहीं पड़ती।

लोकल उपयोग से पहले MetaStocker में मॉडल डाउनलोड करना आवश्यक है और अनुमान के लिए आपको उसे स्पष्ट रूप से लोड करना होता है। अनलोड करने से सक्रिय मेमोरी मुक्त हो सकती है, जबकि कैश की गई मॉडल फ़ाइलें बनी रहती हैं; ब्राउज़र की मॉडल फ़ाइलें हटाना अलग कार्रवाई है। डाउनलोड पूरा हो जाना इस बात का प्रमाण नहीं है कि कई सक्रिय वर्कर समा जाएँगे।

  • परीक्षण से पहले अनावश्यक GPU-भारी टैब बंद करें।
  • केवल बहुत छोटी परीक्षण फ़ाइलों के बजाय सामान्य उत्पादन-आकार के प्रीव्यू इस्तेमाल करें।
  • एक थ्रेड के परिणाम को तुलना का आधार बनाए रखें।

नियंत्रित चरण के रूप में दो थ्रेड आज़माएँ

आधार-स्थिति स्थिर होने के बाद छोटे बैच में दो थ्रेड आज़माएँ। बाकी सब कुछ अपरिवर्तित रखें। केवल पहली पूरी हुई वस्तु की तुलना न करें; पूरे कार्यप्रवाह की तुलना करें: मॉडल शुरू होने का समय, कतार का व्यवहार, ब्राउज़र की प्रतिक्रिया, काम पूरा होने की विश्वसनीयता और मेटाडेटा समीक्षा में लगने वाला प्रयास।

बिना तुरंत बड़ी और जोखिमभरी सेटिंग अपनाए, डिवाइस में व्यावहारिक अतिरिक्त क्षमता है या नहीं यह जानने के लिए दो थ्रेड उपयोगी अगला प्रयोग हैं। यदि दो थ्रेड विश्वसनीय रूप से पूरे हों और ब्राउज़र प्रतिक्रियाशील रहे, तो लंबा परीक्षण करें। यदि पूरा काम धीमा, अस्थिर या समझना कठिन हो, तो एक थ्रेड पर लौट आएँ।

  • केवल एक चर बदलें: थ्रेड संख्या।
  • ब्राउज़र अस्थिर होने या त्रुटियाँ दोहराने पर परीक्षण रोक दें।
  • भरी हुई कतार से अधिक विश्वसनीय रूप से काम पूरा होने को प्राथमिकता दें।
काल्पनिक उदाहरण: एक योगदानकर्ता के पास भोजन-तैयारी की 12 छवियाँ हैं और वह Gemma E2B चुनता है। एक थ्रेड में वह पहले चार छवियाँ संसाधित करके ब्राउज़र का स्थिर व्यवहार दर्ज करता है। फिर वह तुलनीय चार छवियों के साथ दो थ्रेड में दोबारा परीक्षण करता है। यदि दूसरा परीक्षण स्वीकार्य रूप से पूरा हो और ब्राउज़र प्रतिक्रियाशील रहे, तो वह बची हुई छवियाँ दो थ्रेड में चलाता है। यदि दोनों वर्कर मेमोरी के लिए प्रतिस्पर्धा करें और दूसरा परीक्षण अधिक समय ले या विफल हो, तो वह एक थ्रेड रखता है। यह कार्यप्रवाह का निर्णय है, गति के माप पर आधारित दावा नहीं।

धीमे समानांतर परीक्षण का निदान करें

दो अनुरोध सक्रिय होने पर भी समानांतर परीक्षण धीमा हो सकता है। वर्कर GPU मेमोरी के लिए प्रतिस्पर्धा कर सकते हैं, ब्राउज़र डेटा स्थानांतरित करने में समय लगा सकता है या डिवाइस मेमोरी दबाव से उबरना शुरू कर सकता है। छोटे बैच में मॉडल लोड होने में ही अधिक समय लग सकता है, जिससे कार्यभार बहुत छोटा होने पर अधिक थ्रेड निराशाजनक लगते हैं।

बड़े, तुलनीय नमूने पर जाँचें कि धीमापन लगातार बना रहता है या नहीं। इंटरफ़ेस की प्रतिक्रिया में देरी, अधूरे जनरेशन, बार-बार त्रुटियाँ, मॉडल का दोबारा लोड होना या अस्थिर ब्राउज़र टैब देखें। एक साथ सक्रिय अनुरोधों की संख्या नहीं, बल्कि कुल उपयोगी आउटपुट और समीक्षा के प्रयास की तुलना करें।

  • यदि शुरू होने में अधिक समय लग रहा हो, तो स्थिर अवस्था का व्यवहार दिखाने के लिए पर्याप्त बड़ा बैच आज़माएँ।
  • यदि केवल बड़े प्रीव्यू विफल हों, तो प्रीव्यू के आयाम घटाएँ या जहाँ उचित हो हल्का कार्यभार इस्तेमाल करें।
  • यदि ब्राउज़र सुस्त हो, तो अन्य GPU-गहन काम रोककर फिर परीक्षण करें।

त्रुटियों और मेमोरी दबाव का निदान करें

समानांतरता बढ़ाने के बाद त्रुटियाँ आना इस बात का प्रमाण है कि वर्तमान वातावरण के लिए सेटिंग बहुत आक्रामक है, भले ही एक थ्रेड काम करता हो। यह पुष्टि करने के लिए एक थ्रेड पर लौटें कि मॉडल और फ़ाइलें अभी भी काम कर रही हैं। फिर कम फ़ाइलों, सरल संदर्भ या नए ब्राउज़र सत्र के साथ दो थ्रेड आज़माएँ। यदि एक थ्रेड स्थिर रहे और दो न रहें, तो व्यावहारिक उत्तर एक थ्रेड है।

यह न मानें कि सिस्टम RAM बढ़ाने से हर समस्या हल हो जाएगी। ब्राउज़र, GPU, ड्राइवर, मॉडल और प्रीव्यू की सीमाएँ सभी महत्वपूर्ण हो सकती हैं। इसी तरह, कैश किए गए मॉडल और सक्रिय रूप से लोड किए गए मॉडल समान संसाधन लेते हैं—यह भी न मानें। यदि एक थ्रेड पर भी विफलताएँ बनी रहें, तो समानांतरता बदलने से पहले मॉडल लोड, ब्राउज़र संगतता, WebGPU समर्थन, फ़ाइल प्रीव्यू और डिवाइस में उपलब्ध संसाधनों की जाँच करें।

  • समस्या को एक थ्रेड पर दोबारा उत्पन्न करें।
  • मॉडल लोड होने की विफलताओं को बैच आकार की विफलताओं से अलग करें।
  • हर परीक्षण के लिए ब्राउज़र, मॉडल, फ़ाइल प्रकार और थ्रेड संख्या का छोटा नोट रखें।

दोहराए जा सकने वाला संचालन नियम चुनें

अधिकांश योगदानकर्ताओं के लिए एक सरल नियम पर्याप्त है: डिफ़ॉल्ट रूप से एक थ्रेड इस्तेमाल करें, वास्तविक डिवाइस पर दो आज़माएँ और दो तभी रखें जब वे स्थिर तथा वास्तविक रूप से अधिक सुविधाजनक हों। सक्रिय मॉडल प्रतियों और ब्राउज़र के कार्यभार में अंतर होता है, इसलिए RAM का कोई सार्वभौमिक सूत्र या जादुई थ्रेड संख्या नहीं है।

मॉडल, ब्राउज़र, ड्राइवर, प्रीव्यू आकार या प्रॉम्प्ट संदर्भ बदलने पर फिर जाँच करें। MetaStocker का लोकल अनुमान आगंतुक के डिवाइस पर ही रहता है; लोकल समानांतरता विफल होने पर यह अपने-आप क्लाउड मॉडल पर वापस नहीं जाता। निर्यात से पहले संपादन योग्य मेटाडेटा की समीक्षा करें, विशेषकर वीडियो के लिए, क्योंकि नमूना-आधारित प्रीव्यू पूरे मोशन के हर क्षण का प्रतिनिधित्व नहीं कर सकते।

  • डिफ़ॉल्ट: एक थ्रेड।
  • प्रयोग: छोटा, नियंत्रित बैच और दो थ्रेड।
  • निर्णय: उपलब्ध सबसे ऊँची नहीं, स्थिर रहने वाली सबसे ऊँची सेटिंग रखें।

अगले चरण से पहले

  • प्रतिनिधि एक-थ्रेड आधार-स्थिति चलाएँ।
  • किसी अन्य चर को बदले बिना दो थ्रेड आज़माएँ।
  • सक्रिय मेमोरी के संकेत, ब्राउज़र की प्रतिक्रिया और त्रुटियाँ देखें।
  • कुल उपयोगी आउटपुट और समीक्षा के प्रयास की तुलना करें।
  • समानांतरता धीमी या अस्थिर होने पर एक थ्रेड पर लौटें।
  • मॉडल, ब्राउज़र, प्रीव्यू या प्रॉम्प्ट बदलने के बाद फिर परीक्षण करें।
  • तैयार पंक्तियों को निर्यात करने से पहले मेटाडेटा की समीक्षा करें।

स्रोत और संपादकीय प्रक्रिया

यह लेख AI की सहायता से तैयार किया गया है। उदाहरण समझाने के लिए दिए गए हैं। स्वचालित जाँच आपके स्टॉक प्लेटफ़ॉर्म के नियम जाँचने का विकल्प नहीं है। हम मार्गदर्शिकाएँ कैसे तैयार करते हैं.