GitHub: GRPO-Training für Qwen3 auf TerminalBench.
Dieses Projekt baut auf dem rLLM-Framework des UC Berkeley Sky Lab auf und erweitert es durch benutzerdefinierte Umgebungen und Infrastruktur, um LLM-Agenten für terminalbasierte und codierende Aufgaben zu trainieren. Der Fokus lag auf der Entwicklung eines Agenten, der mit Reinforcement Learning (RL) trainiert wird und sich für komplexe terminalbasierte Aufgaben eignet. Der trainierte Qwen3-32B-Agent erreichte auf der Stanford TerminalBench-Leaderboard den ersten Platz unter allen Qwen3-Agenten. Das Training wurde auf verschiedenen Hardware-Konfigurationen durchgeführt, darunter 32x H100-GPUs, 16x H100s, 8x H100s und schließlich 2x A100s auf einer einzelnen VM. Obwohl die Kosten für die Verwendung von 32x H100s sehr hoch waren, wurde sichergestellt, dass die Code-Basis stabil und auf verschiedenen Systemen lauffähig ist. Der Agent verwendet eine XML/YAML-basierte Kommunikationsarchitektur, um Aktionen zu strukturieren und zu verarbeiten. Zusätzlich wurden spezielle Tools entwickelt, die den Agenten bei der Bearbeitung komplexer Aufgaben unterstützen, wie beispielsweise Bash, Dateioperationen und andere. Diese Tools ermöglichen dem Agenten eine präzisere Nutzung und eine effektivere Problemlösung. Zur Belohnungsdesignierung wurden zwei Methoden kombiniert: Antwortverifikation (65 % Gewichtung) und LLM-as-a-Judge (35 % Gewichtung). Um die Genauigkeit des LLM-Judges zu gewährleisten, wurde ein Evaluierungssystem entwickelt, das die Leistung verschiedener Modelle wie Claude Sonnet 4, Claude 3.5 Haiku, Qwen3 Coder und anderen analysiert. Claude Sonnet 4 zeigte die beste Leistung, obwohl es eine ähnliche Pass-Rate wie Claude 3.5 Haiku hatte, aber einen niedrigeren Durchschnittsscore, was auf eine strengere und genaueste Bewertung hindeutet. Das Projekt unterstützt auch dynamisches Wechseln zwischen verschiedenen LLM-Judge-Backend-Modellen, um Leistungsprobleme oder Token-Überlastungen während des Trainings zu vermeiden. Die Training-Infrastruktur ist auf verschiedene Hardware-Konfigurationen abgestimmt und nutzt GRPO (Group Relative Policy Optimization), eine Technik, die den Agenten dazu anregt, aus relativen Vorteilen innerhalb einer Gruppe von Antwortmustern zu lernen. Die Trainingsdaten bestehen aus 331 Aufgaben, die in verschiedenen Schwierigkeitsgraden (leicht, mittel, schwer, extrem schwer) vorliegen. Die Daten wurden mit einer Multi-Agent-Synthetic-Data-Pipeline generiert, die auf Claude Code und Opus-4 basiert. Die Daten werden vor dem Training in ein Parquet-Format konvertiert, um die Verarbeitung zu optimieren. Die Infrastruktur umfasst auch eine automatische Ressourcenverwaltung für Docker-Container, die bis zu 24 parallele Container gleichzeitig verarbeiten kann. Zudem wurde ein Entwicklungsumfeld erstellt, das die Installation von Abhängigkeiten automatisch übernimmt. Zukünftige Verbesserungen umfassen Curriculum Learning, Erweiterung des Datensatzes und intelligente Datenfilterung, um die Effektivität des Trainings weiter zu steigern. Evaluierung: Das Projekt zeigt, wie RL in Kombination mit leistungsstarken LLMs effektiv für terminalbasierte Aufgaben eingesetzt werden kann. Der Qwen3-32B-Agent hat sich mit einer relativ geringen Rechenkapazität bewährt und könnte bei ausreichendem Budget noch deutlich besser abschneiden. Die Entwicklung der benutzerdefinierten Tools und das Belohnungssystem sind besonders beeindruckend. Das Projekt ist ein Beispiel dafür, wie Open-Source-Entwicklung und RL-Methoden in der Praxis kombiniert werden können. Der Entwickler, Danau5tin, hat eine umfassende Infrastruktur geschaffen, die leicht erweiterbar und skalierbar ist.