MOSS-Image-heal: fp16推論を安全にするComfyUI向けフルファインチューン
KohakuBlueleafのMOSS-Image-healは、MOSS-Image-Baseの残差ストリームが急上昇しないように再学習します。fp16推論が限界付近で動作することがなくなり、ComfyUI向けにbf16、fp16、int8ファイルが提供されます。
公式モデルカードより、同じプロンプト、シード、16ステップ、CFG 3、shift 5でのベースとheal。
学習によって解消する問題
MOSS-Imageは5.08Bの単一ストリーム拡散transformerで、その残差ストリームには非常に大きなチャネルがいくつか含まれています。作者の6サンプルプローブでは、ベースモデルの最大ストリーム値は58,411で、fp16の最大値65,504に対して1.12倍の余裕しかありません。アクティベーションを少しでも強く押し上げるもの、またはわずかに広い中間値を計算するカーネルはinfにオーバーフローし、画像は黒または破損した状態で返ってきます。これが、Comfy-Orgのリパックがfp16ではなくbf16とint8 ConvRotファイルを提供している理由です。
1024²エリアでの6つのテキスト画像サンプルにおける、ブロックごとの最大絶対ストリーム値。モデルカードのチャート。
| 測定項目 | MOSS-Image-Base | MOSS-Image-heal |
|---|---|---|
| 最大ストリーム値 | 58,411 | 3,083 |
| fp16最大値に対する余裕 | 1.12x | 21.2x |
| ストリームRMS、ブロック平均 | 27.75 | 3.70 |
| ストリームRMS、最終ブロック | 65.6 | 12.0 |
| 最大32チャネルのエネルギー占有率 | 0.837 | 0.708 |
この余裕は同じ変化から生まれています。モデルは、以前は32チャネルに集中していたものをより多くのチャネルに分散させることを学習しました。最大32チャネルのエネルギー占有率が0.837から0.708へ下がったことがその目に見える側面であり、これがfp16の余地を生み出しています。
学習方法
この実行は、凍結されたテキストリファイナーを除くすべてのtransformer重みのフルファインチューンです。テキストエンコーダー、トークナイザー、VAE、スケジューラー、パイプラインコードは公式のMOSS-Image-Baseのものです。損失は、フローマッチングに加えて、凍結ベースへの蒸留項、アテンションとFFNの書き込みが少数のチャネルに集中することにペナルティを与えるストリーム書き込み集中損失、そしてストリームRMS損失です。重みは、開始時RMSの上限倍率を超えるたびに個別に減衰され、上限は最初の10,000ステップで64から16へ厳しくなります。
| ステップ | 50,000 x 64サンプル、3.2Mサンプル |
| 解像度 | 1024²エリア、各画像はそれぞれのアスペクト比 |
| オプティマイザ | AdamW、lr 1e-5から1e-7へコサイン減衰 |
| 計算資源 | B300で約200 GPU時間、fp16(fp32マスターコピー付き) |
| データ | 999,294件のDanbooru投稿、Qwen3.8-27BとQwen3.5-9BによるGraph-Based Captioning |
2次元テンソルごとの重み外れ値: ベースtransformerでは349要素が64倍RMSを超え、healではゼロです。モデルカードのチャート。
出力はベースモデルの水準を保つ
ストリームを抑えることが役立つのは、モデルがベースと同じように描ける場合だけであり、カードは両方の数値を報告しています。フロー損失は0.4280から0.4289へ変化し、プローブ行におけるベースに対する速度コサインは0.9983です。これは数値的な修復であり、スタイルの再学習ではありません。
カードの2つ目のグリッド。縦長アスペクトで、キャプションプロンプトとGBCレイアウトプロンプトの両方を用いて生成されています。
ComfyUI向けファイル
3つのファイルはすべてComfy-Orgのキーレイアウトの単一ファイルチェックポイントなので、公式MOSS-Imageリパックと同じ拡散モデルを読み込むノードで読み込めます。ほかに変更はありません。すでに使用しているqwen3.5_9bテキストエンコーダーとMOSS VAEをそのまま使います。
| ファイル | 重み | サイズ |
|---|---|---|
moss_image_heal_bf16.safetensors | bf16 | 10.2 GB |
moss_image_heal_fp16.safetensors | fp16 | 10.2 GB |
moss_image_heal_int8_convrot.safetensors | int8 ConvRot、グループ256 | 5.4 GB |
int8ファイルはComfy-Orgのmoss_image_base_int8_convrotレイアウトに正確に一致するよう書き出されています。同じ757キー、すべての非量子化テンソルは同一で、量子化コードの5e-8が1だけずれています。そのため、公式int8チェックポイントと同じスロットに半分のディスク容量で収まります。
同じプローブ行では、fp16のhealは速度誤差2.1e-3、コサイン0.999996に達し、ストリームのピークは3,278で、fp16最大値より20倍低くなります。これらの行におけるベースモデルのピークは61,696で、最大値より6%低い値です。
入手先
- 重みとレポート: KBlueLeaf/MOSS-Image-heal
- トレーナーと解説: KohakuBlueleaf/KohakuMossTrainer
- ベースモデル: OpenMOSS-Team/MOSS-Image-Base
コメント
GitHubでサインインしてディスカッションに参加しましょう。