एआई काम के त्वरण के लिए एएसआईसी का उपयोग कैसे करता है?


9

हम विकिपीडिया पेज पर पढ़ सकते हैं कि Google ने मशीन सीखने के लिए एक कस्टम ASIC चिप का निर्माण किया और TensorFlow के लिए सिलवाया गया जो AI को तेज करने में मदद करता है।

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

तो कैसे ASIC चिप्स का उपयोग करके AI का त्वरण ठीक से काम करता है अगर इसका एल्गोरिथ्म नहीं बदला जा सकता है? इसका कौन सा हिस्सा बिल्कुल तेज है?


1
कोई मुख्यधारा एआई तकनीक जिसे मैं एल्गोरिदम के संशोधन की आवश्यकता के बारे में जानता हूं , हालांकि अधिकांश डेटा (कनेक्शन की ताकत, आबादी के सदस्य) आदि को संशोधित करने की क्षमता पर निर्भर हैं
नीत्शेचएनाई

तो नेटवर्क की स्थिति जैसे एकमात्र गतिशील भाग को कुछ फ्लैश मेमोरी या ड्राइव पर रखा जाता है?
केनोरब

En.wikipedia.org/wiki/Application-specific_integrated_circuit के अनुसार , आधुनिक ASIC में RAM हो सकती है ...
NietzscheanAI

जवाबों:


4

टेंसर संचालन

अधिकांश एमएल अनुप्रयोगों में प्रमुख काम केवल (बहुत बड़े) टेनर संचालन का एक सेट है, जैसे मैट्रिक्स गुणन। आप क्या कर सकते हैं कि एक ASIC में आसानी से, और अन्य सभी एल्गोरिदम बस उसके ऊपर चला सकते हैं।


1
एक महत्वपूर्ण बिंदु यह है कि टीपीयू 8 बिट गुणा का उपयोग करता है, जिसे सीपीयू द्वारा पेश किए गए व्यापक गुणन की तुलना में बहुत अधिक कुशलता से लागू किया जा सकता है। इतनी कम सटीकता पर्याप्त है और एक ही चिप पर कई हजारों ऐसे मल्टीप्लायर पैक करने की अनुमति देता है।
मारार्टिनस

3

मुझे लगता है कि एल्गोरिथ्म न्यूनतम रूप से बदल गया है, लेकिन आवश्यक हार्डवेयर को हड्डी में ट्रिम कर दिया गया है।

गेट संक्रमण की संख्या कम हो जाती है (शायद फ्लोट ऑप और सटीक भी), क्योंकि डेटा चालन संचालन की संख्या होती है, इस प्रकार बिजली और रनटाइम दोनों की बचत होती है। Google सुझाव देता है कि उनका टीपीयू समान काम पाने के लिए 10X लागत की बचत करता है।

https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html


1

ASIC - यह एप्लीकेशन स्पेसिफिक आईसी के लिए है। मूल रूप से आप एचडीएल में एक चिप डिजाइन करने के लिए प्रोग्राम लिखते हैं । मैं अपनी बात समझाने के लिए आधुनिक कंप्यूटरों के काम करने के मामले उठाऊंगा:

  • CPU का - CPU मूल रूप से एक माइक्रोप्रोसेसर है जिसमें कई सहायक IC के विशिष्ट कार्य करते हैं। एक माइक्रोप्रोसेसर में केवल एक एकल अंकगणितीय प्रसंस्करण इकाई (निर्मित शब्द) है जिसे अक्युमुलेटर कहा जाता है जिसमें एक मूल्य संग्रहीत किया जाना है, क्योंकि गणना केवल और केवल संचयकर्ता में संग्रहीत मानों द्वारा की जाती है। इस प्रकार हर निर्देश, हर ऑपरेशन, हर R / W ऑपरेशन को संचायक के माध्यम से किया जाना चाहिए (यही कारण है कि पुराने कंप्यूटर जब आप किसी फाइल से किसी डिवाइस पर लिखते हैं तो फ्रीज करते थे, हालांकि आजकल प्रक्रिया को परिष्कृत किया गया है और संचायक की आवश्यकता नहीं हो सकती है विशेष रूप से डीएमए के बीच में आने के लिए)। अब एमएल एल्गोरिदम में आपको मैट्रिक्स गुणा करने की आवश्यकता होती है जिसे आसानी से समानांतर किया जा सकता है, लेकिन हमारे पास हमारे पास केवल एक एकल प्रसंस्करण इकाई है और इसलिए GPU का आया।
  • GPU की - GPU की 100 प्रोसेसिंग यूनिट हैं, लेकिन उनमें CPU की बहुउद्देशीय सुविधाओं का अभाव है। इसलिए वे समानांतर गणना के लिए अच्छे हैं। चूँकि मैट्रिक्स मल्टीप्लीकेशन में कोई मेमोरी ओवरलैपिंग (2 प्रक्रियाओं द्वारा मेमोरी को मैनिपुलेट किया जा रहा है) का एक हिस्सा है, इसलिए GPU का काम बहुत अच्छा होगा। हालाँकि, GPU बहु-कार्यात्मक नहीं है, यह केवल उतनी ही तेजी से काम करेगा जितना CPU अपनी मेमोरी में डेटा फीड करता है।
  • ASIC - ASIC कुछ भी GPU, CPU या आपके डिज़ाइन का प्रोसेसर हो सकता है, किसी भी स्मृति के साथ जो आप इसे देना चाहते हैं। मान लीजिए कि आप अपने स्वयं के विशेष एमएल प्रोसेसर को डिजाइन करना चाहते हैं, एएसआईसी पर एक प्रोसेसर डिजाइन करना चाहते हैं। आप 256 बिट एफपी नंबर चाहते हैं? 256 बिट प्रोसेसर बनाएँ। आप चाहते हैं कि आपका योग शीघ्र हो? पारंपरिक प्रोसेसर की तुलना में बिट्स की उच्च संख्या तक समानांतर योजक को लागू करें? तुम्हें चाहिएnकोर की संख्या? कोई दिक्कत नहीं है। आप विभिन्न प्रसंस्करण इकाइयों से अलग-अलग स्थानों पर डेटा-प्रवाह को परिभाषित करना चाहते हैं? तुम कर सकते हो। इसके अलावा सावधान योजना के साथ आप ASIC क्षेत्र बनाम पावर बनाम गति के बीच एक व्यापार बंद प्राप्त कर सकते हैं। एकमात्र समस्या यह है कि इस सब के लिए आपको अपने स्वयं के मानक बनाने की आवश्यकता है। आमतौर पर प्रोसेसर को डिजाइन करने में कुछ अच्छी तरह से परिभाषित मानकों का पालन किया जाता है, जैसे पिन की संख्या और उनकी कार्यक्षमता, फ्लोटिंग पॉइंट प्रतिनिधित्व के लिए IEEE 754 मानक, आदि जो बहुत परीक्षण और त्रुटियों के बाद सामने आए हैं। तो अगर आप इन सब पर काबू पा सकते हैं तो आप आसानी से अपना खुद का ASIC बना सकते हैं।

मुझे नहीं पता कि उनके टीपीयू के साथ Google क्या कर रहा है, लेकिन जाहिर है कि उन्होंने हाथ में आवश्यकताओं के आधार पर अपने 8 बिट कोर के लिए कुछ प्रकार के इंटीजर और एफपी मानक तैयार किए हैं। वे शायद इसे शक्ति, क्षेत्र और गति के विचारों के लिए एएसआईसी पर लागू कर रहे हैं।


0

कम परिशुद्धता Convo और FC परतों में उच्च समांतरता अभिकलन को सक्षम बनाता है। CPU और GPU फिक्स्ड आर्किटेक्चर, लेकिन ASIC / FPGA को न्यूरल नेटवर्क आर्किटेक्चर के आधार पर डिजाइन किया जा सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.