2026/05/19(火)ローカルでQwen3.6-35B-A3Bをベンチしてみた
前回のマシンを更新したのでローカルLLMを軽くベンチマークしてみたでは生成速度だけを見れば十分実用ラインということを確認したが、品質が悪い問題があった。
そこで4月に出て、そこそこ評判を聞くQwen3.6がいかほどのものかというのを軽く試し、ついでにベンチマークもした。
CPU推論とGPU推論が分かれているが、これは初回ベンチマーク時にCUDAのDLLを入れ忘れていたため、GPU推論はDLLを入れてリトライした時の数値、CPU推論はDLLがない状態の数値で書いている。
確認環境
ハードウェア
| 種別 | デバイス |
|---|---|
| CPU | Intel Core Ultra 7 265F |
| GPU | GeForce RTX 5070 Ti |
| MEM | Crucial CT2K16G56C46U5(DDR5-5600 16GB) * 4 |
| M/B | ASRock Z890 Pro RS |
ソフトウェア
実行環境はWindows 11。今回はllama.cppをメインで使っている。
| Env | Ver |
|---|---|
| llama.cpp | 9196 |
| Ollama | 0.24.0 |
| Open WebUI | 0.9.5 |
ベンチ結果
[llama.cpp] Qwen3.6-35B-A3B-UD-Q4_K_M
入出力例
CPU推論時に出した内容。スクショが面倒なのでGPU推論時のはなし
CPU推論
生成速度
| 指標 | 値 |
|---|---|
| cache_n | 0 |
| prompt_n | 14 |
| prompt_ms | 203.404 |
| prompt_per_token_ms | 14.528857142857143 |
| prompt_per_second | 68.82853827849993 |
| predicted_n | 1553 |
| predicted_ms | 94147.172 |
| predicted_per_token_ms | 60.622776561493886 |
| predicted_per_second | 16.495450335990974 |
| input_tokens | 14 |
| output_tokens | 1553 |
| total_tokens | 1567 |
リソース消費
GPU推論
生成速度
| 指標 | 値 |
|---|---|
| cache_n | 0 |
| prompt_n | 14 |
| prompt_ms | 103.612 |
| prompt_per_token_ms | 7.400857142857142 |
| prompt_per_second | 135.11948422962593 |
| predicted_n | 1554 |
| predicted_ms | 26037.862 |
| predicted_per_token_ms | 16.755380952380953 |
| predicted_per_second | 59.68231953913881 |
| input_tokens | 14 |
| output_tokens | 1554 |
| total_tokens | 1568 |
リソース消費
[llama.cpp] Qwen3.6-35B-A3B-UD-Q5_K_M
入出力例
CPU推論時に出した内容。スクショが面倒なのでGPU推論時のはなし
CPU推論
生成速度
| 指標 | 値 |
|---|---|
| cache_n | 0 |
| prompt_n | 14 |
| prompt_ms | 228.782 |
| prompt_per_token_ms | 16.34157142857143 |
| prompt_per_second | 61.19362537262546 |
| predicted_n | 1816 |
| predicted_ms | 119116.155 |
| predicted_per_token_ms | 65.59259636563877 |
| predicted_per_second | 15.24562306431063 |
| input_tokens | 14 |
| output_tokens | 1816 |
| total_tokens | 1830 |
リソース消費
GPU推論
生成速度
| 指標 | 値 |
|---|---|
| cache_n | 0 |
| prompt_n | 14 |
| prompt_ms | 156.28 |
| prompt_per_token_ms | 11.162857142857144 |
| prompt_per_second | 89.58280010238033 |
| predicted_n | 1575 |
| predicted_ms | 30901.59 |
| predicted_per_token_ms | 19.620057142857142 |
| predicted_per_second | 50.96825114824189 |
| input_tokens | 14 |
| output_tokens | 1575 |
| total_tokens | 1589 |
リソース消費
[llama.cpp] Qwen3.6-35B-A3B-UD-Q8_K_XL
Qwen3.6-35B-A3B-UD-Q8_K_XLを使用。
入出力例
CPU推論時に出した内容。スクショが面倒なのでGPU推論時のはなし
CPU推論
生成速度
| 指標 | 値 |
|---|---|
| cache_n | 0 |
| prompt_n | 14 |
| prompt_ms | 262.85 |
| prompt_per_token_ms | 18.775000000000002 |
| prompt_per_second | 53.262316910785614 |
| predicted_n | 1704 |
| predicted_ms | 119261.701 |
| predicted_per_token_ms | 69.98926115023474 |
| predicted_per_second | 14.287906223977135 |
| input_tokens | 14 |
| output_tokens | 1704 |
| total_tokens | 1718 |
リソース消費
GPU推論
生成速度
| 指標 | 値 |
|---|---|
| cache_n | 0 |
| prompt_n | 14 |
| prompt_ms | 190.329 |
| prompt_per_token_ms | 13.594928571428571 |
| prompt_per_second | 73.55684104892055 |
| predicted_n | 1829 |
| predicted_ms | 51098.747 |
| predicted_per_token_ms | 27.93807927829415 |
| predicted_per_second | 35.7934412755757 |
| input_tokens | 14 |
| output_tokens | 1829 |
| total_tokens | 1843 |
リソース消費
[Ollama] qwen3.6:35b
qwen3.6:35bを使用
入出力例
CPU推論時に出した内容。スクショが面倒なのでGPU推論時のはなし
CPU推論
生成速度
| 指標 | 値 |
|---|---|
| input_tokens | 14 |
| output_tokens | 1364 |
| total_tokens | 1378 |
| prompt_tokens | 14 |
| completion_tokens | 1364 |
| response_token/s | 20.84 |
| prompt_token/s | 5.84 |
| total_duration | 126876747900 |
| load_duration | 58586625500 |
| prompt_eval_count | 14 |
| prompt_eval_duration | 2398703000 |
| eval_count | 1364 |
| eval_duration | 65458229300 |
| approximate_total | "0h2m6s" |
リソース消費
llama.cpp実行コマンド
実行コマンド
このコマンドはRTX 5070 Ti + 9800X3D running Qwen3.6-35B-A3B at 79 t/s with 128K context, the --n-cpu-moe flag is the most important part. |r/LocalLLaMAにあったものを利用している。
llama-server.exe ^
-m "ここにモデルファイルのパス" ^
--fit on ^
--fit-ctx 128000 ^
--fit-target 256 ^
-np 1 ^
-fa on ^
--no-mmap ^
--mlock ^
-b 2048 ^
-ub 2048 ^
-ctk q8_0 ^
-ctv q8_0 ^
--temp 0.6 ^
--top-p 0.95 ^
--top-k 20 ^
--min-p 0.0 ^
--presence-penalty 0.0 ^
--repeat-penalty 1.0 ^
--reasoning-budget -1 ^
--chat-template-kwargs "{\"preserve_thinking\": true}" ^
--host 0.0.0.0 ^
--port 8033
まとめ
CPU
| 指標 | Q4_K_M | Q5_K_M | Q8_K_XL |
|---|---|---|---|
| 入力tok/s | 68.82 | 61.19 | 53.26 |
| 出力tok/s | 16.49 | 15.24 | 14.28 |
GPU
| 指標 | Q4_K_M | Q5_K_M | Q8_K_XL |
|---|---|---|---|
| 入力tok/s | 135.11 | 89.58 | 73.55 |
| 出力tok/s | 59.68 | 50.96 | 35.79 |
Ollama
| 指標 | Ollama |
|---|---|
| 入力tok/s | 5.84 |
| 出力tok/s | 20.84 |
上の表の指標については明確な根拠を見つけることができなかったため、指標の名前から推測して、おそらくこの指標はこれだろうというので割り当てて書いている。
何故というとAPIレスポンスの仕様書が何処にあるかわからず、Claude Opus 4.7に聞いてもデッドリンクになった仕様書を提示され、後はソースコードを読めと言われたため、わからないのだ。ソースコードなんか一々読んでられない。しかも嘘を教えられたため、自力で解釈した。
さて、処理時間についてだが、これはOllamaよりllama.cppのほうが圧倒的に早いことが判明した。また、ついでに言うとOllamaはどのモデルを実行してるのかが不明なため、単純比較ができない。
またリソース消費を見る感じ、OllamaはCPU・GPU共に遊ばせていたので、これが処理が遅い原因になっていた可能性がある。llama.cppはマニュアルでそのあたりをうまくやっているので早かったのだろう。
生成品質としては前回とそこまで変わらない気がしたが、質問を一回投げているだけなので、正直なところちゃんとした品質を確かめるには叩きまくる必要はあると思う。面倒なのでそこまではしてない。
おまけ:Poe上のQwen3.6-Plus
Qwen3.6-Plusはクラウド専用モデルのため、ローカルでは動かないが、動かしてみた感じ大分品質は良さそうに思った。少なくともローカルモデルのように目立ったハルシネーションは見られない。
あとがき
一般的なマシンで動くローカルLLMは、まだそれなりという感じの次元だが、Qwen3と比べると3.6は気持ち品質が上がったように感じた。とはいってもLLMはコンテキストがある状態で質問したり、コーディングさせたりしないと真価がわからないので、今回のように「神戸市について教えて」と聞くだけではあまり意味のある結果にはならないので、あくまで参考値くらいだろう。
取り敢えずまともなモデルはOpenAIもQwenもクラウドにあって、配布されているモデルは劣化版というのが分かったのが今日の収穫だったように思う。
Qwen公式の比較表を見る限り、Qwen3.6-35B-A3BはClaude Sonnet 4.5よりは賢いようだ。ただSonnetは個人的にはもう使っておらず、レートリミットがない環境で使っているのもあり、もっぱらOpus 4.7しか使っていないので、Sonnet 4.5を超えたところで微妙な感じは否めない。4.5は個人的にERPをするときにOpus 4.7, Sonnet 4.6, Opus 4.6でも返事をしなくなったときに4.5を叩き、その次のターンでOpus 4.6→Sonnet 4.6→Opus 4.7という流れで回帰させるのに使うことが多い。これは何をしているかというとSonnet 4.5の検閲が緩いのを逆手にとって、上位バージョンを騙すためのコンテキストを書かせているわけだ。
Sonnet 4.5が出た時は割と重宝していた記憶もあるのだが、Opus 4.7が優秀なので、もうまともな用途ではOpus 4.7以外全く使わなくなった。Opus 4.6も悪くはないと思うので、Opus 4.6くらいまでローカルLLMが進歩してくれたら助かるところである。
ひとまず今回の収穫はQwen3.6-35B-A3Bという昨今注目されているモデルが、特にメモリの増設なしでも動いた上に、VRAMを使わずRAMだけで実用速度で走らせることができたことだ。
クラウドLLMは高いのでローカルLLMで解決できるようになれば、それに越したことはない。
余談だがQwen3.6-35B-A3Bは検閲モデルだがQwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressiveという無検閲モデルがあり、ERPが機能することを軽く確認している。弾かれないこと程度しか確認してないので品質は謎いが、テストで叩いた感じはそこそこの内容を出してくれたと思う。少なくともGPT-4やGrokよりはよいと思うので、お金を節約したい人にはオススメかもしれない。
2026/05/17(日)Animaの生成速度を改善してみた
前回のAnimaの正式版が出たのでベンチマークやNovelAIと品質比較してみたでは以下の通り、生成時間が長くやや厳しめだったが、もう少し何とかならないかというので試してみた。結論としては速度の向上ができた。
| モデル | 画像の基準サイズ | 1枚辺りの生成速度 |
|---|---|---|
| XL | 448x576px | 6.768s |
| XL | 896x1152px | 9.090s |
| Anima | 896x1152px | 18.054s |
まず前提として私はほとんどのケースで縦長か横長でしか作らないので、前回より基準サイズを落としている。その分Upscalerで拡大する方向だ。
またベースモデルを使うこともないため、カスタマイズされたモデルを使っている。具体的には前回の検証時にはまだベースモデルが出たばかりだったので、ベースモデルしか選択肢がなかったが、Anima Cat TowerがAnima base-v1.0に対応したため、これを利用している。
確認環境
ソフトウェア
ComfyUI v0.21.1
ハードウェア
| デバイス | 製品 |
|---|---|
| CPU | Intel Core Ultra 7 265F |
| GPU | GeForce RTX 5070 Ti |
| MEM | Crucial CT2K16G56C46U5 * 4 |
| M/B | ASRock Z890 Pro RS |
XL:基準サイズ512x768px
まずは比較用のXLから。
| 設定 | 値 |
|---|---|
| Model | waiNSFWIllustrious_v150.safetensors |
| VAE | なし |
| Text Encoder | なし |
| Empty Latent Image (WxH) | 512x768px |
| Upscale | x2.00 |
| 二段KSampler(Hire.fix) | 有 |
| 5枚生成時の所要時間 | 42.40s |
ノード参考
成果物
Anima:基準サイズ512x768px
次にAnimaを試す。
| 設定 | 値 |
|---|---|
| Model | animaCatTower_v10.safetensors |
| VAE | qwen_image_vae.safetensors |
| Text Encoder | qwen_3_06b_base.safetensors |
| Empty Latent Image (WxH) | 512x768px |
| Upscale | x2.00 |
| 二段KSampler(Hire.fix) | 有 |
| 5枚生成時の所要時間 | 63.60s |
ノード参考
詳細は以下の成果物をComfyUIに突っ込めば出るので割愛。
成果物
まとめ
| モデル | 画像の基準サイズ | 1枚辺りの生成速度 |
|---|---|---|
| XL | 512x768px | 8.48s |
| Anima | 512x768px | 12.72s |
最終成果物の画像サイズが異なるため単純比較はできないが前回18.054sだったAnimaが12.72sになり、出力画像サイズも896x1152pxから1024x1536pxに増えていることから、前回より大きな画像を短時間で生成させることに成功している。
これは基準サイズを推奨値より大幅に落としたことと、Animaに従来のXLのワークフローで使っていた二段KSampler、つまりHire.fixを導入したことと、更にその部分で後段のKSamplerの処理量を落としたり、前段のKSamplerのStepも推奨から落とすことで、全体の負荷を落としたところが大きいと思う。要は推奨値からかなりあれこれ落としている。
しかもそれでいて品質は高く出ているため、現状はいい感じだと思う。まだそんなに生成してないのでどこかに落としな穴がある可能性はあるものの、現時点では満足だ。
あとがき
ブログ用に出している生成画像は毎回似たような画像ばかり出しているが、普段からこんなのを作っているわけではなく、常日頃は全く違う画像を作っている。
ただ流石にここに出すのも微妙な気がするので、このサイトがブログである必要性について考えてみた その2の延長でどうするかは考えている。
恐らくこのサイトの課題として、このブログにすべてが集約されていてノイズが多すぎるところがある。それはよくもあるのだが、ゾーニングも必要だと思う。キッティング記事と料理のレシピと旅行がごちゃ混ぜな時点で探しづらいし、そこに大分アレゲなAI生成画像を突っ込むのはさらにおかしなことになってしまう。
恐らく一定のジャンルごとにサイトを分割するのがよいと思っているが、まだどうするかは考え切れていない。ただ同時に全ての記事のフィードを垂れ流すカオスなハブもあったほうがいいとは思っている。
少なくとも画像を並べるならギャラリーのようなサイトがあることが望ましいだろう。それも内容は間違いなくアレゲなので。
2026/05/16(土)Animaの正式版が出たのでベンチマークやNovelAIと品質比較してみた
投稿日:
ComfyUIを使ってみる2で先月からComfyUIに移行したわけだが、最近Animaという有力なモデルのプレビュー版が出たということで乗り換えていた。
このAnimaは基本的にComfyUI用で、これまで使ってきたAUTOMATIC1111やreForgeでは使えないという噂で、非常にいいタイミングだった。
そして本日正式版としてbase-v1.0が出たのでベンチマークしてみることにした。また、出力品質が以前と比べて非常に向上しており、絵柄再現やキャラ再現ができたため、NovelAIとの簡単な比較もしている。
確認環境
ソフトウェア
ComfyUI v0.21.1
ハードウェア
| デバイス | 製品 |
|---|---|
| CPU | Intel Core Ultra 7 265F |
| GPU | GeForce RTX 5070 Ti |
| MEM | Crucial CT2K16G56C46U5 * 4 |
| M/B | ASRock Z890 Pro RS |
りこベンチ:XL:基準サイズ448x576px
これまでのりこベンチは基準となる画像サイズ(Empty Latent Image)を768x768pxで実施していたが、Animaでは896x1152pxが基準となる。
このため、まずはUpscaleで倍にすることを考え、画像の基準サイズを448x576pxに変更した、りこベンチで計測した。
| 設定 | 値 |
|---|---|
| Model | waiNSFWIllustrious_v150.safetensors |
| VAE | なし |
| Text Encoder | なし |
| Empty Latent Image (WxH) | 448x576px |
| Upscale | x2.00 |
| 二段KSampler(Hire.fix) | 有 |
| 5枚生成時の所要時間 | 33.84s |
ノード参考
詳細は以下の成果物をComfyUIに突っ込めば出るので割愛。
成果物
りこベンチ:XL:基準サイズ896x1152px
次はUpscaleなしで等倍の896x1152pxが出る条件で計測した。
| 設定 | 値 |
|---|---|
| Model | waiNSFWIllustrious_v150.safetensors |
| VAE | なし |
| Text Encoder | なし |
| Empty Latent Image (WxH) | 896x1152px |
| Upscale | なし |
| 二段KSampler(Hire.fix) | 有 |
| 5枚生成時の所要時間 | 45.45s |
ノード参考
詳細は以下の成果物をComfyUIに突っ込めば出るので割愛。
成果物
りこベンチ:Anima:基準サイズ896x1152px
| 設定 | 値 |
|---|---|
| Model | anima_baseV10.safetensors |
| VAE | qwen_image_vae.safetensors |
| Text Encoder | qwen_3_06b_base.safetensors |
| Empty Latent Image (WxH) | 896x1152px |
| Upscale | なし |
| 二段KSampler(Hire.fix) | 有 |
| 5枚生成時の所要時間 | 90.27s |
ノード参考
左下に何処にも繋がっていないノードがあるが、これは消し忘れたゴミである
詳細は以下の成果物をComfyUIに突っ込めば出るので割愛。
成果物
まとめ
| モデル | 画像の基準サイズ | 1枚辺りの生成速度 |
|---|---|---|
| XL | 448x576px | 6.768s |
| XL | 896x1152px | 9.090s |
| Anima | 896x1152px | 18.054s |
以上が今回のベンチの結果だが、Upscale前提だと生成速度が3倍にもなっている。これは見方次第ではやや厳しいタイムだ。
しかしComfyUIはWorkflowsを工夫すれば一回叩くだけで複数のシーンを出すことができるため、A1111やNovelAIのように張り付かなくて良い点を考慮すれば、さほど気にならないかもしれない。
またAnimaではHirefix(二段KSampler)なしにXLより高い品質の画像を出力できているように見えるため、ここも良いポイントだ。
生成速度については「Anima-Turbo Coming soon.」と書かれているため、近日中により早いものが出るかもしれない。高品質版かもしれないが何も書いてないので実際のところは謎だ。
おまけ
これはAnimaのプレビュー版であるpreview3-baseから作られたanimaCatTower_v05.safetensorsで作った画像だが、非常に品質がいい。
恐らくbase-v1.0で作り直されれば、より品質が高まるだろう。
Animaは絵師指定による絵柄の再現ができる
NovelAIには劣るものの、これまでLoraがないと厳しかった絵柄の再現がある程度できる。いくつか実際に比較してみた。
黒星紅白
やや破綻が見られるものの、絵柄としてはだいぶ出ていると思う。NovelAIほど正確さがないのはある意味で便利かもしれない。
カントク
ディティールはそこまでないが、大まかにはそれっぽいのが出せていると思う。NovelAIと比べるとどうしても劣る。
いとうのいぢ
これがいとうのいぢの絵柄見えたら大分目が悪いと思う。学習量が少ないのか精度が悪い。NovelAIは流石に圧巻である。ただNovelAIも絵柄が古く、ハルヒ時代といった感じだ。最新ののいぢという感じはしない。
☆画野郎
遠目に見えれば見えなくはないが、だいぶ厳しい。線の丸みと色の淡さはそれっぽいかもしれない。NovelAIの再現性は流石である。
キャラ指定で絵が出せる
これも従来であればLora或いは、専用のモデルが必要だったが、一応出せるようになっている。
但し単純なプロンプトでは品質が悪くなりがちで、NovelAIと比べると勝負にすらならないレベルだ。とはいえ、それができるようになったというだけでも十分すごい。
天音かなた
ここまでの品質のものは中々出ないので奇跡の一枚に近いが、天音かなたを出すことができる。10回くらい回したが、大半は天音かなたのような何かだったので、安定性はない。
NovelAIでは非常に安定して天音かなたを出力できる。
樋口楓
これも奇跡の一枚に近いが、泣きボクロがないけど樋口楓に見える何かは出ている。
勿論、NovelAIのほうが再現性が高く安定している。
キノ
キノに見えなくもないくたびれた男性のようなものが出てきた。これでも奇跡の一枚で、酷いと人の姿さえ出てこないことがあった。
NovelAIは安定しており、何枚か出してみたところ特に指定していないにもかかわらず、パースエイダーを構えているものを出すことさえできた。但し指が破綻していたのでここには載せていない。
アスナ
いわれてみればアスナに見えなくもないが、他人の空似レベルである。
NovelAIは(ry
あとがき
XL系と比べると出力時間が三倍かかるが、品質は大きく向上し、絵柄やキャラの再現もある程度可能になっているためローカルで色々やるにはよくなったと思う。
ただ版権絵を絵柄丸コピーでどうこうするとか、そういった用途に使うにはまだ厳しいと感じた。
絵柄やキャラ再現はLora + Ponyが非常に優秀なので、何もなしで高品質だけど時間がかかるAnimaがどこまでいけるのかは現段階では未知数である。
しかしながらポテンシャルは感じるので、今後GPUの性能向上や、ComfyUIやモデルの進化などによって、より良い方向へ向かう可能性は十分にあるだろう。恐らくRTX7070TiになるころにはXL並みの速度にはなっていると思う。
2026/04/11(土)ComfyUIを使ってみる2
投稿日:
去年の六月にComfyUIを使ってみるという記事を書いたが、当時はAUTOMATIC1111との差を覆せず、イマイチという結論に終わった。その後AUTOMATIC1111からreForgeに乗り換えたものの、ComfyUIへの未練は残っていた。そこで今回あらためて挑戦してみたところ上手くいったので、その記録を残しておく。
確認環境
ソフトウェア
ComfyUI v0.18.5
ハードウェア
前回とマザボが変わっているが、これによる差はないだろう。
| デバイス | 製品 |
|---|---|
| CPU | Intel Core Ultra 7 265F |
| GPU | GeForce RTX 5070 Ti |
| MEM | Crucial CT2K16G56C46U5 * 4 |
| M/B | ASRock Z890 Pro RS |
導入方法
インストール
公式サイトからインストーラーをダウンロードして実行するだけ。
インストール先は変えてはならない。もし変えると起動してもフリーズするようになったりする。
各種設定
ComfyUI-Managerはデフォルトで入ってるので入れなくてよい。
- 設定>Comfyから言語を英語にする[1]
- Settings>Server-Configを開き、一番下までスクロールし、DirectoriesにあるOutput directoryを適当に変える
- ここが生成した画像の出力先になる
- Settings>Graph>Link Render ModeでStraight
- ノードを繋ぐ線が直線になり、見やすくなる
- Settings>Graph>Always snap to gridをON
- ノードがグリッドにスナップするようになる
- Extentionsを開きComfyUI-Custom-Scriptsを入れておくと幸せになるらしいので入れる
資材パスの変更方法
モデルなどは容量を食って重いので別のドライブに移動させる方法。
- 別ドライブのどこか適当な場所に
%HOMEPATH%\Documents\ComfyUI配下のフォルダを丸ごと移動する %HOMEPATH%\AppData\Roaming\ComfyUI\extra_models_config.yamlを開く- 取り敢えずこんくらいの設定にしておけばよいと思う。パスの尻に``が入ってると起動しなくなるので注意
comfyui_desktop: is_default: "true" custom_nodes: custom_nodes download_model_base: models base_path: E:\path\to\ComfyUI # models\Stable-diffusion checkpoints: models\checkpoints # models\ControlNet controlnet: models\controlnet # embeddings\ embeddings: models\embeddings # models\Lora loras: models\loras # models\VAE vae: models\vae desktop_extensions: # 元から記述がある部分、変える必要はない custom_nodes: C:\Users\hoge\AppData\Local\Programs\ComfyUI\resources\ComfyUI\custom_nodes
AUTOMATIC1111やreForgeの設定をワークロードに反映させる方法
一例として、りこベンチの設定の再現方法。ComfyUIはアップスケーラー周りの設定が分かってないとゴミ画像が出てくるので、アップスケーラーの設定が重要になる。
全体像としてはこんな感じで、以前書いたComfyUIを使ってみると構成するノードには大きな変わりはない。
ポイントは一段目のKSamplerでdenoiseを1.00にし、二段目で0.70にする部分だ。両方を0.70にすると画質が大幅に劣化する。
ベンチスコア
りこベンチ設定では64.76秒を記録し、AUTOMATIC1111からreForgeに乗り換えた時のスコアである81秒と比べると16.24秒も早くなっている。
使用したワークフロー
{
"id": "6de0fdb5-59c2-4625-b494-4097461da37e",
"revision": 0,
"last_node_id": 17,
"last_link_id": 25,
"nodes": [
{
"id": 4,
"type": "CheckpointLoaderSimple",
"pos": [-290, 240],
"size": [320, 100],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"localized_name": "ckpt_name",
"name": "ckpt_name",
"type": "COMBO",
"widget": { "name": "ckpt_name" },
"link": null
}
],
"outputs": [
{
"localized_name": "MODEL",
"name": "MODEL",
"type": "MODEL",
"slot_index": 0,
"links": [1, 18]
},
{
"localized_name": "CLIP",
"name": "CLIP",
"type": "CLIP",
"slot_index": 1,
"links": [11]
},
{
"localized_name": "VAE",
"name": "VAE",
"type": "VAE",
"slot_index": 2,
"links": [8]
}
],
"properties": { "Node name for S&R": "CheckpointLoaderSimple" },
"widgets_values": ["waiNSFWIllustrious_v150.safetensors"]
},
{
"id": 11,
"type": "CLIPSetLastLayer",
"pos": [-260, 380],
"size": [270, 60],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"localized_name": "clip",
"name": "clip",
"type": "CLIP",
"link": 11
},
{
"localized_name": "stop_at_clip_layer",
"name": "stop_at_clip_layer",
"type": "INT",
"widget": { "name": "stop_at_clip_layer" },
"link": null
}
],
"outputs": [
{
"localized_name": "CLIP",
"name": "CLIP",
"type": "CLIP",
"links": [12, 13]
}
],
"properties": { "Node name for S&R": "CLIPSetLastLayer" },
"widgets_values": [-2]
},
{
"id": 3,
"type": "KSampler",
"pos": [490, 240],
"size": [320, 270],
"flags": {},
"order": 5,
"mode": 0,
"inputs": [
{
"localized_name": "model",
"name": "model",
"type": "MODEL",
"link": 1
},
{
"localized_name": "positive",
"name": "positive",
"type": "CONDITIONING",
"link": 15
},
{
"localized_name": "negative",
"name": "negative",
"type": "CONDITIONING",
"link": 14
},
{
"localized_name": "latent_image",
"name": "latent_image",
"type": "LATENT",
"link": 22
},
{
"localized_name": "seed",
"name": "seed",
"type": "INT",
"widget": { "name": "seed" },
"link": null
},
{
"localized_name": "steps",
"name": "steps",
"type": "INT",
"widget": { "name": "steps" },
"link": null
},
{
"localized_name": "cfg",
"name": "cfg",
"type": "FLOAT",
"widget": { "name": "cfg" },
"link": null
},
{
"localized_name": "sampler_name",
"name": "sampler_name",
"type": "COMBO",
"widget": { "name": "sampler_name" },
"link": null
},
{
"localized_name": "scheduler",
"name": "scheduler",
"type": "COMBO",
"widget": { "name": "scheduler" },
"link": null
},
{
"localized_name": "denoise",
"name": "denoise",
"type": "FLOAT",
"widget": { "name": "denoise" },
"link": null
}
],
"outputs": [
{
"localized_name": "LATENT",
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [24]
}
],
"properties": { "Node name for S&R": "KSampler" },
"widgets_values": [
735067360423163,
"randomize",
20,
7,
"dpmpp_2m",
"karras",
1
]
},
{
"id": 17,
"type": "LatentUpscaleBy",
"pos": [60, 100],
"size": [270, 90],
"flags": {},
"order": 6,
"mode": 0,
"inputs": [
{
"localized_name": "samples",
"name": "samples",
"type": "LATENT",
"link": 24
},
{
"localized_name": "upscale_method",
"name": "upscale_method",
"type": "COMBO",
"widget": { "name": "upscale_method" },
"link": null
},
{
"localized_name": "scale_by",
"name": "scale_by",
"type": "FLOAT",
"widget": { "name": "scale_by" },
"link": null
}
],
"outputs": [
{
"localized_name": "LATENT",
"name": "LATENT",
"type": "LATENT",
"links": [25]
}
],
"properties": { "Node name for S&R": "LatentUpscaleBy" },
"widgets_values": ["nearest-exact", 2]
},
{
"id": 15,
"type": "KSampler",
"pos": [490, 550],
"size": [320, 270],
"flags": {},
"order": 7,
"mode": 0,
"inputs": [
{
"localized_name": "model",
"name": "model",
"type": "MODEL",
"link": 18
},
{
"localized_name": "positive",
"name": "positive",
"type": "CONDITIONING",
"link": 20
},
{
"localized_name": "negative",
"name": "negative",
"type": "CONDITIONING",
"link": 21
},
{
"localized_name": "latent_image",
"name": "latent_image",
"type": "LATENT",
"link": 25
},
{
"localized_name": "seed",
"name": "seed",
"type": "INT",
"widget": { "name": "seed" },
"link": null
},
{
"localized_name": "steps",
"name": "steps",
"type": "INT",
"widget": { "name": "steps" },
"link": null
},
{
"localized_name": "cfg",
"name": "cfg",
"type": "FLOAT",
"widget": { "name": "cfg" },
"link": null
},
{
"localized_name": "sampler_name",
"name": "sampler_name",
"type": "COMBO",
"widget": { "name": "sampler_name" },
"link": null
},
{
"localized_name": "scheduler",
"name": "scheduler",
"type": "COMBO",
"widget": { "name": "scheduler" },
"link": null
},
{
"localized_name": "denoise",
"name": "denoise",
"type": "FLOAT",
"widget": { "name": "denoise" },
"link": null
}
],
"outputs": [
{
"localized_name": "LATENT",
"name": "LATENT",
"type": "LATENT",
"slot_index": 0,
"links": [19]
}
],
"properties": { "Node name for S&R": "KSampler" },
"widgets_values": [
968711531111656,
"randomize",
20,
7,
"dpmpp_2m",
"karras",
0.7
]
},
{
"id": 8,
"type": "VAEDecode",
"pos": [490, 140],
"size": [210, 50],
"flags": {},
"order": 8,
"mode": 0,
"inputs": [
{
"localized_name": "samples",
"name": "samples",
"type": "LATENT",
"link": 19
},
{ "localized_name": "vae", "name": "vae", "type": "VAE", "link": 8 }
],
"outputs": [
{
"localized_name": "IMAGE",
"name": "IMAGE",
"type": "IMAGE",
"slot_index": 0,
"links": [9]
}
],
"properties": { "Node name for S&R": "VAEDecode" },
"widgets_values": []
},
{
"id": 9,
"type": "SaveImage",
"pos": [830, 140],
"size": [260, 270],
"flags": {},
"order": 9,
"mode": 0,
"inputs": [
{
"localized_name": "images",
"name": "images",
"type": "IMAGE",
"link": 9
},
{
"localized_name": "filename_prefix",
"name": "filename_prefix",
"type": "STRING",
"widget": { "name": "filename_prefix" },
"link": null
}
],
"outputs": [],
"properties": {},
"widgets_values": ["ComfyUI"]
},
{
"id": 14,
"type": "CLIPTextEncode",
"pos": [50, 460],
"size": [430, 190],
"flags": {},
"order": 4,
"mode": 0,
"inputs": [
{
"localized_name": "clip",
"name": "clip",
"type": "CLIP",
"link": 13
},
{
"localized_name": "text",
"name": "text",
"type": "STRING",
"widget": { "name": "text" },
"link": null
}
],
"outputs": [
{
"localized_name": "CONDITIONING",
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [14, 21]
}
],
"properties": { "Node name for S&R": "CLIPTextEncode" },
"widgets_values": [
"nsfw, (worst quality, low quality:1.4), (depth of field, blurry, bokeh:1.5), (greyscale, monochrome:1.0), multiple views, text, title, logo, signature, (tooth, lip, nose, 3d, realistic:1.0), dutch angle,(cropped:1.4), text, title, signature, logo, (loli:1.2), school satchel, pink, school bag, school uniform, from behind"
]
},
{
"id": 7,
"type": "CLIPTextEncode",
"pos": [50, 240],
"size": [430, 190],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"localized_name": "clip",
"name": "clip",
"type": "CLIP",
"link": 12
},
{
"localized_name": "text",
"name": "text",
"type": "STRING",
"widget": { "name": "text" },
"link": null
}
],
"outputs": [
{
"localized_name": "CONDITIONING",
"name": "CONDITIONING",
"type": "CONDITIONING",
"slot_index": 0,
"links": [15, 20]
}
],
"properties": { "Node name for S&R": "CLIPTextEncode" },
"widgets_values": [
"(illustration:1.0), masterpiece, best quality, 1girl, solo, happy, smile, theater, (perspective:1.3), from below, (looking away:1.2), (from side:1.0), (shot_hair:1.1), smile, bangs, shaggy, (brown hair:1.1), swept_bangs, thick_eyebrows, skin_fang, closed mouth, (purple eyes:1.1), gray (jacket:1.1), white shirt, glasses, (small breasts:1.1),\n"
]
},
{
"id": 16,
"type": "EmptyLatentImage",
"pos": [-250, 90],
"size": [270, 110],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"localized_name": "width",
"name": "width",
"type": "INT",
"widget": { "name": "width" },
"link": null
},
{
"localized_name": "height",
"name": "height",
"type": "INT",
"widget": { "name": "height" },
"link": null
},
{
"localized_name": "batch_size",
"name": "batch_size",
"type": "INT",
"widget": { "name": "batch_size" },
"link": null
}
],
"outputs": [
{
"localized_name": "LATENT",
"name": "LATENT",
"type": "LATENT",
"links": [22]
}
],
"properties": { "Node name for S&R": "EmptyLatentImage" },
"widgets_values": [768, 768, 1]
}
],
"links": [
[1, 4, 0, 3, 0, "MODEL"],
[8, 4, 2, 8, 1, "VAE"],
[9, 8, 0, 9, 0, "IMAGE"],
[11, 4, 1, 11, 0, "CLIP"],
[12, 11, 0, 7, 0, "CLIP"],
[13, 11, 0, 14, 0, "CLIP"],
[14, 14, 0, 3, 2, "CONDITIONING"],
[15, 7, 0, 3, 1, "CONDITIONING"],
[18, 4, 0, 15, 0, "MODEL"],
[19, 15, 0, 8, 0, "LATENT"],
[20, 7, 0, 15, 1, "CONDITIONING"],
[21, 14, 0, 15, 2, "CONDITIONING"],
[22, 16, 0, 3, 3, "LATENT"],
[24, 3, 0, 17, 0, "LATENT"],
[25, 17, 0, 15, 3, "LATENT"]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 1.1284491351375,
"offset": [757.6336710071444, 145.5718113186996]
}
},
"version": 0.4
}
生成された画像
reForgeと変わらない、ちゃんとした品質のものを出すことができた。
あとがき
reForgeと同じ品質で、更に早く出せることが分かったので、これは乗り換えができそうだ。
Civitaiで配布されているワークフローを見る感じ、同じ絵柄で別の構図を出すワークフローなどもあるようなので、非常に期待できる。
他にもForge Coupleのような機能もあり、全体的にreForgeより高機能で、使い方次第では何でもできそうな気配を感じるので、今回、無事ComfyUIに乗り換えられたのはとてもよかった。
今回行った調査にはClaude Opus 4.6を使い、前回の問題点の調査と、その対策方法を調べたが、非常に有益な情報が得られたので、こういったことをするにもLLMも必須の存在といえることがよく分かった。
- 日本語だと機能を探しづらいため ↩
2025/11/12(水)R86S U1を冷やそうとした作業の残渣
R86S U1のファンはいかにも貧弱でいつ壊れても不思議がなかったので、壊れる前にもうちょいマシにしようと試行錯誤したログ。
やろうとしたこと
既存のケースを外し、ラズパイ用の大型クーラーをつけて適当なケースを作って冷やせるようにしようとした。
R86S U1の分解像
外観
裏ブタを開けたところ
本体を開けたところ
手前からCPUボード、NIC、NICの裏板の三層構造になっている。
各ボードを繋ぐケーブルが邪魔なので、作業するときは外すとやりやすい。
FPC(フレキシブル基板、フレキシブルケーブル)は以下の手順で外せる。左右についている爪を触ると折れるので触らない方がいい。但し折れても支障はない。
CPUボードを開けたところ
グリスが酷い。閉じ直すときは、ここまで塗る必要はなく、注射器から1mmほど出しておけばよい。
CPUヒートシンク?
蓋側にはケースに熱を伝えるための銅の板がついており、やはりグリスがたっぷりついている。
CPUファン
銅板やヒートシンクを冷やしているというよりはケース表面のヒートシンク形状を浸すための装置に見える。40 x 40 x 7mmの2pin形式なら互換性があるものと思われる。
ピンの形状は検証していないが、調べた限りJST SH1.0MMらしい。ハウジングはこの手の製品が使えると思われる。
耐久性が心配になるサイズだが、この方式であれば上に60mmファンを雑に置いておいても成立しそうな気はした。
CPUボード単体
CPUにはヒートスプレッダが二つ付いており、ノートPCによくあるタイプに見えた。
NIC側を開けたところ
NIC本体と裏板は特殊なコネクタで繋がっており、上に引っ張ると抜ける。調べた感じOCP2.0という規格らしい。
OCPはOpen Compute Projectの略で、ラックサーバー用の規格のようだ。一般的にOCP2.0メザニンカードと呼ばれているらしい?
このコネクタを備えた変換PCIeカードも流通しており、普通のPCに繋ぐこともできるようだ。
R86S U1の寸法記録
CPUボード
Autodesk Fusionで描いたもののスクショ。誤差+-0.50mm程度と思われる。
CPU本体
Autodesk Fusionで描いたもののスクショ。誤差+-1.00mm程度と思われる。
Rが付いて盛り上がった形をしているヒートスプレッダのサイズが上手く取れなかったので、大まかな図。特に上下のスプレッダの間隔は怪しい。
NIC
手描きのスケッチ。ネジ穴の直径を書いているが、実際はすべて3.00mmと思われる。
「チ」とあるのはNICのチップ。「チ」2.44mmはチップの高さ。
NICの裏板
NICがのっかってる板。NVMeSSDを挿すやつが載ってるやつ。ケース固定用のネジ穴とヒートシンク固定用のネジ穴で直径が異なる。
左にある凸型の図はNICを支えるスペーサーと、それが載った基板の寸法。
下にある「内側のネジがヒートシンク用」「ファンのネジ」とあるのはネジの寸法。
ラズパイクーラーの足回りの寸法
GeeekPi ICE Tower Plus クーラー Raspberry Pi 5、Raspberry Pi 5 4GB/8GB 用冷却ファン付き Pi 5 アルミニウム アクティブクーラーの寸法。











































































