COE 592Lecture 4.2المحاضرة 4.2Part 09الجزء 09
EIE results and what came afterنتائج EIE وما جاء بعده
Non-zero detection after ReLU, EIE's special design choices, its throughput and energy lead over CPU, GPU, FPGA and other ASICs, and the retrospective lessons that shaped later sparse hardware.كشف العناصر غير الصفرية بعد ReLU، وخيارات التصميم الخاصة في EIE، وتفوقه في الإنتاجية والطاقة على CPU وGPU وFPGA ودوائر ASIC الأخرى، والدروس المستفادة لاحقًا التي شكّلت عتاد التناثر التالي.
- Conceptsالمفاهيم
- 5
- Slidesالشرائح
- 71-77
- Readingمدة القراءة
- 30 min30 دقيقة
Why this part mattersلماذا يهمّ هذا الجزء
Your research on embedded machine learning lives or dies on the memory hierarchy. EIE is the canonical proof that eliminating DRAM traffic, not building faster multipliers, is the lever that moves energy by orders of magnitude.
The previous part built the processing element block by block. This part finishes the pipeline (ReLU and non-zero detection close the loop back to the next layer), then reads the results the way a reviewer would: nine benchmark layers, two log-scale charts, and the headline numbers you must be able to quote and qualify. It ends with the authors' own retrospective seven years later, which is a ready-made map from 2016 fine-grained sparsity to today's 2:4 tensor cores and W4A16 LLM inference. Exam questions on this lecture ask for the headline numbers, the energy breakdown and EIE's limits.
بحثك في تعلّم الآلة المدمج ينجح أو يفشل بحسب هرمية الذاكرة. وEIE هو الدليل المرجعي على أن التخلّص من حركة البيانات إلى DRAM ومنها، لا بناء ضوارب أسرع، هو الرافعة التي تحرّك الطاقة بفارق رتب من المقدار.
بنى الجزء السابق عنصر المعالجة (PE) كتلةً كتلة. أما هذا الجزء فيُكمل خط المعالجة (إذ تُغلق ReLU وكشف القيم غير الصفرية الحلقة عائدةً إلى الطبقة التالية)، ثم يقرأ النتائج كما يقرؤها مُحكِّم: تسع طبقات اختبار، ومخططان بمقياس لوغاريتمي، والأرقام الرئيسية التي يجب أن تستطيع ذكرها وتقييدها بشروطها. وينتهي بمراجعة المؤلفين أنفسهم لعملهم بعد سبع سنوات، وهي خريطة جاهزة تقود من التناثر الدقيق (fine-grained sparsity) في 2016 إلى أنوية الموتّرات بنمط 2:4 اليوم وإلى استدلال LLM بصيغة W4A16. وأسئلة الامتحان على هذه المحاضرة تطلب الأرقام الرئيسية، وتفصيل الطاقة، وحدود EIE.
By the end you canفي نهاية هذا الجزء ستستطيع
- Trace an output activation from the accumulator through ReLU and leading non-zero detection back into the next layer's broadcast.تتبّع تفعيل الخرج من المُراكِم (accumulator) مرورًا بدالة ReLU وكشف أول قيمة غير صفرية (leading non-zero detection) حتى يعود إلى البث (broadcast) في الطبقة التالية.
- Explain each of the four energy factors (120x, 10x, 8x, 3x) and rank them using the Horowitz energy table.اشرح كل عامل من عوامل الطاقة الأربعة (120x و10x و8x و3x) ورتّبها باستخدام جدول الطاقة لـ Horowitz.
- Quote and interpret 189x, 13x, 24,000x and 3,400x, including the batch size 1 caveat.اذكر الأرقام 189x و13x و24,000x و3,400x وفسّرها، مع التحفّظ الخاص بحجم الدفعة (batch size) يساوي 1.
- Read a log-scale cross-platform chart critically, separating order-of-magnitude signal from process-node noise.اقرأ مخططًا لوغاريتميًا يقارن بين المنصات قراءة نقدية، فتفصل إشارة رتبة المقدار عن ضجيج اختلاف عقدة التصنيع (process node).
- List what EIE could not do and name the successor idea for each limitation, ending at 2:4 sparsity.عدّد ما لم يستطع EIE فعله، وسمِّ الفكرة اللاحقة التي عالجت كل قيد، وصولًا إلى تناثر 2:4.
Follow one output row to the end. The accumulator for row i has just finished summing every product of a broadcast activation and a decoded weight from that row. The sum lands in a destination activation register. ReLU clamps it: a negative sum becomes zero, a positive one is kept. Now the leading non-zero detection logic scans the register file and reports the first non-zero it finds, as a pair "value v at index j". For the next layer, the central control unit broadcasts only those pairs. The output of this layer is already the sparse input of the next one, and no dense vector was ever written out.
تتبّع صفّ خرج واحدًا حتى نهايته. انتهى المُراكِم الخاص بالصف i للتو من جمع كل حواصل ضرب تفعيلٍ مبثوث في وزنٍ مفكوك الترميز من ذلك الصف. يستقر المجموع في سجلّ التفعيل الوجهة (destination activation register). ثم تقصّه ReLU: المجموع السالب يصبح صفرًا، والموجب يبقى كما هو. بعد ذلك يمسح منطق leading non-zero detection (كشف أول قيمة غير صفرية) ملف السجلات ويُبلغ عن أول قيمة غير صفرية يجدها، على شكل زوج "القيمة v عند الفهرس j". وفي الطبقة التالية لا تبث وحدة التحكم المركزية إلا هذه الأزواج. خرج هذه الطبقة هو أصلًا الدخل المتناثر للطبقة التالية، ولم يُكتب أي متجه كثيف إلى الخارج في أي لحظة.
That is the loop the slides close. Part 08 showed how a broadcast activation fans out to the processing elements and how each PE walks its CSC column; this part shows how the results become the next broadcast. The detection is hierarchical: each group of four PEs feeds a leading non-zero detection node, those nodes feed another, and the root of the tree sits inside the central control unit and drives the H-tree broadcast. Han et al. report 21 such nodes for 64 PEs (16 + 4 + 1), each about 0.023 mW and 189 µm², well under 0.3% of one PE. The machinery that keeps both ends of the datapath sparse is almost free.
هذه هي الحلقة التي تُغلقها الشرائح. أوضح الجزء 08 كيف ينتشر التفعيل المبثوث إلى processing elements (عناصر المعالجة) وكيف يمرّ كل PE على عمود CSC الخاص به؛ أما هذا الجزء فيوضح كيف تصبح النتائج هي البث التالي. الكشف هرمي: كل مجموعة من أربعة PE تغذّي عقدة كشفٍ لأول قيمة غير صفرية، وهذه العقد تغذّي عقدةً أخرى، وجذر الشجرة موجود داخل وحدة التحكم المركزية ويقود broadcast (البث) عبر شجرة H-tree. يذكر Han et al. وجود 21 عقدة من هذا النوع لكل 64 عنصر معالجة (16 + 4 + 1)، تستهلك كل منها نحو 0.023 mW ومساحتها 189 µm²، أي أقل بكثير من 0.3% من عنصر معالجة واحد. فالآلية التي تُبقي طرفي مسار البيانات متناثرين تكاد تكون مجانية.
Sum of activation times decoded weight per row
مجموع حواصل ضرب التنشيط في الوزن المفكوك ترميزه لكل صف
Negatives become zero; typical density falls to about 30%
تصبح القيم السالبة صفرًا، وتنخفض الكثافة عادة إلى نحو 30%
Report the next non-zero and its index
أبلغ عن القيمة غير الصفرية التالية وفهرسها
Only non-zero (value, index) pairs are queued
لا تدخل الطابور إلا أزواج (value, index) غير الصفرية
The four special aspects, and the saving each one buysالجوانب الخاصة الأربعة، والتوفير الذي يحققه كل منها
The lecturer highlights four blocks on the PE diagram as EIE's special aspects. Each of them is a concrete piece of hardware, and each maps onto one of the four factors in the paper's energy breakdown. Reading them as pairs is what turns the block diagram into an argument.
يُبرز المحاضر أربع كتل على مخطط عنصر المعالجة باعتبارها الجوانب الخاصة في EIE. كل واحدة منها قطعة عتادية ملموسة، وكل واحدة تقابل عاملًا من العوامل الأربعة في تفصيل الطاقة في الورقة. وقراءتها أزواجًا (الكتلة وعاملها) هي ما يحوّل المخطط الكتلي إلى حُجّة.
Special aspect, hardware block, and the factor it enablesالجانب الخاص، والكتلة العتادية، والعامل الذي تتيحه
- Activation queue and LNZDطابور التفعيلات وLNZD
- Broadcast only non-zero activations, about 70% of them are zero after ReLU (the 3x factor); the FIFO of depth 8 adds load balance so PEs with more non-zeros do not stall the restلا تُبث إلا التفعيلات غير الصفرية، إذ إن نحو 70% منها أصفار بعد ReLU (عامل 3x)؛ وتضيف FIFO بعمق 8 موازنةً للحمل حتى لا تُعطّل عناصر المعالجة التي لديها قيم غير صفرية أكثر بقيةَ العناصر
- Sparse matrix SRAM per PEذاكرة SRAM للمصفوفة المتناثرة في كل PE
- Every compressed weight lives in the PE's own SRAM, 131K weights per PE across 64 PEs, so no DRAM access happens during inference (120x, the largest factor)كل وزن مضغوط موجود في ذاكرة SRAM الخاصة بعنصر المعالجة، بواقع 131K وزن لكل عنصر عبر 64 عنصرًا، فلا يحدث أي وصول إلى DRAM أثناء الاستدلال (120x، وهو أكبر العوامل)
- Weight decoder in the datapathمفكّك ترميز الأوزان في مسار البيانات
- A 4-bit codebook index is expanded to a 16-bit weight right before the multiplier, so memory holds indices and arithmetic sees real values (8x)يُوسَّع فهرس كتاب الرموز (codebook) بطول 4-bit إلى وزن بطول 16-bit قبل الضارب مباشرة، فتحمل الذاكرة الفهارس بينما يرى الحساب القيم الحقيقية (8x)
- Address accumulatorمُراكِم العناوين
- Adds each 4-bit relative index to a running absolute row address, so only stored non-zeros are ever fetched or multiplied (10x from 10% weight density)يضيف كل فهرس نسبي بطول 4-bit إلى عنوان صف مطلق متراكم، فلا يُجلب ولا يُضرب إلا ما خُزِّن من قيم غير صفرية (10x من كثافة أوزان 10%)
The FIFO deserves one extra sentence because it is easy to miss. Columns have different numbers of non-zeros, so PEs finish at different times. Han et al. swept the queue depth and found that at depth 1 some benchmarks lose about half their cycles to imbalance, while the gain flattens past depth 8, which is what they built. That is load balance bought with a few registers rather than with a different pruning pattern, and the retrospective will show why that trade did not scale.
تستحق FIFO جملةً إضافية لأنها سهلة التجاهل. تختلف الأعمدة في عدد قيمها غير الصفرية، لذلك تنتهي عناصر المعالجة في أوقات مختلفة. جرّب Han et al. أعماقًا مختلفة للطابور، فوجدوا أنه عند العمق 1 تخسر بعض الاختبارات نحو نصف دوراتها بسبب عدم التوازن، بينما يتسطّح الكسب بعد العمق 8، وهو ما بنوه فعلًا. هذا load balance (موازنة الحمل) مُشترًى ببضعة سجلات بدلًا من نمط تقليم مختلف، وستُظهر المراجعة اللاحقة لماذا لم تتوسّع هذه المقايضة.
Why on-chip SRAM is the whole storyلماذا تختصر SRAM على الشريحة القصة كلها
The factors multiply, but they are far from equal. Table I of the EIE paper restates Horowitz's 45 nm energy table from ISSCC 2014, the same table lecture 04-1 opened with. A 32-bit integer add costs 0.1 pJ, a 32-bit integer multiply 3.1 pJ, a 32-bit SRAM cache read 5 pJ, and a 32-bit DRAM access 640 pJ. The caption says it plainly: DRAM uses three orders of magnitude more energy than simple arithmetic and 128x more than SRAM; the paper rounds this 128x table ratio to the 120x it uses in its energy breakdown. A multiplier that is twice as efficient saves picojoules. A weight that never leaves the chip saves hundreds of them, on every fetch, for every weight.
العوامل تتضاعف، لكنها أبعد ما تكون عن التساوي. يعيد الجدول I في ورقة EIE عرض جدول الطاقة لـ Horowitz عند 45 nm من ISSCC 2014، وهو الجدول نفسه الذي افتُتحت به المحاضرة 04-1. جمع عددين صحيحين بطول 32-bit يكلّف 0.1 pJ، وضربهما 3.1 pJ، وقراءة 32-bit من ذاكرة SRAM المخبئية 5 pJ، ووصول 32-bit إلى DRAM يكلّف 640 pJ. والتعليق على الجدول يقولها صراحة: DRAM تستهلك طاقة أكثر بثلاث رتب من الحساب البسيط، وأكثر بـ 128x من SRAM؛ وتقرّب الورقة نسبة الجدول هذه 128x إلى 120x التي تستعملها في تفصيل الطاقة. الضارب الأكفأ بمرتين يوفّر بضعة بيكوجولات. أما الوزن الذي لا يغادر الشريحة أبدًا فيوفّر المئات منها، في كل عملية جلب، ولكل وزن.
Pruning and weight sharing matter here for a reason that has nothing to do with arithmetic: they are what make the model small enough to fit. After compression, AlexNet's fully connected layers need about 131K weights per PE, and 64 PEs at 0.638 mm² each hold all of them. Memory takes 93% of a PE's area and 59% of its power, so EIE is, physically, an SRAM chip with a little arithmetic attached. The order of causes is the exam answer: compression makes the model fit on chip, fitting on chip removes DRAM, and removing DRAM is the 120x.
يهمّ التقليم وweight sharing (مشاركة الأوزان) هنا لسبب لا علاقة له بالحساب: فهما ما يجعل النموذج صغيرًا بما يكفي ليتسع. بعد الضغط، تحتاج الطبقات المتصلة بالكامل في AlexNet إلى نحو 131K وزن لكل عنصر معالجة، و64 عنصرًا مساحة كل منها 0.638 mm² تحملها جميعًا. تشغل الذاكرة 93% من مساحة عنصر المعالجة و59% من قدرته، فـ EIE من الناحية الفيزيائية شريحة SRAM أُلحق بها قليل من الحساب. وترتيب الأسباب هو جواب الامتحان: الضغط يجعل النموذج يتسع على الشريحة، واتساعه على الشريحة يلغي DRAM، وإلغاء DRAM هو عامل 120x.
Worked exampleمثال محلول
From 28,800x on paper to 24,000x and 3,400x measuredمن 28,800x على الورق إلى 24,000x و3,400x مقيسة
Multiply the four factorsاضرب العوامل الأربعة
120 x 10 x 8 x 3 = 28,800x. Fetching from SRAM instead of DRAM is 120x; storing 10% of the weights is 10x; 4-bit indices instead of 32-bit weights is 8x; about 70% of activations are zero after ReLU, which the paper measures as 65% energy saved, roughly 3x.120 x 10 x 8 x 3 = 28,800x. الجلب من SRAM بدل DRAM يعطي 120x؛ وتخزين 10% فقط من الأوزان يعطي 10x؛ واستخدام فهارس 4-bit بدل أوزان 32-bit يعطي 8x؛ ونحو 70% من التفعيلات أصفار بعد ReLU، وهو ما تقيسه الورقة بتوفير 65% من الطاقة، أي 3x تقريبًا.Compare with the measurementsقارن بالقياسات
On the nine compressed layers EIE measures 24,000x better energy efficiency than the Core-i7 and 3,400x better than the Titan X (2,700x better than the Tegra K1).على الطبقات المضغوطة التسع يقيس EIE كفاءة طاقة أفضل بـ 24,000x من Core-i7، وأفضل بـ 3,400x من Titan X (وأفضل بـ 2,700x من Tegra K1).Explain the gapفسّر الفجوة
Han et al. say the saving against the GPUs is about 10x below theory (3,400x and 2,700x against 28,800x) for two reasons: index overhead (every 4-bit weight carries a 4-bit index, plus pointers) and process node, since EIE is 45 nm while the GPUs are 28 nm.يقول Han et al. إن التوفير مقابل وحدات GPU أقل من النظرية بنحو 10x (3,400x و2,700x مقابل 28,800x) لسببين: عبء الفهرسة (كل وزن 4-bit يحمل معه فهرسًا 4-bit، إضافةً إلى المؤشرات)، وعقدة التصنيع، إذ إن EIE مصنوع بتقنية 45 nm بينما وحدات GPU بتقنية 28 nm.Where the win comes fromمن أين يأتي المكسب
Removing the SRAM factor collapses the product by two decades; removing any other factor leaves it in the thousands. DRAM elimination is most of the result.Factor removedالعامل المحذوف Productحاصل الضرب SRAM instead of DRAM (120x)SRAM بدل DRAM (120x) 10 x 8 x 3 = 240x10 x 8 x 3 = 240x Weight sparsity (10x)تناثر الأوزان (10x) 120 x 8 x 3 = 2,880x120 x 8 x 3 = 2,880x Weight sharing (8x)مشاركة الأوزان (8x) 120 x 10 x 3 = 3,600x120 x 10 x 3 = 3,600x Activation skipping (3x)تخطّي التفعيلات (3x) 120 x 10 x 8 = 9,600x120 x 10 x 8 = 9,600x Drop one factor from 28,800x and see what remainsاحذف عاملًا واحدًا من 28,800x وانظر ماذا يبقى حذف عامل SRAM يُسقط حاصل الضرب برتبتين عشريتين؛ أما حذف أي عامل آخر فيُبقيه بالآلاف. فإلغاء DRAM هو معظم النتيجة.Factor removedالعامل المحذوف Productحاصل الضرب SRAM instead of DRAM (120x)SRAM بدل DRAM (120x) 10 x 8 x 3 = 240x10 x 8 x 3 = 240x Weight sparsity (10x)تناثر الأوزان (10x) 120 x 8 x 3 = 2,880x120 x 8 x 3 = 2,880x Weight sharing (8x)مشاركة الأوزان (8x) 120 x 10 x 3 = 3,600x120 x 10 x 3 = 3,600x Activation skipping (3x)تخطّي التفعيلات (3x) 120 x 10 x 8 = 9,600x120 x 10 x 8 = 9,600x Drop one factor from 28,800x and see what remainsاحذف عاملًا واحدًا من 28,800x وانظر ماذا يبقى
The four factors and the measured 24,000x and 3,400x come from Han et al. (ISCA 2016), who attribute the gap to index overhead and to EIE's 45 nm process against the GPUs' 28 nm. The 1.6x node penalty is a rough teaching figure, not a number from the paper. Untick the SRAM factor and watch the product fall from 28,800x to 240x.العوامل الأربعة والقيمتان المقيستان 24,000x و3,400x مأخوذة من Han et al. (ISCA 2016)، الذين يعزون الفجوة إلى عبء الفهارس وإلى تقنية تصنيع EIE بدقة 45 nm مقابل 28 nm في وحدات GPU. عقوبة فرق التقنية البالغة 1.6x رقم تعليمي تقريبي وليست من الورقة. ألغِ تحديد عامل SRAM وشاهد الحاصل يهبط من 28,800x إلى 240x.
Quick checkاختبار سريع
In EIE, which unit decides which activations are broadcast to the PEs for the next layer?في EIE، ما الوحدة التي تقرّر أي التفعيلات تُبث إلى عناصر المعالجة من أجل الطبقة التالية؟
Quick checkاختبار سريع
Which factor is the largest in EIE's 120 x 10 x 8 x 3 energy breakdown?أي عامل هو الأكبر في تفصيل الطاقة 120 x 10 x 8 x 3 الخاص بـ EIE؟
Recall
After the accumulators finish, what two steps make the layer output ready for the next layer?بعد أن تنتهي المُراكِمات، ما الخطوتان اللتان تجعلان خرج الطبقة جاهزًا للطبقة التالية؟
Recall
Which single design choice gives EIE most of its energy saving, and how large is that factor?ما قرار التصميم الواحد الذي يمنح EIE معظم توفيره في الطاقة، وما حجم هذا العامل؟
Take AlexNet's FC6 layer: a 4096 x 9216 matrix, 37.7 million weights. After pruning only 9% of the weights survive, and after ReLU only 35% of the input activations are non-zero. A multiply is needed only where a surviving weight meets a non-zero activation, which is 0.09 x 0.35, about 3.2% of the dense count. That is where the 33x FLOP reduction on the slide comes from.
خذ الطبقة FC6 في AlexNet: مصفوفة حجمها 4096 x 9216، أي 37.7 مليون وزن. بعد التقليم لا يبقى إلا 9% من الأوزان، وبعد ReLU لا يكون غير صفري إلا 35% من تفعيلات الدخل. لا نحتاج إلى عملية ضرب إلا حيث يلتقي وزن باقٍ بتفعيل غير صفري، وهذا يساوي 0.09 x 0.35، أي نحو 3.2% من العدد الكثيف. ومن هنا يأتي تخفيض FLOP البالغ 33x في الشريحة.
The general rule is that the two sparsities multiply. Every layer in the benchmark set is a fully connected layer of a real model, and each one has its own pair of densities. Han et al. chose nine of them: three from AlexNet, three from VGG-16, and three from NeuralTalk, an RNN and LSTM image captioning model. The last three are the interesting outliers.
القاعدة العامة أن نوعي التناثر يتضاعفان. كل طبقة في مجموعة الاختبار طبقة متصلة بالكامل من نموذج حقيقي، ولكل منها زوج كثافاتها الخاص. اختار Han et al. تسعًا منها: ثلاثًا من AlexNet، وثلاثًا من VGG-16، وثلاثًا من NeuralTalk، وهو نموذج لتوليد أوصاف الصور مبني على RNN وLSTM. والثلاث الأخيرة هي الحالات الشاذة المثيرة للاهتمام.
| Layerالطبقة | Sizeالحجم | Weight densityكثافة الأوزان | Activation densityكثافة التفعيلات | FLOP reductionتخفيض FLOP | Modelالنموذج |
|---|---|---|---|---|---|
| AlexNet-6AlexNet-6 | 4096 x 92164096 x 9216 | 9%9% | 35%35% | 33x33x | Image classificationتصنيف الصور |
| AlexNet-7AlexNet-7 | 4096 x 40964096 x 4096 | 9%9% | 35%35% | 33x33x | Image classificationتصنيف الصور |
| AlexNet-8AlexNet-8 | 1000 x 40961000 x 4096 | 25%25% | 38%38% | 10x10x | Image classificationتصنيف الصور |
| VGG-6VGG-6 | 4096 x 250884096 x 25088 | 4%4% | 18%18% | 100x100x | Image classificationتصنيف الصور |
| VGG-7VGG-7 | 4096 x 40964096 x 4096 | 4%4% | 37%37% | 50x50x | Image classificationتصنيف الصور |
| VGG-8VGG-8 | 1000 x 40961000 x 4096 | 23%23% | 41%41% | 10x10x | Image classificationتصنيف الصور |
| NeuralTalk-WeNeuralTalk-We | 600 x 4096600 x 4096 | 10%10% | 100%100% | 10x10x | RNN and LSTM captioningتوليد أوصاف الصور بـ RNN وLSTM |
| NeuralTalk-WdNeuralTalk-Wd | 8791 x 6008791 x 600 | 11%11% | 100%100% | 10x10x | RNN and LSTM captioningتوليد أوصاف الصور بـ RNN وLSTM |
| NeuralTalk-LSTMNeuralTalk-LSTM | 2400 x 12012400 x 1201 | 10%10% | 100%100% | 10x10x | RNN and LSTM captioningتوليد أوصاف الصور بـ RNN وLSTM |
Worked exampleمثال محلول
Checking the FLOP reduction columnالتحقق من عمود تخفيض FLOP
AlexNet-6AlexNet-6
1 / (0.09 x 0.35) = 31.7, reported as 33x. The paper first rounds the product of the densities to a whole percent (0.09 x 0.35 = 3.15%, listed as 3% in its FLOP column) and the slide reports 1 over that: 1 / 0.03 = 33x.1 / (0.09 x 0.35) = 31.7، ويُذكر على أنه 33x. فالورقة تقرّب أولًا حاصل ضرب الكثافتين إلى نسبة مئوية صحيحة (0.09 x 0.35 = 3.15%، ويُدرج في عمود FLOP على أنه 3%)، ثم تذكر الشريحة 1 مقسومًا على ذلك: 1 / 0.03 = 33x.VGG-6VGG-6
1 / (0.04 x 0.18) = 139, reported as 100x by the same route: 0.72% rounds to 1%, and 1 / 0.01 = 100x. VGG's first FC layer is the sparsest in both dimensions, and its 25088-wide input still fits the 64 PE design. The slide column is loosely rounded elsewhere too: VGG-8 (9%, so 11x) and the two 11% NeuralTalk rows (9x) all appear as 10x.1 / (0.04 x 0.18) = 139، ويُذكر على أنه 100x بالطريقة نفسها: 0.72% تُقرَّب إلى 1%، و1 / 0.01 = 100x. أول طبقة FC في VGG هي الأكثر تناثرًا في البعدين، ومع ذلك يتسع دخلها بعرض 25088 لتصميم 64 عنصر معالجة. وعمود الشريحة مقرَّب بتساهل في مواضع أخرى أيضًا: VGG-8 (9%، أي 11x) وصفّا NeuralTalk بنسبة 11% (9x) تظهر كلها على أنها 10x.NeuralTalk-WeNeuralTalk-We
1 / (0.10 x 1.00) = 10x exactly. Activation density is 100% because LSTM gates use sigmoid and tanh, which never output exact zeros, so only weight sparsity helps.1 / (0.10 x 1.00) = 10x بالضبط. كثافة التفعيلات 100% لأن بوابات LSTM تستخدم sigmoid وtanh، وهما لا تُخرجان أصفارًا تامة أبدًا، فلا يساعد إلا weight sparsity (تناثر الأوزان).Resultالنتيجة
Activation sparsity is a free multiplier only for ReLU networks. For recurrent models the whole saving must come from pruning, which is why their reductions all sit at 10x.Activation sparsity (تناثر التفعيلات) مُضاعِف مجاني لشبكات ReLU فقط. أما في النماذج التكرارية فيجب أن يأتي التوفير كله من التقليم، ولهذا تستقر تخفيضاتها كلها عند 10x.
What EIE was measured againstما الذي قورن به EIE
The comparison platforms were a desktop CPU (Intel Core-i7 5930k, running Intel MKL: CSRMV for the sparse model and GEMV for the dense one), a desktop GPU (NVIDIA Titan X, cuSPARSE CSRMV and cuBLAS GEMV), and a mobile GPU (the Tegra K1, measured on a Jetson TK1 developer board, which is the same silicon the slide names differently). Each baseline was given the best library available for its case, dense or sparse, so the comparison is against optimized software rather than naive loops.
كانت منصات المقارنة: معالج مكتبي CPU (Intel Core-i7 5930k، يشغّل Intel MKL: CSRMV للنموذج المتناثر وGEMV للنموذج الكثيف)، ومعالج رسوميات مكتبي GPU (NVIDIA Titan X، مع cuSPARSE CSRMV وcuBLAS GEMV)، ومعالج رسوميات للأجهزة المحمولة (Tegra K1، مقيس على لوحة التطوير Jetson TK1، وهي الشريحة نفسها التي تسمّيها الشرائح باسم مختلف). أُعطي كل خط أساس أفضل مكتبة متاحة لحالته، كثيفة أو متناثرة، فالمقارنة إذن مع برمجيات محسَّنة لا مع حلقات ساذجة.
On those nine layers EIE is 189x faster than the CPU and 13x faster than the GPU, while using 24,000x and 3,400x less energy respectively. The paper adds a number that is easy to forget and worth remembering: the same compressed model, run on the CPU or GPU with sparse libraries, gives only about 3x speedup over dense. Compression alone is not the win. Compression plus hardware built for it is.
على هذه الطبقات التسع يكون EIE أسرع بـ 189x من CPU وأسرع بـ 13x من GPU، مع استهلاك طاقة أقل بـ 24,000x و3,400x على الترتيب. وتضيف الورقة رقمًا يُنسى بسهولة ويستحق التذكّر: النموذج المضغوط نفسه، حين يُشغَّل على CPU أو GPU بمكتبات متناثرة، لا يعطي إلا تسريعًا بنحو 3x مقارنة بالنموذج الكثيف. فالضغط وحده ليس هو المكسب. المكسب هو الضغط مع عتاد مبني من أجله.
Quick checkاختبار سريع
A NeuralTalk LSTM layer has 10% weight density and 100% activation density. What FLOP reduction does EIE see on it?طبقة LSTM في NeuralTalk كثافة أوزانها 10% وكثافة تفعيلاتها 100%. ما تخفيض FLOP الذي يحققه EIE عليها؟
Recall
State the four headline numbers and what they compare.اذكر الأرقام الرئيسية الأربعة وما الذي يقارنه كل منها.
Look at the two right-most bars first. The fabricated EIE, 64 PEs at 45 nm, pushes 81,967 matrix-vector products per second through AlexNet FC7 at 0.59 W. DaDianNao, the strongest rival ASIC, reaches 147,938 per second but draws 15.97 W. Divide, and the picture flips: 138,927 frames per joule for EIE against 9,263 for DaDianNao, a 15x gap in EIE's favor at an older process node. The projected 256 PE version at 28 nm would reach 426,230 per second and 180,606 per joule.
انظر أولًا إلى العمودين الأقصى يمينًا. شريحة EIE المصنَّعة، 64 عنصر معالجة بتقنية 45 nm، تمرّر 81,967 عملية ضرب مصفوفة في متجه في الثانية عبر AlexNet FC7 بقدرة 0.59 W. أما DaDianNao، أقوى ASIC منافس، فيبلغ 147,938 في الثانية لكنه يسحب 15.97 W. اقسم، فتنقلب الصورة: 138,927 إطارًا لكل جول لـ EIE مقابل 9,263 لـ DaDianNao، أي فجوة 15x لصالح EIE رغم أنه بعقدة تصنيع أقدم. والنسخة المتوقعة بـ 256 عنصر معالجة بتقنية 28 nm ستبلغ 426,230 في الثانية و180,606 لكل جول.
| Platformالمنصة | Nodeالعقدة | Classالفئة | Weight memoryذاكرة الأوزان | Powerالقدرة | Throughput (frames/s)الإنتاجية (إطار/ث) | Frames/Jإطار/جول |
|---|---|---|---|---|---|---|
| Core-i7 5930KCore-i7 5930K | 22 nm22 nm | CPUCPU | DRAMDRAM | 73 W73 W | 162162 | 2.222.22 |
| GeForce Titan XGeForce Titan X | 28 nm28 nm | GPUGPU | DRAMDRAM | 159 W159 W | 4,1154,115 | 25.925.9 |
| Tegra K1Tegra K1 | 28 nm28 nm | Mobile GPUGPU للأجهزة المحمولة | DRAMDRAM | 5.1 W5.1 W | 173173 | 33.933.9 |
| A-EyeA-Eye | 28 nm28 nm | FPGAFPGA | DRAMDRAM | 9.63 W9.63 W | 3333 | 3.433.43 |
| DaDianNaoDaDianNao | 28 nm28 nm | ASICASIC | eDRAMeDRAM | 15.97 W15.97 W | 147,938147,938 | 9,2639,263 |
| TrueNorthTrueNorth | 28 nm28 nm | ASICASIC | SRAMSRAM | 0.18 W0.18 W | 1,9891,989 | 10,83910,839 |
| EIE, 64 PEsEIE بـ 64 عنصر معالجة | 45 nm45 nm | ASICASIC | SRAMSRAM | 0.59 W0.59 W | 81,96781,967 | 138,927138,927 |
| EIE, 256 PEs (projected)EIE بـ 256 عنصر معالجة (متوقَّع) | 28 nm28 nm | ASICASIC | SRAMSRAM | 2.36 W2.36 W | 426,230426,230 | 180,606180,606 |
Worked exampleمثال محلول
Frames per joule from the tableالإطارات لكل جول من الجدول
EIE, 64 PEsEIE بـ 64 عنصر معالجة
81,967 frames/s / 0.59 W = 138,927 frames/J.81,967 frames/s / 0.59 W = 138,927 frames/J.DaDianNaoDaDianNao
147,938 frames/s / 15.97 W = 9,263 frames/J, of which 6.12 W is eDRAM power alone.147,938 frames/s / 15.97 W = 9,263 frames/J، منها 6.12 W قدرة eDRAM وحدها.Same node, same PE countالعقدة نفسها، وعدد عناصر المعالجة نفسه
Han et al. also compare the projected 28 nm, 256 PE EIE with DaDianNao at its own node: 2.9x throughput, 19x energy efficiency and 3x area efficiency.يقارن Han et al. أيضًا EIE المتوقع بتقنية 28 nm و256 عنصر معالجة مع DaDianNao عند عقدته نفسها: 2.9x في الإنتاجية، و19x في كفاءة الطاقة، و3x في كفاءة المساحة.Resultالنتيجة
In throughput EIE is competitive with the best ASIC; in energy it dominates every platform in the table, including the ASICs, and that is the column to argue from.في الإنتاجية ينافس EIE أفضل ASIC؛ أما في الطاقة فيتفوق على كل منصة في الجدول، بما فيها وحدات ASIC، وهذا هو العمود الذي تبني عليه حجتك.
The reason energy is where EIE separates from the pack is the one from the previous concept, now visible across platforms. A matrix-vector product at batch size 1 is completely memory bound: every weight is used once, so throughput is set by how fast weights can be delivered, and energy by where they come from. DaDianNao's rate in the table is in fact a bandwidth estimate from its eDRAM (Han et al. compute 16 x 4 x 1024 bit / 8 x 606 MHz = 4,964 GB/s), A-Eye pulls every parameter from DDR3, and the CPU and GPUs all stream from DRAM. Only TrueNorth and EIE keep weights in SRAM, and TrueNorth pays for it with 1-bit weights and an asynchronous design measured on a different task.
سبب انفصال EIE عن البقية في الطاقة تحديدًا هو السبب نفسه من المفهوم السابق، وقد صار الآن مرئيًا عبر المنصات. ضرب مصفوفة في متجه بحجم دفعة 1 محدود بالذاكرة تمامًا (memory bound): كل وزن يُستخدم مرة واحدة، فتتحدد الإنتاجية بسرعة توصيل الأوزان، وتتحدد الطاقة بالمكان الذي تأتي منه. ومعدّل DaDianNao في الجدول هو في الحقيقة تقدير مبني على عرض نطاق eDRAM الخاصة به (يحسب Han et al. 16 x 4 x 1024 bit / 8 x 606 MHz = 4,964 GB/s)، وA-Eye يسحب كل معامل من DDR3، ووحدات CPU وGPU كلها تتدفق من DRAM. وحدهما TrueNorth وEIE يُبقيان الأوزان في SRAM، ويدفع TrueNorth ثمن ذلك بأوزان 1-bit وتصميم غير متزامن مقيس على مهمة مختلفة.
Quick checkاختبار سريع
How much faster and more energy efficient than a desktop GPU did EIE report on compressed FC layers?بكم كان EIE أسرع وأكفأ في الطاقة من GPU مكتبي على طبقات FC المضغوطة بحسب ما أعلنه؟
Recall
Why is the slide 74 chart not a like-for-like benchmark? Give at least three reasons.لماذا لا يُعد مخطط الشريحة 74 مقارنة بين متكافئين؟ اذكر ثلاثة أسباب على الأقل.
Consider what a large language model does when it generates one token: it multiplies a single activation vector by weight matrices holding billions of parameters, reads every weight once, and does it again for the next token. That is a matrix-vector product at batch size 1, memory bound on weights, which is exactly the workload EIE was built for in 2016. So EIE's storage trick came back: keep weights in 4 bits, decode to 16, compute in 16. Han et al. call it W4A16 and point at GPTQ, AWQ, llama.cpp and MLC LLM, with one difference: today's engines use linear integer weights rather than a K-means codebook.
تأمّل ما يفعله نموذج لغوي كبير حين يولّد رمزًا (token) واحدًا: يضرب متجه تفعيل واحدًا في مصفوفات أوزان تضم مليارات المعاملات، ويقرأ كل وزن مرة واحدة، ثم يكرر ذلك للرمز التالي. هذا ضرب مصفوفة في متجه بحجم دفعة 1، محدود بالذاكرة بسبب الأوزان، وهو بالضبط عبء العمل الذي بُني EIE من أجله في 2016. لذلك عادت حيلة التخزين في EIE: احفظ الأوزان بـ 4 بتات، وفكّ ترميزها إلى 16، واحسب بـ 16. يسمّيها Han et al. W4A16 ويشيرون إلى GPTQ وAWQ وllama.cpp وMLC LLM، مع فرق واحد: محركات اليوم تستخدم أوزانًا صحيحة خطية بدل كتاب رموز (codebook) مبني بـ K-means.
In 2023, for ISCA's 50th anniversary retrospective collection, the authors wrote down what they think held up and what did not. The slide condenses it to four pros and four cons. The tables below expand each line with the evidence the retrospective gives and the design that replaced or extended the idea.
في 2023، ضمن مجموعة المراجعات بمناسبة الذكرى الخمسين لمؤتمر ISCA، كتب المؤلفون ما يرون أنه صمد وما لم يصمد. تختصر الشريحة ذلك في أربع إيجابيات وأربع سلبيات. والجدولان أدناه يوسّعان كل سطر بالدليل الذي تقدّمه المراجعة والتصميم الذي حلّ محل الفكرة أو مدّدها.
| Proالإيجابية | Evidenceالدليل | Where it lives nowأين تعيش اليوم |
|---|---|---|
| Special-purpose hardware pays off earlyالعتاد المخصص يؤتي ثماره مبكرًا | Sparse operations stay cost-effective up to 50% density on EIE; sparse software libraries only win well below 1%تبقى العمليات المتناثرة مجدية من حيث التكلفة على EIE حتى كثافة 50%؛ أما مكتبات البرمجيات المتناثرة فلا تتفوق إلا عند كثافة أقل بكثير من 1% | Every commercial sparse NPU sinceكل NPU تجارية متناثرة منذ ذلك الحين |
| Both sparsities, cycles and energyنوعا التناثر معًا، في الدورات والطاقة | Skipping a zero weight saves the fetch; skipping a zero activation also saves the cycle that would have computed itتخطّي وزن صفري يوفّر عملية الجلب؛ وتخطّي تفعيل صفري يوفّر أيضًا الدورة التي كانت ستحسبه | NVDLA gates pruned weights, the Samsung NPU skips zero activations, Ambarella CV22 supports weight sparsityيعطّل NVDLA الأوزان المقلَّمة، وتتخطى Samsung NPU التفعيلات الصفرية، ويدعم Ambarella CV22 تناثر الأوزان |
| Fine-grained sparsityالتناثر الدقيق (fine-grained) | Individual weights can be removed, so pruning reaches higher ratios than any structured patternيمكن حذف أوزان مفردة، فيبلغ التقليم نسبًا أعلى من أي نمط مهيكل | Still the highest-ratio option when hardware can afford itما زال الخيار ذا النسبة الأعلى حين يستطيع العتاد تحمّل كلفته |
| W4A16W4A16 | Store 4-bit weights, decode to 16-bit and compute in 16-bit to keep accuracyخزّن الأوزان بـ 4-bit، وفكّ ترميزها إلى 16-bit، واحسب بـ 16-bit للحفاظ على الدقة | GPTQ, AWQ, llama.cpp and MLC LLM for single-batch LLM decodingGPTQ وAWQ وllama.cpp وMLC LLM لفك ترميز LLM بدفعة واحدة |
| Conالسلبية | Why it hurtلماذا أضرّ | What replaced itما حلّ محله |
|---|---|---|
| Hard on arrays of vector processorsصعب على مصفوفات المعالجات المتجهية | Irregular non-zero positions cannot be fed to wide SIMD lanes or tensor coresلا يمكن تغذية مسارات SIMD العريضة أو أنوية الموتّرات بمواضع غير منتظمة للقيم غير الصفرية | Structured N:M sparsity in the Sparse Tensor Core (2:4), load-balance-aware pruning in ESEالتناثر المهيكل N:M في Sparse Tensor Core (2:4)، والتقليم المراعي لموازنة الحمل في ESE |
| Control and storage overheadعبء التحكم والتخزين | Pointer reads, CSC traversal and LNZD around a single MAC; a 4-bit index per 4-bit weight is 50% overheadقراءات المؤشرات والمرور على CSC وLNZD حول عملية MAC واحدة؛ وفهرس 4-bit لكل وزن 4-bit يعني عبئًا بنسبة 50% | Coarse-grained block sparsityالتناثر الكتلي الخشن الحُبيبية (coarse-grained) |
| Fully connected layers onlyالطبقات المتصلة بالكامل فقط | One matrix-vector product at batch size 1; convolutions were out of scopeضرب مصفوفة في متجه واحد بحجم دفعة 1؛ وكانت طبقات الالتفاف خارج النطاق | SCNN, Cambricon-X and Eyeriss v2 for sparse convolution; the M x V pattern itself returned in LLM decodingSCNN وCambricon-X وEyeriss v2 للالتفاف المتناثر؛ وعاد نمط M x V نفسه في فك ترميز LLM |
| Everything in SRAMكل شيء في SRAM | Fine for TinyML and vision models; 10 to 100 billion parameter LLMs do not fit (Cerebras tried this path)مناسب لـ TinyML ونماذج الرؤية؛ أما نماذج LLM ذات 10 إلى 100 مليار معامل فلا تتسع (وقد جرّبت Cerebras هذا الطريق) | None named; the retrospective only notes that 10 to 100 billion parameter LLMs do not fitلا شيء مسمّى؛ تكتفي المراجعة بالإشارة إلى أن نماذج LLM ذات 10 إلى 100 مليار معامل لا تتسع |
The con that matters most for the rest of this lectureالسلبية الأهم لبقية هذه المحاضرة
The first con is the one that shaped GPUs. A vector processor or a tensor core executes the same instruction on many lanes at once, so it needs each lane to have work at the same time. With irregular fine-grained sparsity, one lane may hold a non-zero and its neighbor a zero, and there is no way to line them up. EIE solved this with a private index stream per PE and a FIFO for load balance; ESE (FPGA 2017) went further with load-balance-aware pruning. NVIDIA instead changed the pattern itself: prune so that in every block of four consecutive weights exactly two are zero, a constraint called 2:4 sparsity. The Sparse Tensor Core then reads a 2-bit index per kept weight, selects the matching activations, and doubles math throughput with metadata overhead far below EIE's 50%. NVIDIA's recipe is to train dense, prune to 2:4 by magnitude, and retrain with the original hyperparameters. The next part takes this up in full.
السلبية الأولى هي التي شكّلت وحدات GPU. المعالج المتجهي أو نواة الموتّرات (tensor core) ينفّذ التعليمة نفسها على مسارات (lanes) كثيرة في وقت واحد، فيحتاج أن يكون لكل مسار عمل في اللحظة نفسها. ومع التناثر الدقيق غير المنتظم قد يحمل مسار قيمة غير صفرية وجاره صفرًا، ولا سبيل إلى مواءمتهما. حلّ EIE ذلك بتدفق فهارس خاص بكل عنصر معالجة وبـ FIFO من أجل load balance (موازنة الحمل)؛ وذهب ESE (FPGA 2017) أبعد بتقليم يراعي موازنة الحمل. أما NVIDIA فغيّرت النمط نفسه: قلّم بحيث يكون في كل كتلة من أربعة أوزان متتالية وزنان صفريان بالضبط، وهو قيد يُسمّى 2:4 sparsity. ثم تقرأ Sparse Tensor Core فهرسًا بطول 2-bit لكل وزن محفوظ، وتختار التفعيلات المطابقة، فتضاعف إنتاجية الحساب بعبء بيانات وصفية (metadata) أقل بكثير من 50% في EIE. ووصفة NVIDIA هي: درّب النموذج كثيفًا، ثم قلّمه إلى 2:4 بحسب المقدار (magnitude)، ثم أعد تدريبه بالمعاملات الفائقة (hyperparameters) الأصلية. والجزء التالي يتناول هذا بالكامل.
The second con is the index overhead you met in the energy gap: EIE stores a 4-bit index next to every 4-bit weight, and surrounds a single MAC with pointer reads, CSC traversal and the detector. Coarser granularity, whether 2:4 or whole blocks, amortizes that overhead. The third con, FC layers only, was answered by SCNN, Cambricon-X and Eyeriss v2 for sparse convolution. The fourth is a matter of scale: everything in SRAM is right for TinyML and vision models, and Cerebras pursued it commercially, but a model of 10 to 100 billion parameters does not fit.
السلبية الثانية هي عبء الفهرسة الذي قابلته في فجوة الطاقة: يخزّن EIE فهرسًا 4-bit بجوار كل وزن 4-bit، ويحيط عملية MAC واحدة بقراءات المؤشرات والمرور على CSC والكاشف. وgranularity (الحُبيبية) الأخشن، سواء كانت 2:4 أو كتلًا كاملة، توزّع هذا العبء وتستهلكه. والسلبية الثالثة، أي الطبقات FC فقط، أجابت عنها SCNN وCambricon-X وEyeriss v2 في الالتفاف المتناثر. أما الرابعة فمسألة حجم: وضع كل شيء في SRAM مناسب لـ TinyML ونماذج الرؤية، وقد سلكت Cerebras هذا الطريق تجاريًا، لكن نموذجًا من 10 إلى 100 مليار معامل لا يتسع.
Quick checkاختبار سريع
According to the retrospective, why did structured 2:4 sparsity replace EIE-style fine-grained sparsity on GPUs?بحسب المراجعة، لماذا حلّ التناثر المهيكل 2:4 محل التناثر الدقيق على طريقة EIE في وحدات GPU؟
Recall
Name two things EIE could not accelerate and the designs that fixed them.سمِّ أمرين لم يستطع EIE تسريعهما، والتصاميم التي عالجتهما.
Edit one corner of a generated image and ask the model to redraw it. A dense pipeline recomputes every pixel. SIGE (NeurIPS 2022) computes only the edited region and reuses the rest. Nothing about this is specific to pruned weights, yet it is the same move EIE made: do not spend energy where the answer is already known to be zero or unchanged.
عدّل زاوية واحدة من صورة مولَّدة واطلب من النموذج إعادة رسمها. خط المعالجة الكثيف يعيد حساب كل بكسل. أما SIGE (NeurIPS 2022) فلا يحسب إلا المنطقة المعدَّلة ويعيد استخدام الباقي. لا شيء في ذلك خاص بالأوزان المقلَّمة، ومع ذلك فهي الحركة نفسها التي قام بها EIE: لا تنفق الطاقة حيث يُعرف مسبقًا أن الجواب صفر أو لم يتغيّر.
The retrospective states the move as a principle. The first principle of efficient AI computing is to be lazy: avoid redundant computation, quickly reject the work, or delay the work. Each of the four bullets on the slide is one of those three verbs applied to a different axis of the data, and reading them that way is more useful than memorizing four paper names.
تصوغ المراجعة هذه الحركة مبدأً. المبدأ الأول في الحوسبة الكفؤة للذكاء الاصطناعي هو أن be lazy (تكون كسولًا): تجنّب الحساب الزائد، أو ارفض العمل بسرعة، أو أجّل العمل. وكل نقطة من النقاط الأربع على الشريحة هي أحد هذه الأفعال الثلاثة مطبَّقًا على محور مختلف من البيانات، وقراءتها بهذه الطريقة أنفع من حفظ أسماء أربع أوراق.
| Workloadعبء العمل | Kind of sparsityنوع التناثر | Systemالنظام | The lazy moveالحركة الكسولة |
|---|---|---|---|
| Generative image editingتحرير الصور التوليدي | Spatial sparsityالتناثر المكاني | SIGE (NeurIPS 2022)SIGE (NeurIPS 2022) | Recompute only the edited regionأعد حساب المنطقة المعدَّلة فقط |
| TransformersTransformers | Token sparsity and progressive quantizationتناثر الرموز (tokens) والتكميم التدريجي | SpAtten (HPCA 2021)SpAtten (HPCA 2021) | Prune unimportant tokens; fetch MSBs first, LSBs only if confidence is lowقلّم الرموز غير المهمة؛ اجلب البتات العليا (MSBs) أولًا، والبتات الدنيا (LSBs) فقط إذا كانت الثقة منخفضة |
| Videoالفيديو | Temporal sparsityالتناثر الزمني | TSM (ICCV 2019)TSM (ICCV 2019) | Shift features across frames at zero FLOPs instead of 3D convolutionأزِح الخصائص عبر الإطارات بتكلفة صفر FLOPs بدل الالتفاف الثلاثي الأبعاد |
| Point cloudsالسحب النقطية | Spatial sparsityالتناثر المكاني | TorchSparse (MLSys 2022) and PointAcc (MICRO 2021)TorchSparse (MLSys 2022) وPointAcc (MICRO 2021) | Compute only where points existاحسب فقط حيث توجد نقاط |
- Avoid redundant computation: SIGE skips unedited pixels; TSM replaces a 3D convolution over time with a shift that costs zero FLOPs.تجنّب الحساب الزائد: يتخطى SIGE البكسلات غير المعدَّلة؛ ويستبدل TSM الالتفاف الثلاثي الأبعاد عبر الزمن بإزاحة (shift) تكلفتها صفر FLOPs.
- Quickly reject the work: SpAtten prunes tokens and attention heads that contribute little, before they reach the expensive layers.ارفض العمل بسرعة: يقلّم SpAtten الرموز (tokens) ورؤوس الانتباه (attention heads) قليلة الإسهام قبل أن تصل إلى الطبقات المكلفة.
- Delay the work: SpAtten's progressive quantization fetches the most significant bits first and only fetches the least significant bits when the attention scores are not yet confident.أجّل العمل: التكميم التدريجي (progressive quantization) في SpAtten يجلب البتات الأعلى أهمية أولًا، ولا يجلب البتات الأدنى أهمية إلا حين لا تكون درجات الانتباه واثقة بعد.
The point-cloud line is the bridge to the last parts of this lecture. A LiDAR scan occupies a tiny fraction of its bounding volume, so sparse convolution computes only where points exist. TorchSparse makes that fast on a GPU and PointAcc builds the map generation into hardware. Notice that this is dynamic sparsity of the input, not static sparsity of the weights, which is the static versus dynamic split again: the hardware has to discover the sparsity on the fly, exactly as EIE's leading non-zero detector did for activations.
سطر السحب النقطية هو الجسر إلى الأجزاء الأخيرة من هذه المحاضرة. مسح LiDAR يشغل جزءًا ضئيلًا من الحجم المحيط به، لذلك يحسب sparse convolution (الالتفاف المتناثر) فقط حيث توجد نقاط. ويجعل TorchSparse ذلك سريعًا على GPU، ويبني PointAcc توليد الخرائط (map generation) في العتاد. لاحظ أن هذا تناثر ديناميكي في الدخل، لا تناثر ساكن في الأوزان، وهو التقسيم static versus dynamic (الساكن مقابل الديناميكي) مرة أخرى: على العتاد أن يكتشف التناثر أثناء التشغيل، تمامًا كما فعل كاشف أول قيمة غير صفرية في EIE مع activations (التفعيلات).
Recall
State the be-lazy principle and map each of its three verbs to one system from the slide.اذكر مبدأ الكسل (be lazy)، واربط كل فعل من أفعاله الثلاثة بنظام واحد من الشريحة.
Recapالخلاصة
If you remember nothing elseإن لم تتذكر شيئاً آخر فتذكّر هذا
- After accumulation, ReLU and the LNZD network make the output sparse and broadcast only non-zero (value, index) pairs; the loop closes on chip.بعد التراكم، تجعل ReLU وشبكة LNZD الخرج متناثرًا، ولا يُبث إلا أزواج (القيمة، الفهرس) غير الصفرية؛ فتُغلق الحلقة داخل الشريحة.
- All compressed weights sit in per-PE SRAM; SRAM at 5 pJ against DRAM at 640 pJ per 32-bit access (128x, which the paper rounds to 120x) is the biggest lever.كل الأوزان المضغوطة موجودة في SRAM خاصة بكل PE؛ وصول SRAM بتكلفة 5 pJ مقابل 640 pJ لوصول DRAM لكل كلمة 32-bit (أي 128x، وتقرّبها الورقة إلى 120x) هو الرافعة الأكبر.
- Theoretical saving 120 x 10 x 8 x 3 = 28,800x; measured 24,000x vs CPU and 3,400x vs GPU; speed 189x and 13x; batch size 1.التوفير النظري 120 x 10 x 8 x 3 = 28,800x؛ والمقيس 24,000x مقابل CPU و3,400x مقابل GPU؛ والسرعة 189x و13x؛ بحجم دفعة 1.
- FLOP reduction equals 1 over (weight density times activation density); LSTM layers have 100 percent activation density.تخفيض FLOP يساوي 1 مقسومًا على (كثافة الأوزان مضروبة في كثافة التفعيلات)؛ وطبقات LSTM كثافة تفعيلاتها 100 بالمئة.
- The throughput chart mixes 22, 28 and 45 nm, a projection and a bandwidth estimate; read it as decades, not ratios.مخطط الإنتاجية يخلط بين 22 و28 و45 nm، وبين قيمة متوقعة (projection) وتقدير مبني على عرض النطاق؛ فاقرأه بالرتب العشرية لا بالنسب.
- What held up: co-design, both sparsities, on-chip weights and W4A16, which was reborn in LLM decoding.ما صمد: التصميم المشترك (co-design)، واستغلال نوعي التناثر معًا، والأوزان على الشريحة، وW4A16 الذي وُلد من جديد في فك ترميز LLM.
- What did not: FC only, batch 1, 50 percent index overhead, 16-bit datapath and irregular sparsity on SIMD; successors are SCNN, Cambricon-X, Eyeriss v2, ESE and 2:4 Sparse Tensor Cores.ما لم يصمد: الطبقات FC فقط، والدفعة 1، وعبء فهرسة 50 بالمئة، ومسار بيانات 16-bit، والتناثر غير المنتظم على SIMD؛ والخلفاء هم SCNN وCambricon-X وEyeriss v2 وESE وSparse Tensor Cores بنمط 2:4.
- The first principle is to be lazy: spatial, token, temporal and point-cloud sparsity all apply it.المبدأ الأول هو أن تكون كسولًا: التناثر المكاني، وتناثر الرموز (tokens)، والتناثر الزمني، وتناثر السحب النقطية كلها تطبّقه.
Sourcesالمصادر
- EIE: Efficient Inference Engine on Compressed Deep Neural NetworkPaperISCA 2016, Han, Liu, Mao, Pu, Pedram, Horowitz and DallyTable I (energy costs), Table III (benchmarks), Table V (cross-platform), Section VI (LNZD, FIFO depth) and Section VIII (energy breakdown, batch size).الجدول I (تكاليف الطاقة)، والجدول III (طبقات الاختبار)، والجدول V (المقارنة بين المنصات)، والقسم VI (LNZD وعمق FIFO)، والقسم VIII (تفصيل الطاقة وحجم الدفعة).(opens in a new tab)(يفتح في تبويب جديد)
- Retrospective: EIE: Efficient Inference Engine on Sparse and Compressed Neural NetworkPaperISCA@50 25-Year Retrospective, June 2023, Han et al.Pros and cons, W4A16 in LLM inference, the be-lazy principle and the successor systems named in this part.الإيجابيات والسلبيات، وW4A16 في استدلال LLM، ومبدأ الكسل، والأنظمة اللاحقة المذكورة في هذا الجزء.(opens in a new tab)(يفتح في تبويب جديد)
- Computing's Energy Problem (and what we can do about it)PaperISSCC 2014, Mark HorowitzOrigin of the 45 nm per-operation energy table; EIE's Table I restates it per 32-bit word.أصل جدول الطاقة لكل عملية عند 45 nm؛ ويعيد الجدول I في EIE عرضه لكل كلمة 32-bit.(opens in a new tab)(يفتح في تبويب جديد)
- Accelerating Inference with Sparsity Using the NVIDIA Ampere Architecture and NVIDIA TensorRTDocsNVIDIA Developer Blog2:4 definition, 2x math throughput, low metadata overhead, and the prune-then-retrain recipe.تعريف 2:4، ومضاعفة إنتاجية الحساب 2x، وعبء البيانات الوصفية المنخفض، ووصفة التقليم ثم إعادة التدريب.(opens in a new tab)(يفتح في تبويب جديد)
- MIT 6.5940 TinyML and Efficient Deep Learning Computing, Fall 2023, Lecture 4: Pruning and Sparsity Part IIVideoMIT HAN LabThe deck these slides follow; lecture video at youtu.be/3t9aGLLaCqs.مجموعة الشرائح التي تتبعها هذه الشرائح؛ وفيديو المحاضرة على youtu.be/3t9aGLLaCqs.(opens in a new tab)(يفتح في تبويب جديد)