परिचय: "सरल" चैट फ्रेमवर्क के बारे में बात
डेवलपर टूल्स जो खुद को "सरल" कहते हैं, उनके बारे में बात यह है कि वे आमतौर पर नहीं होते हैं। वे उतने ही सरल हैं जितना कि एयरलाइन बोर्डिंग "सरल" है। लाइनें, ज़ोन और एक बोर्डिंग पास जो आपको नहीं मिल रहा है क्योंकि ऐप ने आपको गेट पर साइन आउट कर दिया है। , ओपन-सोर्स चैट फ्रेमवर्क जिसे लोग पर लगाते हैं, उसे बहुत सरल कहा जाता है। व्यवहार में? यह सरल है अगर आपको ठीक से पता है कि आप क्या कर रहे हैं। यदि आप नहीं जानते हैं, तो यह पोर्ट, मॉडल और गणित का एक उलझा हुआ जाल है जो क्रिस्टोफर नोलन प्लॉट ट्विस्ट के लिए ऑडिशन जैसा दिखता है।
यह गाइड का उपयोग करने के बारे में मेरा स्पष्ट दृष्टिकोण है, बिना आपके सप्ताहांत को डिबगिंग रिट्रीट की तरह मानने के। हम का स्थानीय रूप से उपयोग करने, मॉडल को सर्व करने, एक -संगत एंडपॉइंट को हुक करने और एक चलाने के बारे में जानेंगे जो वास्तविकता के साथ पहले संपर्क में ढह नहीं जाता है। मैं यह बताऊंगा कि क्या भंगुर है, क्या तेज़ है, और किसे तेज़ के रूप में विपणन किया जाता है। (वे अक्सर तीन अलग-अलग चीजें होती हैं।)
वास्तव में क्या है?
बड़े भाषा मॉडल के साथ सर्व करने और चैट करने के लिए एक ओपन-सोर्स सिस्टम है। " क्लोन" के बारे में सोचें, लेकिन आप अपने स्वयं के मॉडल लाएँ। इसमें शामिल हैं:
- एक नियंत्रक (ट्रैफिक पुलिस),
- एक या अधिक मॉडल वर्कर (लोग वास्तव में काम कर रहे हैं),
- एक वेब जो कुछ भी नहीं से बेहतर है और किसी भी उद्देश्य-निर्मित चीज़ से बदतर है।
यदि आपने कभी एक-लाइनर के साथ एक स्थानीय चलाया है और सोचा है: उत्पादन के लिए यह कोई तरीका नहीं है - आप सही हैं। विपरीत है: यह उत्पादन जैसा बनना चाहता है। आप से अधिक की तरह घटकों को वायर करते हैं। भुगतान लचीलापन है। लागत यह जानना है कि आप क्या कर रहे हैं।
का उपयोग कैसे करें: संक्षिप्त संस्करण
- और इसकी निर्भरताएँ स्थापित करें (, यदि आप गति की परवाह करते हैं, मॉडल वेट)।
- कम से कम एक मॉडल वर्कर शुरू करें और इसे नियंत्रक पर इंगित करें।
- (वैकल्पिक लेकिन उपयोगी) -संगत सर्वर शुरू करें।
- (वैकल्पिक लेकिन विवेक-बचाने वाला) वेब शुरू करें।
- -शैली या अंतर्निहित के माध्यम से अनुरोध भेजें। तब तक दोहराएँ जब तक आप कसम खाना बंद न कर दें।
यह मुख्य लूप है। बाकी सब कुछ आपके या आपके धैर्य को भूनने के बिना ऐसा करने के बारे में है।
सेट अप: उबाऊ भाग जो आपको बाद में घंटे बचाते हैं
- : एक वर्चुअल वातावरण का उपयोग करें जिसे आप जहर नहीं देंगे। संस्करणों के बारे में चयनात्मक है। चयनात्मक सॉफ़्टवेयर माफ़ी नहीं मांगता है।
- : यदि आपके पास हार्डवेयर है, तो एक टूलकिट स्थापित करें जो वास्तव में आपके ड्राइवरों से मेल खाता हो। यदि आप नहीं करते हैं, तो आप पर चलेंगे, जो पाइक पीक पर एक मिनीवन चलाने जैसा है - संभव है, जितना आप सोचते हैं उससे धीमा, और आप सोचेंगे कि आपने कोशिश क्यों की।
- मॉडल: मॉडल के साथ नहीं आता है। आप इसे मॉडल वेट पर इंगित करते हैं - वेरिएंट, , , आदि। यदि आपका "डेटा सेंटर" से अधिक "" है तो आप क्वांटाइज्ड मॉडल भी चला सकते हैं।
बेसिक इंस्टाल: इसे साफ रखना
- । यदि आपको -सक्षम की आवश्यकता है, तो उसे पहले स्थापित करें। यदि आप नहीं जानते कि आपको इसकी आवश्यकता है या नहीं, तो शायद आप करते हैं।
- सत्यापित करें कि आपका देखता है: यदि नहीं, तो को दोष देने से पहले उसे ठीक करें। लापता ड्राइवरों के लिए फ्रेमवर्क को दोष देना सर्दियों के लिए थर्मोस्टेट को दोष देने का देवोप्स संस्करण है।
नियंत्रक शुरू करें: हवाई यातायात टॉवर
नियंत्रक चलाएँ। यह मॉडल वर्करों को ट्रैक करता है और अनुरोधों को रूट करता है। इसके बिना, कुछ भी किसी भी चीज़ से बात नहीं करता है। इसे अपने अनुमान फ़ार्म के लिए के रूप में सोचें। उबाऊ, आवश्यक, अदृश्य जब यह काम करता है।
एक मॉडल वर्कर शुरू करें: जहाँ जादू वास्तव में होता है
- एक मॉडल चुनें जिसे आप में वहन कर सकते हैं। में एक पैरामीटर मॉडल अभी भी एक मामूली को बर्बाद कर सकता है। यदि आप विवश हैं तो -बिट या -बिट क्वांटिज़ेशन आज़माएँ।
- एक वर्कर शुरू करें, इसे नियंत्रक पर इंगित करें और मॉडल पथ सेट करें। यदि यह लोड करने में विफल रहता है, तो आमतौर पर ऐसा इसलिए होता है क्योंकि मॉडल परिशुद्धता फिट नहीं होती है या टोकेनाइज़र बेमेल है। लॉग पढ़ें। वे उस तरह से कुंद होते हैं जिस तरह से सर्जन कुंद होते हैं।
-संगत : उपयोगी बिट
एक -शैली को उजागर करता है। इसका मतलब है कि आपकी मौजूदा स्क्रिप्ट और उपकरण जो एंडपॉइंट की अपेक्षा करते हैं, सिद्धांत रूप में, बस काम कर सकते हैं। व्यवहार में, आप बेस को समायोजित करेंगे और उन सुविधाओं पर ध्यान देंगे जो मॉडल नहीं कर सकता है (फ़ंक्शन कॉलिंग, छवि इनपुट) जब तक कि आपका वर्कर उनका समर्थन नहीं करता। लेकिन चीज़ का आकार - , चैट/पूर्णता एंडपॉइंट - लाइन अप होता है। यह एक सप्ताहांत परियोजना और कुछ ऐसा जिसे आप एक सेवा में वायर कर सकते हैं, के बीच का अंतर है।
वेब : क्योंकि कभी-कभी आप क्लिक करना चाहते हैं
अंतर्निहित परीक्षण के लिए ठीक है। यह एक उत्पाद नहीं है; यह एक खिड़की है। यदि आप केवल अपने मस्तिष्क-इन-ए-बॉक्स के लिए एक देव कंसोल चाहते हैं, तो यह पर्याप्त है। यदि आप कार्यस्थान, थ्रेड, मल्टीमॉडल इनपुट या विचारशील जीवन-की-गुणवत्ता सुविधाएँ चाहते हैं, तो आप अभी भी अपना स्वयं का रैपर लिख रहे होंगे - या एक ऐसे क्लाइंट का उपयोग कर रहे हैं जिसने पहले ही एज केस का पता लगा लिया है।
स्थानीय विकास के लिए का उपयोग कैसे करें
- अलग-अलग टर्मिनलों में नियंत्रक और एक वर्कर को स्पिन करें। जब तक आप उन पर भरोसा नहीं करते, तब तक उन्हें में न दफनाएँ।
- -संगत एंडपॉइंट को हिट करने के लिए या एक छोटी स्क्रिप्ट का उपयोग करें: एक परीक्षण संकेत भेजें जो छोटा और स्पष्ट हो।
- उत्पादन मापदंडों में डायल करें: तापमान, टॉप_, मैक्स_। रूढ़िवादी शुरुआत करें। लोग यादृच्छिकता को अधिक ट्यून करते हैं और फिर भ्रम के बारे में शिकायत करते हैं जैसे कि मॉडल शरारती जाग गया हो।
- पुष्टि करें कि टोकेनाइज़ेशन व्यवहार आपकी अपेक्षाओं से मेल खाता है। यदि आप अक्सर मॉडल स्वैप कर रहे हैं, तो आपको एज केस मिलेंगे। यह की गलती नहीं है। यह " अजीब हैं" है।
टीम प्रोटोटाइपिंग के लिए का उपयोग कैसे करें
- एक स्थिर होस्ट पर नियंत्रक चलाएँ।
- एक पूल का अनुकरण करने के लिए एक ही मॉडल के साथ कई वर्कर चलाएँ, या क्षमता के अनुसार मॉडल मिलाएं।
- -संगत एंडपॉइंट को आंतरिक रूप से उजागर करें। अपनी टीम को एक एकल और एक कुंजी दें।
- लॉगिंग जोड़ें। एक उपन्यास विचार नहीं है, लेकिन अंधे दौड़ने वाली टीमों की संख्या लास वेगास स्पोर्ट्सबुक को शर्मसार कर देगी। आपको डिबगिंग के लिए संकेतों और प्रतिक्रियाओं की आवश्यकता है; यदि आवश्यक हो तो संवेदनशील बिट्स को संपादित करें।
प्रदर्शन: "फास्ट" का क्या अर्थ है आप पर निर्भर करता है
आपको तेज़ होने के लिए पर्याप्त रस्सी देता है - या महत्वाकांक्षी कॉन्फ़िगरेशन के साथ खुद को लटकाने के लिए। वास्तविकता जाँच:
- : यदि आपके पास पर्याप्त नहीं है, तो क्वांटाइज़ करें। यदि आपके पास अभी भी नहीं है, तो छोटे मॉडल का उपयोग करें। कोई भी फ्रेमवर्क भौतिकी को ठीक नहीं करता है।
- बैच का आकार: थ्रूपुट के लिए अच्छा है, अक्सर विलंबता के लिए बुरा होता है। एक उठाओ। यदि आपको दोनों की आवश्यकता है, तो आपको अधिक वर्करों की आवश्यकता है।
- कैश: यदि आपका वर्कर इसका समर्थन करता है तो इसे पुन: उपयोग करें। अन्यथा आप उस संदर्भ के लिए भुगतान कर रहे हैं जिसके लिए आपने पहले ही भुगतान कर दिया है।
- टोकन सैंपलिंग: एक बार जब आपका बेस मॉडल गुणवत्ता सीमित कारक बन जाता है तो फैंसी डिकोडिंग स्कीम को कम रिटर्न मिलता है।
सुरक्षा: यह कोई खिलौना नहीं है
यदि आप को किसी ऐसे सर्वर पर रखते हैं जहाँ अन्य मनुष्य इसे छू सकते हैं:
- ऑथ जोड़ें। यहां तक कि एक क्रूड कुंजी भी "आशा" को हरा देती है।
- दर सीमा। आपका भविष्य का स्व आपको धन्यवाद देगा जब एक स्क्रिप्ट सुबह बजे पुनरावर्ती हो जाती है।
- यदि आप लाइसेंस प्राप्त वेट को खुले लोगों के साथ मिलाते हैं तो सार्वजनिक और निजी मॉडल के बीच ट्रैफ़िक को विभाजित करें। वकील अस्पष्टता से प्यार करते हैं; उन्हें खिलाओ मत।
वास्तविक उपकरणों के साथ का उपयोग कैसे करें
- नोटबुक: अपने क्लाइंट को बेस पर इंगित करें और जाएँ। यह डेटा वैज्ञानिकों के लिए कम से कम कष्टप्रद मार्ग है।
- : स्मोक टेस्ट के लिए एक छोटी स्क्रिप्ट तैयार रखें। यदि आप सेकंड में एक समझदार प्रतिक्रिया प्राप्त नहीं कर सकते हैं, तो रुकें और पाइपलाइन को ठीक करें।
- वेब ऐप्स: को एक आंतरिक माइक्रोसर्विस की तरह मानें। स्वास्थ्य जाँच, पुनः प्रयास, समय समाप्त। ऐसा करने के लिए आपको किसी पुस्तक की आवश्यकता नहीं है - आपको अनुशासन की आवश्यकता है।
मॉडल चुनना: वह भाग जिसके बारे में हर कोई बहस करता है
जिम्मेदारी से का उपयोग कैसे करें, मॉडल चयन से शुरू होता है। कुछ त्वरित अनुभवजन्य नियम:
- कुरकुरे उत्तरों के साथ संक्षिप्त चैट: छोटे निर्देश-ट्यून किए गए मॉडल अक्सर अपने वजन से ऊपर पंच करते हैं।
- कोड-भारी संकेत: उन मॉडल का उपयोग करें जिन्होंने वास्तव में अनुमति लाइसेंस के साथ कोड पर प्रशिक्षण लिया है। "पर्याप्त करीब" नहीं है।
- लंबा संदर्भ: यदि आपको की आवश्यकता है, तो पहले अपने हार्डवेयर की योजना बनाएं। फिर अपनी अपेक्षाओं को कम सेट करें।
- मल्टीमॉडल: की संगतता भिन्न होती है। यदि आपको छवियों या ऑडियो की आवश्यकता है, तो एक वर्कर और मॉडल चुनें जो स्पष्ट रूप से इसका समर्थन करते हैं, या ऐसा करने का दिखावा न करें।
-संगतता जाल
एक -संगत के बारे में अच्छी बात यह है कि आप बैक एंड को स्वैप कर सकते हैं। गैर-अच्छी बात यह है कि लोग सभी मॉडलों को समान मानने लगते हैं। वे नहीं हैं। एक एंडपॉइंट जो समान दिखता है, मॉडल - तर्क, क्रिया, सुरक्षा फिल्टर, पूरे व्यक्तित्व - में बेतहाशा अलग व्यवहार कर सकता है। आपका ऐप जादुई रूप से अनुकूल नहीं होगा क्योंकि स्कीमा मेल खाता है। उन वास्तविक मॉडलों के साथ परीक्षण करें जिन्हें आप चलाने जा रहे हैं। फिर कुछ भी बदलने के बाद फिर से परीक्षण करें।
अवलोकनीयता: आप उसे ठीक नहीं कर सकते जो आप नहीं देख सकते
- संकेतों, मापदंडों और विलंबताओं को लॉग करें।
- टोकन गणनाओं को ट्रैक करें और उन संकेतों को अस्वीकार करें जो आपके बजट को उड़ा देते हैं।
- प्रति-मॉडल डैशबोर्ड रखें। हाँ, यह एक "चैट सर्वर" के लिए बहुत कुछ है। यह स्थिरता और वाइब्स के बीच का अंतर भी है।
विफलता मोड: जहां वापस काटता है
- वर्कर के तहत मर जाता है: आपने परिशुद्धता पर थोड़ा अधिक अनुमान लगाया। इसे कम करें या अधिक वाला प्राप्त करें - कोई भी जादू को में मज़बूती से नहीं निचोड़ता है।
- नियंत्रक वर्करों का ट्रैक खो देता है: नेटवर्किंग हिचकी। पुनः प्रयास जोड़ें, और हर चीज को उसी अस्थिर पर तैनात न करें जैसे कि आप एक कॉफी शॉप पार्टी में हैं।
- भयानक विलंबता स्पाइक्स: आपका बैच बहुत महत्वाकांक्षी है, या आपका टोकेनाइज़ेशन को बाधित कर रहा है। सिद्धांत करने से पहले प्रोफ़ाइल।
एक सप्ताह खोए बिना के लिए का उपयोग कैसे करें
लोग को पुनर्प्राप्ति पाइपलाइनों पर लगाते रहते हैं और यह देखकर आश्चर्यचकित होते हैं कि मॉडल उद्धृत करने के बजाय रिफ़ करता है। टिप्स:
- पुनर्प्राप्ति कहीं और साफ-सुथरी (वेक्टर , एम्बेडिंग) करें और मॉडल को छोटा, संरचित संदर्भ खिलाएं।
- संकेतों को अनुशासित रखें। "उद्धरणों के साथ उत्तर दें" कोई मंत्र नहीं है; यह एक सुझाव है। यदि आपको उद्धरणों की आवश्यकता है, तो पोस्ट-प्रोसेसिंग में संरचना लागू करें या एक ऐसे मॉडल का उपयोग करें जिसे व्यवहार करने के लिए प्रशिक्षित किया गया था।
- दोहराए जाने वाले प्रश्नों के उत्तरों को कैश करें। अधिकांश "गतिशील" ज्ञान आधार अलग-अलग कोणों से समान छह प्रश्न हैं।
लागत: समय महंगा हिस्सा है
स्थानीय रूप से चलाना कागज पर सस्ता और ध्यान में महंगा है। यदि आपका लक्ष्य सीखना है, तो महान। यदि आपका लक्ष्य शिप करना है, तो विचार करें कि आपका समय कहाँ जाता है: पैकेजिंग, अपग्रेड, निगरानी, फ़ॉलबैक। प्रबंधित सेवा का उपयोग करने में कोई शर्म नहीं है यदि जिस कार्य पर आपको वास्तव में आंका जाता है, वह "एक चैट सर्वर चलाया" के अलावा कुछ भी है।
कहाँ Sider.AI फिट बैठता है - और कहाँ यह नहीं है यदि आप एक समझदार क्लाइंट अनुभव चाहते हैं - थ्रेड, प्रॉम्प्ट मैनेजमेंट, स्थानीय और क्लाउड मॉडल के बीच तेज़ स्विचिंग - Sider.AISider वास्तव में आपको पहले तीन फ़ाइलें पढ़ने के लिए कहे बिना काम करता है। आप इसे एक -संगत एंडपॉइंट (जैसे ) पर इंगित कर सकते हैं या अपने के हांफने लगने पर होस्ट किए गए मॉडल का उपयोग कर सकते हैं। यह का प्रतिस्थापन नहीं है; यह वह हिस्सा है जो आपके खुरदुरे किनारों को कुछ ऐसा बना देता है जिसका उपयोग लोग पास में खड़े डेवलपर द्वारा इसे समझाए बिना कर सकते हैं। यदि आपकी प्राथमिकता वर्करों और नियंत्रकों के साथ छेड़छाड़ करना है, तो में रहें। यदि यह वास्तविक कार्य कर रहा है, तो आपके एंडपॉइंट के ऊपर बैठा Sider.AISider वह हिस्सा है जिस पर आपको पछतावा नहीं होगा। का उपयोग कैसे करें, चरण दर चरण (बिना हाथ हिलाए)
- निर्भरताएँ स्थापित करें: , यदि लागू हो, के साथ ।
- एक ताज़ा वातावरण में स्थापित करें।
- एक अनुमानित पोर्ट पर नियंत्रक शुरू करें।
- एक ऐसा मॉडल डाउनलोड करें जिसे आप वास्तव में चला सकते हैं। एक किशोर की तरह पहली कार चुनने की तरह लीडरबोर्ड पर सबसे बड़ी चीज के साथ शुरुआत न करें।
- उस मॉडल के साथ एक वर्कर लॉन्च करें। उपयोग और एक पहले टोकन की पुष्टि करें।
- अपने क्लाइंट का उपयोग करके अपने स्थानीय बेस पर सेट करके एक ज्ञात-अच्छे संकेत के साथ परीक्षण करें।
- डीकोडिंग मापदंडों को समायोजित करें, समझदार डिफ़ॉल्ट सेट करें, और उन्हें कॉन्फ़िग में लॉक करें।
- किसी और के इसे छूने से पहले लॉगिंग, बेसिक ऑथ और रेट लिमिट जोड़ें।
- वैकल्पिक: वेब शुरू करें या Sider.AI जैसे बेहतर क्लाइंट को कनेक्ट करें।
सामान्य गॉटचा जो आप ठीक एक बार हिट करेंगे (यदि आप इसे पढ़ते हैं)
- मिश्रित संस्करण: यह पहली वास्तविक लोड तक ठीक लगेगा। जानबूझकर संस्करणों का मिलान करें।
- टोकेनाइज़र बेमेल: मॉडल बनाम टोकेनाइज़र बहाव सूक्ष्म बकवास बनाता है। उन्हें सिंक रखें।
- अत्यधिक लंबे सिस्टम संकेत: आप पेप वार्ता के लिए टोकन का भुगतान कर रहे हैं। सिस्टम संकेत को छोटा, विशिष्ट और उबाऊ बनाएँ।
- स्ट्रीमिंग को अनदेखा करना: प्रतिक्रिया के लिए स्ट्रीमिंग चालू करें। अंतिम उपयोगकर्ता "तेजी से टाइप करना शुरू करता है" को "स्मार्ट" के साथ जोड़ते हैं, और ईमानदारी से, वे गलत नहीं हैं।
स्केलिंग: जब एक वर्कर पर्याप्त नहीं होता है
- क्षैतिज वर्कर: नियंत्रक के लिए पंजीकृत कई वर्कर। यह रॉकेट साइंस नहीं है, लेकिन आपको प्रत्येक मशीन पर मॉडल वेट के लिए एक योजना की आवश्यकता है।
- मिश्रित मॉडल: छोटे उत्तरों को छोटे मॉडल पर रूट करें; भारी हिटर को कठिन प्रश्न भेजें। आपको रूटिंग लॉजिक की आवश्यकता होगी; नियंत्रक आपके ऐप को आपके लिए पैरेंट नहीं करेगा।
- कैशिंग: सामान्य संकेतों को मेमोराइज़ करें। कुछ भी उस काम को छोड़ने से तेज़ महसूस नहीं होता है जो आपने पहले ही कर लिया है।
अभी तक एक और फ्रेमवर्क के बजाय क्यों?
क्योंकि आप पूरे कैथेड्रल का निर्माण किए बिना नियंत्रण चाहते हैं। नियंत्रक/वर्कर विभाजन समझदार है। -संगत व्यावहारिक है। और यह होने से अधिक होने का दिखावा नहीं करता है। यदि आप अपनी महत्वाकांक्षाओं को थर्मोडायनामिक्स के नियमों के भीतर रखते हैं तो आप "विचार" से "उपयोगी" तक एक दोपहर में प्राप्त कर सकते हैं।
लेकिन खुद को धोखा मत दो
का अच्छी तरह से उपयोग करने का मतलब है ट्रेड-ऑफ को स्वीकार करना:
- आप लचीलेपन के लिए कुछ पॉलिश छोड़ देंगे।
- आप लॉग पढ़ेंगे, और वे कम से कम एक बार अस्पष्ट होंगे।
- आप बेंचमार्क ड्रेगन का पीछा करने के लिए ललचाएंगे। विरोध करना। अधिकांश व्यावहारिक कार्य के लिए मॉडल विकल्प फ्रेमवर्क से अधिक महत्वपूर्ण है।
यदि आपको केवल पाँच चीजें याद हैं
- छोटे से शुरू करो। छोटे मॉडल, छोटे कॉन्फ़िग, कम चलने वाले भाग।
- -संगत के माध्यम से जल्दी परीक्षण करें। यदि वह पथ काम करता है, तो बाकी प्लंबिंग है।
- स्थिरता से समझौता करने से पहले क्वांटाइज़ करें। आपको तेज़ नहीं बनाते हैं।
- उन सभी चीजों को लॉग करें जिनके बारे में आप बाद में अनुमान नहीं लगाना चाहेंगे।
- एक सभ्य क्लाइंट का उपयोग करें। सही साधारण मॉडलों को सक्षम महसूस कराता है और अच्छे मॉडलों को बहुत अच्छा लगता है। Sider.AI यहां एक ठोस, नो-फस लेयर है।
रैप-अप: ईमानदार टेक
वह है जो तब होता है जब ओपन सोर्स बस इतना उपयोगी होने के लिए बढ़ता है कि यह होने का दिखावा नहीं करता है। यह मॉड्यूलर, व्यावहारिक है और स्पष्ट रूप से आपका हाथ पकड़ने में दिलचस्पी नहीं रखता है। का उपयोग कैसे करें, ज्यादातर, किसी भी ऐसे उपकरण का उपयोग कैसे करें जो समारोह पर लचीलेपन को महत्व देता है: एक स्पष्ट लक्ष्य के साथ शुरू करें, न्यूनतम व्यवहार्य पाइपलाइन को वायर करें और जब यह काम करे तो रुकें। बाकी - डैशबोर्ड, वितरित वर्कर, मॉडल चिड़ियाघर - तब तक इंतजार कर सकते हैं जब तक कोई आपसे अपटाइम नंबर नहीं पूछता।
अधिकांश लोगों के लिए, स्मार्ट चाल को उस क्लाइंट के पीछे चलाना है जो आपका ध्यान बर्बाद नहीं करता है। टिंकरर्स के लिए, यह तेज किनारों वाला एक खेल का मैदान है। सभी के लिए: यह तेज़ है यदि आप इसे तेज़ बनाते हैं, सरल है यदि आप इसे सरल रखते हैं, और केवल आपके मॉडल की पसंद जितना ही अच्छा है। सॉफ्टवेयर को ऐसा ही होना चाहिए, और यह शायद ही कभी होता है।
अक्सर पूछे जाने वाले प्रश्न
प्रश्न 1: मैं एक -संगत क्लाइंट के साथ का उपयोग कैसे करूँ?
अपने क्लाइंट के बेस को सर्वर पर इंगित करें और उसी चैट/पूर्णता स्कीमा को बनाए रखें। एंडपॉइंट मेल खाता है, लेकिन मॉडल व्यवहार नहीं करेगा - इसलिए अपने द्वारा चलाए जाने वाले वास्तविक मॉडल के विरुद्ध संकेतों और मापदंडों का परीक्षण करें।
प्रश्न 2: एक एकल पर चलाने का सबसे अच्छा तरीका क्या है?
एक ऐसा मॉडल चुनें जो आपके में अतिरिक्त जगह के साथ फिट बैठता है, आदर्श रूप से आराम के लिए क्वांटाइज्ड ( बिट)। एक वर्कर शुरू करें, टोकन स्ट्रीम करें और तब तक बैच का आकार छोटा रखें जब तक आपको विलंबता स्पाइक्स पसंद न हों।
प्रश्न 3: क्या एक ही समय में कई मॉडलों को संभाल सकता है?
हाँ - नियंत्रक कई वर्करों और मॉडलों को ट्रैक करेगा। जानबूझकर अनुरोधों को रूट करें; यह न मान लें कि 'समान ' का अर्थ है मॉडलों में 'बदले जा सकने वाले परिणाम'।
प्रश्न 4: नया हार्डवेयर खरीदे बिना को कैसे तेज करें?
मॉडल को क्वांटाइज़ करें, कैश पुन: उपयोग को सक्षम करें, प्रतिक्रियाओं को स्ट्रीम करें और मैक्स_ को सही आकार दें। सामान्य संकेतों को कैश करना अधिकांश नॉब-ट्विडलिंग की तुलना में अधिक मदद करता है।
प्रश्न 5: क्या पाइपलाइनों के लिए अच्छा है?
यह चैट लेयर के रूप में ठीक काम करता है, लेकिन गुणवत्ता स्वच्छ पुनर्प्राप्ति और अनुशासित संकेतों पर निर्भर करती है। गंदे संदर्भ को ठीक नहीं करेगा; यह केवल मॉडल को तेजी से परोसता है।