Meta hat ein neues KI-Modell namens Code World Model (CWM) vorgestellt, das nicht nur Code schreiben, sondern auch dessen Ausführung im Computer simulieren und verstehen kann. Dieses fortschrittliche Modell verspricht, Programmierern bei der Bewältigung komplexer Aufgaben zu helfen, indem es wie ein "mentaler Debugger" fungiert und potenzielle Probleme vor der Ausführung erkennt.
Key Takeaways
- CWM simuliert die Programmausführung, um das Verhalten vorherzusagen.
- Es kann Code aus reinen Beschreibungen generieren.
- Das Modell analysiert die Komplexität von Algorithmen und deren Laufzeit.
- Es wurde auf über 120 Millionen Python-Programmausführungen trainiert.
- CWM ist als Open-Weights-Modell für Forschungszwecke verfügbar.
Verstehen, was Code tut
Die Meta-Forschenden betonen, dass echtes Programmverständnis mehr erfordert als nur das Erkennen von Code-Mustern. Es ist entscheidend zu verstehen, was der Code während der Ausführung bewirkt. CWM wurde entwickelt, um genau diese Fähigkeit zu besitzen. Es kann beispielsweise vorhersagen, ob ein Programm terminiert oder in einer Endlosschleife stecken bleibt. In Tests mit Metas HaltEval-Benchmark erreichte CWM eine Genauigkeit von 94 Prozent bei der Vorhersage des Programmverhaltens.
Rückwärtsentwicklung und Komplexitätsanalyse
Eine bemerkenswerte Fähigkeit von CWM ist seine Fähigkeit, "rückwärts" zu arbeiten. Wenn man dem Modell nur eine Beschreibung dessen gibt, was ein Programm tun soll, kann es die Ausführung simulieren und den entsprechenden Code ableiten. Dies wurde durch Beispiele demonstriert, bei denen CWM Funktionen aus Anforderungsbeschreibungen und erwarteten Ergebnissen rekonstruierte, ohne den ursprünglichen Code gesehen zu haben. Darüber hinaus kann das Modell die Komplexität von Algorithmen analysieren und die voraussichtliche Laufzeit für verschiedene Eingabegrößen einschätzen. Bei BigOBench erzielte es Spitzenwerte bei der Vorhersage von Zeitkomplexitäten und belegt damit den zweiten Platz auf der offiziellen Bestenliste.
Training mit echten Ausführungen
Das 32-Milliarden-Parameter-Modell wurde auf über 120 Millionen Python-Programmausführungen trainiert. Während dieses Trainings konnte CWM Schritt für Schritt beobachten, wie sich Variablen ändern und was zu jedem Zeitpunkt im Programm passiert. Diese "Execution Traces" ermöglichten es dem Modell, die Semantik von Programmiersprachen auf eine neue Weise zu lernen. Für ein realistisches Training wurden über 35.000 ausführbare Docker-Container aus GitHub-Repositories erstellt, die vorkonfigurierte Entwicklungsumgebungen enthielten.
Starke Benchmark-Ergebnisse
Die Fähigkeiten von CWM spiegeln sich in den Benchmark-Ergebnissen wider. Bei SWE-bench Verified erreichte das Modell 65,8 Prozent bei Aufgaben mit Test-Time-Scaling und 53,9 Prozent in der Basisversion, was viele kleinere Open-Source-Modelle übertrifft. Bei anderen Tests zeigte CWM ebenfalls starke Leistungen, darunter 68,6 Prozent bei LiveCodeBench, 96,6 Prozent bei Math-500 und 76,0 Prozent bei der Mathematik-Olympiade AIME 2024. Im Reasoning-Modus erreichte es bei CruxEval Output 94,3 Prozent.
Verfügbarkeit für die Forschung
Meta hat CWM als Open-Weights-Modell unter einer nicht-kommerziellen Forschungslizenz veröffentlicht. Sowohl das fertige Modell als auch Zwischenstufen des Trainings sind über Hugging Face verfügbar. Das 32-Milliarden-Parameter-Modell kann mit Quantisierung auf einer einzelnen Nvidia H100 mit 80 GB Speicher ausgeführt werden und unterstützt Kontexte von bis zu 131.000 Tokens. Die Forschenden weisen jedoch darauf hin, dass CWM ein reines Forschungsmodell ist, das ausschließlich auf Programmierung und mathematisches Denken fokussiert ist und nicht für allgemeine Unterhaltungen oder Produktionsumgebungen optimiert wurde.