باختصار
bfloat16 أو BF16 صيغة لتمثيل الأرقام العشرية بدقّة مخفّضة. بتاخد نص مساحة صيغة float32 المعتادة، لكن بنفس المدى الديناميكي، يعني تقدر تمثّل أرقام كبيرة وصغيرة بنفس النطاق.
بالتفصيل
حسب توثيق Google Cloud TPU، وحدات TPU بتعمل عمليات ضرب المصفوفات افتراضيًا بقيم bfloat16، والتجميع (Accumulation) بقيم float32. واستخدام أرقام بدقّة أقلّ بيقلّل الوقت لحدّ التقارب من غير ما الدقّة تقلّ.
وفيه سببين يخلّوك تحوّل القيم لـ bfloat16 بنفسك:
- توفير الذاكرة: تخزين القيم بالصيغة دي بيوفّر ذاكرة على الشريحة، فتقدر تدرّب نماذج أكبر أو تستخدم دفعات (Batch) أكبر.
- السرعة: بعض العمليات محدودة بعرض نطاق الذاكرة، يعني وقت تحميل البيانات هو اللي بيبطّأها. تخزينها بـ bfloat16 بيقلّل البيانات المنقولة فبيسرّع الشغل.
والتحويل بين الصيغتين بيحصل تلقائيًا بمترجم XLA. ولأن float32 تقدر تمثّل كل قيم bfloat16 بالظبط، التحويل العكسي بيضيف 16 صفر بس في بتّات الجزء العشري.
مثال عملي
هتشوف BF16 كتير في صفحات النماذج المفتوحة. مثلًا Qwen3.8-27B، بـ27 مليار معامل، حجمه بصيغة BF16 حوالي 54 غيغابايت، يعني 2 بايت (16 بتّ) لكل معامل. أما نسخة Saluki 27B المكمّمة (Quantized) منه فحجمها 7.89 غيغابايت بس، بدقّة مختلطة حوالين 2 بتّ.
وحسب التوثيق، النماذج اللي اتدرّبت على Cloud TPU ممكن تتنشر على أجهزة تانية، زي CPU أو GPU، للاستدلال أو الضبط الدقيق من غير تحويلات يدوية كتير.
مصطلحات مرتبطة
- Mixed Precision Training — التدريب بدقّة مختلطة.
- Quantization — التكميم.
- TPU — وحدة معالجة الموتّرات.
- GGUF — صيغة ملفّات النماذج.
المصادر: Google Cloud TPU — bfloat16، MarkTechPost — 2026-10-09


