PromptPilot

Обучение модели программирования для создания акварелей с TRL и OpenEnv

9 сентября 2026 г.

Введение

23 августа Surya Narreddi опубликовал потрясающее видео акварелей, нарисованных языковой моделью. Эта модель использует JavaScript через библиотеку p5.brush, которая "добавляет естественные инструменты рисования в p5.js". Видео быстро стало вирусным, набрав более 1.5 миллиона просмотров на момент написания.

Контекст проекта

В видео также была ссылка на блог, который объясняет обучение модели на более раннем этапе проекта, где акцент сделан на цветах крупным планом, а не на полных композициях из видео. К сожалению, открытых артефактов пока нет. На его сайте сказано, что полное техническое описание будет доступно позже. Изначальная идея принадлежит ему, и она пришла из области искусства и дизайна, где его навыки значительно превосходят мои.

Цель статьи

В этой статье я пытаюсь воспроизвести его идею с помощью TRL и OpenEnv. Вся информация, включая набор данных, RL-среду, скрипты обучения и обученные модели, будет открыта.

Рабочий процесс

Весь процесс работает на Hugging Face, от начала до конца: обучение на Jobs, RL-среда и модель оценивателя как Spaces, парный судья через Inference Providers, и все артефакты собраны в одной коллекции.

Как только две пространства запущены, рецепт выполняется одной командой. Дублируйте среду и модель оценивателя, установите две переменные окружения для смеси наград и запускайте команду:

hf jobs uv run train/watercolour_grpo.py --flavor h200 --timeout 48h --secrets HF_TOKEN -- --env-url https://-watercolour-env.hf.space --model Qwen/Qwen3.5-35B-A3B --lora --all-linear --bf16 --gradient-checkpointing --subject 'a peach hibiscus' --references 4 --top-p 0.95 --top-k 20 --lr 5e-5 --lr-scheduler constant_with_warmup --warmup-steps 5 --scale-rewards none --steps 110 --n-episodes 240 --num-generations 8 --per-device-batch-size 1 --gradient-accumulation-steps 8 --max-completion-length 8192 --run-tag my-run --out /watercolour-grpo --push-to-hub

Путь к реализации

Остальная часть статьи - это история о том, как мы пришли к этому, и каждый элемент находится в репозитории. Я следовал оригинальному блогу шаг за шагом и изменял что-то только при строгой необходимости. Все свои идеи я собрал в список "Что я попробую следующим" в конце статьи рядом с полным списком опубликованных артефактов.

Почему это так понравилось людям

Картины выглядят непринужденно, несовершенно и сделаны вручную, в то время как современные модели изображений создают идеальные (статистически средние) картинки. Я думаю, что этот контраст стал одной из причин, почему видео стало вирусным.

Заключение

Данный проект напоминает ранние дни генеративного искусства, когда цель состояла в исследовании самого медиа. В своей диссертации Surya описывает путь, который привел его к этому проекту. Он начал с текстово-изображенческих моделей, где подсказка является единственным рычагом.

Обучение модели программирования для создания акварелей с TRL и OpenEnv | PromptPilot