Nouvelles ajouts du modèle
EmbeddingGemma2
EmbeddingGemma 2 est un modèle d’emballage multimodal de Google, construit sur l’architecture Gemma 4. Il encode texte, images, audio et vidéo, individuellement ou combinés en une seule entrée, dans un espace vectoriel partagé de 768 dimensions, afin de permettre des recherches transmodal, des similarités sémantiques, des agrégations et des classifications. Il utilise la formation de représentation Matryoshka, de sorte que les emballages peuvent être réduits à 512, 256 ou 128 dimensions. Il propose également des budgets visuels et vidéo configurables, et les tours de vision ou d’audio non utilisés peuvent être désactivés au moment du chargement pour économiser la mémoire.
Links : Documentation * Smthn smthn (#49364) par @vasqu dans #49364
Changements de breaking
Tous les modèles MoE dont les routeurs calculent les logits renvoient maintenant ces valeurs lorsque output_router_logits=True, suivant le modèle Qwen3-MoE (un enregistreur router_logits sur le modèle de base, MoeModelOutputWithPast provenant du backbone, et une sortie LM causale MoE provenant de la tête), de sorte que le code qui dépendait des sorties précédentes ou de leur absence devrait lire les logits des routeurs depuis ces classes de sortie.
* 🚨 Renvoie les logits des routeurs de tous les modèles MoE qui les calculent (#48920) par @qgallouedec
Owlv2ForObjectDetection.embed_image_query sélectionne désormais la case de recherche ayant le score d’objectness le plus élevé, comme dans le notebook OWLv2 original, plutôt que l’heuristique OWL-ViT, de sorte que les embeddings et détections basés sur des images peuvent différer des versions précédentes.
* 🚨 Sélectionnez la requête d’image OWLv2 par objectness (#49200) via @qgallouedec
Le préfixe "paged|" pour les implémentations SDPA et d’attention flash est obsolète, il convient donc aux utilisateurs de choisir l’implémentation d’attention normale (par exemple sdpa ou flash_attention_2) pour le batchage continu, plutôt que paged|sdpa ou paged|flash_attention_2.
* 🚨 Attention 🚨 Le préfixe “paged|” pour SDPA et flash est obsolète (#49112) par @remi-or
Les fonctions d’attention régulières flash et SDPA (flash_attention.py, sdpa_attention.py) prennent désormais en charge le batching continu directement, et les implémentations "paged|..." sont redirigées vers elles. En revanche, l’eager nécessite encore le préfixe "paged|eager".
* 🚨 Attention 🚨 Ajoutez le support régulier de l’attention CB (#49101) par @remi-or
Dans le batching continu, la mise à jour de la cache pour les chemins basés sur l’index et la table de blocs est maintenant fusionnée en une seule appelée, ce qui modifie légèrement le comportement de la fonction de mise à jour de la cache et affecte tout code personnalisé qui appelle les chemins de mise à jour distincts. * 🚨 [CB] 🚨 Fusionner la mise à jour pour le chemin de l’index et de la table de blocs (#49088) par @remi-or
Les paramètres internes du chargement continu ont été modifiés en préparation de l’élimination "paged": `max
* 🚨 [CB] 🚨 Petites corrections avant l’élimination de “paged” (#49069) par @remi-or
Parallélisation
Le parallélisme expert obtient une implémentation de dispatch de tokens, choisie via la nouvelle règle de plan ep_dispatch_experts et désormais par défaut pour Qwen3 MoE et Mellum, ce qui élimine l’exigence que la taille de l’EP soit égale à celle du TP. Le Trainer a également été adapté pour fonctionner avec le parallélisme expert, et les documents indiquent désormais que les adaptateurs PEFT supportent le parallélisme tensor. Une correction liée au CI pour l’inférence pipeline-parallel chart2table a également été incluse.
- [
distributed]: adapter le Trainer pour fonctionner Expert Parallel (#48873) par @3outeille dans [#48873] - [
distributed] Ajouter le dépêchement de tokens parallèle expert, par défaut pour Qwen3 MoE (#48865) par @3outeille dans [#48865] - Corriger l'inference du graphique 2 tableau pp (#49225) par @zucchini-nlp dans [#49225]
- [docs] TP pour les adaptateurs PEFT (#49060) par @stevhliu dans [#49060]
Cache
Cette version corrige le traitement de la cache quantifiée : generate ne modifie plus la cache_config de l’utilisateur, et QuantizedLayer.reorder_cache est réparé. Elle ajoute également une configuration de cache par couche, de sorte que DynamicCache et StaticCache initialisent chaque couche avec sa propre configuration (fenêtre glissante, taille du bloc d’attention, états de convolution et nombre de têtes d’attention) afin de mieux soutenir les modèles hétérogènes. En outre, le cycle de mise à jour non plus valide pour la masque et la cache
- Corriger le cache quantifié (#48700) par @jiqing-feng dans [#48700]
- [CI] check_bad_commit : utiliser la cache EFS pour éviter l’OOM du Xet FUSE (exécution 137) (#49273) par @ydshieh dans [#49273]
- Soutien à la configuration de cache par couche (#48178) par @eladsegal dans [#48178]
- Supprimer le cycle de dépréciation sur la masque et le cache (#49231) par @Cyrilvallez dans [#49231]
Corrections de bogue et améliorations
- Retourner “[CI] Désactiver temporairement le déclencheur CI planifié d’AMD” (#49271) (#49362) par @ydshieh dans [#49362]
- ALM testx fIxing... (#49355) par @zucchini-nlp dans [#49355]
- Corriger DataCollatorForLanguageModeling en ignorant seed=0 (#49349) par @akanyaani dans [#49349]
- Corriger les modes d’kernelisation explicites pour les modèles d’évaluation (#49339) par @DimensionSTP dans [#49339]
- fix(cohere_compass): ajouter un vidéo aux input_modalities (#49320) (#49323) par @destopianpirate dans [#49323]
- GPT-OSS : lire l’alpha du SwiGLU clampé et le limiter selon la configuration (#49346) par @IlyasMoutawwakil dans [#49346]
- [
distributed] MoE par défautep_plansà la distribution de tokens (#49160) par @3outeille dans [#49160] - Déplacer CI vers Python 3.11, avec la version indiquée dans
.python-version(#49311) par @tarekziade dans [#49311]. - Pin le flux de travail des documents principaux du bûcher de construction de documents (#49350) par @paulinebm dans [#49350]
- [
distributed] déconnecté tp_plan et ep_plan (#48859) par @3outeille dans [#48859] - [
distributed] Ajouter la grille de dispositif dense et experte (#48857) par @3outeille dans [#48857] - Augmenter le pin du workflow de construction de documentation (#49342) par @paulinebm dans [#49342]
- Permettre l’enregistrement de nouveaux backends de traitement (#48984) par @zucchini-nlp dans [#48984]
- Corriger WatermarkDetector repeated-ngram counting (#49315) par @LE0-Lin dans [#49315]
- Corriger le batchage vidéo de minicpm 4.6V et le CI (#49259) par @zucchini-nlp dans [#49259]
- supprimer colwise_gather_output pour lm_head pour DeepseekV4 (#49314) par @3outeille en [#49314]
- Corriger la docstring
labelsde CLIPSegForImageSegmentation (#49001) par @qgallouedec dans [#49001] - [CI] Désactiver temporairement le déclencheur CI planifié d’AMD (#49271) par @ydshieh dans [#49271]
- Supprimer la entrée inutilisée de pandas dans setup.py deps (#49329) par @tarekziade dans [#49329]
- Corriger dans run_glue.py le fait que les IDs deviennent des chaînes de caractères lorsque pandas >=3 (#49326) par @tarekziade dans [#49326]
- [Fix] Supprimer le fichier de test ancien contenant deux tests obsolètes (#49280) par @remi-or dans [#49280]
- Corriger le remplissage en morceaux avec les identifiants de position multi-axe (Qwen3-VL) (#49319) par @dacorvo dans [#49319]
- Pourquoi surcharger si on peut corriger dans
Mixin(#49105) par @zucchini-nlp dans [#49105] - Utilisez DoRoPE avec mul plutôt que matmul (#49265) par @Rocketknight1 dans [#49265]
- Les pipelines dépréciés devraient être redirigés ; les pipelines supprimés devraient lever une exception (#49308) par @LysandreJik dans [#49308]
- Activer le test du modèle sur le backend
torch_tpuà venir (#49207) par @tengomucho dans [#49207] - Corriger la pénalité de répétition du encodeur pour les lignes sources après l’expansion par lots (#49262) par @gitedmond dans [#49262]
- Mise en garde sur les scores EOS masqués dans la pénalité de longueur de décadence exponentielle (#49260) par @gitedmond dans [#49260]
- [CI] Éviter de récupérer tous les artefacts lorsque seuls certains sont nécessaires (#49282) par @ydshieh dans [#49282]
- Retourner “[CI] ssh-runner : ajouter une entrée optionnelle cache_type pour alterner entre les exécuteurs bucket et EFS (#49159)” (#49270) par @ydshieh dans [#49270]
- Ajoutez Trainer.loss_is_scaled_for_ga pour déterminer si compute_loss est déjà scalé pour l’accumulation de gradient (#49240) par @qgallouedec dans [#49240]
- Corriger les conflits des kwargs flash pré-composés (#47928) par @IlyasMoutawwakil dans [#47928]
- Réappliquer les exemples modulaires (#49230) par @Cyrilvallez dans [#49230]
- Supprimer certaines choses qui ne existent pas (#49232) par @Cyrilvallez dans [#49232]
- Supprimer le cycle de dépréciation des rotaries (#49228) par @Cyrilvallez dans [#49228]
- [
GTE] Ajouter le mixin de mémoire (#49234) par @vasqu dans [#49234] - [CB] Rendre CB plus indépendant des appareils et ajouter le soutien pour XPU (#49156) par @remi-or dans [#49156]
- Métriques finales corrigées en reprenant le point de contrôle (#49208) par @SunMarc dans [#49208]
- [ESM/Persimmon/NllbMoe/ESMFold] utiliser les repos safetensors pour corriger Xet FUSE SIGBUS/IOError sur les exécuteurs de bucket CI (#49194) par @ydshieh dans [#49194]
- Mise à jour du Dev (#49212) par @vasqu dans [#49212]
Contributions importantes de la communauté
Les contributeurs suivants ont apporté des modifications importantes à la bibliothèque depuis la dernière version :
- @vasqu
- Smthn smthn (#49364)
- [
GTE] Ajouter le mixin de mémoire (#49234) - Mise à jour du Dev (#49212)
- @remi-or
- [Correction] Supprimer le fichier de test ancien contenant deux tests obsolètes (#49280)
- [CB] Rendre CB plus indépendant des appareils et ajouter le support pour XPU (#49156)
- 🚨 Attention 🚨 Le préfixe “paged|” est à retirer pour SDPA et flash (#49112)
- 🚨 Attention 🚨 Portez une attention régulière pour soutenir le CB (#49101)
- 🚨 [CB] 🚨 Mise à jour de la fuse pour le chemin de la table d’index et de la table de bloc (#49088)
- [Refactor] Rendre certaines utilitaires de flash-attention plus lisibles (#49071)
- 🚨 [CB] 🚨 Petites corrections avant l’effacement de “paged” (#49069)