Zubnet AIसीखेंWiki › Matrix Multiplication
मूल तत्व

Matrix Multiplication

इसे भी कहा जाता है: Matmul, GEMM
सभी neural networks के अंतर्गत मूलभूत गणितीय ऑपरेशन। एक weight matrix को input vector (या matrix) से गुणा करने पर output vector उत्पन्न होता है। प्रत्येक linear layer, प्रत्येक attention computation, और प्रत्येक embedding lookup अंततः एक matrix multiplication है। AI hardware (GPUs, TPUs) का प्रदर्शन इस बात से मापा जाता है कि यह कितनी तेज़ी से matrix multiplications कर सकता है।

यह क्यों मायने रखता है

यह समझना कि neural networks बस matrix multiplications (बीच में non-linearities के साथ) के अनुक्रम हैं, पूरे क्षेत्र को रहस्यमुक्त कर देता है। यह बताता है कि GPUs क्यों आवश्यक हैं (वे parallel matrix multiplication machines हैं), मॉडल का आकार parameters में क्यों मापा जाता है (weight matrices में मानों की संख्या), और FLOPs compute की इकाई क्यों है (यह इन matrix multiplications में multiply-add ऑपरेशनों की गिनती करता है)।

गहन अध्ययन

Input dimension 4096 और output dimension 4096 वाली linear layer एक (batch_size × 4096) input matrix को (4096 × 4096) weight matrix से गुणा करती है, (batch_size × 4096) output उत्पन्न करती है। प्रत्येक output element एक input row और एक weight column का dot product है: 4096 गुणन और 4095 जोड़। एक उदाहरण के लिए, यह 4096 × 4096 ≈ 16.8 मिलियन multiply-add ऑपरेशन है। एक layer के लिए। एक 32-layer Transformer यह प्रति layer दर्जनों बार करता है।

GPUs क्यों

Matrix multiplication "embarrassingly parallel" है: प्रत्येक output element स्वतंत्र रूप से computed किया जा सकता है। CPU उन्हें अनुक्रमिक रूप से compute करता है (प्रति element तेज़, लेकिन serial)। GPU हज़ारों को एक साथ compute करता है (प्रति element धीमा, लेकिन massively parallel)। NVIDIA H100 FP16 matrix multiplication के ~1000 TFLOP/s करता है — लगभग 1 quadrillion multiply-adds प्रति सेकंड। यह parallelism ही एकमात्र कारण है कि deep learning व्यावहारिक बना।

GEMM Optimization

GEMM (General Matrix Multiply) इतना केंद्रीय है कि hardware vendors इसे जुनूनी रूप से optimize करते हैं। CUDA cores matmul के लिए डिज़ाइन किए गए हैं। Tensor Cores (NVIDIA) एक ही clock cycle में 4×4 matrix multiplications करते हैं। पूरा memory hierarchy (registers, shared memory, L1/L2 cache, HBM) डेटा को matmul units तक प्रवाहित रखने के लिए organize किया गया है। जब लोग कहते हैं कि AI inference "memory-bandwidth bound" है, तो उनका मतलब है कि hardware memory से matrices पढ़ने की तुलना में तेज़ी से गुणा कर सकता है।

संबंधित अवधारणाएँ

← सभी शब्द
← Masked Language Modeling Mechanistic Interpretability →
ESC