मेरे पास GPU के साथ मशीनों का एक गुच्छा है (मैं और मेरे दोस्त उनके मालिक हैं) ज्यादातर गेमिंग और मशीन सीखने के लिए उपयोग किए जाते हैं। प्रत्येक मशीन का स्वतंत्र रूप से उपयोग करने के बजाय, मैंने सोचा कि प्रशिक्षण समय को कम करने के लिए उन्हें एक वितरित प्रणाली (जैसे मशीन लर्निंग मॉडल का वितरित प्रशिक्षण करना) के रूप में उपयोग करना बेहतर होगा। मुझे एप्लिकेशन विकसित करने का कोई अनुभव नहीं है (केवल क्लाउड ऐप्स को छोड़ दिया गया है), लेकिन मैंने सोचा कि क्लाइंट-सर्वर एप्लिकेशन बनाना मजेदार होगा जहां:
फ्रंट-एंड पर, क्लाइंट (जैसे मैं और मेरे दोस्त) सिस्टम तक पहुंच सकते हैं और देख सकते हैं कि कौन सी मशीनें काम के लिए उपलब्ध हैं। यदि किसी मशीन में एक निष्क्रिय GPU है, तो वह काम के लिए उपलब्ध होना चाहिए, अन्यथा (जैसे कोई काम कर रहा है या खेल रहा है) मशीन उपलब्ध नहीं होनी चाहिए। क्लाइंट उपलब्ध मशीनों के एक समूह का चयन कर सकता है और फिर उन पर एक वर्चुअल मशीन (चलाने के लिए कोड और सभी आवश्यक डेटा के साथ) लॉन्च कर सकता है।
बैक-एंड पर, चयनित सर्वर वर्चुअल मशीन प्राप्त करते हैं और इसके अंदर कोड को वितरित तरीके से निष्पादित करते हैं (उदाहरण के लिए Tensorflow वितरित प्रशिक्षण की अनुमति देता है)।
मेरी राय में, गोपनीयता/सुरक्षा कारणों से वर्चुअल मशीनों का उपयोग काफी आवश्यक है। मैं मूल रूप से अपने दोस्तों को अपने सिस्टम में आने दे रहा हूं, और वे भी हैं। मैं सर्वर के साथ खिलवाड़ करने वाले ग्राहकों से बचना चाहता हूं। सभी मशीनों में उबंटू है, एक के बगल में जो विंडोज का उपयोग करता है। इसलिए मुझे इसे पहले उबंटू में लागू करना होगा।
ऐसा कहने के बाद, मुझे नहीं पता कि यह सब कहां से शुरू किया जाए। एक भाषा चुनने के अलावा (मैं जावा या पायथन के प्रति अधिक पक्षपाती हूं, लेकिन मैं किसी अन्य विकल्प पर विचार करूंगा), मुझे कौन से मुख्य कदम उठाने चाहिए? मुझे पता है कि यह शायद एक सामान्य क्लाइंट-सर्वर एप्लिकेशन है, लेकिन जैसा कि मैंने कहा कि मुझे ऐप डेवलपमेंट का कोई अनुभव नहीं है। धन्यवाद
1 उत्तर
मेरी समझ के आधार पर। आप मशीन लर्निंग और बीएस मॉडल से एक्सेस के लिए एक वितरित कंप्यूटिंग सिस्टम स्थापित करना चाहते हैं? अगर मैं सही हूँ। हो सकता है कि आप इस समस्या को हल करने के लिए डिज़ाइन किए गए टेंसरफ़्लो गाइड की जाँच कर सकते हैं। नीचे लिंक है।
https://github.com/tensorflow/examples/blob/master/community/en/docs/deploy/distributed.md
संबंधित सवाल
नए सवाल
web-applications
अकेले उपयोग न करें। वेब-फ्रेमवर्क या लाइब्रेरी जैसे कि [रिएक्टज], [डीजैंगो] या [फ्लास्क] का उपयोग न करें। वेब एप्लिकेशन के बारे में प्रश्नों के लिए उपयोग करें, जहां अधिक विशिष्ट टैग लागू नहीं है। एक उपयुक्त भाषा टैग ([जावा]) और वेब-एप्लिकेशन के विशिष्ट पहलू के साथ उपयोग करें, सवाल इस बारे में है: http विधि ([पोस्ट], [प्राप्त करें]), त्रुटियां ([http-status-code-404]), क्लाइंट-सर्वर संचार ([क्लाइंट-सर्वर]) या सर्वर त्रुटियां।