भंडारण पर अवलोकन और प्रभाव
विश्लेषिकी और भविष्यवाणियां आज आईटी के केंद्र में हैं क्योंकि संगठन डिजिटल परिवर्तन की शुरुआत करते हैं, जिसमें भाषण मान्यता और विज्ञान में पैटर्न विश्लेषण से लेकर धोखाधड़ी का पता लगाने और सुरक्षा उपयोग तक के मामलों का उपयोग होता है। IT और संग्रहण के लिए AIOps.
कृत्रिम बुद्धि और भविष्यवाणी विधियों के रूप में – मशीन लर्निंग, डीप लर्निंग, न्यूरल प्रोसेसिंगआदि – अधिक सामान्य हो गए हैं और इन कार्यों को सुव्यवस्थित करने के लिए तरीके विकसित किए गए हैं।
इनमें से प्रमुख बड़ी संख्या को संभालने के नए तरीकों का उदय है, bfloat16, मूल रूप से Google द्वारा विकसित, इनमें से सबसे प्रमुख है।
इस लेख में, हम देखेंगे कि bfloat16 क्या है और यह आपको कैसे प्रभावित करता है। मेमोरी और बैकएंड स्टोरेजऔर हार्डवेयर निर्माता जो इसका समर्थन करते हैं।
बीफ्लोट16 क्या है?
Bfloat16 – ब्रेन फ्लोट 16 के लिए संक्षिप्त – अंकगणितीय संचालन में फ्लोटिंग पॉइंट नंबरों का प्रतिनिधित्व करने का एक तरीका है। चल बिन्दु संख्या इसका मतलब यह है कि कंप्यूटर एक ही स्कीमा का उपयोग करते हुए बहुत बड़ी संख्या (लाखों, अरबों, खरब, आदि) या बहुत छोटी संख्या (दशमलव बिंदु के बाद बहुत सारे शून्य सोच सकते हैं) को संभाल सकते हैं। यह एक तरीका है।
फ़्लोटिंग-पॉइंट योजनाओं में, बाइनरी बिट्स की एक निश्चित संख्या होती है। बिट्स इंगित करते हैं कि संख्या सकारात्मक या नकारात्मक है, कुछ बिट्स संख्या को स्वयं इंगित करते हैं, और फ़्लोटिंग-पॉइंट घटक (घातांक) दशमलव बिंदु की स्थिति को इंगित करने वाले बिट्स की संख्या है।
जैसा कि नाम से पता चलता है, Bfloat16 यह सब 16-बिट प्रारूप का उपयोग करके करता है। ऐसा करने पर, यह सबसे प्रचलित मौजूदा मानक, IEEE 754, जो कि 32 बिट है, के बिटवाइज़ वज़न को आधा कर देता है।
हालाँकि, bfloat16 IEEE 754 के समान आकार के घातांक का उपयोग करता है, इसलिए संख्या का आकार समान श्रेणी का प्रतिनिधित्व कर सकता है, लेकिन कम सटीकता के साथ।
bfloat16 किसके लिए प्रयोग किया जाता है?
Bfloat16 को Google द्वारा विकसित किया गया था। B का मतलब कंपनी का ब्रेन प्रोजेक्ट है। टेंसर प्रोसेसिंग यूनिट (टीपीयू) मशीन लर्निंग के लिए उपयोग किया जाता है। यहां महत्वपूर्ण बात यह है कि मशीन सीखने के संचालन के लिए अन्य गणनाओं के लिए आवश्यक पावर-ऑफ-स्क्वायर सटीकता स्तर की आवश्यकता नहीं होती है। लेकिन आपको ऑपरेशन की गति की आवश्यकता है, और यही bfloat16 के लिए है।
bfloat16 स्टोरेज को कैसे प्रभावित करता है?
bfloat16 का मुख्य लाभ प्रसंस्करण के दौरान भंडारण आवश्यकताओं को कम करना और मशीन सीखने के संचालन के दौरान तेजी से व्यक्तिगत गणना करना है।
Bfloat16 IEEE 754 32-बिट नंबरों का उपयोग करके समकक्ष संचालन की आधी मेमोरी का उपयोग करता है। इसका मतलब है कि आपके पास अधिक मेमोरी हो सकती है और मेमोरी के अंदर और बाहर स्वैप करने में कम समय लगता है। इसका मतलब है कि आप बड़े मॉडल और डेटासेट का उपयोग कर सकते हैं। साथ ही, bfloat16 को बल्क स्टोरेज से मेमोरी में लोड होने में कम समय लगता है।
bfloat16 के लिए हार्डवेयर समर्थन प्रोसेसर और प्रसंस्करण इकाइयों में बनाया गया है और इसलिए इसे मानक के साथ संरेखित किया गया है।
बैकएंड स्टोरेज वॉल्यूम पर सकारात्मक प्रभाव पड़ सकता है। इसका मतलब है कि यदि आप bfloat16 पर बहुत सारे मशीन लर्निंग ऑपरेशन करते हैं, तो कम स्टोरेज की आवश्यकता होती है। लेकिन IEEE 754 कम से कम कुछ समय के लिए हावी रहेगा, और bfloat16 संभवतः उस मौजूदा मानक से परिवर्तित हो जाएगा।
bfloat16 में कौन सा हार्डवेयर सपोर्ट है?
Bfloat16 को पहले इंटेल द्वारा समर्थित Google के हार्डवेयर TPU पर तैनात किया गया था। इसका उपयोग प्रदाता की क्लाउड सेवा (क्लाउड टीपीयू) के माध्यम से किया जा सकता है या ग्राहकों के ऑन-प्रिमाइसेस उपयोग के लिए उत्पाद के रूप में खरीदा जा सकता है।
लेखन के समय, यह इंटेल की तीसरी पीढ़ी के ज़ीऑन स्केलेबल सीपीयू, आईबीएम के पावर 10 और एआरएम के नियोवर्स प्रोसेसर द्वारा भी समर्थित है।
Bfloat16 को ARM’s Trillium, Centaur, Flex, Habana, Intel’s Nervana, और Wave जैसे कई NPU (टीपीयू सहित न्यूरल प्रोसेसिंग यूनिट्स) द्वारा भी सपोर्ट किया जाता है।