- MVDRAM एक ऐसा सिस्टम है जो बिना संशोधित DRAM का उपयोग करके low-bit LLM inference के लिए GeMV ऑपरेशंस को तेज करता है
- DRAM को GeMV engine के रूप में उपयोग करके यह उच्च throughput प्रदान करता है
- यह मौजूदा PUD approach में input pre-arrangement और output bit flipping की लागत को हटाता है
- प्रयोगों में low-bit LLM पर processor-आधारित implementations की तुलना में बेहतर प्रदर्शन दिखा
- यह AI hardware के लिए नई संभावनाएँ प्रस्तुत करता है
MVDRAM: बिना संशोधित DRAM का उपयोग करने वाला low-bit LLM accelerator
- GeMV operations बड़े language models (LLM) के inference में एक महत्वपूर्ण latency bottleneck बने हुए हैं
- Processing-Using-DRAM (PUD) में DRAM को GeMV engine के रूप में पुनः उपयोग करने की क्षमता है
- लेकिन PUD को LLM inference pipeline में लागू करने पर काफ़ी overhead उत्पन्न होता है
MVDRAM का अभिनव दृष्टिकोण
- MVDRAM data sharing patterns और mathematical linearity का उपयोग करके processor और DRAM के बीच समन्वय करता है
- यह मौजूदा PUD approach की लागत हटाकर GeMV operations को तेज करता है
प्रयोगात्मक परिणाम
- चार DDR4 DRAM modules का उपयोग करने वाले प्रयोगों में MVDRAM ने low-bit (4-bit या उससे कम) LLM पर processor-आधारित implementations से बेहतर प्रदर्शन दिखाया
- इसने अधिकतम 7.29x speedup और 30.5x energy efficiency हासिल की
LLM inference में समग्र सुधार
- 2-bit और 4-bit quantized low-bit models में क्रमशः 2.18x और 1.31x throughput improvement देखा गया
- energy efficiency भी क्रमशः 3.04x और 2.35x बढ़ी
AI hardware की नई संभावनाएँ
- MVDRAM यह साबित करता है कि standard DRAM को LLM accelerator के रूप में उपयोग किया जा सकता है
- इसमें AI hardware के लिए नए क्षितिज खोलने की क्षमता है
1 टिप्पणियां
Hacker News टिप्पणियां
पृष्ठभूमि सामग्री के तौर पर in-DRAM compute के शुरुआती प्रस्तावों में से एक https://users.ece.cmu.edu/~omutlu/pub/in-DRAM-bulk-AND-OR-ie..., तैयार कमर्शियल पार्ट्स के साथ पहला डेमो https://parallel.princeton.edu/papers/micro19-gao.pdf, implementation tool DRAM Bender https://github.com/CMU-SAFARI/DRAM-Bender, और हाल का processing-in-DRAM survey paper https://arxiv.org/abs/2412.19275 हैं
वे आज के idea जितने चालाक या विकसित रूप में नहीं थे, लेकिन आखिरकार ये papers पुराने विचार के नए version जैसे ही हैं
references 1 और 3 की author lists बेवजह बहुत लंबी दिखती हैं
मुझे लगा था कि 2016 की post https://news.ycombinator.com/item?id=12469270 भी होगी, और 2019 की post https://news.ycombinator.com/item?id=22712811 सच में दिखती है
बेशक DRAM का ऐसा specification से बाहर behavior, खासकर copy capability, कुख्यात bug https://news.ycombinator.com/item?id=5314959 से भी जुड़ा है
लगता है कई लोगों ने स्वतंत्र रूप से इस phenomenon को देखा और सोचा कि “शायद यह कोई उपयोगी operation हो सकता है”
author list इतनी बड़ी हो तो आम तौर पर सिर्फ पहला नाम लिखा जाता है और बाकी को “et al.” कर दिया जाता है
“manufacturer द्वारा specified timing parameters को जानबूझकर violate करने वाले DRAM commands देकर 65,536 तक bit operations parallel में हासिल करते हैं” — यह तो DRAM training binary blob को सीधा जवाब देने जैसा लगता है
यह वाकई दिमाग घुमा देने लायक अजीब है, और साथ ही शानदार creative भी
कभी-कभी बहुत नीचे तक details में खोदने का reward मिलता है. बढ़िया
1973 का Mostek MK4096 भी शायद यह कर सकता था, यानी किसी के इसे पहचानने में लगभग आधी सदी लग गई
यानी DRAM में ही matrix operations कर रहे हैं? पागलपन है, लेकिन दिलचस्प
DRAM-based processing (PUD) DRAM के अंतर्निहित analog behavior characteristics का उपयोग करके memory array के अंदर बेहद parallel bit-serial computation संभव बनाता है
पिछले research ने दिखाया है कि commercial off-the-shelf DRAM भी hardware modification के बिना timing parameters को जानबूझकर violate करने पर PUD capability हासिल कर सकता है
core operations दो हैं: RowCopy और majority-of-X(MAJX). RowCopy bitline precharge पूरा होने से पहले PRE के तुरंत बाद ACT command देकर उसी subarray की दूसरी row में data ले जाता है, और एक row की सभी cells को एक साथ प्रभावित करता है, इसलिए processor-mediated data movement से लगभग 100x तेज है
MAJX समान bitline साझा करने वाली X cells को एक साथ activate करके majority vote करता है, और commercial DRAM में इसे delay के बिना ACT, PRE, ACT को तेजी से लगातार issue करके implement किया जाता है. इससे 2 से 32 rows को एक साथ activate किया जा सकता है, और 65,536 columns वाले subarray parallelism का लाभ उठाने वाले PUD की basic compute unit बनती है
hardware world में भी क्या manufacturer द्वारा किसी दिन fix किए जा सकने वाले bug का उपयोग करने का risk होता है?
software में किसी feature को बनाने या कोई दूसरा bug fix करने के लिए platform bug पर निर्भर होना बुरा idea है
15 साल बाद वह bug fix हो सकता है, और तब system फट पड़ेगा लेकिन किसी को वजह समझ नहीं आएगी
हाल में भी शायद ऐसी ही discussion हुई थी, शायद किसी C function के undefined behavior से जुड़ी
किसी खास network card में bug हो सकता है या features का combination दिलचस्प तरीके से behave कर सकता है, जिससे trading firm को फायदा मिलता है
ऐसे bugs या features bug removal की वजह से, या बड़े market में गैर-जरूरी माने जाने के कारण गायब भी हो सकते हैं. इसलिए companies कभी-कभी किसी specific model का बचा हुआ पूरा stock खरीदने की कोशिश करती हैं
सबसे खराब case में 15 साल पहले गायब हो चुके किसी famous supplier के hardware के साथ भी काम कराना पड़ता है. बड़े customers वह equipment 15 साल से बिना दिक्कत चला रहे होते हैं, और नया equipment लगाने पर अगर काम न करे तो वे आपके hardware को ही problem मानेंगे
telecom equipment में यह खास तौर पर important है, इसलिए spec follow न करने वाले suppliers के लिए तरह-तरह की special handling डाली जाती है. और दूसरों के systems न टूटें, इसलिए ऐसी special handling को firmware में बनाए रखना पड़ता है
अगर आप कल्पना करें कि legacy equipment, बंद हो चुकी companies का equipment, और मौजूदा competitors का equipment पूरी दीवार भर रहा है और robot arms cables लगा रहे हैं, तो अंदाजा हो जाता है कि कुछ hardware validation labs कैसी होती हैं
motherboard manufacturers का firmware भी specific CPUs, chipsets आदि के लिए special handling से भरा होता है
optimizing compilers के साथ जुड़ने पर इसका असर व्यापक public को करीब 2010, शायद 2013 के आसपास अधिक पता चला, और अब 12 साल से ज्यादा हो चुके हैं
यह paper bug पर निर्भर रहने की बात कम, और DRAM से क्या संभव है यह दिखाकर उस feature को standardize कराने की उम्मीद ज्यादा करता है
सामान्य matrix-vector multiplication (GeMV) की बात है, मैं गणित में बहुत अच्छा नहीं हूं
3D maths class में quaternion सीखते समय graphics development में matrix calculations का इतिहास थोड़ा-सा पढ़ा था। उस class में मैं पहले fail हुआ था, इसलिए सच में maths वाला इंसान नहीं हूं
मेरी समझ में, quaternion लगभग matrix जितने accurate होते हैं, लेकिन computational complexity कहीं कम होती है, इसलिए वे लोकप्रिय हुए
क्या LLM को matrix की जगह quaternion से बनाने की कोई कोशिश हुई है? या quaternion optimization real-time graphics में ही ज्यादा उपयोगी है?
इनमें से एक खास subset 3D space में rotation को describe करने के लिए इस्तेमाल किया जा सकता है, और बहस हो सकती है, लेकिन quaternion यह काम बेहतर कर सकते हैं
लेकिन quaternion से arbitrary linear function describe नहीं किया जा सकता, इसलिए यह LLM के लिए सही नहीं लगता
neural networks को इससे कहीं ज्यादा dimensions चाहिए होते हैं
इन्हें matrix से represent किया जा सकता है, और ऐसे matrices जिनमें elements real numbers नहीं बल्कि quaternions हों, उनके QDNN जैसे अच्छे उपयोग शायद हो सकते हैं
मेरे अनुभव में LLM जैसी large-scale structures में, जब तक physics या 3D graphics की तरह ज्यादा sophisticated scalar type से representation का कोई वास्तविक फायदा न हो, simple forms के सफल होने की संभावना ज्यादा होती है
इसके अलावा, ऐसे rotation representations में dimensions जोड़ने पर quaternions बहुत अच्छी तरह scale नहीं करते
complex numbers 2D space का complex representation हैं, quaternions 3D space का complex representation हैं, और 4D में जाने के लिए 8 elements वाले octonions चाहिए होते हैं
1997 के original Intelligent RAM(IRAM) material को cite न करना थोड़ा unscientific लगता है
https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=iram...
हालांकि IRAM memory chip में ALU जोड़ने वाले near-memory computing के ज्यादा करीब लगता है, और in-memory computing memory array खुद इस्तेमाल करने वाली दिशा है
निष्पक्ष रूप से कहें तो, huge vector lengths इस्तेमाल करने वाली deep learning आने से पहले in-memory computing का आकर्षण काफी कम था। इसलिए शायद लोग computation को ज्यादा fine-grained तरीके से control करने वाले approaches बनाना चाहते थे
क्या हम उम्मीद कर सकते हैं कि matrix multiplication और शायद दूसरे operations भी traditional CPU से DRAM में shift होंगे, और जानबूझकर hardware support भी जोड़ा जाएगा?
क्या इस तरह की processing location shift से Samsung जैसी कंपनियों को फायदा मिलेगा? NVIDIA जैसी कंपनियां कहां खड़ी होंगी?
https://www.patentlyapple.com/2024/12/apple-plans-to-transit...
दिलचस्प hack है। मैंने paper नहीं पढ़ा, लेकिन ऐसे operations thermally unstable लगते हैं
तो LLM inference results ambient temperature के हिसाब से बदल भी सकते हैं :-)
details के लिए paper पढ़ लें या “temperature” search कर लें