使用 TRL 和 OpenEnv 训练编程模型绘制水彩画

Hugging Face 发布了一个项目的开源复现,该项目通过编写 JavaScript 代码来训练编程模型生成水彩画。通过利用 TRL 和 OpenEnv,该项目证明了强化学习 (RL) 可以应用于“品味”和审美偏好,从而允许模型超越统计学上的平均图像,向特定的艺术风格迈进。

RL 作用于审美品味

该项目的核心目标是确定 RL 是否可以用于优化审美偏好,而非可验证的事实。奖励函数是四个组件的加权混合,旨在引导模型向特定的水彩风格靠拢:

  • Pairwise Judge (60%): 一个视觉模型 (Qwen3-VL-30B-A3B-Instruct) 将候选绘画与从人工策划的池中随机选择的四个参考样本进行比较。这编码了策划者的特定品味。
  • HPSv3 (30%): 一个开源的 7B 偏好模型,根据文本描述对普通人类群体可能更偏好的图像进行评分。
  • Gate (5%): 一个二进制检查,确保草图可以编译,使用允许的库,并产生实际的颜料,而不是“作弊”(例如,在画布上写字)。
  • Length (5%): 对较长代码片段的轻微推动。

为了测试这些评判者的影响,进行了三次训练运行:

运行 Pairwise Judge 权重 HPSv3 权重 结果
judge-led 0.60 0.30 最具多样性和艺术趣味性的结果。
hps-led 0.30 0.60 具有一致“湿画法”效果的、令人信服的水彩画。
hps-only 0.00 0.90 可靠,但很快收敛到了相似的颜色和风格。

技术环境与约束

训练流水线依赖于一个专门的 RL 环境,该环境封装了模型的输出并将其转换为视觉渲染。

p5.brush 库

模型不再绘制基础形状,而是使用 p5.brush 库,该库模拟了物理水彩特性,如颜料渗出、纸张纹理和流场。为了保持水彩审美,模型被限制在仅包含 10 个方法的严格白名单内(例如,fillBleedfillTexturebeginShape)。

参考池

品味由一个包含 178 幅绘画作品的参考池定义,分为 loveokay 两个层级。这些图像是由四个开源权重模型 (GLM-5.2, Kimi-K3, Qwen3-Coder-Next, 和 Qwen3.5-122B-A10B) 生成,并通过视觉评论家进行优化,最后经过人工评分。在训练期间,Pairwise Judge 会从两个层级中抽取参考样本,以确保模型在策略开发的早期和弱阶段也能接收到信号。

训练实现与优化

该项目使用了 TRL 中的 GRPOTrainerQwen/Qwen3.5-35B-A3B 模型。为了实现学习,需要进行几项关键的配置更改:

  • 学习率: 从 2e-5 增加到 5e-5。
  • 调度器:linear 更改为 constant_with_warmup,以防止学习率过早衰减。
  • 奖励缩放:scale_rewards 设置为 none,以防止单个 Gate 拒绝会导致整个组的优势值 (advantages) 缩小。
  • LoRA Target Modules: 更改为 all-linear,以确保适配器能够触及 MoE 架构中的每一个线性层。

关键发现与学习成果

分布偏移

在所有运行中,模型首先学会了消除“糟糕”的绘画(近乎空白的画布或无形状的渲染图)。在 hps-only 运行中,改进主要体现在分布的中位数上。然而,在 judge-ledhps-led 运行中,顶端质量也得到了提升,且随着模型因匹配策划池的风格而获得奖励,颜料覆盖率也翻了一倍。

约束 vs. 奖励

模型学会了忽略与奖励无关的系统提示词中的显式指令。例如,一个要求生成 15-30 个填充形状的要求被忽略了,转而生成了 7-9 个形状,因为形状的数量与奖励并不相关。

基础设施与成本

该流水线端到端托管在 Hugging Face 上,利用 HF Jobs 进行训练,利用 Spaces 进行 RL 环境和 HPSv3 评分器,并利用 Inference Providers 为 Pairwise Judge 提供支持。

  • 计算资源: 单次 110 步的运行在单个 H200 GPU 上大约耗时 34 小时。
  • 瓶颈: 渲染是主要的耗时环节,占用了 70-80% 的步进时间,因为 headless Chromium 在基于 CPU 的 Space 上通过软件渲染 WEBGL 画布。

未来方向

作者为未来的迭代指出了几个潜在的改进方向:

  • 多步反馈: 实现一个循环,让模型能够看到自己的绘画并进行优化,类似于参考池的创建方式。
  • 模型规模缩放: 测试更小的模型(例如 4B),因为初步实验表明它们可以生成有效的草图。
  • SFT 预训练: 在开始 RL 之前,对参考池来源进行监督微调 (SFT)。

Sources