Once-for-All (OFA)
Eine Trainingsmethode, die ein einziges "Supernet" trainiert, aus dem viele spezialisierte Subnetzwerke für verschiedene Hardware-Constraints extrahiert werden können – trainiere einmal, deploye überall.
Once-for-All trainiert ein Supernet, aus dem spezialisierte Modelle für jede Hardware ohne Re-Training extrahiert werden – trainiere einmal, deploye überall.
Erklärung
OFA trainiert ein großes Netzwerk mit Progressive Shrinking: erst volle Größe, dann wird schrittweise Tiefe, Breite und Kernel-Größe reduziert. Das resultierende Supernet enthält Milliarden möglicher Subnetze, die ohne Re-Training für spezifische Hardware-Budgets ausgewählt werden.
Relevanz für Marketing
OFA löst das Problem "ein Modell pro Gerät": Statt 100 Modelle für 100 Geräte zu trainieren, trainiert man einmal und extrahiert spezialisierte Versionen für Smartphone, Tablet, Edge-Server, Cloud.
Beispiel
MIT HAN Lab trainierte ein OFA-Netzwerk, aus dem in Sekunden Modelle für jedes Latenz-Budget extrahierbar sind – von Raspberry Pi (20ms) bis Server-GPU (5ms), alle aus demselben Supernet.
Häufige Fallstricke
Supernet-Training ist sehr teuer (GPU-Tage). Subnetze sind nicht immer optimal – spezialisiertes Training kann besser sein. Komplexe Training-Pipeline.
Entstehung & Geschichte
Cai et al. (MIT HAN Lab, 2020) veröffentlichten das OFA-Paper "Once-for-All: Train One Network and Specialize it for Efficient Deployment." Es gewann mehrere NAS-Competitions und inspirierte Elastic-Training-Ansätze.
Abgrenzung & Vergleiche
Once-for-All (OFA) vs. Neural Architecture Search
NAS trainiert und evaluiert viele Kandidaten einzeln; OFA trainiert ein Supernet und extrahiert Kandidaten ohne Re-Training.
Once-for-All (OFA) vs. Knowledge Distillation
Distillation trainiert ein kleines Modell aus einem großen; OFA enthält viele kleine Modelle innerhalb eines großen.