إضافات نماذج جديدة
EmbeddingGemma2
يُعد EmbeddingGemma 2 نموذج تضمين متعدد الوسائط من Google مبنيًا على معمارية Gemma 4. يقوم بترميز النصوص والصور والصوت والفيديو، بشكل منفصل أو مجتمعًا في مدخل واحد، إلى فضاء متجهات مشترك ذي 768 بُعدًا للاسترجاع عبر الوسائط، والتشابه الدلالي، والتجميع، والتصنيف. يستخدم Matryoshka Representation Learning، بحيث يمكن اختصار التضمينات إلى 512 أو 256 أو 128 بُعدًا. كما يوفر ميزانيات رموز قابلة للضبط للصور والفيديو، ويمكن تعطيل أبراج الرؤية أو الصوت غير المستخدمة وقت التحميل لتوفير الذاكرة.
الروابط: Documentation * Smthn smthn (#49364) بواسطة @vasqu في #49364
تغييرات جذرية
جميع نماذج MoE التي تحسب موجّهاتها القيم اللوغاريتمية أصبحت تعيدها الآن عند output_router_logits=True، وفقًا لنمط Qwen3-MoE (مُسجِّل router_logits على النموذج الأساسي، و MoeModelOutputWithPast من العمود الفقري، ومخرَج نموذج سببي MoE من الرأس)، لذا يجب على الشيفرة التي اعتمدت على المخرجات السابقة أو غيابها قراءة القيم اللوغاريتمية للموجّه من هذه الفئات المخرَجة.
* 🚨 إرجاع القيم اللوغاريتمية للموجّه من كل نموذج MoE يحسبها (#48920) بواسطة @qgallouedec
Owlv2ForObjectDetection.embed_image_query يختار الآن صندوق الاستعلام الحاصل على أعلى درجة objectness، كما في دفتر OWLv2 الأصلي، بدلًا من الاستدلال OWL-ViT، لذا قد تختلف تضمينات الاستعلام الموجَّهة بالصور والكشفات عن الإصدارات السابقة.
* 🚨 اختيار استعلام الصورة في OWLv2 حسب objectness (#49200) بواسطة @qgallouedec
البادئة "paged|" لتطبيقات SDPA وflash attention أُهملت، لذا ينبغي على المستخدمين تعيين تطبيق الانتباه العادي (مثل sdpa أو flash_attention_2) للتجميع المستمر بدلًا من paged|sdpa أو paged|flash_attention_2.
* 🚨 انتباه 🚨 إهمال بادئة "paged|" لـ SDPA وflash (#49112) بواسطة @remi-or
دالّتا الانتباه العاديتان flash وSDPA (flash_attention.py, sdpa_attention.py) تدعمان الآن التجميع المستمر مباشرة، وتُعاد توجيه تطبيقات "paged|..." لهاتين الدالتين إليهما، بينما لا يزال eager يتطلب بادئة "paged|eager" .
* 🚨 انتباه 🚨 جعل الانتباه العادي يدعم CB (#49101) بواسطة @remi-or
في التجميع المستمر، دُمج تحديث ذاكرة التخزين المؤقت لمساري الفهرس وجدول الكتل في استدعاء واحد، مما يغيّر قليلًا سلوك دالة تحديث ذاكرة التخزين المؤقت ويؤثر على أي شيفرة مخصصة تستدعي مساري التحديث المنفصلين. * 🚨 [CB] 🚨 دمج التحديث لمساري الفهرس وجدول الكتل (#49088) بواسطة @remi-or
تغيّرت التفاصيل الداخلية للتجميع المستمر استعدادًا لإزالة "paged": `max
* 🚨 [CB] 🚨 إصلاحات صغيرة قبل إزالة "paged" (#49069) بواسطة @remi-or
الموازاة
يكتسب التوازي بين الخبراء تطبيقًا لإرسال الرموز (token-dispatch)، يُختار عبر قاعدة الخطة الجديدة ep_dispatch_experts وقد أصبح الخيار الافتراضي لـ Qwen3 MoE وMellum، وهو يُلغي الشرط المفاده أن حجم EP يساوي حجم TP. لقد Trainer تم أيضًا تكييفه للعمل مع التوازي الخبير (expert parallelism)، وأصبحت الوثائق تشير الآن إلى أن محولات PEFT تدعم التوازي الموتري. كما تم تضمين إصلاح متعلق بـ CI لاستدلال chart2table بالتوازي الأنبوبي.
- [
distributed]: تكييف Trainer للعمل مع التوازي الخبير (#48873) بواسطة @3outeille في [#48873] - [
distributed] إضافة إرسال الرموز بالتوازي الخبير، الافتراضي لـ Qwen3 MoE (#48865) بواسطة @3outeille في [#48865] - إصلاح استدلال pp chart2table (#49225) بواسطة @zucchini-nlp في [#49225]
- [docs] TP لمحولات PEFT (#49060) بواسطة @stevhliu في [#49060]
ذاكرة التخزين المؤقت
يعالج هذا الإصدار التعامل مع ذاكرة التخزين المؤقت المكمّمة: generate لم تعد تعدّل cache_configالمملوكة للمستخدم، وتم QuantizedLayer.reorder_cache إصلاح. كما يضيف تكوين ذاكرة تخزين مؤقت لكل طبقة، بحيث DynamicCache و StaticCache تهيئة كل طبقة من تكوينها الخاص (حجم النافذة المنزلقة، حجم جزء الانتباه، حالات الالتفاف، وعدد رؤوس الانتباه) لدعم النماذج غير المتجانسة بشكل أفضل. على حدة، تم إلغاء دورة الإهمال على القناع وذاكرة التخزين المؤقت
- إصلاح الذاكرة المؤقتة المكمّمة (#48700) بواسطة @jiqing-feng في [#48700]
- [CI] check_bad_commit: استخدام ذاكرة تخزين مؤقت EFS لتجنب Xet FUSE OOM (exit 137) (#49273) بواسطة @ydshieh في [#49273]
- دعم تكوين ذاكرة التخزين المؤقت لكل طبقة (#48178) بواسطة @eladsegal في [#48178]
- إزالة دورة الإهمال على القناع وذاكرة التخزين المؤقت (#49231) بواسطة @Cyrilvallez في [#49231]
إصلاحات الأخطاء والتحسينات
- التراجع عن "[CI] تعطيل مؤقت لمشغّل CI المجدول لـ AMD" (#49271) (#49362) بواسطة @ydshieh في [#49362]
- إصلاح اختبار ALM testx... (#49355) بواسطة @zucchini-nlp في [#49355]
- إصلاح DataCollatorForLanguageModeling التي تتجاهل seed=0 (#49349) بواسطة @akanyaani في [#49349]
- إصلاح أوضاع kernelization الصريحة لنماذج التقييم (#49339) بواسطة @DimensionSTP في [#49339]
- fix(cohere_compass): إضافة الفيديو إلى input_modalities (#49320) (#49323) بواسطة @destopianpirate في [#49323]
- GPT-OSS: قراءة قيم alpha وlimit الخاصة بـ SwiGLU المقيّدة من الإعدادات (#49346) بواسطة @IlyasMoutawwakil في [#49346]
- [
distributed] الافتراضي MoEep_plansإلى token dispatch (#49160) بواسطة @3outeille في [#49160] - نقل CI إلى Python 3.11، مع تحديد الإصدار في
.python-version(#49311) بواسطة @tarekziade في [#49311] - ترقية مرجع سير عمل doc-builder للوثائق الرئيسية (#49350) بواسطة @paulinebm في [#49350]
- [
distributed] فصل tp_plan وep_plan (#48859) بواسطة @3outeille في [#48859] - [
distributed] إضافة device mesh للكثافة والخبراء (#48857) بواسطة @3outeille في [#48857] - ترقية مرجع سير عمل doc-builder (#49342) بواسطة @paulinebm في [#49342]
- السماح بتسجيل خلفيات معالجة جديدة (#48984) بواسطة @zucchini-nlp في [#48984]
- إصلاح عدّ n-gram المتكرر في WatermarkDetector (#49315) بواسطة @LE0-Lin في [#49315]
- إصلاح تجميع الفيديو في minicpm 4.6V وCI (#49259) بواسطة @zucchini-nlp في [#49259]
- إزالة colwise_gather_output من lm_head لـ DeepseekV4 (#49314) بواسطة @3outeille في [#49314]
- إصلاح
labelsdocstring الخاص بـ CLIPSegForImageSegmentation (#49001) بواسطة @qgallouedec في [#49001] - [CI] تعطيل مشغّل AMD المجدول مؤقتًا (#49271) بواسطة @ydshieh في [#49271]
- إزالة مدخل pandas غير المستخدم من تبعيات setup.py (#49329) بواسطة @tarekziade في [#49329]
- إصلاح تحول معرّفات التسميات في run_glue.py إلى سلاسل نصية مع pandas>=3 (#49326) بواسطة @tarekziade في [#49326]
- [Fix] إزالة ملف اختبار قديم يحتوي على اختبارين عتيقين (#49280) بواسطة @remi-or في [#49280]
- إصلاح التعبئة المسبقة المقسّمة مع معرّفات المواضع متعددة المحاور (Qwen3-VL) (#49319) بواسطة @dacorvo في [#49319]
- لماذا تتجاوز ويمكنك الإصلاح في
Mixin(#49105) بواسطة @zucchini-nlp في [#49105] - تنفيذ RoPE بالضرب بدلاً من matmul (#49265) بواسطة @Rocketknight1 في [#49265]
- يجب أن تعيد خطوط الأنابيب المهملة التوجيه؛ ويجب أن ترفع خطوط الأنابيب المحذوفة استثناءً (#49308) بواسطة @LysandreJik في [#49308]
- تمكين اختبار النموذج على
torch_tpuالخلفية القادمة (#49207) بواسطة @tengomucho في [#49207] - إصلاح صفوف مصدر عقوبة التكرار للمشفر بعد توسيع الدفعة (#49262) بواسطة @gitedmond في [#49262]
- الحفاظ على درجات EOS المقنّعة في عقوبة الطول بالاضمحلال الأسي (#49260) بواسطة @gitedmond في [#49260]
- [CI] تجنّب جلب جميع الملفات الناتجة عند الحاجة إلى ملفات محددة فقط (#49282) بواسطة @ydshieh في [#49282]
- التراجع عن "[CI] ssh-runner: إضافة مدخل cache_type اختياري للتبديل بين العدّاءات bucket و EFS (#49159)" (#49270) بواسطة @ydshieh في [#49270]
- إضافة Trainer.loss_is_scaled_for_ga للإفصاح عن ما إذا كان compute_loss يقوم بالفعل بالتحجيم لتراكم التدرجات (#49240) بواسطة @qgallouedec في [#49240]
- إصلاح تعارض وسائط flash المحسوبة مسبقًا (#47928) بواسطة @IlyasMoutawwakil في [#47928]
- إعادة تطبيق الأمثلة modular (#49230) بواسطة @Cyrilvallez في [#49230]
- إزالة بعض الأشياء غير الموجودة (#49232) بواسطة @Cyrilvallez في [#49232]
- إزالة دورة إهمال الدوّارات (rotaries) (#49228) بواسطة @Cyrilvallez في [#49228]
- [
GTE] إضافة memory mixin (#49234) بواسطة @vasqu في [#49234] - [CB] جعل CB أكثر حيادية تجاه الأجهزة وإضافة دعم XPU (#49156) بواسطة @remi-or في [#49156]
- تصحيح المقاييس النهائية بسبب الاستئناف من نقطة تفتيش (#49208) بواسطة @SunMarc في [#49208]
- [ESM/Persimmon/NllbMoe/ESMFold] استخدام مستودعات safetensors لإصلاح Xet FUSE SIGBUS/IOError على مشغّلات CI من نوع bucket (#49194) بواسطة @ydshieh في [#49194]
- تحديث المطورين (#49212) بواسطة @vasqu في [#49212]
مساهمات مجتمعية هامة
قام المساهمون التاليون بإجراء تغييرات هامة على المكتبة منذ الإصدار الأخير:
- @vasqu
- Smthn smthn (#49364)
- [
GTE] إضافة memory mixin (#49234) - تحديث المطورين (#49212)
- @remi-or
- [Fix] إزالة ملف اختبار قديم يحتوي على اختبارين عتيقين (#49280)
- [CB] جعل CB أكثر حيادية تجاه الأجهزة وإضافة دعم XPU (#49156)
- 🚨 تنبيه 🚨 إهمال البادئة "paged|" لـ SDPA و flash (#49112)
- 🚨 تنبيه 🚨 جعل الانتباه العادي يدعم CB (#49101)
- 🚨 [CB] 🚨 دمج التحديث لمسار index و block table (#49088)
- [Refactor] جعل بعض أدوات flash-attention أكثر قابلية للقراءة (#49071)
- 🚨 [CB] 🚨 إصلاحات صغيرة قبل إزالة "paged" (#49069)