Was ist OPAL?
OPAL (OPtimizer with an Agent in the Loop) umhüllt einen vorhandenen torch.optim-Optimizer mit einer Zeile. In regelmäßigen Abständen während des Trainings liest ein Coding-Agent, standardmäßig Claude Code, die Losses, die Gradientenstatistiken und seine eigenen Analyseberichte und entscheidet dann, ob er zwei kleine Python-Programme umschreibt: die Update-Regel, die Gradienten in Parameter-Updates verwandelt, und den Analysecode, der misst, was er beobachten will. Er kann Lernraten, Zeitpläne, Momentum, Vorkonditionierung und Clipping pro Parametergruppe ändern, soll aber Modell, Daten, Loss und Evaluation nicht anfassen.
Es ist der Forschungscode hinter dem Paper Reactive Optimizers von Xingjian Bai, Jia-Hao Liang, Jayden Teoh und Vincent Sitzmann (arXiv 2610.33826), veröffentlicht als nutzbares Paket: pip install opal-optimizer, mit einer CLI für Probeläufe, Kostenschätzungen, Live-Beobachtung und einem HTML-Bericht über jede Entscheidung und jeden Code-Diff. Ein experimentelles Codex-Backend ist dabei.
Das Repository wurde am 21. Oktober 2026 angelegt, steht unter MIT-Lizenz, hat etwa 440 Sterne, und v0.3.10 erschien am 3. November 2026.
Lohnt sich OPAL?
OPAL lohnt einen Blick für alle, die Trainingsläufe von mehreren Stunden bezahlen, und bringt darunter wenig. Die Idee: Ein festes Optimizer-Rezept wird vor dem Training gewählt und nie überprüft; OPAL lässt einen Agenten den Lauf beobachten und die Update-Regel mittendrin umschreiben. Bis der Agent etwas ändert, ist ein umhüllter Lauf Bit für Bit identisch mit dem normalen, und der Probelauf backend="keep" belegt das kostenlos. Das ist der richtige erste Test für eine skeptische Ingenieurin.
Die Ergebnisse der Autoren sind ermutigend und dünn. Bei SiT-B/2 auf ImageNet 256 sank der FID-50K von 35.7 auf 23.6, bei LightningDiT-B/1 von 3.22 auf 2.31 mit Guidance. Jede Zahl ist aber ein einzelner Lauf pro Einstellung, von den Autoren selbst berichtet, und das README vermerkt, dass ein modded-nanogpt-Lauf mit Version 0.2.0 schlechter endete als der Rekord, von dem er ausging. Weil der Agent jedes Mal anders entscheidet, werden deine Zahlen schwanken.
Die Zeitkosten fallen pro Entscheidung an, nicht pro Schritt. Eine Entscheidung dauert in den Läufen der Autoren im Schnitt etwa 40 s. Das fügte einem RAEv2-B-Lauf von 3.75 h nur 0.49 h hinzu, machte aber aus Ein-GPU-Skripten von 1 bis 3 Minuten 27 bis 31 Minuten. Mit blocking=False läuft das Training weiter, während der Agent nachdenkt, um den Preis eines unruhigeren Verhaltens.
Zur Sicherheit gehört ein klarer Satz. Die Shell des Agenten läuft in einer Betriebssystem-Sandbox ohne Netzwerk, doch der Optimizer-Code, den er schreibt, läuft in deinem Trainingsprozess mit deinen Rechten und ist nicht abgeschottet. Standardmäßig liest er außerdem Kopien deines Trainingsskripts und des Modellcodes, die an Anthropic gehen; share_code=False hält sie heraus. Jede Programmversion wird auf der Festplatte gespeichert, der finale Optimizer ist also Python, das du lesen und ohne Agenten wiederverwenden kannst.
Die Grenzen sind die eines drei Wochen alten Forschungspakets: nur ein Knoten, kein FSDP, DeepSpeed oder Multi-Node, kein Zurückrollen des Trainings selbst und keine Kostengrenze, solange du max_cost_usd nicht setzt. Als Weg zu einem besseren Optimizer-Rezept für eine Modellfamilie, die du oft trainierst, ist es interessanter denn als Knopf für jeden Job.
Wo es sich lohnt
Ein Doktorand, der Diffusionsmodelle auf einem Knoten mit 8x H100 trainiert
Einen besseren Lernraten- und Optimizer-Zeitplan finden, ohne vollständigen Sweep
AdamW umhüllen, den kostenlosen keep-Probelauf starten, dann einen gedeckelten Agent-Lauf von einigen Stunden. Der RAEv2-B-Lauf der Autoren kostete $13.30 an Agent-Nutzung und fügte 0.49 h Wartezeit hinzu; das finale Programm in programs/ lässt sich in späteren Läufen wiederverwenden.
Eine ML-Leiterin in einem Startup mit 15 Leuten, das kleine Sprachmodelle vortrainiert
Beurteilen, ob sich ein vom Agenten abgestimmter Optimizer lohnt, bevor Rechenzeit gebunden wird
Zuerst opal estimate ausführen, um Wartezeit und Kosten zu sehen, dann einen umhüllten und einen normalen Lauf mit opal compare vergleichen. Mit Schwankungen von Lauf zu Lauf rechnen und mindestens zwei Agent-Läufe einplanen, bevor man Schlüsse zieht.
Ein Universitätskurs über Optimierung im Deep Learning
Studierenden zeigen, wie sich Optimizer-Entscheidungen in einem echten Lauf auswirken
Das MNIST-Beispiel auf der CPU dauert etwa 15 s pro normalem Lauf; die Agent-Version brauchte im Test der Autoren 862 s und kostete $2.70. Der HTML-Bericht zeigt jede Entscheidung, ihre Begründung und den Diff.
Bevor du dich festlegst
- Einrichtung
- pip install opal-optimizer in deiner Trainingsumgebung (Python 3.10+, PyTorch 2.5+), opal doctor ausführen, dann den Optimizer mit opal.wrap und einem Ziel in einem Satz umhüllen. Claude Code muss auf der Maschine von Rank 0 installiert und angemeldet sein; ein Mailbox-Broker deckt GPU-Knoten ohne Internet ab.
- Integrationen
- Jeder torch.optim-Optimizer und -Scheduler; Hugging Face Trainer über opal.hf.OpalTrainer; Accelerate nach accelerator.prepare, mit Einschränkungen. Claude Code ist das Standard-Backend (claude-opus-5-5, hoher Aufwand); Codex ist experimentell.
- Daten und Datenschutz
- Der Agent sieht dein Ziel, Namen und Formen der Parameter, die Losses, seine eigenen Berichte und standardmäßig schreibgeschützte Kopien deines Trainingsskripts und Modellcodes, alles an den Modellanbieter gesendet. Protokollierte Metriken bleiben lokal, außer mit show_agent=True. Vom Agenten geschriebener Optimizer-Code läuft ungeschützt in deinem Prozess.
- Kosten im großen Maßstab
- Die Agent-Kosten lagen in den veröffentlichten Beispielen der Autoren bei $9.71 bis $17.25 pro mehrstündigem Lauf, plus zusätzliche GPU-Zeit, während das Training wartet, etwa 0.66 h bei einem LightningDiT-Lauf von 6.13 h. max_cost_usd begrenzt die Ausgaben für Claude, nicht für Codex.
- Grenzen
- Nur ein Knoten; kein FSDP, DeepSpeed oder Multi-Node. Das Training lässt sich nicht zurückrollen, nur die Programme bei der nächsten Entscheidung korrigieren. Kurze Läufe werden von der Wartezeit auf den Agenten dominiert. Version 0.3.x, in aktiver Entwicklung.
Was gut ist
- Umhüllter Lauf ist Bit für Bit identisch, bis der Agent handelt
- Kostenloser Probelauf und Kostenschätzung vor jedem Agent-Aufruf
- HTML-Bericht mit jeder Begründung und jedem Code-Diff
- Läuft auf CPU, einer GPU oder DDP innerhalb eines Knotens
- Agent-Shell in einer Sandbox ohne Netzwerk
Was nicht
- Ergebnisse sind Einzelläufe, von den Autoren selbst berichtet
- Vom Agenten geschriebener Optimizer-Code läuft ungeschützt in deinem Prozess
- Keine Kostengrenze, solange du keine setzt
- Kein Multi-Node, FSDP oder DeepSpeed
Am besten für
ML-Forschende und kleine Labore, die mehrstündige PyTorch-Jobs auf einem Knoten fahren und Optimizer-Änderungen ausprobieren wollen, auf die sie von Hand nicht gekommen wären.
Alternativen zu OPAL
OPAL: häufige Fragen
- Lohnt sich OPAL?
- Ein cleverer, sorgfältig instrumentierter Weg, einen Agenten einen langen Trainingslauf unterwegs abstimmen zu lassen, aber die Gewinne sind Einzelläufe der Autoren, und er kann einen Lauf auch verschlechtern. Wir bewerten es mit 3.6 von 5.
- Was kostet OPAL?
- Kostenlos unter der MIT-Lizenz. Agent-Aufrufe werden über dein Claude-Konto abgerechnet; die mehrstündigen Läufe der Autoren kosteten $9.71 bis $17.25 an Agent-Nutzung.
- Welche Nachteile hat OPAL?
- Ergebnisse sind Einzelläufe, von den Autoren selbst berichtet; Vom Agenten geschriebener Optimizer-Code läuft ungeschützt in deinem Prozess; Keine Kostengrenze, solange du keine setzt; Kein Multi-Node, FSDP oder DeepSpeed.
- Für wen eignet sich OPAL?
- ML-Forschende und kleine Labore, die mehrstündige PyTorch-Jobs auf einem Knoten fahren und Optimizer-Änderungen ausprobieren wollen, auf die sie von Hand nicht gekommen wären.
- Was kostet OPAL für ein Team oder im Produktivbetrieb?
- Die Agent-Kosten lagen in den veröffentlichten Beispielen der Autoren bei $9.71 bis $17.25 pro mehrstündigem Lauf, plus zusätzliche GPU-Zeit, während das Training wartet, etwa 0.66 h bei einem LightningDiT-Lauf von 6.13 h. max_cost_usd begrenzt die Ausgaben für Claude, nicht für Codex.
- Ist OPAL sicher für Firmendaten?
- Der Agent sieht dein Ziel, Namen und Formen der Parameter, die Losses, seine eigenen Berichte und standardmäßig schreibgeschützte Kopien deines Trainingsskripts und Modellcodes, alles an den Modellanbieter gesendet. Protokollierte Metriken bleiben lokal, außer mit show_agent=True. Vom Agenten geschriebener Optimizer-Code läuft ungeschützt in deinem Prozess.
- Was sind die besten Alternativen zu OPAL?
- Die nächsten Alternativen, die wir getestet haben, sind The AI Scientist (v1, v2 and v3) und PyTorch.
Antworten geprüft am 11. Nov. 2026.