Am 30. Juli 2026 aktivierte Transformers für T5 die skalierte Dot-Product-Attention (SDPA) von PyTorch. Dieser Nebeneffekt ermöglichte es dem Decoder von UMT5, während des Trainings auf zukünftige Tokens, also die Antwort, die er vorhersagen sollte, zuzugreifen. Nichts stürzte ab, und der Fehler blieb fast zwei Monate lang im Hauptzweig. Hugging Face stellt Model Integration Contracts (MIC) vor, ein auf kleinen Modellen basierendes Testformat, das es ermöglichte, ihn bei einem erneuten Durchlauf der Commits zu entdecken.
- Ein Fehler ließ den UMT5-Decoder im Training zukünftige Tokens sehen, ohne dass etwas abstürzte.
- Er blieb fast zwei Monate im Hauptzweig, bis wiederholte Läufe der Commits ihn aufdeckten.
- Model Integration Contracts testen ein verkleinertes Modell auf der CPU mit validierten Referenzausgaben.
- Ein LLM schreibt die Verträge, doch ein Mensch muss jede Änderung der Erwartungen genehmigen.
Transformers unterstützt mehr als 750 Modelltypen, und seine Testsuite ist beträchtlich: über 88.000 CPU-Tests im Hauptzweig und über 200.000 GPU-Tests in einer täglichen Ausführung. Integrationstests laden echte Checkpoints und nutzen die Modell-API auf echter Hardware. Sie bei jeder Änderungsanfrage laufen zu lassen, würde den ganzen Tag über eine große Anzahl von GPUs blockieren, was unrealistisch ist. Eine Regression kann daher den Hauptzweig erreichen, bevor sie durch einen geplanten Lauf entdeckt wird.
Das Modell verkleinern statt den großen zu testen
Der Ansatz besteht darin, ein Fixture zu erstellen, also ein kleines Modell, das aus der Konfiguration des echten Checkpoints gebaut wird, mit weniger und schmaleren Schichten, aber von allen im Originalmodell vorhandenen Typen. Seine Tokenizer- und Prozessor-Dateien bleiben unverändert. Dieses Fixture wird einmal veröffentlicht und dann wiederverwendet, und schnelle Tests laufen darauf auf einem einfachen CPU-Prozessor. In der CPU-Studie des Teams wog das experimentelle Fixture von UMT5 66 MB, verglichen mit 1.227 MB für den Quell-Checkpoint. Diese Methode gilt auch für sehr große Modelle, von denen einige nicht auf Standard-GPUs passen, deren Fixture aber auf der CPU läuft.
Die Tests gehen über einfaches Laden und einen Inferenzdurchlauf hinaus. Der UMT5-Fehler hätte diesen Durchlauf problemlos bestanden. Die Fixtures ersetzen keine vollständigen Integrationstests, bieten aber die Chance, Fehler vor ihrem Eintreffen im Hauptzweig zu erkennen.
Ein MIC umfasst drei Elemente: das Fixture, einen Usage Path (ein ausführbares Beispiel, wie Texterzeugung oder ein Trainingsschritt) und Baselines, die bei der Ausführung dieses Beispiels aufgezeichneten und von einem Menschen validierten Ausgaben. Der Vertrag ist erfüllt, wenn die Ausführung auf dem Fixture stets diese Referenzausgaben produziert.
Das Feedback zum UMT5-Fehler
Das Team führte eingefrorene MICs für fünf Monate Transformers-Commits erneut aus. Das UMT5-Fixture meldete die Regression von ihrer Einführung am 30. Juli 2026 bis zu ihrer Korrektur am 28. September. Die logarithmischen Wahrscheinlichkeiten der Labels wichen von der validierten Referenz um 1,22 ab, und der Trainingsverlust um etwa 0,20. Ein Detail war entscheidend: Der Vertrag nutzte SDPA, den Standard-Attentionspfad. Die Ausführung nur der « eager »-Attentionsvariante zeigte den Fehler nicht. Bei einer Demonstration auf einem Testzweig der Transformers-CI, nachdem die Korrektur rückgängig gemacht worden war, schlug die Überprüfung mit denselben Abweichungen fehl, und der T5-Runner-Schritt dauerte 13,4 Sekunden auf der CPU, ohne Installation.
Verträge mit Agents generieren
Ein Kommandozeilenwerkzeug, tmic, erstellt den Vertrag und baut das Fixture. Für ein neues Modell schreibt ein LLM den Nutzungscode und das Manifest, dann messen CPU- und GPU-Ausführungen Kandidaten-Baselines. Laut dem Team schreibt das LLM, genehmigt aber nicht: Jede Änderung der Erwartungen erfordert eine menschliche Validierung. Der Modellreduktionsbericht für Llama 4 Scout veranschaulicht diese Methode: 108,6 Milliarden Parameter werden zu 44,7 Millionen, der Visionsteil geht von 34 auf 2 Schichten und der Sprachteil von 48 auf 4.
Für Testmodelle verglich das Team zufällige Gewichte mit Gewichten, die auf wenigen Beispielen trainiert wurden. In der Studie zur Gewichtsinitialisierung entdeckten zufällige Whisper-Fixtures 18 von 24 injizierten Fehlern, gegenüber 24 von 24 bei trainierten Fixtures. Diese Fehler waren synthetisch, und beide Versionen verpassten einen durch den echten Whisper-Checkpoint aufgedeckten Assisted-Decoding-Fehler.
Zum 1. November 2026 meldet der MIC-Job der Transformers-CI Fehler, ohne Änderungsanfragen zu blockieren. Die Frage, ihn blockierend zu machen, bleibt offen, mangels Messungen zur Anzahl echter entdeckter Fehler und falscher Alarme.
