お知らせ

現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。
投稿日:ソフトウェア::Stable Diffusion

Automatic 1111よりいいらしいので使ってみる。

日本語表示が面倒だったので、途中から表示言語を英語に変えている。

確認環境

Env Ver
ComfyUI v0.3.38

導入方法

インストール

公式サイトからインストーラーをダウンロードして実行するだけ。

Cドライブにしか対応してないらしいが、モデルや出力先は変更可能なので、インストールパスはそのままでよい。

モデルパスの変更方法

  1. ComfyUIのインストール先を開く
    標準はここ:%HOMEPATH%\AppData\Local\Programs\@comfyorgcomfyui-electron\resources\ComfyUI
  2. extra_model_paths.yaml.exampleextra_model_paths.yamlにリネームする
  3. 以下のコメントアウトをコピペして適当に治す。is_default: trueのコメントを外して有効化しておく
    #comfyui:
    #     base_path: path/to/comfyui/
    #     # You can use is_default to mark that these folders should be listed first, and used as the default dirs for eg downloads
    #     #is_default: true
    #     checkpoints: models/checkpoints/
    #     clip: models/clip/
    #     clip_vision: models/clip_vision/
    #     configs: models/configs/
    #     controlnet: models/controlnet/
    #     diffusion_models: |
    #                  models/diffusion_models
    #                  models/unet
    #     embeddings: models/embeddings/
    #     loras: models/loras/
    #     upscale_models: models/upscale_models/
    #     vae: models/vae/
    

出力先の変更方法

設定→サーバー設定の一番下にある「出力ディレクトリ」を設定する。

画像の保存ノードのファイル名プレフィックスをクリックし、Valueにフォルダ名/任意の文字列をつけることでフォルダわけもできる。フォルダ名/だけ指定してもうまくいかないので注意。

ClipSkipの設定(不明)

CLIP Set Last LayerノードをLoad Checkpointに接続することで実現できるらしい?

Hires.fixの設定

KSampler→Upscale Latent By→KSampler→VAEで繋ぐと同様のことができるらしい。

感想

起動が早い

1111は1分近くかかるがComfyは数秒で起動するため、ここはいいと思った。

保存先を柔軟に変更できる

1111では基本的に生成種別、日付別に保存されるため整理が手間である。

画像の生成品質を上げる方法がわからなかった

これはComfy UIを以下の構成にして生成したものだ。

一枚目はこういう絵柄だといえばまだありかもしれないが、二枚目は微妙だ。これはどうもHires.fix相当の機能が期待通りに動いていないのが理由に見えるが、恐らくそういった事柄を探求するモチベーションがないと、上手いこと使えないと思われる。

また上記のノード接続だと生成速度も速いとは言えず、これ以上要素を増やすとなると実用性は怪しいと感じた。

現状はまだ1111で十分

1111だとこのくらいのものがパッと出てくるため、個人的には今のところ1111でいいかなと思った。カリカリにチューニングすることで1111を超えてくる可能性は否定できないが、大抵のケースで設定値は固定であり、プログラマブルである必要性はアニメーションとかの分野になってくると思われるので、動画を作るならComfy、そうでなければ1111で十分な気がした。

投稿日:技術::AIソフトウェア::Open WebUI

Open WebUIを使ってローカルLLMとチャットしてみたのでその記録。

確認環境

実行環境はWindows 11。

Env Ver
ollama 0.9.0
Open WebUI 0.6.6

やり方

Open WebUIをセットアップ済みという前提で進める。

  1. Ollamaをインストールする
  2. 使いたいモデルを探す
  3. ollama pull <モデル名>でモデルを取得する
    • 物次第だが数~数十GB程度ある
  4. Open WebUIを起動する
  5. 管理者設定の接続を開きOllamaをONにする(デフォルトはONのはず)
  6. 管理者設定のモデルを開き、pullしてきたモデルを有効化する

Ollamaサーバーの起動方法

Ollamaをインストールした直後はOllamaサーバーが勝手に起動するが、それ以降は手動で起動する必要がある。

Windowsの場合スタートメニューから起動できる。Ollamaサーバーが起動していない場合、LLMとして使えないので注意。

所感

Intel Core i7 13700 + GeForce RTX 4070 Ti程度の環境では生成速度の遅さゆえに到底実用に耐えるものではなかった。質問への回答品質もあまりよくなく、実用性は疑問だ。チューニングすれば使えるのかもしれないが、よくわかっていない。

今回試した結果ではRPはGemini以上に破綻するので微妙だった。文章をある程度整理する力はある様に見えるので、用途次第では活路があるのかもしれない。

以下に実行した結果を記録している。

gemma3:27b

恐らくGoogle AI Studioにもいる子。

出力内容

真贋のほどはさておき、中々力の入った文章を出してくる。流石にローカルLLMの中でも注目されているモデルだけある。

しかし出力に3分半程度もかかっており、まったく実用性がない。無料の選択肢という意味ではGeminiやCopilotを使ったほうが遥かによいだろう。

マシン負荷

GPU負荷はないもののCPU負荷が強い。VRAMが足りないとCPUで処理するみたいな情報をチラッと見たのでグラボの性能不足の可能性もある。

lucas2024/mistral-nemo-japanese-instruct-2408:q8_0

CyberAgentが作ったとされているモデルのOllama版?

出力内容

こちらも真贋のほどはさておき、中々いい感じの文章を出してくれる。

生成速度はgemma3:27bよりは早いものの、それでも1分ほどかかっていた。

マシン負荷

CPU負荷はgemma3:27bよりやや低く、GPU負荷が少し上がる傾向があった。

マシン負荷

うちのマシンは200mmファンを四基、CPUにはNoctuaのヒートシンクに120mmファン、リアには140mmファンを装備しているが、gemma3:27bだとこれらがフル回転するので凄まじかった。

StableDiffusionやFF14ベンチ程度ではフル回転することはない。

関連記事

投稿日:技術::AIソフトウェア::Open WebUI

適当にググって見つかる記事が軒並み古くアテにならなかったのでやれるようにした記録として残す。

AI StudioのUIだと再生成時に前の内容が上書きされてツリーが作れないとか、モデレーションが厳しいとかあるのでOpen WebUIから扱えると何かと便利だ。

確認環境

Env Ver
Open WebUI v0.6.6

手順

  1. Open WebUIを起動する
  2. 管理者設定→FunctuonsからFunctionの追加画面を開く
  3. gemini_manifold.pyのコードを貼り付けて保存する
    • 本家と比較した場合、Function IDの文字列が作者の予期しない内容の時にError: Invalid model name formatが出ないように調整している
  4. 追加したFunctionの設定(歯車アイコン、Valves)にAPIキーを入れて保存
  5. モデル一覧にGeminiが出ていればOK

GeminiのAPIキーの作り方

Get API key | Google AI Studioを開きAPIキーを作成する。

画像も生成したい場合

このFunctionでは画像が生成できないので画像を生成したい場合はgemini_manifold_google_genaiを使うといい。ただこっちだとLLMが使えなかった。

またsafety_settingsを外すための設定がないため、モデレーションを回避するためには恐らくコードを書き換える必要があるが確認できていない。

おすすめの設定

モデルの数が多すぎるので管理者設定にあるモデルを開き、使わないのはOFFにしておくとよい。

レートリミット緩和

そのままだとすぐレートリミットに引っかかるが、請求情報を紐づけると緩和できる。参考までに20k Tokens叩いた程度だと課金されなかった。

ClaudeやChatGPTと異なり従量課金に見えるため、Cloud Billingで予算アラートをしておくのが無難だ。

備考

条件はよくわかっていないが上記の手順で書いたFunctionを利用してNSFWコンテンツを生成するとGemini API側が応答の途中で何も返さなくなることがあることを確認している。この場合、続きを生成すると書いてくれることがあるが、書いてくれないこともある。また続きを書こうとしたときに現在の文章が破壊されることがあるのでバックアップを取って後で整理しなおすなど注意が必要。

LLMのやつに画像生成のやつをマージしてやれば全体的にいい感じになりそうだが、個人的にはStableDiffusionで事足りてるのでモチベーションは薄い。ついでに暇な人は画像生成のやつのsafety_settingsもいじればモデレーションを超えられるかもしれない。機能するかは確認していないが、この辺りが参考になりそうだ

Ctrl+F5でスーパーリロードの操作をしていたら「スーパーリロードはShift+F5だろJK(常識的に考えて)」みたいな指摘を受けたので、Ctrl+F5でスーパーリロードが機能するかどうかを調べてみた。

結論を書くと実際に確認したところ、主要ブラウザでは今でも機能した。

各ブラウザの挙動

Microsoft Edge

機能する。

Microsoft公式によるとShift+F5となっているが、バージョン136.0.3240.64ではCtrl+F5でも機能していた。もしかしたら互換機能として残っているのかもしれない。

Google Chrome

機能する。

公式ヘルプによるとCtrl+F5は別の機能に割り当てられていた。

しかし、バージョン136.0.7103.93ではCtrl+F5でも機能していた。

Firefox

機能する。

公式ヘルプによると機能すると書かれている。

バージョン138.0.3で機能することも確認した。参考までにFirefoxではShift+F5は開発者メニュー的なものが開いた。

Opera

機能する。

公式ヘルプには記載がないが、バージョン134.0.6998.205で機能することを確認した。

設定画面上には存在していた。

まとめ

Ctrl+F5は依然としてスーパーリロードとして機能するようだ。但しEdgeやChromeのヘルプを見る感じCtrl+F5の扱いが表記されておらず、Shift+F5に機能を移したいような意図も感じられたため、そのうち使えなくなる可能性もあるかもしれないなと感じた。

投稿日:ネットワーク::VPNソフトウェア::WSL

Akamai EAAからAkamai ゼロトラスト・クライアントに移行したらVPNと疎通できなくなったので、その対処をしたときのログ。

確認環境

WSL2の中から名前解決はできるがcurlやpingを叩いても疎通しない。Windows側では疎通する状態。

  • Windows 11 Pro 23H2
  • WSL 2.4.13.0
  • WSLの中はUbuntu 22.04
  • Akamai ゼロトラスト・クライアントを利用している
  • /etc/wsl.conf
    [interop]
    appendWindowsPath = false
    
  • %HOMEPATH%\.wslconfig
    [experimental]
    networkingMode=mirrored
    firewall=true
    
  • Windows側とWSL2側それぞれでpingを飛ばし、Wiresharkでパケットを観測したとき、Ethernet IIのSrcとDstのMACアドレスがWindows側は共に同値だが、WSL2側は共に異なり、いずれもWindows側の値と一致しない

解決方法

%HOMEPATH%\.wslconfignetworkingModemirroredからNATに変える。

[experimental]
networkingMode=NAT
firewall=true