COE 592Lecture 5.3المحاضرة 5.3Part 02الجزء 02
Group quantization: VS-Quant and shared micro-exponent formatsالتكميم بالمجموعات: VS-Quant وصيغ الأس الدقيق المشترك (MX)
Going finer than a channel: give small groups of elements their own scale. VS-Quant uses a cheap integer per-vector scale under a floating-point per-tensor or per-channel scale, and the MX formats share tiny exponents across 2 and 16 elements; the cost is counted as effective bit width.الذهاب إلى ما هو أدق من القناة: إعطاء مجموعات صغيرة من العناصر مقياسها الخاص. يستخدم VS-Quant مقياسًا صحيحًا رخيصًا لكل متجه تحت مقياس عائم لكل موتر أو لكل قناة، وتشارك صيغ MX أسسًا صغيرة عبر 2 و16 عنصرًا؛ وتُحسب الكلفة بوصفها عرض بت فعّالًا.
- Conceptsالمفاهيم
- 4
- Slidesالشرائح
- 14-21
- Readingمدة القراءة
- 24 min24 دقيقة
Why this part mattersلماذا يهمّ هذا الجزء
Part 1 ended with per-channel scales beating a single per-tensor scale. That is the whole story at 8 bits. At 4 bits it is not, and 4 bits is exactly where modern edge accelerators and data-center GPUs are heading. This part shows the next step down the granularity ladder: give small groups of weights their own scale, then pay for those extra scales cleverly with a second, coarser level. The one number to carry into the exam is the Effective bit width, and you will be able to compute it for any scheme in seconds.
انتهى الجزء 1 بتفوّق مقاييس كل قناة (per-channel) على مقياس واحد للموتر كله (per-tensor). هذه هي القصة كاملة عند 8 بت. أما عند 4 بت فليست كذلك، و4 بت هو بالضبط الاتجاه الذي تسير إليه مسرّعات الحافة (edge) الحديثة ووحدات GPU في مراكز البيانات. يعرض هذا الجزء الدرجة التالية نزولًا في سلّم الدقة الحبيبية (granularity): نعطي مجموعات صغيرة من الأوزان مقياسًا خاصًا بكل منها، ثم ندفع ثمن هذه المقاييس الإضافية بذكاء عبر مستوى ثانٍ أخشن. الرقم الوحيد الذي يجب أن تحمله معك إلى الاختبار هو effective bit width (عرض البت الفعلي)، وستتمكن من حسابه لأي مخطط في ثوانٍ.
By the end you canفي نهاية هذا الجزء ستستطيع
- Explain why per-channel scales stop being enough at 4 bits and what a group scale buys.تشرح لماذا لا تعود مقاييس كل قناة (per-channel) كافية عند 4 بت، وما الذي يكسبه مقياس المجموعة (group scale).
- Write the VS-Quant two-level form r = gamma * S_q (q - Z) and say which scale is integer and which is floating point, and why.تكتب الصيغة ثنائية المستوى في VS-Quant وهي r = gamma * S_q (q - Z)، وتحدد أي المقياسين عدد صحيح وأيهما فاصلة عائمة (floating point)، ولماذا.
- Generalize to r = (q - z) * s_l0 * s_l1 * ... and compute the effective bit width of any scheme.تعمّم إلى الصيغة r = (q - z) * s_l0 * s_l1 * ... وتحسب عرض البت الفعلي (effective bit width) لأي مخطط.
- Reproduce the slide 21 table: per-channel 4, VSQ 4.25, MX4 4, MX6 6, MX9 9.تعيد بناء جدول الشريحة 21: per-channel يساوي 4، وVSQ يساوي 4.25، وMX4 يساوي 4، وMX6 يساوي 6، وMX9 يساوي 9.
- Tell the paper's MX4/MX6/MX9 apart from the OCP MXFP4 and NVIDIA NVFP4 formats that Blackwell runs.تميّز صيغ MX4 وMX6 وMX9 الواردة في الورقة البحثية عن صيغتي MXFP4 من OCP وNVFP4 من NVIDIA اللتين تشغّلهما معالجات Blackwell.
Start with one output channel of eight weights, quantized to symmetric INT4. Symmetric INT4 gives you integers from -7 to 7, so . Split the channel into two groups of four: group A is [0.13, -0.21, 0.17, 0.06] and group B is [3.15, -0.3, 0.4, 0.1]. The 3.15 is an outlier, the kind every trained layer has a few of.
ابدأ بقناة إخراج واحدة فيها ثمانية أوزان، مكمّمة إلى INT4 متماثل. يعطيك INT4 المتماثل أعدادًا صحيحة من -7 إلى 7، أي أن . قسّم القناة إلى مجموعتين من أربعة أوزان: المجموعة A هي [0.13, -0.21, 0.17, 0.06] والمجموعة B هي [3.15, -0.3, 0.4, 0.1]. القيمة 3.15 قيمة شاذة (outlier)، من النوع الذي يوجد منه القليل في كل طبقة مدرَّبة.
Worked exampleمثال محلول
One outlier, two choices of scaleقيمة شاذة واحدة وخياران للمقياس
Per-channel scaleمقياس لكل قناة
Per-channel quantization uses one scale for all eight weights: . Group A divided by 0.45 gives 0.29, -0.47, 0.38, 0.13, and every one rounds to 0. Group A is erased.يستخدم per-channel quantization مقياسًا واحدًا للأوزان الثمانية كلها: . قسمة المجموعة A على 0.45 تعطي 0.29, -0.47, 0.38, 0.13، وكل واحدة منها تُقرَّب إلى 0. المجموعة A تُمحى تمامًا.Per-group scalesمقياس لكل مجموعة
Give each group of four its own scale. Group A: , so q = [4, -7, 6, 2] and the reconstruction is [0.12, -0.21, 0.18, 0.06]. Group B keeps because it holds the outlier.أعطِ كل مجموعة من أربعة أوزان مقياسها الخاص. المجموعة A: ، إذن q = [4, -7, 6, 2] وإعادة البناء تساوي [0.12, -0.21, 0.18, 0.06]. أما المجموعة B فتحتفظ بـ لأنها تحتوي القيمة الشاذة.Compare the errorsقارن الأخطاء
Group B is identical in both schemes (squared error 0.035). Group A costs 0.0935 under the channel scale and 0.0002 under its own scale. Total: 0.1285 versus 0.0352.المجموعة B متطابقة في المخططين (الخطأ التربيعي 0.035). أما المجموعة A فتكلّف 0.0935 تحت مقياس القناة و0.0002 تحت مقياسها الخاص. المجموع: 0.1285 مقابل 0.0352.Resultالنتيجة
The group scale cuts the squared error by more than 3.5x, and it does so by keeping the outlier's damage inside its own group.مقياس المجموعة يخفّض الخطأ التربيعي بأكثر من 3.5x، ويفعل ذلك بحصر ضرر القيمة الشاذة داخل مجموعتها.
That is Group quantization. Slides 14 and 15 place it on the Quantization granularity ladder: Per-tensor quantization shares one scale across the whole tensor, per-channel shares one across each output channel, and group quantization shares one across a small group of elements, typically 16 to 64, inside a channel. The slides name two concrete families: per-vector quantization (VS-Quant) and the shared micro-exponent (MX) data types.
هذا هو group quantization (التكميم بالمجموعات). تضعه الشريحتان 14 و15 على سلّم quantization granularity: per-tensor quantization يشارك مقياسًا واحدًا عبر الموتر كله، وper-channel يشارك مقياسًا واحدًا عبر كل قناة إخراج، والتكميم بالمجموعات يشارك مقياسًا واحدًا عبر مجموعة صغيرة من العناصر داخل القناة، عادة من 16 إلى 64 عنصرًا. تسمّي الشرائح عائلتين محددتين: التكميم لكل متجه (VS-Quant) وأنواع بيانات الأسس الدقيقة المشتركة (MX).
The general rule: the fewer quantization levels you have, the more each scale has to be fitted to its local neighbourhood. At 8 bits you have 255 levels and a channel scale wastes a few of them. At 4 bits you have 15, and wasting most of them on one outlier leaves the bulk of the weights with one or two levels, or none.
القاعدة العامة: كلما قلّ عدد مستويات التكميم، وجب أن يُضبط كل مقياس أكثر على جواره المحلي. عند 8 بت لديك 255 مستوى، ومقياس القناة يهدر بضعة منها فقط. عند 4 بت لديك 15 مستوى فقط، وإهدار معظمها على قيمة شاذة واحدة يترك أغلب الأوزان بمستوى أو مستويين، أو بلا مستوى إطلاقًا.
Why the hardware vendors careلماذا يهتم صانعو العتاد
Slide 16 frames the goal as a balance between quantization accuracy and hardware efficiency, and uses NVIDIA Blackwell as the evidence. Blackwell tensor cores support "micro-tensor scaling" to keep FP4 accurate, and the FP4 path has twice the theoretical throughput of the FP8/FP6/INT8 path: an HGX B200 board (eight GPUs) is rated at 144 PFLOPS FP4 versus 72 PFLOPS FP8/FP6 and 72 POPS INT8. Halving the bits doubles the math per cycle, but only if accuracy survives, and at 4 bits accuracy survives only with fine-grained scales. So the vendor built the group scaling into the tensor core itself: the hardware reads a block of FP4 values together with its scale and applies the scale during the dot product.
تصوغ الشريحة 16 الهدف على أنه توازن بين دقة التكميم وكفاءة العتاد، وتستخدم NVIDIA Blackwell دليلًا على ذلك. تدعم أنوية الموترات (tensor cores) في Blackwell ما يسمى "micro-tensor scaling" للحفاظ على دقة FP4، ومسار FP4 له ضعف الإنتاجية النظرية لمسار FP8/FP6/INT8: لوحة HGX B200 (ثماني وحدات GPU) مصنّفة بـ 144 PFLOPS في FP4 مقابل 72 PFLOPS في FP8/FP6 و72 POPS في INT8. تقليل عدد البتات إلى النصف يضاعف الحساب في كل دورة، لكن فقط إذا صمدت الدقة، وعند 4 بت لا تصمد الدقة إلا بمقاييس دقيقة الحبيبات. لذلك بنى الصانع التحجيم بالمجموعات داخل نواة الموترات نفسها: يقرأ العتاد كتلة من قيم FP4 مع مقياسها، ويطبّق المقياس أثناء حساب الضرب النقطي (dot product).
Recall
Why is a per-channel scale usually fine at INT8 but often not at INT4?لماذا يكون مقياس القناة الواحدة (per-channel) كافيًا عادةً في INT8 لكنه كثيرًا ما لا يكفي في INT4؟
INT8 has 255 levels, so even when an outlier stretches the range, small weights still get many levels. INT4 has only 15 symmetric levels, so an outlier in a long channel makes the scale so large that most small weights round to 0 or ±1. Smaller groups restore a scale that fits their own values.
يملك INT8 عدد 255 مستوى، فحتى عندما تمدّ قيمة شاذة المدى، تبقى للأوزان الصغيرة مستويات كثيرة. أما INT4 فلا يملك إلا 15 مستوى متماثلًا، فالقيمة الشاذة في قناة طويلة تجعل المقياس كبيرًا إلى حد أن معظم الأوزان الصغيرة تُقرَّب إلى 0 أو ±1. المجموعات الأصغر تعيد مقياسًا يناسب قيمها الخاصة.
Quick checkاختبار سريع
Why does group quantization beat per-channel quantization at 4 bits?لماذا يتفوق التكميم بالمجموعات على التكميم لكل قناة عند 4 بت؟
Back to the example. Group A wanted and group B wanted . Stored as FP16 numbers, these scales would cost 16 bits per group, which for groups of 16 INT4 weights adds a full 1 bit per weight. Worse, the hardware would need a floating-point multiplier next to every small vector unit. VS-Quant (Dai et al., NVIDIA) avoids both by noticing that the per-vector scales inside one channel differ from each other by modest factors. Factor each one as a shared floating-point number times a small integer:
نعود إلى المثال. المجموعة A أرادت والمجموعة B أرادت . لو خُزّنت هذه المقاييس أعدادًا من نوع FP16 لكلّفت 16 بت لكل مجموعة، وهذا يضيف 1 بت كاملًا لكل وزن عندما تكون المجموعات من 16 وزنًا INT4. والأسوأ أن العتاد سيحتاج إلى وحدة ضرب فاصلة عائمة بجانب كل وحدة متجهات صغيرة. يتجنب VS-Quant (Dai et al. من NVIDIA) المشكلتين بملاحظة أن مقاييس المتجهات داخل القناة الواحدة تختلف عن بعضها بعوامل معتدلة. لذلك نحلّل كل واحد منها إلى عدد فاصلة عائمة مشترك مضروبًا في عدد صحيح صغير:
- is a floating-point, coarse-grained scale, one per channel or per tensor. مقياس فاصلة عائمة خشن الحبيبات، واحد لكل قناة أو لكل موتر.
- is an integer scale, one per vector of elements (for example 16), stored with only a few bits such as UINT4. مقياس عدد صحيح، واحد لكل متجه من العناصر (مثلًا 16 عنصرًا)، ويُخزَّن ببتات قليلة فقط مثل UINT4.
In the example, pick so the largest per-vector scale fits in UINT4. Then and : two 4-bit integers and one FP16 number replace two FP16 scales. In a real layer one covers thousands of vectors, so its cost all but vanishes. (Real scales rarely divide this neatly; rounding the scale itself adds a small error, which VS-Quant's calibration algorithm accounts for.)
في المثال، اختر حتى يتسع أكبر مقياس متجه في UINT4. عندها و: عددان صحيحان من 4 بت وعدد FP16 واحد يحلّون محل مقياسين من FP16. في طبقة حقيقية يغطي واحد آلاف المتجهات، فتكاد كلفته تختفي. (نادرًا ما تنقسم المقاييس الحقيقية بهذه السهولة، وتقريب المقياس نفسه يضيف خطأً صغيرًا، وتأخذه خوارزمية المعايرة (calibration) في VS-Quant في الحسبان.)
Why the fine scale is the integer oneلماذا يكون المقياس الناعم هو العدد الصحيح
The design rule on slide 17 is: less expensive integer scales at finer granularity, more expensive floating-point scales at coarser granularity. Count how often each scale is stored and used. There is one per vector, so there are many of them, and each one must be both small in memory and cheap to multiply. An integer scale lets the vector MAC unit finish the whole per-vector dot product, scaling included, in integer arithmetic. There is only one per channel, so it can afford to be a precise floating-point number, applied once to the accumulated result. Put the expensive thing where it is rare.
قاعدة التصميم في الشريحة 17 هي: مقاييس أعداد صحيحة أرخص عند الحبيبات الناعمة، ومقاييس فاصلة عائمة أغلى عند الحبيبات الخشنة. احسب كم مرة يُخزَّن كل مقياس ويُستخدم. هناك واحد لكل متجه، أي أن عددها كبير، ويجب أن يكون كل واحد منها صغيرًا في الذاكرة ورخيصًا في الضرب. المقياس الصحيح يسمح لوحدة MAC المتجهية بإنهاء الضرب النقطي لكل متجه كاملًا، بما في ذلك التحجيم، بحساب الأعداد الصحيحة. وهناك واحد فقط لكل قناة، فيمكنه أن يكون عدد فاصلة عائمة دقيقًا يُطبَّق مرة واحدة على النتيجة المتراكمة. ضع الشيء المكلف حيث يكون نادرًا.
The memory billفاتورة الذاكرة
Slide 17 gives the overhead: 4-bit elements with a 4-bit per-vector scale for every 16 elements cost bits per element, a storage overhead of 6.25% over plain INT4. The paper writes this as for -bit elements, -bit scales and vectors of elements.
تعطي الشريحة 17 الكلفة الإضافية: عناصر من 4 بت مع مقياس متجه من 4 بت لكل 16 عنصرًا تكلّف بت لكل عنصر، أي كلفة تخزين إضافية قدرها 6.25% فوق INT4 العادي. تكتب الورقة ذلك على الصورة لعناصر من بت، ومقاييس من بت، ومتجهات من عنصرًا.
Recall
Write the VS-Quant reconstruction formula and say which factor is integer, which is floating point, and the granularity of each.اكتب صيغة إعادة البناء في VS-Quant، وحدد أي العاملين عدد صحيح وأيهما فاصلة عائمة، ودرجة الحبيبات لكل منهما.
. is an integer scale, one per vector (fine granularity). is a floating-point scale, one per channel or tensor (coarse granularity).
. مقياس عدد صحيح، واحد لكل متجه (حبيبات ناعمة). مقياس فاصلة عائمة، واحد لكل قناة أو موتر (حبيبات خشنة).
Quick checkاختبار سريع
Why is the fine-level scale in VS-Quant an integer rather than floating point?لماذا يكون مقياس المستوى الناعم في VS-Quant عددًا صحيحًا لا فاصلة عائمة؟
VS-Quant has two scale levels. Nothing stops you from having more, so slides 18 to 20 write the general Multi-level scaling form. Take one weight, say . It belongs to a small group (level 0), which belongs to a larger group (level 1), and so on. Its real value is its integer times the product of every scale above it:
لدى VS-Quant مستويان من المقاييس. لا شيء يمنعك من أكثر من ذلك، لذلك تكتب الشرائح من 18 إلى 20 الصيغة العامة لـ multi-level scaling (التحجيم متعدد المستويات). خذ وزنًا واحدًا، مثلًا . إنه ينتمي إلى مجموعة صغيرة (المستوى 0)، وهذه تنتمي إلى مجموعة أكبر (المستوى 1)، وهكذا. قيمته الحقيقية هي عدده الصحيح مضروبًا في حاصل ضرب كل المقاييس التي فوقه:
VS-Quant is the case , , and plain per-channel quantization is the one-level case. With the scheme is Symmetric quantization, which is what every row of the slide table uses.
VS-Quant هو الحالة و، والتكميم العادي لكل قناة هو حالة المستوى الواحد. ومع يكون المخطط symmetric quantization (تكميمًا متماثلًا)، وهو ما تستخدمه كل صفوف جدول الشريحة.
The effective bit widthعرض البت الفعلي (effective bit width)
Every scale is shared by its group, so its bits are spread over the group's elements. Add the element bits to each level's share:
كل مقياس تشترك فيه مجموعته، فتتوزع بتاته على عناصر المجموعة. أضف إلى بتات العنصر حصة كل مستوى:
Worked exampleمثال محلول
The two rows on slide 20الصفان في الشريحة 20
Per-channel INT4, FP16 scale per channelINT4 لكل قناة، مع مقياس FP16 لكل قناة
One level, (the channel length). For K = 4096: . The slide writes 4.مستوى واحد، و (طول القناة). عندما K = 4096: . تكتب الشريحة 4.VSQ INT4VSQ بصيغة INT4
L0: UINT4 per 16 elements. L1: FP16 per channel. . The slide writes .L0: UINT4 لكل 16 عنصرًا. L1: FP16 لكل قناة. . تكتب الشريحة .Resultالنتيجة
Both slide numbers drop the per-channel FP16 term. That is a fair approximation because one scale per thousands of weights is a few thousandths of a bit, but say so explicitly if an exam asks for exact numbers.رقما الشريحة كلاهما يُسقطان حد FP16 الخاص بكل قناة. هذا تقريب مقبول لأن مقياسًا واحدًا لكل آلاف الأوزان لا يتجاوز بضعة أجزاء من الألف من البت، لكن صرّح بذلك إذا طلب الاختبار أرقامًا دقيقة.
Use the calculator to rebuild every row of the slide table and to try the exam case. Notice how the L1 share collapses toward 0 as its group grows, and how the L0 share dominates.
استخدم الحاسبة لإعادة بناء كل صف في جدول الشريحة ولتجربة حالة الاختبار. لاحظ كيف تنهار حصة L1 نحو 0 كلما كبرت مجموعتها، وكيف تهيمن حصة L0.
4 + 4/16 + 16/4096 = 4.2539
UINT4 scale per 16 weights, FP16 scale per 4096-weight channel. The slide keeps only 4/16. Effective bits = b + s0/g0 + s1/g1.معامل scale بصيغة UINT4 لكل 16 وزنًا، ومعامل scale بصيغة FP16 لكل قناة من 4096 وزنًا. الشريحة تحتفظ بالحد 4/16 فقط. عدد البتات الفعلي (effective bits) يساوي b + s0/g0 + s1/g1.
Recall
A scheme stores INT4 elements, a UINT8 scale per 64 elements, and an FP32 scale per 4096 elements. What is its effective bit width?مخطط يخزّن عناصر INT4، ومقياس UINT8 لكل 64 عنصرًا، ومقياس FP32 لكل 4096 عنصرًا. ما عرض البت الفعلي له؟
bits per element. Dropping the coarse term gives 4.125.
بت لكل عنصر. وإسقاط الحد الخشن يعطي 4.125.
Quick checkاختبار سريع
INT4 weights use one 8-bit scale per 32 elements. What is the effective bit width?أوزان INT4 تستخدم مقياسًا واحدًا من 8 بت لكل 32 عنصرًا. ما عرض البت الفعلي؟
Recapالخلاصة
If you remember nothing elseإن لم تتذكر شيئاً آخر فتذكّر هذا
- Group quantization gives each small group of elements (16 to 64) its own scale, so an outlier only spoils its own group.التكميم بالمجموعات (group quantization) يعطي كل مجموعة صغيرة من العناصر (من 16 إلى 64) مقياسًا خاصًا بها، فلا تُفسد القيمة الشاذة (outlier) إلا مجموعتها.
- At 4 bits a symmetric INT4 has only 15 levels, so one big weight in a long channel pushes most small weights to 0. That is why 4-bit schemes go finer than per-channel.عند 4 بت لا يملك INT4 المتماثل إلا 15 مستوى، لذلك يكفي وزن كبير واحد في قناة طويلة لدفع معظم الأوزان الصغيرة إلى 0. ولهذا تنزل مخططات 4 بت إلى دقة أنعم من مستوى القناة.
- Blackwell's FP4 tensor cores give 2x the throughput of FP8/FP6/INT8 (HGX B200: 144 vs 72 PFLOPS, both sparse), and micro-tensor scaling is what keeps FP4 accurate.أنوية الموترات FP4 في Blackwell تعطي ضعف إنتاجية FP8/FP6/INT8 (في HGX B200: 144 مقابل 72 PFLOPS، وكلاهما بالتناثر sparse)، والتحجيم الدقيق للموترات (micro-tensor scaling) هو ما يحافظ على دقة FP4.
- VS-Quant: r = gamma * S_q (q - Z). Cheap integer S_q per vector at fine granularity, expensive floating-point gamma per channel or tensor at coarse granularity.VS-Quant: r = gamma * S_q (q - Z). مقياس صحيح رخيص S_q لكل متجه بدقة حبيبية ناعمة، ومقياس فاصلة عائمة مكلف gamma لكل قناة أو موتر بدقة حبيبية خشنة.
- General form: r = (q - z) * s_l0 * s_l1 * ..., z = 0 means symmetric.الصيغة العامة: r = (q - z) * s_l0 * s_l1 * ...، وz = 0 تعني تكميمًا متماثلًا (symmetric).
- Effective bit width = element bits + sum over levels of (scale bits / group size). INT4 with an 8-bit scale per 32 gives 4.25.عرض البت الفعلي = بتات العنصر + مجموع (بتات المقياس / حجم المجموعة) على كل المستويات. INT4 مع مقياس 8 بت لكل 32 عنصرًا يعطي 4.25.
- Slide table: per-channel 4, VSQ 4 + 4/16 = 4.25, MX4 3 + 1/2 + 8/16 = 4, MX6 6, MX9 9. The per-channel FP16 terms are ignored because they are spread over thousands of weights.جدول الشريحة: per-channel يساوي 4، وVSQ يساوي 4 + 4/16 = 4.25، وMX4 يساوي 3 + 1/2 + 8/16 = 4، وMX6 يساوي 6، وMX9 يساوي 9. تُهمل حدود FP16 الخاصة بكل قناة لأنها موزعة على آلاف الأوزان.
- MX scales are powers of two (E1M0, E8M0), so applying them is a shift, not a multiply.مقاييس MX قوى للعدد 2 (E1M0 وE8M0)، لذلك يكون تطبيقها إزاحة بتات (shift) لا عملية ضرب.
Sourcesالمصادر
- VS-Quant: Per-vector Scaled Quantization for Accurate Low-Precision Neural Network InferencePaperDai, Venkatesan, Ren, Zimmer, Dally and Khailany (NVIDIA), arXiv 2021Section 4.4: the per-vector scale factored into an integer s_q and a floating-point coarse gamma; with N = M = 4 and V = 16 the overhead is 6.25%, an effective 4.25 bits.القسم 4.4: مقياس المتجه محلَّل إلى عدد صحيح s_q ومقياس فاصلة عائمة خشن gamma؛ ومع N = M = 4 وV = 16 تكون الكلفة الإضافية 6.25%، أي عرض فعلي قدره 4.25 بت.(opens in a new tab)(يفتح في تبويب جديد)
- With Shared Microexponents, A Little Shifting Goes a Long WayPaperRouhani et al. (Microsoft and Meta), arXiv 2023Bits per element (m + 1) + d1/k1 + d2/k2; Table II defines MX9, MX6, MX4 with k1 = 16, k2 = 2, d1 = 8, d2 = 1 and m = 7, 4, 2.البتات لكل عنصر (m + 1) + d1/k1 + d2/k2؛ والجدول II يعرّف MX9 وMX6 وMX4 مع k1 = 16 وk2 = 2 وd1 = 8 وd2 = 1 وm = 7 و4 و2.(opens in a new tab)(يفتح في تبويب جديد)
- OCP Microscaling Formats (MX) Specification v1.0DocsOpen Compute ProjectTable 1: MXFP8, MXFP6, MXFP4 (E2M1) and MXINT8, all with block size 32 and an E8M0 shared scale.الجدول 1: MXFP8 وMXFP6 وMXFP4 (E2M1) وMXINT8، كلها بحجم كتلة 32 ومقياس مشترك E8M0.(opens in a new tab)(يفتح في تبويب جديد)
- Introducing NVFP4 for Efficient and Accurate Low-Precision InferenceArticleNVIDIA Technical BlogNVFP4: E2M1 values, an FP8 E4M3 scale per 16 values and an FP32 per-tensor scale, about 4.5 bits per value; MXFP4 uses E8M0 per 32.NVFP4: قيم E2M1، ومقياس FP8 E4M3 لكل 16 قيمة، ومقياس FP32 لكل موتر، أي نحو 4.5 بت لكل قيمة؛ أما MXFP4 فيستخدم E8M0 لكل 32.(opens in a new tab)(يفتح في تبويب جديد)
- NVIDIA HGX PlatformDocsNVIDIAHGX B200: FP4 144 | 72 PFLOPS (sparse | dense), FP8/FP6 72 PFLOPS and INT8 72 POPS sparse.HGX B200: FP4 بقيمة 144 | 72 PFLOPS (sparse | dense)، وFP8/FP6 بقيمة 72 PFLOPS، وINT8 بقيمة 72 POPS، وكلها بالتناثر (sparse).(opens in a new tab)(يفتح في تبويب جديد)
- MIT 6.5940 EfficientML.ai, Lecture 6: Quantization (Part II)DocsMIT HAN LabThe course from which this lecture's slides are adapted.المقرر الذي اقتُبست منه شرائح هذه المحاضرة.(opens in a new tab)(يفتح في تبويب جديد)