ComfyUIに新モデル!MOSS-Imageは何が特別?(商用利用OK)

ノードワークフロー画面と座標ベースのバウンディングボックスレイアウトを表現したテックイラスト

発表資料に入れる画像を作るとしよう。タイトルは必ず上、人物は右、日付は左下に置きたい。画像生成AIにそれを言葉で長々と説明しても、結果がばらばらになることが多いよね。

タイトルが人物の顔を隠したり、日付が変な場所に入ったり、入れてほしい文言がおかしな文字に化けたりもする。絵そのものはそれらしいのに、直すところだらけ、という状況だね。

10月16日に公開されたMOSS-Imageは、この問題を減らすことに力を入れた画像生成モデルだよ。文章を受け取って絵を描くだけじゃなく、画像の中に入る文字や物がどこにあるべきかを、構造化した形で指定できるんだ。

それに、ComfyUIへの対応も公式リポジトリにマージされた。ノードをつなぐのが好きな人なら、注目しておきたい新顔だね。

絵を描けと言うだけじゃなく、置き場所も教えてあげる

MOSS-Imageが打ち出している特徴は、レイアウト制御だよ。旅行ポスターを作るとしよう。背景はクリーム色、下には青い山の絵、上には「EXPLORE」という大きなタイトルを入れたい。

ふつうのプロンプトなら文章で順番に説明するところだけど、MOSS-ImageはJSONという構造化された入力で、シーン全体と要素ごとの位置を分けて指定できる。(実はこれ、前から「Ideogram 4」でも対応してはいたんだよ)

✦ レイアウト入力の構造

シーン全体から要素の位置まで

✔ summary.caption:シーン全体を説明する
✔ items:絵に入る要素を一つずつ分けて書く
✔ label・caption:要素が文字か絵か、どんな見た目かを書く
✔ text:入れる文字をそのまま書く
✔ bbox:要素が置かれる場所を座標で指定する

たとえば、全体のシーンは「ミニマルな旅行ポスター」と説明して、項目の一つはtextに分類し、入れる文字を「EXPLORE」と書く。そのあと、その文字の箱が置かれる位置を座標で指定するんだ。

山の絵も別の項目にして位置を指定すればいい。つまり、画家に「山は下、タイトルは上」と言って終わりじゃなくて、絵の上に配置図を広げて、各要素が入る場所に印をつけるようなものだね。

✦ こんな作業で役に立つ

文字と絵が一緒に入る作業

向いている作業
• ブログのサムネイル
• イベントのポスター
• 案内板
• 文字入りのインフォグラフィック

この方式は、サムネイル、イベントのポスター、案内板、メニュー表、インフォグラフィックのように、文字と絵が一緒に入る作業でとくに役に立つ。文字の大きさや位置がばらばらなデザインを毎回運に任せるより、ほしい構成を入力として渡せるからね。

もちろん、座標を入れたからってすべての要素がいつもぴったり収まるわけじゃない。それでも、結果が気に入らないとき、どの項目の位置を変えてやり直せばいいのかがずっとはっきりする、という良さがあるよ。

ただ、JSONのプロンプトを自分で書くのは現実的にむずかしい。だから、入力したプロンプトをJSON形式に変換してくれるツール(ChatGPTやローカルLLMなど)が必要になるね。

MOSS-Imageは、最大4Kトークン長のプロンプトに対応すると紹介されている。ここでの4Kは画像の解像度じゃなくて、モデルに渡す文章の長さのことだよ。4K写真をそのまま作ってくれるという話じゃないんだ。

複雑なシーンや複数の要素を説明する余裕がある、という意味に近い。ローカルの画像モデルにしてはかなり長いプロンプトを理解できるということだね。JSONプロンプトは長くなりがちだから、必須の機能とも言えそうだ。

BaseとSFT、名前が似ていても使い道は違う

✦ BaseとSFTの違い

公開されたモデルは二つ

Base追加学習の出発点
5B規模
SFT人が見て良い画像を出すよう調整
5B規模。選んだデータで微調整したバージョン

公開されたモデルは、MOSS-Image-BaseとMOSS-Image-SFTの二つだよ。どちらも5B規模だけど、目的が違う。Baseは追加学習を重ねるのにちょうどいい出発点で、SFTは選んだデータで微調整をかけたバージョンなんだ。

一般のユーザーがすぐ画像を作ってみるなら、まずSFTから試してみて。

開発チームが公開した例では、SFTは黒板に書かれた内容をよりうまくまとめて配置して、ホワイトボードの構成もすっきり整えていた。モデル名の最後のSFTは「Supervised Fine-Tuning」の略だよ。

人が望む作業に合わせて追加で学習した、という意味だね。いっぽうBaseは、LoRAなどを自分で学習させて特定のスタイルや作業に合わせたい人の出発点になる。

ちなみに、ほかの画像生成モデルでも、Baseモデルはファインチューニングのチェックポイントや、LoRAを作る人、研究者が主に使うものなんだ。だから、ふつうの利用者は、見栄えのいい画像を出すように仕上がった蒸留モデルやSFTモデルを使えばいい。

Baseモデルで画像を作ると、あまりにいろいろな画像が出てきて、ときどき奇妙だったり変だったりする場面も出る。AIは、どんな画像が人間の目に適切なのかを、まだ完全には判断できないからね。

でも蒸留モデルは、人間が見て「悪くない画像だな」と思う画像で訓練されている。だから、たいていは気に入る画像を出してくれる。そのかわり、Baseモデルに比べると多様性は落ちるよ。

文字を画像に入れる能力も、MOSS-Imageが強調している部分だよ。冷蔵庫に貼ったメモに「牛乳二本、卵一パック、パン一袋」のような文を書いてもらったり、ホワイトボードにタイトルと説明を何行かに分けて配置したりする例が公開されている。

画像の中の文字は、生成モデルが昔からよく間違える部分だ。だから、文字入りのサンプルをただ眺めるより、実際の文言が正確か、改行が読みやすいかを確かめるのが大事だよ。

公式ガイドも、改行を細かく制御したいなら、プロンプトに\nや実際の改行を入れるよう案内している。

ComfyUIではどう使ってみる?

MOSS-Image用のComfyUIノードと、サンプルのワークフローも公開された。ComfyUIの公式リポジトリには10月16日にMOSS-Image対応のコードがマージされて、プロジェクトのリポジトリでもプラグインの入れ方を案内している。

✦ ComfyUIで始める順番

対応バージョンの準備から生成まで

1ComfyUIを用意
MOSS-Image対応が入ったバージョン
2モデルを入手
モデルファイルをダウンロードする
3ワークフローを読み込む
moss-image.jsonを使う
4モデルフォルダを指定
ローダーで指定する
5プロンプトかレイアウトを入力
入れたい内容を書く
6生成
ここまでできたら実行する

まず、MOSS-Image対応が入ったバージョンのComfyUIを用意して、モデルファイルをダウンロードする。

そのあと、公式リポジトリのmoss-image.jsonワークフローをComfyUIの画面にドラッグ&ドロップして、MOSS-Imageローダーでモデルが保存されたフォルダを指定すればいい。

モデルフォルダには、transformer、text_encoder、tokenizer、vaeのようなディレクトリが入っている必要があるよ。

プロジェクトのプラグインを別に入れる方法も公式の案内にあるから、使っているComfyUIのバージョンに合わせて、案内された手順に従えばいい。Google検索で「Comfy-Org/MOSS-Image」を検索してみて。

すぐにComfyUIのHugging Face公式リポジトリが出てくるはず。

〈VRAMが少なくてもSFTを回す実際のワークフローを動画で直接見てみよう〉
* YouTubeチャンネル『REBEL AI』にあがっている動画だよ。

✦ 公式の基本サンプリング設定

モデルのデフォルト値

サンプラー
Euler
Steps
50(Baseは50以上が目安)
CFG
3
Shift
5
Negative-branch skip layer
22
ネガティブプロンプト
基本は空

公式ガイドの基本サンプリング設定は、Eulerサンプラー、50ステップ、CFG 3、Shift 5だよ。Baseは一般に50ステップ以上が推奨されているから、出来が少し物足りないと思ったら、ステップ数をもっと上げてみよう。

✦ 容量とライセンスのまとめ

モデルファイルと使える条件

モデルファイル
• パラメータ:5B
• BF16版:10.2GB
• INT8版:5.4GB
ライセンス
• モデルの重みと推論コード:Apache 2.0

モデルのファイル容量は、BF16版が10.2GB、INT8版が5.4GBだよ。パラメータが5Bなのに、思ったよりは容量が大きいよね?

それでも最近出ている画像生成モデルはほとんどこのくらいの大きさで、もっと大きいモデルも多いから、みんな経験があると思う。

ComfyUIで動かすと、GPUからCPUにオフロードしてでもなんとか動くから、試してみる分には大きな問題はないと思うよ。

オープンモデルだという点もうれしいところだよ。公開されたモデルの重みと推論コードは、Apache 2.0ライセンスで提供される。自分で動かすだけじゃなく、ライセンスの条件に合わせて活用したり改変したりする土台が開かれたわけだね。

ちなみに、MOSS-Imageと同じようにJSONプロンプトに対応して文字に強かったIdeogram 4モデルは、商用利用の制約が多かった。それに対してApache 2.0ライセンスは、商用利用がずっと自由だ。

だから、商用で使えて、レイアウトと文字も自由に調整できる画像生成モデルを探していたなら、MOSS-Imageはいい選択になりそうだね。

MOSS-Imageは、すべての画像作業で一番を取ると名乗り出るモデルじゃない。物や文字が入る場所と内容を細かく扱う作業に狙いを絞ったモデルなんだ。

ポスターを一枚作るたびに、文字のせいで作り直すのにうんざりしていたなら、ComfyUIでSFTモデルから試してみる理由は十分にありそうだよ。

今回はここまでにするよ。また会おう。

関連記事

💬 コメント

まだコメントがないよ。最初のコメントを書いてみてね。

コメントを投稿