Towards Distributed Inference of LLMs on a P2P Network
यह शोध पत्र पीयर-टू-पीयर (P2P) LLM सर्विंग के लिए एक विकेंद्रीकृत, प्रीफ़िक्स-कैश-जागरूक रूटिंग योजना प्रस्तावित करता है जो अनुरोधों को सबसे लंबे मिलान वाले प्रीफ़िक्स वाले नोड्स तक रूट करने के लिए स्थानीय रेडिक्स ट्री और एसिंक्रोनस पीयर मेटाडेटा का लाभ उठाता है, जिससे बिना किसी केंद्रीकृत समन्वय या KV-कैश स्थानांतरण की आवश्यकता के इन्फरेंस विलंबता (inference latency) को कम किया जा सकता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप ज्ञान का एक विशाल पुस्तकालय (एक लार्ज लैंग्वेज मॉडल) चला रहे हैं जो लोगों को कहानियाँ लिखने, प्रश्नों के उत्तर देने और समस्याओं को हल करने में मदद करता है। हर बार जब कोई प्रश्न पूछता है, तो पुस्तकालय को उत्तर देना शुरू करने से पहले उस अनुरोध के पहले भाग पर "सोचना" पड़ता है। यह "सोचने" की प्रक्रिया धीमी है और इसमें बहुत अधिक ऊर्जा खर्च होती है।
हालाँकि, अक्सर कई लोग ऐसे प्रश्न पूछते हैं जो बिल्कुल एक ही शब्दों से शुरू होते—जैसे "यहाँ एक बिल्ली के बारे में एक कहानी है..." या "इस वाक्य का फ्रेंच में अनुवाद करें।" एक स्मार्ट पुस्तकालय में, एक बार जब उन शुरुआती शब्दों के लिए "सोचना" पूरा हो जाता है, तो पुस्तकालय उस काम को एक अस्थायी नोटबुक (जिसे KV Cache कहा जाता है) में सहेज लेता है ताकि अगली बार के लिए उसे दोबारा न करना पड़े। इसे प्रिफिक्स कैशिंग (Prefix Caching) कहा जाता है।
समस्या: "एक पुस्तकालय" की बाधा (The "One Library" Bottleneck)
एक पारंपरिक सेटअप में, आपके पास कई अलमारियों (नोड्स) वाला एक विशाल पुस्तकालय भवन हो सकता है। यदि कोई नया व्यक्ति आता है, तो एक केंद्रीय प्रबंधक तय करता है कि उसे किस अलमारी की ओर भेजना है।
- समस्या: यदि प्रबंधक किसी व्यक्ति को अलमारी A में भेजता है, लेकिन उनके प्रश्न के लिए "सोचने" का काम अलमारी B पर सहेजा गया था, तो अलमारी A को शून्य से शुरुआत करनी होगी। प्रबंधक को लगातार हर एक अलमारी की जाँच करनी पड़ती है कि वहाँ नोट्स कहाँ हैं। यदि प्रबंधक बहुत व्यस्त हो जाता है या खराब हो जाता है, तो पूरा पुस्तकालय धीमा हो जाता है।
- विकल्प: कुछ पुस्तकालय उन नोट्स को तुरंत अलमारी B से अलमारी A में कॉपी करने की कोशिश करते हैं। लेकिन ये नोट्स बहुत बड़े हो सकते हैं (जैसे पूरी किताबों की अलमारियों को स्थानांतरित करना), और उन्हें इधर-उधर ले जाने में बहुत अधिक समय और बैंडविड्थ लगती है।
समाधान: एक पीयर-टू-पीयर "गॉसिप" नेटवर्क
यह शोध पत्र इस विचार को चलाने का एक नया तरीका प्रस्तावित करता है: कोई केंद्रीय प्रबंधक नहीं। इसके बजाय, हर अलमारी (नोड) अपना स्वयं का लाइब्रेरियन है, और वे सीधे एक-दूसरे से बात करते हैं।
यह यहाँ कैसे काम करता है, एक सरल उपमा का उपयोग करते हुए:
1. "रेडिक्स ट्री" (Librarian का मानसिक मानचित्र)
प्रत्येक लाइब्रेरियन हाल ही में पूछे गए प्रश्नों और उनके द्वारा सहेजे गए नोट्स का एक मानसिक मानचित्र (Radix Tree) रखता है।
- उदाहरण: लाइब्रेरियन एलिस जानती है कि उसके पास "केक कैसे बनाएँ" के नोट्स हैं। लाइब्रेरियन बॉब जानता है कि उसके पास "साइकिल कैसे ठीक करें" के नोट्स हैं।
2. "गॉसिप" (Anti-Entropy)
एक केंद्रीय बॉस द्वारा सबको यह बताने के बजाय कि क्या हो रहा है, लाइब्रेरियन आपस में गॉसिप (गपशप) करते हैं। हर कुछ सेकंड में, वे अपने पड़ोसियों को एक संक्षिप्त सारांश फुसफुसाते हैं: "हे, मैंने अभी 'बेकिंग' पर नोट्स सहेजे हैं।"
- वे भारी नोट्स (वास्तविक डेटा) नहीं भेजते; वे केवल उन विषयों की एक छोटी सूची भेजते हैं जिन्हें उन्होंने कवर किया है।
- यह बैकग्राउंड में होता है, ताकि यह वास्तविक काम को धीमा न करे।
3. निर्णय लेना (Routing)
जब एक नया ग्राहक "चॉकलेट केक कैसे बनाएँ" जैसे अनुरोध के साथ आता है, तो जो लाइब्रेरियन सबसे पहले उन्हें देखता है, वह अपने मानसिक मानचित्र की जाँच करता है।
- वह पूछता है: "किसके पास 'बेकिंग' के नोट्स हैं?"
- यदि उसे अपने पड़ोसी से पता चलता है कि बॉब के पास "बेकिंग" के नोट्स हैं, तो वह ग्राहक को बॉब के पास भेज देता है। बॉब "सोचने" वाले हिस्से को छोड़कर सीधे उत्तर दे सकता है।
- यदि उसका मानचित्र थोड़ा पुराना (stale) है और वह ग्राहक को गलत व्यक्ति के पास भेज देता है, तो यह कोई आपदा नहीं है। गलत व्यक्ति को बस शून्य से "सोचना" शुरू करना होगा। उत्तर अभी भी सही होगा; बस इसमें थोड़ा अधिक समय लगा। शुद्धता (Correctness) कभी नहीं खोती, केवल गति कम होती है।
4. भीड़ को संभालना (Hotspots)
क्या होगा अगर हर कोई "बेकिंग" के बारे में जानना चाहता है? बॉब "बेकिंग विशेषज्ञ" बन जाता है और काम के बोझ से दब जाता है।
- सिस्टम में एक सुरक्षा वाल्व है: यदि बॉब बहुत व्यस्त हो जाता है, तो वह अन्य लाइब्रेरियन को फुसफुसाकर कहता है, "मैं भर गया हूँ!"
- फिर अन्य लाइब्रेरियन कुछ समय के लिए बॉब को बेकिंग के अनुरोध भेजना बंद कर देते हैं, जिससे उसे संभलने का समय मिले, और वे नए अनुरोध किसी और को भेज देते हैं जिसे शून्य से "सोचना" पड़ेगा।
प्रयोगों ने क्या दिखाया
शोधकर्ताओं ने चार "लाइब्रेरियन" के साथ सामान्य ज्ञान के प्रश्नों (MMLU) के डेटासेट का उपयोग करके एक कंप्यूटर सिमुलेशन में इस विचार का परीक्षण किया।
- तेज़ नेटवर्क जीतते हैं: यदि लाइब्रेरियन तेज़ी से गॉसिप कर सकते हैं (कम नेटवर्क विलंब/delay), तो यह सिस्टम बिना किसी रूटिंग के काम करने की तुलना में बहुत तेज़ है। यह "सोचने" के काम को दोबारा उपयोग करके बहुत समय बचाता है।
- धीमे नेटवर्क हारते हैं: यदि गॉसिप करने में बहुत समय लगता (उच्च नेटवर्क विलंब), तो अनुरोध को सही व्यक्ति तक भेजने में लगने वाला समय खुद काम करने से अधिक हो जाता है।
- विशेषज्ञता (Specialization): सिस्टम स्वाभाविक रूप से "विशेषज्ञ" बनाता है। यदि कोई विषय लोकप्रिय है, तो एक नोड अंततः उस विषय के सभी नोट्स इकट्ठा कर लेगा, जिससे वह उस विशिष्ट विषय के लिए सुपर फास्ट बन जाएगा। हालाँकि, यदि नोट्स बहुत बड़े हो जाते हैं, तो सिस्टम जगह बनाने के लिए पुराने नोट्स को अपने आप हटा देता है, जिससे समय के साथ "विशेषज्ञ" बदल जाता है।
निष्कर्ष
यह शोध पत्र सुझाव देता है कि वितरित AI सिस्टमों के लिए, हमें एक भारी, केंद्रीय बॉस या महंगे डेटा ट्रांसफर की आवश्यकता नहीं है। इसके बजाय, हम एक विकेंद्रीकृत, गॉसिप-आधारित सिस्टम का उपयोग कर सकते हैं जहाँ नोड्स वह जानकारी साझा करते हैं जो वे जानते हैं।
- लाभ: यह लचीला है (यदि एक नोड टूट जाता है, तो दूसरे काम करते रहते हैं), यह अच्छी तरह से स्केल करता है, और यह भारी मात्रा में डेटा स्थानांतरित करने से बचता है।
- हानि: यह केवल तभी अच्छा काम करता है जब नेटवर्क तेज़ हो और प्रश्नों में बहुत अधिक दोहराव हो (जैसे बहुत से लोग समान चीजें पूछ रहे हों)। यदि नेटवर्क धीमा है या सभी प्रश्न अद्वितीय हैं, तो सिस्टम को बहुत अधिक गति का लाभ नहीं मिलता है।
संक्षेप में, यह दोस्तों के एक समूह द्वारा प्लेलिस्ट साझा करने जैसा है। पूरी लिस्ट को मैनेज करने के लिए एक व्यक्ति होने के बजाय, हर कोई बताता है कि उनके पास कौन से गाने हैं। यदि आपको कोई गाना चाहिए, तो आप उस दोस्त से पूछते हैं जिसके पास वह है। यदि उनके पास नहीं है, तो आप बस उसे खुद बजा लेते हैं। यह थोड़ा अव्यवस्थित है, लेकिन यह तब बहुत अच्छा काम करता है जब हर कोई एक ही हिट गाने सुन रहा हो।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।