
RL-Training für Bild-Generierung via Code: Qwen 3.5 35B malt mit p5.brush
Das Projekt entstand aus einer konkreten Frustration: KI-generierte Bilder lassen sich nur über den Prompt steuern, nicht direkt bearbeiten. Surya und sein Mitstreiter Cameron trainierten deshalb Qwen 3.5 35B mit GRPO (Group Relative Policy Optimization) darauf, Aquarell-Bilder als vollständige p5.brush-JavaScript-Sketches zu schreiben – Code, der anschließend granular editierbar bleibt. Der Trainingsloop läuft in vier Schritten: Prompt empfangen, Code schreiben, im sandboxed Puppeteer-Environment rendern, dann paarweise gegen zwei zufällig gesampelte Referenzbilder bewerten. Kritisch für den Erfolg war die Zusammensetzung des Referenzpools: 1.664 Bilder wurden manuell in „love", „okay" und „nope" eingestuft; die 117 „love"-Bilder bildeten den eigentlichen Vergleichspool. Die erste Reward-Funktion mit neun separaten Signalen scheiterte, weil vier Qualitäts-Judges untereinander Korrelationen von 0,85 bis 0,95 aufwiesen und damit dasselbe Signal fünffach meldeten; zudem sättigte der Code-Längen-Reward bereits nach Schritt 30. Nach dem Umbau auf vier Komponenten – binäres Compile-Gate (0,05), Längen-Check (0,05), HPSv3 (0,30) und paarweiser Pool-Judge (0,60) – erreichte das Modell das alte Plateau dreimal schneller, überstieg es und reduzierte die Code-Länge eigenständig von 13.500 auf unter 2.000 Token. Als nächsten Schritt skizzieren die Autoren ein eigenständiges Reward-Modell, das auf den manuellen Ratings trainiert wird (klassisches RLHF), um den Referenzpool im Inferenz-Betrieb zu ersetzen.
- Render-Umgebung: Puppeteer (headless Chromium) rendert jeden generierten JS-Sketch in ein PNG, das dann direkt bewertet wird.
- HPSv3 (Human Preference Score v3) war das einzige Signal mit echter Varianz im ersten Rubric, war aber nur mit 0,10 gewichtet — zu schwach für merklichen Gradient.
- Prompt-Adherence-Judge bestand aus einem 'Rat' aus GPT-5.4 und Gemini; im finalen Rubric wurde dieser komplett gestrichen.
- Das Modell lernte ohne explizite Anweisung, kürzeren Code zu schreiben: Winning Compositions benötigten schlicht weniger Token.
- Team: Surya (Design, Dev, RL Research), Cameron (Co-Trainer), Franz und Alex Wang als weitere Beteiligte — das Projekt entstand im Rahmen einer Thesis.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.
Verwandte Beiträge

RL-Training für Bild-Generierung via Code: Qwen 3.5 35B malt mit p5.brush
Das Projekt entstand aus einer konkreten Frustration: KI-generierte Bilder lassen sich nur über den Prompt steuern, nicht direkt bearbeiten. Surya und sein Mitstreiter Cameron trainierten deshalb Qwen 3.5 35B mit GRPO (Group Relative Policy Optimization) darauf, Aquarell-Bilder als vollständige p5.brush-JavaScript-Sketches zu schreiben – Code, der anschließend granular editierbar bleibt. Der Trainingsloop läuft in vier Schritten: Prompt empfangen, Code schreiben, im sandboxed Puppeteer-Environment rendern, dann paarweise gegen zwei zufällig gesampelte Referenzbilder bewerten. Kritisch für den Erfolg war die Zusammensetzung des Referenzpools: 1.664 Bilder wurden manuell in „love", „okay" und „nope" eingestuft; die 117 „love"-Bilder bildeten den eigentlichen Vergleichspool. Die erste Reward-Funktion mit neun separaten Signalen scheiterte, weil vier Qualitäts-Judges untereinander Korrelationen von 0,85 bis 0,95 aufwiesen und damit dasselbe Signal fünffach meldeten; zudem sättigte der Code-Längen-Reward bereits nach Schritt 30. Nach dem Umbau auf vier Komponenten – binäres Compile-Gate (0,05), Längen-Check (0,05), HPSv3 (0,30) und paarweiser Pool-Judge (0,60) – erreichte das Modell das alte Plateau dreimal schneller, überstieg es und reduzierte die Code-Länge eigenständig von 13.500 auf unter 2.000 Token. Als nächsten Schritt skizzieren die Autoren ein eigenständiges Reward-Modell, das auf den manuellen Ratings trainiert wird (klassisches RLHF), um den Referenzpool im Inferenz-Betrieb zu ersetzen.
- Render-Umgebung: Puppeteer (headless Chromium) rendert jeden generierten JS-Sketch in ein PNG, das dann direkt bewertet wird.
- HPSv3 (Human Preference Score v3) war das einzige Signal mit echter Varianz im ersten Rubric, war aber nur mit 0,10 gewichtet — zu schwach für merklichen Gradient.
- Prompt-Adherence-Judge bestand aus einem 'Rat' aus GPT-5.4 und Gemini; im finalen Rubric wurde dieser komplett gestrichen.
- Das Modell lernte ohne explizite Anweisung, kürzeren Code zu schreiben: Winning Compositions benötigten schlicht weniger Token.
- Team: Surya (Design, Dev, RL Research), Cameron (Co-Trainer), Franz und Alex Wang als weitere Beteiligte — das Projekt entstand im Rahmen einer Thesis.
Frag die KI zum Artikel
Folgefragen zu Headline, Quelle und Volltext — Antwort streamt in wenigen Sekunden.