नई मशीन लर्निंग हार्डवेयर आर्किटेक्चर
- इस repository में ML हार्डवेयर आर्किटेक्चर का source code शामिल है, जो पारंपरिक inner product ऑपरेशन के समान performance हासिल करते हुए भी लगभग आधे multiplication ऑपरेशनों की ही आवश्यकता रखता है।
- low-bitwidth addition का उपयोग करके लगभग आधे multiplications को बदलने वाले एक वैकल्पिक inner product algorithm को चलाकर, ML accelerator की theoretical throughput और computational efficiency limits को बढ़ाता है।
- अधिक जानकारी IEEE Transactions on Computers जर्नल में प्रकाशित पेपर में देखी जा सकती है।
नया algorithm और हार्डवेयर आर्किटेक्चर
- Free-pipeline Fast Inner Product (FFIP) नामक एक नया algorithm और हार्डवेयर आर्किटेक्चर प्रस्तुत किया गया है।
- यह 1968 में Winograd द्वारा प्रस्तावित fast inner product algorithm (FIP) को बेहतर बनाता है।
- FIP, convolutional layers पर लागू होने वाले Winograd minimal filtering algorithm से असंबंधित है, और उन सभी ML model layers पर लागू हो सकता है जिन्हें मुख्य रूप से matrix multiplication में विभाजित किया जा सकता है।
- ML accelerator में पहली बार FIP को implement किया गया है, और FIP की clock frequency तथा उससे मिलने वाले throughput को बेहतर बनाने वाला FFIP algorithm और generalized architecture प्रस्तुत किया गया है।
- FIP और FFIP algorithms तथा architectures के लिए ML-विशिष्ट optimizations का योगदान किया गया है।
- FFIP को मौजूदा fixed-point systolic array ML accelerators में सहज रूप से integrate किया जा सकता है, जिससे आधे multiply-accumulate (MAC) units के साथ समान throughput हासिल किया जा सके, या एक तय hardware budget में अधिक बड़ा maximum systolic array size लागू किया जा सके।
- 8~16-bit fixed-point inputs का उपयोग करने वाले non-sparse ML models के लिए FFIP implementation, समान प्रकार के computing platform पर state-of-the-art solutions की तुलना में अधिक throughput और computational efficiency हासिल करता है।
source code की संरचना
compiler: इसमें एक compiler शामिल है जो Python model descriptions को accelerator commands में parse करता है, और इसमें PCIe driver के साथ interface code भी शामिल है जो accelerator पर model execution शुरू करता है, परिणाम और performance counters पढ़ता है, तथा परिणामों की correctness test करता है।
rtl: इसमें synthesizable SystemVerilog RTL शामिल है।
sim: इसमें testing के लिए simulation environment सेट करने वाली scripts शामिल हैं।
tests: इसमें Cocotb का उपयोग करके simulation में accelerator को verify करने वाले UVM-आधारित testbench source code शामिल हैं।
utils: इसमें project में उपयोग किए गए अतिरिक्त Python packages और scripts शामिल हैं, जिन्हें सामान्य development utilities और सहायता के लिए लेखक ने बनाया है।
GN⁺ की राय
- यह लेख ML हार्डवेयर आर्किटेक्चर में एक अभिनव प्रगति का परिचय देता है, विशेष रूप से ऐसे नए algorithm और architecture के बारे में बताता है जो multiplication ऑपरेशनों को कम करते हुए भी performance बनाए रखते हैं। यह ML operations की efficiency को काफी बढ़ा सकने वाली एक महत्वपूर्ण प्रगति है।
- FFIP algorithm, मौजूदा ML accelerator design में एक नया आयाम जोड़ता है और hardware resources का अधिक कुशल उपयोग करने का तरीका प्रदान करता है। यह energy efficiency और cost efficiency को महत्व देने वाले आधुनिक computing environment में बहुत महत्वपूर्ण है।
- हालांकि, इस तकनीक को व्यापक रूप से अपनाए जाने के लिए मौजूदा ML accelerators के साथ compatibility, developers की नई architecture के प्रति समझ, और वास्तविक hardware में implementation के दौरान performance तथा cost से जुड़ी समस्याओं पर विचार करना होगा।
- समान प्रकार की क्षमताएं देने वाले अन्य projects या products में Google का TPU (Tensor Processing Unit) और NVIDIA के CUDA cores शामिल हैं, जो पहले से बाजार में सिद्ध ML accelerator solutions हैं।
- किसी नई technology या open source को अपनाते समय मौजूदा systems के साथ compatibility, performance improvement के मुकाबले cost increase, और development तथा maintenance की complexity पर विचार करना चाहिए। FFIP को चुनने के लाभों में throughput और computational efficiency में वृद्धि शामिल है, जबकि संभावित कमियों में नई system के लिए developers की learning curve और शुरुआती implementation cost शामिल हो सकती है।
1 टिप्पणियां
Hacker News राय
x + log1p(exp(y - x))बन जाता है।