MarkdownとBullet Journal

いわゆるプログラマーのつぶやき

ハロー、アスカ!

漏洩モデルが一人歩き

NovelAIDiffusionはインフラを一新して高速(3〜4秒程度)で画像生成する様になり、無制限生成出来るOpusでサービスを契約していると実に快適である。

しかしながら漏洩したモデルが一人歩きを始め、元素法典というプロンプトを徹底的に研究したものが現れた。元素法典に従って生成する絵は実に見事だが、皮肉なことにプロンプトが長過ぎたり記号が違ったりして本来のNovelのサービスでは正しく機能しない(下の記事)。

programmingforever.hatenablog.com

元素法典を試してみたい方はGoogle colab 上のAUTOMATIC1111で漏洩モデルが使える。正しくモデルを扱えているかは下で説明する「Hello! Aska」で判断できる。プログラム入門では「Hello! プログラム 」と表示させる慣わしがあり、同様にオリジナルサービスと全く同じ絵のアスカが画像再現できるかを確認できる様になっている。

この様な本家を上回る展開に対してNovelAIは対抗策を打ち出すだろうし、次のV.2モデルなどで差別化ももたらされるだろう。NobelAIを中心とする世界の広がりや進化に期待するばかりだ。

利用方法

過去記事にまとめた方法で漏洩モデルが扱える。

programmingforever.hatenablog.com

改修箇所

※この記事の最後に実行用のノートをまとめている。

記事のノートブックにある、モデルをロードする所を変更する。先に漏洩モデルを入手する必要があるが、変なサイトからダウンロードするとウィルス感染するリスクがあるので注意。

必要なファイル:

  • animefull-final-pruned.ckpt
  • animevae.pt
  • (他にhypernetworksフォルダと含まれる各ptファイルを追加してもよいが不要)

Google Driveに必要な2ファイルを保存したら、モデルのコピー部を下記に書き換える(上の2行のみ必須)

!cp /content/drive/MyDrive/models/animefull-final-pruned.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/animevae.pt /content/stable-diffusion-webui/models/VAE/

アスカ再現にトライ

ではアスカ再現にトライする。

  • settingの一番下の方にある「Stop At last layers of CLIP model」を2にする
  • プロンプト =masterpiece, best quality, masterpiece, asuka langley sitting cross legged on a chair
  • ネガティブプロンプト =lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name
  • サンプリングステップ =28
  • サンプリング方法 =Euler
  • CFG スケール =12
  • シード =2870305590

成功すると下記の画像が得られる(NovelAIサービスで生成した絵と同一)。

成功したアスカの作例

なおAUTOMATIC1111の動作が少し不安定になる時があり、開始ボタンが押されたまま変化しない時があるが数秒程度待つと絵は生成される。但しこの症状が出た時は次に開始ボタンが押せなくなるのでブラウザのリロードボタンをクリックする。

より詳細な情報が掲載されているサイトを紹介。

rentry.org

一致しない時のトラブルシューティング

Troubleshoot Common "Hello Asuka" Errors (Euler)
imgur.com

 

まとめ:ノート

# ①GoogleDriveをマウントする
from google.colab import drive
drive.mount('/content/drive')
# ②実行コードのロード
!git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
%cd stable-diffusion-webui
# ③GoogleDriveからNovelAIDIffusionのモデルをコピー
!cp /content/drive/MyDrive/models/animefull-final-pruned.ckpt /content/stable-diffusion-webui/models/Stable-diffusion/
!cp /content/drive/MyDrive/models/animevae.pt /content/stable-diffusion-webui/models/VAE/
# ④実行コマンド
!COMMANDLINE_ARGS="--share --gradio-debug --gradio-auth me:qwerty" REQS_FILE="requirements.txt" python launch.py