Transformers Releases

Veröffentlichung v5.19.0

# Veröffentlichung v5.19.0 ## Neue Modelle hinzugefügt ### EmbeddingGemma2 EmbeddingGemma 2 ist ein multimodales Einbettungsmodell von Google, das auf der Gemma 4-Architektur basiert. Es kodiert Text, Bilder, Audio und…

Veröffentlichung v5.19.0

Neue Modelle hinzugefügt

EmbeddingGemma2

EmbeddingGemma 2 ist ein multimodales Embeddingmodell von Google, das auf der Gemma 4-Architektur basiert. Es kodiert Text, Bilder, Audio und Video – einzeln oder kombiniert in einer Eingabe – in einen gemeinsamen 768-dimensionalen Vektorraum für crossmodale Suche, semantische Ähnlichkeit, Clustering und Klassifizierung. Es verwendet Matryoshka-Repräsentationslernen, sodass die Embeddings auf 512, 256 oder 128 Dimensionen reduziert werden können. Es bietet außerdem konfigurierbare Budgets für visuelle und Video-Token, und ungenutzte Vision- oder Audio-Türme können zum Zeitpunkt der Ladezeit deaktiviert werden, um Speicherplatz zu sparen.

Links: Dokumentation * Smthn smthn (#49364) von @vasqu in #49364

Breakthroughs

Alle MoE-Modelle, deren Router Logits berechnen, geben diese nun zurück, wenn output_router_logits=True, folgend dem Qwen3-MoE-Modell (ein router_logits-Register im Basismodell, MoeModelOutputWithPast vom Rückgrat und ein MoE-causal LM-Output vom Kopf), sodass Code, der auf vorherige Ausgaben oder deren Abwesenheit angewiesen war, die Router-Logits aus diesen Ausgabeklassen lesen sollte. * 🚨 Gibt die Router-Logits von jedem MoE-Modell zurück, das sie berechnet (#48920), durch @qgallouedec

Owlv2ForObjectDetection.embed_image_query wählt nun den Feldeingang mit dem höchsten Objektness-Score aus, wie im ursprünglichen OWLv2-Notizbuch, anstatt der OWL-ViT-Heuristik, sodass die durch Bilder geleiteten Query-Embeddings und Detektionen sich von früheren Versionen unterscheiden können. * 🚨 Wähle den OWLv2-Bild-Query nach Objektness (#49200) durch @qgallouedec

The "paged|" Der Präfix für SDPA- und Flash-Antizipationsimplementierungen ist veraltet, daher sollten Benutzer die reguläre Antizipation-Implementierung verwenden (z. sdpa oder flash_attention_2) für kontinuierliches Batching anstelle von paged|sdpa oder paged|flash_attention_2* 🚨 Achtung 🚨 Der Präfix „paged|“ für SDPA und Flash wird abgeschafft (#49112) von @remi-or

Die regulären Flash- und SDPA-Aufmerksamkeitsfunktionenflash_attention.py, sdpa_attention.py) unterstützt jetzt direkt kontinuierliches Batching, und "paged|..." Die Implementierungen für diese werden auf sie verwiesen, während Eager weiterhin die Erforderlichkeit benötigt "paged|eager" Präfix. * 🚨 Achtung 🚨 Unterstützen Sie CB (#49101) regelmäßig durch @remi-or

In kontinuierlichem Batching wird die Cache-Update-Funktion für die indexbasierten und Block-Tabelle-Pfade nun in einen einzigen Aufruf integriert, was das Verhalten der Cache-Update-Funktion leicht verändert und jedes benutzerdefinierte Code, das die separaten Update-Pfade aufruft, beeinflusst. * 🚨 [CB] 🚨 Fuse-Update für indexbasierten und Block-Tabelle-Pfade (#49088) von @remi-or

Die internen Prozesse des kontinuierlichen Batchings wurden verändert, um die Entfernung vorzubereiten "paged": `max * 🚨 [CB] 🚨 Kleine Korrekturen vor der Entfernung von „paged“ (#49069) durch @remi-or

Parallelschaltung

Der Expert-Parallelismus erhält eine Token-Dispatch-Implementierung, die durch den neuen ep_dispatch_experts Plan-Regel ausgewählt wird und jetzt als Standard für Qwen3 MoE und Mellum gilt. Dadurch entfällt die Anforderung, dass der EP-Größe der TP-Größe entspricht. Der Trainer wurde ebenfalls an die Arbeit mit dem Expert-Parallelismus angepasst, und die Dokumentation weist jetzt aus, dass PEFT-Adapter Tensor-Parallelität unterstützen. Ebenso wurde eine CI-bezogene Korrektur für die Pipeline-parallelen Inferenz von Chart2Table eingefügt.

  • [distributed]: Adaptieren des Trainers, um Expert Parallel zu funktionieren (#48873), von @3outeille in [#48873]
  • [distributed] Hinzufügen von Experten-parallelen Token-Auslösung, Standard für Qwen3 MoE (#48865) von @3outeille in [#48865]
  • Fixe die Inferenz des pp Chart2Table (#49225) durch @zucchini-nlp in [#49225]
  • [docs] TP für PEFT-Adapter (#49060) von @stevhliu in [#49060]

Cache

Diese Veröffentlichung behebt das Handhaben des quantisierten Caches: generate mutiert nicht mehr die Benutzerkonfiguration cache_config, und QuantizedLayer.reorder_cache wird repariert. Zudem wird eine Konfiguration des Caches pro Schicht hinzugefügt, sodass DynamicCache und StaticCache jede Schicht aus ihrer eigenen Konfiguration initialisieren (verschiebender Fenster, Größe des Aufmerksamkeitsblocks, Konvolutionstaten und Anzahl der Aufmerksamkeitsköpfe), um heterogene Modelle besser zu unterstützen. Separat wird der Abwärtshandling-Zyklus für Masken und Caches entfernt.

  • Fixierte quantisierte Cache (#48700) von @jiqing-feng in [#48700]
  • [CI] check_bad_commit: Verwenden Sie den EFS-Cache, um das Xet FUSE-OOM-Problem (Ausgabe 137) zu vermeiden (#49273) von @ydshieh in [#49273]
  • Unterstützung für die Konfiguration der Cache pro Schicht (#48178) durch @eladsegal in [#48178]
  • Entfernen des Verfallszyklus für Maske und Cache (#49231) durch @Cyrilvallez in [#49231]

Fehlersuche und Verbesserungen

  • Kehren Sie zu “[CI] Temporär deaktivieren AMD geplante CI-Trigger” zurück (#49271) (#49362) durch @ydshieh in [#49362]
  • ALM testx fIxing... (#49355) von @zucchini-nlp in [#49355]
  • Beseitigen Sie DataCollatorForLanguageModeling, das seed=0 ignoriert (#49349), von @akanyaani in [#49349]
  • Fixe die explizite Kernelisierung-Modi für Bewertungsmodelle (#49339) durch @DimensionSTP in [#49339]
  • fix(cohere_compass): Füge Video zu input_modalities hinzu (#49320) (#49323) von @destopianpirate in [#49323]
  • GPT-OSS: Lesen Sie die eingeschränkte SwiGLU-Alpha und begrenzen Sie sie aus der Konfiguration (#49346) durch @IlyasMoutawwakil in [#49346]
  • [distributed] Standard-MoE ep_plans für Token-Disposition (#49160) von @3outeille in [#49160]
  • Verschieben Sie CI auf Python 3.11, wobei die Version in .python-version (#49311) durch @tarekziade in [#49311] gesetzt wird.
  • Bump doc-builder main docs Workflow Pin (#49350) durch @paulinebm in [#49350]
  • [distributed] Trennung von tp_plan und ep_plan (#48859) durch @3outeille in [#48859]
  • [distributed] Füge die dichte und experiente Gerätemesh hinzu (#48857) von @3outeille in [#48857]
  • Bump des Workflow-Pins für den Doc-Builder (#49342) von @paulinebm in [#49342]
  • Erhöhung der Erlaubnis zur Registrierung neuer Verarbeitungsbackende (#48984) durch @zucchini-nlp in [#48984]
  • Fixen Sie WatermarkDetector repeated-ngram counting (#49315) durch @LE0-Lin in [#49315].
  • Beheben des Batchings von Minicpm 4.6V-Video und des CI (#49259) durch @zucchini-nlp in [#49259]
  • Entfernen von colwise_gather_output für lm_head für DeepseekV4 (#49314) durch @3outeille in [#49314]
  • Bearbeite die labels-Docstring von CLIPSegForImageSegmentation (#49001) durch @qgallouedec in [#49001].
  • [CI] Deaktivieren Sie vorübergehend den AMD-Scheduled-CI-Trigger (#49271) durch @ydshieh in [#49271]
  • Die ungenutzte pandas-Eintragung aus setup.py deps (#49329) wird von @tarekziade in [#49329] entfernt.
  • Fixen Sie in run_glue.py, dass die Label-IDs zu Zeichenfolgen werden, wenn pandas>=3 ist (#49326), von @tarekziade in [#49326]
  • [Fix] Entfernen des alten Testdateis mit zwei veralteten Tests (#49280) durch @remi-or in [#49280]
  • Bessere gefüllte Vorschau mit multiachsen Positionen IDs (Qwen3-VL) (#49319) durch @dacorvo in [#49319]
  • Warum überschreiben, wenn man es in Mixin (#49105) durch @zucchini-nlp in [#49105] korrigieren kann?
  • Verwende Do RoPE mit mul anstelle von matmul (#49265) von @Rocketknight1 in [#49265]
  • Deprimiert Pipeline-Workflows sollten umgeleitet werden; entferte Pipeline-Workflows sollen eine Ausnahme erzeugen (#49308) durch @LysandreJik in [#49308]
  • Modelltest auf dem kommenden torch_tpu Backend aktivieren (#49207) durch @tengomucho in [#49207]
  • Fixierung der Repetitionstrafe des Encoders für Quelldatenzeilen nach Batch-Expansion (#49262) durch @gitedmond in [#49262]
  • Behalten Sie die maskierten EOS-Scores in der Länge-Penalty durch exponentielles Abfallen (#49260) bei @gitedmond in [#49260].
  • [CI] Vermeide das Herunterladen aller Artefakte, wenn nur bestimmte Artikel benötigt werden (#49282), von @ydshieh in [#49282]
  • Kehren Sie zu “[CI] ssh-runner: Hinzufügen einer optionalen Cache-Type-Eingabe, um zwischen den Bucket- und EFS-Befehlern zu wechseln (#49159)” (#49270) zurück durch @ydshieh in [#49270]
  • Fügen Sie Trainer.loss_is_scaled_for_ga hinzu, um anzugeben, ob compute_loss bereits für die Gradientaccumulation skaliert wird (#49240), von @qgallouedec in [#49240]
  • Fixen der kombinierten prekomputierten Flash-KWARTEI-Parameter (#47928) durch @IlyasMoutawwakil in [#47928]
  • Neu anwenden der modularen Beispiele (#49230) von @Cyrilvallez in [#49230]
  • Einige Elemente, die nicht existieren (#49232), entfernen: @Cyrilvallez in [#49232]
  • Entfernen Sie den Degradationszyklus der Rotarys (#49228) durch @Cyrilvallez in [#49228]
  • [GTE] Add memory mixin (#49234) von @vasqu in [#49234]
  • [CB] Machen CB mehr device-unabhängig und fügen Unterstützung für XPU hinzu (#49156) durch @remi-or in [#49156]
  • korrigierte endgültige Metriken durch Wiederanfangen vom Checkpoint (#49208) von @SunMarc in [#49208]
  • [ESM/Persimmon/NllbMoe/ESMFold] Verwenden Sie die safetensors-Repos, um das Xet FUSE-SIGBUS/IOError auf den CI-Bucket-Runnern zu beheben (#49194) von @ydshieh in [#49194]
  • Dev-Update (#49212) von @vasqu in [#49212]

Wichtige Beiträge der Gemeinschaft

Die folgenden Mitwirkenden haben im letzten Release erhebliche Änderungen an der Bibliothek vorgenommen:

  • @vasqu
    • Smthn smthn (#49364)
    • [GTE] Erweitern des Memory-Mixins (#49234)
    • Dev-Update (#49212)
  • @remi-or
    • [Fix] Entfernen des alten Testdateis mit zwei veralteten Tests (#49280)
    • [CB] Machen CB mehr device-agnostisch und fügen Unterstützung für XPU hinzu (#49156)
    • 🚨 Achtung 🚨 Der Präfix „paged|“ für SDPA und Flash wird abgeschafft (#49112)
    • 🚨 Achtung 🚨 Halten Sie die Unterstützung CB (#49101) regelmäßig im Blick!
    • 🚨 [CB] 🚨 Aktualisierung der Fuse für den Index- und Block-Tabelle-Pfad (#49088)
    • [Refactoring] Machen einige Flash-Attention-Utils lesbarer (#49071)
    • 🚨 [CB] 🚨 Kleine Korrekturen vor der Entfernung von „paged“ (#49069)
Originalquelle

Transformers Releases

Hinweise zum Inhalt

Originalveröffentlichung und Rechte liegen bei der Quelle.

Maschinelle Übersetzung · Original beachten