コンテンツにスキップ
メインサイト ニュース コンソール

TRLとOpenEnvを使ってプログラミングモデルに水彩画を描かせる

· Hugging Face 翻訳済
教程模型卡

水彩画を描くプログラミングモデルの訓練

8 月 23 日、Surya Narreddi が、言語モデルが描いた水彩画を紹介する素晴らしい動画を公開しました。このモデルは、p5.brush を使って JavaScript コードを記述します。p5.brush は「p5.js に自然な描画ツールを追加する」ライブラリです。この記事の執筆時点で、この動画は瞬く間に広まり、150 万回を超える再生数を記録しています。

動画にはブログ記事も添えられており、動画に登場する完全な構図ではなく、クローズアップした花を描くという、プロジェクト初期のより限定的な段階で行われた訓練について紹介されています。残念ながら、現時点では関連する成果物は公開されていません。彼のウェブサイトによれば、完全な技術レポートがまもなく公開される予定なので、ぜひ注目しておいてください。このアイデアは、アートとデザインの領域から彼自身が最初に提案したものです。この点において、彼の能力は私よりはるかに優れています。私の試みはエンジニアリング面に焦点を当て、オープンな環境でこの手法を再現し、その構成要素を一つ残らず公開することを目指しています。

注: プロジェクトの背景については、Surya 自身が卒業論文について解説している動画をご覧ください。

この記事では、TRL と OpenEnv を使って、彼のアイデアを再現します。参照ギャラリーのデータセット、強化学習環境、訓練スクリプト、訓練済みモデルは、すべて公開されています。

処理全体は、エンドツーエンドで Hugging Face 上で実行されます。

2 つの Space を起動すれば、あとは 1 つのコマンドだけで処理全体を実行できます。環境とスコアリングモデルをフォークし、報酬の組み合わせ用に 2 つの環境変数を設定してから、訓練を開始します。

Terminal window
hf jobs uv run train/watercolour_grpo.py --flavor h200 --timeout 48h --secrets HF_TOKEN -- \
--env-url https://<you>-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 <you>/watercolour-grpo --push-to-hub

この記事では、この手順をどのように実行するかを説明します。すべての構成要素はコードリポジトリで公開されています。

私は、絶対に必要な場合を除き、元のブログに記載された手法に一つずつ忠実に従いました。自分自身のアイデアはすべてリストにまとめ、実験には取り入れていません。そのリストは最終的に、記事の末尾にある「次に試したいこと」の一部となり、公開済みの成果物一覧と並んで掲載されています。すでに彼の記事を読んでいるなら、ここで紹介する全体的な考え方と報酬設計には見覚えがあるはずです。新たに加わったのは、オープンな実装、人手で評価した参照ギャラリー、そして訓練・比較を行った 3 種類の報酬の組み合わせです。詳細については、構築が必要な強化学習環境から説明します。

3 回の訓練実行は、それぞれ異なる報酬の組み合わせに対応し、並行して進みました。各フレームには、あるステップにおける絵の中央値が表示されています。今はまだそれぞれを区別する必要はありません。各実行が何に対応しているかは、記事の中で説明します。

人々がこれを好む理由

これらの絵は、力が抜けていて、不完全で、手作業の風合いに満ちています。一方、現在の画像モデルは、完璧な(統計的な意味で平均的な)画像を生成することが多いものです。この対比が、動画が広まった理由のかなりの部分を説明しているのではないかと思います。これは、生成 AI アートの初期段階を思い起こさせます。当時、人々はこのメディアの可能性を探ろうとしていました。DeepDream(2015 年)はもともとデバッグ用のツールでしたが、後に人々によってアート作品へと変貌しました。《Edmond de Belamy》(2018 年)などの作品は、アーティストが GAN の能力を探究する中から生まれました。また、Mario Klingemann などのアーティストは、この時期にニューラルネットワークを使って夢のような肖像画を制作していました。

このプロジェクトからは、あの初期段階に近い感覚が伝わってきます。卒業論文の中で、Surya は最終的にこの道へ進むことになった経緯を説明しています。彼は当初、プロンプトを使って画像生成モデルを操作していました。プロンプトが調整可能な唯一の手段だったのです。詳細を追加すれば制御性は高まりますが、それにも限界があります。モデルを直接訓練すれば、さらに先へ進むことができます。

このアイデアのもう半分は、メディアそのものにあります。モデルは、画像を描くための約 150 行の JavaScript プログラムを記述します。モデルの出力はコードです。つまり、読むことも、編集することも、再実行することもでき、個々の筆致の背後にある判断をはっきり確認できます。そして、このスタイルは 1 つの制約から生まれています。モデルが使用できるのは、このライブラリに含まれる 10 個のメソッドだけなのです。この点については、後ほど詳しく説明します。

同じ時期に、Anna Ridler は何千本ものチューリップを撮影し、それぞれの花に手作業でアノテーションを付け、データセットそのものを作品として展示しました。その後、そのデータセットを使ってモデルを訓練しています。私はこのプロジェクトを構築する中で、AI agent が返した参考資料を通じて彼女の作品を知りました。彼女の作品が好きなのは、このプロジェクトが非常によく似たアプローチを取っているからです。つまり、画像のセットを手作業でキュレーションし、そのセットを対象に訓練を行うという方法です。

強化学習で美的嗜好を超える

最近の言語モデルにおける強化学習の多くは、検証可能な報酬を使用しています。たとえば、答えが決まっている数学の問題、テストに合格できるコード、あるいは正誤を低コストで判定できる評価器などです。このプロジェクトは、初期の強化学習における例外、つまり RLHF に近いものです。RLHF では、人間の嗜好から報酬モデルを学習します。

ここでの報酬は美的嗜好であり、正解は存在しません。このプロジェクトが本当に探究しようとしているのは、美的嗜好を軸に強化学習を行えるかどうかという点です。

彼のブログで定義され、私が構築した強化学習環境で実装されている報酬は、次の要素から構成されています。

項目重み測定対象
gate0.05スケッチをコンパイルでき、何らかの描画結果が得られ、不正を行っていないこと
length0.05より長いコードスニペットの生成を緩やかに促す
ペア比較型評価器0.60参照画像に対するスタイル
HPSv30.30レンダリング結果に対する美的嗜好

HPSv3 は、70 億パラメータを持つオープンな嗜好モデルです。画像とテキストによる説明を入力すると、人々がその画像をどの程度好むかを示すスコアを返します。これは、人間が画像のペアに対して行った大量の選択結果をもとに訓練されているため、そのスコアは多くの人々の美的嗜好の平均を表します。

ペア比較型評価器には、Hugging Face Inference Providers を通じて呼び出す汎用ビジョンモデル、Qwen3-VL-30B-A3B-Instruct を使用します。ペア比較型評価器は、候補作品とギャラリーからランダムに選んだ 4 枚の参照画像を並べて表示し、にじみ、半透明な水彩のレイヤー、柔らかなエッジなど、注目すべき要素を指定したテキスト説明に基づいて判定します。各比較では表示順を 2 通り試し、最終スコアは候補作品が比較に勝った割合とします。評価基準はギャラリーだけなので、そのスコアは私の美的嗜好を表しており、その嗜好がこれらの評価に埋め込まれています。

報酬の内訳

報酬関数に含まれる 4 つの要素のうち、2 つはモデルに由来します。これら 2 つのモデルは、いずれも特定の人物の美的嗜好を代替するものです。

これが重み付け Na

#教程#模型卡#Omniapi.co

4All API チームによる投稿

原文リンク:https://huggingface.co/blog/train-to-paint-with-code

主流 AI モデル API をお探しですか?4All API は OpenAI / Anthropic / Google Gemini / Qwen / DeepSeek など数十種類のモデルを単一の API キーで呼び出せます。公式準拠の価格、エンタープライズ品質の通信路、5 分で接続完了。

4All API コンソールに登録 →