
بقلم: ليلى | محررة أدوات المطورين · صوت تحريري بإشراف بشري
أصدرت Hugging Face النسخة v5.14.0 من مكتبة Transformers في الخامس عشر من يوليو 2025، وهي إصدار يتجاوز الصيانة الاعتيادية إلى تغييرات بنيوية فعلية: نموذج ضخم جديد متعدد الوسائط، وتسريع قد يبلغ 260% في بعض عمليات الاستدلال، إلى جانب كسر في التوافق الخلفي يستوجب انتباهاً من كل من يشغّل GPTNeoX أو GPTBigCode في بيئة الإنتاج.
الإضافة الأبرز في هذا الإصدار هي دعم نموذج Inkling الصادر عن شركة Thinking Machines، وهو نموذج متعدد الوسائط يقبل مدخلات النص والصورة والصوت ويُخرج نصاً، بإجمالي 975 مليار معامل مع 41 ملياراً فقط نشطاً في آنٍ واحد — بنية mixture-of-experts كلاسيكية تُبقي التكلفة الحسابية في الحدود العملية. صُمِّم النموذج للمطورين الذين يبنون تطبيقات AI وكيلية، ومساعدي البرمجة، وأنظمة RAG، والمحادثة العامة متعددة اللغات. يُطلَق بأوزان مفتوحة لدعم البحث والضبط الدقيق والتكامل في منتجات الأطراف الثالثة.

على صعيد الأداء، التحسين الأكثر قيمة عملياً هو تحديث SDPA Prefill ليستخدم FlashAttention kernel مع StaticCache، ما أتاح تسريعاً يصل إلى 260% لحجوم المدخلات الكبيرة (وفقاً لملاحظات الإصدار الرسمية). إلى جانب ذلك، صُلحت نكسة أداء Flash Attention التي كانت تؤثر على نماذج من قبيل Qwen3-VL، وأُصلح خطأ في تحسين MoE decode حيث لم تكن عملية التبديل من grouped إلى batched matrix multiplication تُطبَّق على الخبراء الموجودين في نماذج فرعية كـ VLMs ذات nested text config.
في باب التوليد، يضيف الإصدار دعماً حقيقياً لـ Multi-Token Prediction (MTP) decoding، وهو تقنية تُعجّل الاستدلال عبر التنبؤ بعدة tokens في آنٍ واحد. يُضاف إلى ذلك static ensemble verification للـ speculative decoding الخسراني بهدف رفع معدل قبول draft tokens، وإصلاح crash في greedy assisted generation عند استخدام tokenizers مختلفة، وتصحيح رسالة تحذير مضللة تتعلق بـ synced_gpus في وضع continuous batching.

أما نقطة الكسر في التوافق الخلفي فتخص نموذجين شائعين: GPTNeoX يُعيد الآن تعيين embed_out إلى lm_head، وGPTBigCode يُفعِّل _supports_attention_backend = True لضمان التوافق مع vLLM. من يعتمد على أسماء الأوزان القديمة أو سلوك attention backend السابق لهذين النموذجين يحتاج إلى تحديث كوده قبل الترقية. هذا ليس تحذيراً شكلياً — توقف الخدمة في الإنتاج خيار وارد جداً إن تجاهلته.
على مستوى الـ kernels، جرى تثبيت إصدار متوافق من مكتبة kernels في workflow المعياري، وإزالة وسيط package_name المهمل من LocalLayerRepository، وتعزيز متانة fallback تقنية DeepGEMM Triton عندما يكون CUDA_HOME غير معرَّف أو مُهيَّأ بشكل خاطئ — وهو سيناريو شائع في بيئات Docker غير المُعدَّة بعناية. كذلك لن تُجري DeepGEMM عملية padding على بنية SM90 بعد الآن، وهو إصلاح يؤثر على مستخدمي H100.
في جانب إدارة Cache، بُسِّطت منطق dispatch عبر إدخال تعيينات صريحة لأنواع الطبقات sliding وstatic، مما يُقلل التعقيد في توجيه الـ cache. أُصلح أيضاً فشل الـ cache للقراءة فقط في بيئات CI، وأُعيد معالجة تنامي MPS graph cache خلال تدريب الدُفعات متغيرة الطول على Apple Silicon — وهو إصلاح يهم المطورين الذين يُجرون fine-tuning على Mac بشرائح M.
من الإصلاحات البرمجية اللافتة: إصلاح crash لـ torch.compile بدقة نصف عائمة في نماذج عائلة DETR، وإصلاح مسارات مُشفَّرة بشكل ثابت (hardcoded) في تحميل checkpoints وvocabulary لـ SigLIP، وإصلاح خطأ IndexError في XLMRoberta وCamemBERT لمهام MultipleChoice عبر استعادة الـ pooler، وتحديث regex في معالجة التوثيق لمنع هجمات ReDoS. يُضاف إلى ذلك دعم إضافة FSDP2 أصلي مع مسار ترحيل واضح، ودعم heterogeneous config على مستوى الطبقات، وتطبيق Shard on read مع DTensor awareness.
الإصدار يعكس نضجاً متصاعداً في المكتبة: التحسينات لم تعد تقتصر على إضافة نماذج جديدة، بل باتت تمتد إلى بنية الـ inference بأكملها من الـ kernel حتى الـ cache. إن كنت تبني شيئاً فوق Transformers اليوم، فالسؤال الحقيقي ليس إن كنت ستُحدِّث، بل متى — وما الذي تحتاج إلى اختباره أولاً.







