🤖 24 AI
🟡 🏥 In der Praxis Samstag, 18. April 2026 · 4 Min. Lesezeit

PyTorch und Meta: über 90 Prozent effektive Trainingszeit durch 40+ Optimierungen, MegaCache reduziert PT2-Kompilierung um 40 Prozent

Warum es wichtig ist

Meta hat veröffentlicht, wie sie über 90 Prozent Effective Training Time (ETT) für das Offline-Training ihrer Empfehlungsmodelle erreicht haben. Die Methode umfasst mehr als 40 neue Optimierungen im PyTorch-Ökosystem, MegaCache, das die PT2-Kompilierungszeit um 40 Prozent reduziert, eigenständiges Modell-Publishing, das 30 Minuten pro Job einspart, und asynchrones Checkpointing. Die Verbesserungen wurden über PyTorch und TorchRec als Open Source veröffentlicht.

Ein Team von 16 Ingenieuren bei Meta, zusammen mit Mitwirkenden aus dem PyTorch-Projekt, veröffentlichte am 17. April 2026 einen detaillierten Beitrag darüber, wie sie bis Ende 2025 über 90 Prozent Effective Training Time (ETT) für das Offline-Training von Empfehlungsmodellen erreicht haben. Der Artikel ist ein Gemeinschaftswerk von Ruilin Chen, Yuzhen Huang, Hang Qi und anderen und enthält eine Liste von 40+ konkreten Optimierungen, die dabei entwickelt wurden.

Was ETT ist und warum sie wichtig ist

Meta führt eine neue Metrik ein — Effective Training Time (ETT%) — die misst, welcher Prozentsatz der gesamten End-to-End-Wandzeit tatsächlich für produktives Training aufgewendet wird.

Die Formel ist einfach:

ETT% = 100% - Idleness% - Failure%

Meta unterteilt ETT in drei Teilmetriken:

  1. Time to Start — von der Hardware-Zuteilung bis zum ersten Batch-Verbrauch
  2. Time to Recover — wie lange Neustart und Wiederaufnahme nach Ausfällen dauern
  3. Number of Failures — Gesamtzahl infrastrukturbedingter Unterbrechungen

Der Grund, warum dies wichtig ist: Die klassische Metrik Model FLOPs Utilization (MFU) misst nur die Effizienz innerhalb des Trainings, ignoriert aber alles, was davor, dazwischen und danach passiert. Bei der Skalierung werden die „Zwischenphasen” zum dominierenden Kostenfaktor.

MegaCache: 40 Prozent weniger Kompilierung

Eine der wichtigsten Innovationen ist MegaCache — ein konsolidiertes Caching-System für PT2-Komponenten (PyTorch 2.0):

  • Inductor-Cache
  • Triton-Bundler
  • AOT Autograd
  • Dynamo PGO
  • Autotune-Einstellungen

Meta hat sie zu einem einzigen Cache zusammengeführt, der einmal erstellt und in nachfolgenden Jobs wiederverwendet wird.

Ergebnis: ~40 Prozent Reduzierung der durchschnittlichen PT2-Kompilierungszeit bis Ende 2025. Weitere Vorteile sind reduzierte Anforderungen an Remote-Server, schnelleres Modell-Setup und zuverlässigerer Start für wiederholte Jobs.

Checkpoint-Management

Checkpointing ist entscheidend für die Wiederherstellung, blockiert aber normalerweise das Training. Meta arbeitete an drei Fronten:

Asynchrones Checkpointing:

  • Erstellt eine CPU-Speicherkopie des Checkpoints
  • Der Haupt-Trainer läuft weiter, während ein Hintergrundprozess hochlädt
  • Reduziert GPU-Leerlaufzeit

PyTorch-natives Staging:

  • Ersetzte die benutzerdefinierte C++-Staging-Implementierung
  • Verwendet neue PyTorch-native APIs
  • Kompromiss: höherer Trainer-Speicher für weniger Blockierungszeit

Intervall-Optimierung:

  • Unsaved Training Time = (Anzahl Ausfälle) × (Checkpoint-Intervall) / 2
  • Checkpoint Save Blocking Time = (Train-Loop-Zeit) / (Checkpoint-Intervall) × (Blockierungszeit pro Checkpoint)
  • Das optimale Intervall minimiert die gesamte verlorene Zeit

Eigenständiges Modell-Publishing: 30 Minuten weniger

Klassischer Ablauf: Das Training endet, dann erledigt dieselbe GPU noch das Modell-Publishing (Export in Produktionsformat, Validierung, Upload).

Meta hat Publishing vom Training getrennt:

  • Das Training erstellt einen Anker-Checkpoint
  • Ein separater CPU-basierter eigenständiger Job veröffentlicht das Modell parallel

Ergebnis: ~30 Minuten weniger pro Job. Für Unternehmen, die täglich Hunderte von Trainingsläufen durchführen, sind das Hunderte von Stunden pro Monat.

Trainer-Initialisierung

Kommunikationsoptimierungen:

  • Unnötige Erstellungen von Prozessgruppen eliminiert
  • Unnötige all_gather-Aufrufe für Metadaten entfernt
  • Stattdessen wird globale Rang-Metadaten lokal nach dem Sharding-Plan-Broadcast aufgebaut

Pipeline-Optimierungen:

  • Parallelisierung unabhängiger Initialisierungsphasen
  • PT2-Kompilierung überschneidet sich mit DDP-Warm-up unter Verwendung von „Fast-Batch”-Daten
  • Besonders nützlich für Foundation-Modelle mit langen Datenladezeiten

Fehlervermeidung

Meta identifizierte zwei Hauptursachen für Ausfälle:

  1. Job-Präemptionen (mehr gleichzeitige Jobs = mehr Konflikte)
  2. Dienst-Regressionen

Ihre Reaktion ist zweigleisig: Zusammenarbeit mit Infrastrukturteams an neuen Scheduling-Algorithmen, plus ein komponentenbasiertes Observability-Dashboard, das TTS, TTR, ungespeicherte Trainingszeit und Checkpoint-Speicherzeit in Echtzeit anzeigt.

Open-Source-Beiträge

PyTorch-2.0-Verbesserungen:

  • TORCH_COMPILE_DYNAMIC_SOURCES für dynamische Formbehandlung
  • MegaCache-End-to-End-Caching-System
  • PyTorch-native Staging-APIs

TorchRec-Verbesserungen:

  • Sharding-Plan-Optimierungen (all_gather-Overhead eliminiert)
  • Kommunikationsoptimierungsmuster

Alles in der PyTorch-Dokumentation zur Replikation in anderen Organisationen verfügbar.

Botschaft für die Industrie

Die tiefste Lektion aus Metas Beitrag ist ein Paradigmenwechsel in der Optimierung: von „wie trainieren wir jede Iteration schneller” zu „wie reduzieren wir alles, was kein echtes Training ist”. Während sich die Community auf MFU und die Steigerung des Durchsatzes konzentriert, zeigt Meta, dass ein 10-Prozent-ETT-Gewinn genauso wertvoll ist wie ein 10-Prozent-MFU-Gewinn — und oft durch Engineering viel leichter zu erzielen.

Für Organisationen, die KI-Training skalieren, wird ETT genauso wichtig wie MFU.

🤖

Dieser Artikel wurde mithilfe von künstlicher Intelligenz aus Primärquellen erstellt.