मैंने एक जीपीयू के 'ओवरहेड' के बारे में चर्चा की है, और 'छोटे' नेटवर्क के लिए, यह वास्तव में एक जीपीयू की तुलना में सीपीयू (या सीपीयू के नेटवर्क) पर प्रशिक्षित करने के लिए तेज़ हो सकता है।
'छोटा' से क्या तात्पर्य है?
उदाहरण के लिए, क्या 100 छिपी इकाइयों वाली एकल-परत एमएलपी 'छोटी' होगी?
क्या आवर्तक वास्तुशिल्प के लिए 'छोटे' की हमारी परिभाषा बदल जाती है?
क्या कोई अन्य मानदंड हैं जो यह तय करते समय विचार किया जाना चाहिए कि सीपीयू या जीपीयू पर प्रशिक्षित करना है या नहीं?
संपादित करें 1:
मुझे बस एक ब्लॉग पोस्ट मिला (संभवतः पुराना है; यह 2014 से है):
"... अधिकांश नेटवर्क कार्ड [s] केवल उस मेमोरी के साथ काम करते हैं जो CPU के साथ पंजीकृत है और इसलिए GPU को दो नोड्स के बीच GPU ट्रांसफर इस तरह होगा: GPU 1 से CPU 1 टू नेटवर्क कार्ड 1 से नेटवर्क कार्ड 2 से CPU 2 से 2 जीपीयू। इसका क्या मतलब है, अगर कोई धीमा नेटवर्क कार्ड चुनता है, तो एक कंप्यूटर पर कोई स्पीडअप नहीं हो सकता है। तेज नेटवर्क कार्ड के साथ, यदि क्लस्टर बड़ा है, तो एक की तुलना में GPU से स्पीडअप भी नहीं मिलता है। सीपीयू के रूप में सीपीयू नेटवर्क कार्ड के लिए बस तेजी से काम करते हैं ताकि उनके साथ बने रहें।
यही कारण है कि Google और Microsoft जैसी कई बड़ी कंपनियां अपने बड़े तंत्रिका नेटवर्क को प्रशिक्षित करने के लिए GPU क्लस्टर के बजाय CPU का उपयोग कर रही हैं। "
तो कुछ बिंदु पर, इस पोस्ट के अनुसार, यह CPU का उपयोग करने के लिए तेज़ हो सकता था। क्या अभी भी यही मामला है?
संपादित करें 2: हाँ, वह ब्लॉग पोस्ट बहुत अच्छी तरह से पुरानी हो सकती है क्योंकि:
अब ऐसा लगता है कि नोड के भीतर GPU PCIe बस के माध्यम से जुड़ा हुआ है, इसलिए संचार लगभग 6GiB / s पर हो सकता है। (उदाहरण के लिए: https://www.youtube.com/watch?v=el1iSlP1uOs , लगभग 35 मिनट)। स्पीकर का तात्पर्य है कि यह GPU1 से CPU से GPU2 तक जाने से तेज है। इसका मतलब होगा कि नेटवर्क कार्ड अब अड़चन नहीं है।