Stable DiffusionをRadeon RX 570で動かして遊ぶ

2022年あたりから、不自然なまでに急速な盛り上がりを見せるAI。

画像生成系では、オープンソースのStable Diffusionが一部で盛り上がってる(まあアレ目的だろうが)。

しかし、以前チャレンジした時には手持ち環境だといまいち動かなかった(Radeon RX 570 8G)のだが・・・春になったことだし、再チャレンジしてみた。

したら、GCN世代のRadeonでもけっこう動いた。作者の神対応に感謝しつつ、設定などをメモっておこう。

※間違っている可能性がある。また、進化スピードが速いため最新情報の確認は必須。あと、ライセンスも要確認必須。

Stable Diffusionを使う方法 4つ

Stable Diffusionは、イギリスのStability AI社という企業が開発した模様。しかしこの会社の実態は謎。素人がパッと調査してもいまいち解らなかった。

公式
https://ja.stability.ai/stable-diffusion

オフィシャル的には自社製のDreamStudio利用を推奨しているが、当然制限がある(無料枠は約200枚)。

だが、ソースコードの提供形態がMIT Licenseになっているため、 Commercial use(商用利用)、Modification(改変)、Distribution(配布)が可能。

これに基づいて、世界各国に居るスキル保持者の有志が改変&配布しまくっている。というのが、2022夏~23年春の状態。

この改変版(フォークとかコピーとか移植とか・・・)について調査した結果、我々のような末端一般人が利用するためには、以下4形態の方法があるらしい。との結論に至った(2023年4月末現在)。

  1. 自前でコンパイル&コマンド操作(又はGUIを作成)
    GitHubのどこかにソースコードがあるはずなので、そこからモディファイしてビルドする(やり方はChatGPTあたりに聞いてほしい)
  2. 誰かがビルド&改変済み(上記1番)のパッケージを組み込んだウェブサイトを使う
    何社かやってる。基本無料+課金の体系が多い。ただしライセンス(使ってる学習データの)とセキュリティが怪しい
  3. 誰かがビルド&改変済み(上記1番)のパッケージをレンタルサーバーで実行する
    グラボ資源のあるレンサバが必要。なお、2023年4月中旬頃、Google Colaboratoryの無料プランはBANする方針になった模様
  4. 誰かがビルド&改変済み(上記1番)のパッケージをローカルマシンで実行する
    高スペックマシンとグラボが必要

まあ要するに、自作erと親和性が高いのは4番なわけだが、今使ってるRyzen7 2700+Radeon RX 570のマシンで、果たして動くのだろうか。

RTX3060買えば間違いないのだろうし、そういう煽りが半端ないのだが、こんなしょうもない遊びで4、5万使うとか無い。

というか、結果的に普通に動いたから、いらんよな。って話。

以下本題。

Stable-diffusion-webuiが流行ってる模様

先ほど4番の形態では、GitHubでフォロアー約5500人のAUTOMATIC1111氏が作成したStable-diffusion-webui(ブラウザ上でパラメータ等の操作ができるStable-Diffusionのカスタムパッケージ)が流行ってるようだ。

特にアレ界隈で・・・

そのせいか比較的情報が多いため、とりあえずこれで逝っとく。AGPL-3.0 licenseだし、ソースが公開されてるから危険度は比較的低い(だろう。注意 必ず自己責任で対応できる範囲のマシンで実行する事)。

これを動かすための、ざっくり手順は・・・

  1. Python 3.10.6をインストール(Pythonで書かれてるため)
    特定Verに依存してる模様
  2. Git(バージョン管理ツール)をインストール
    無くてもいいが有った方が楽、というか推奨されてる
  3. GitでStable-Diffusionの環境を作る(てか自分のPCにコピー)
    ローカルフォルダ作って、そこ(windowsなら右クリックしてGitを実行)に丸ごとクローンを作製
  4. 実行
    ローカルにコピーされた、webui-user.batファイルを実行
  5. 立ち上がったサービスにブラウザでアクセス
    デフォはhttp://127.0.0.1:7860/な模様
  6. チューニング
    Radeonは起動オプション追加必須(4-6を繰り返す)

※詳しい手順はInstall and Run on AMD GPUs という作者公式の説明ページを参照。

なお、当該ドキュメントには、lshqqytiger氏が作成したフォークバージョンを使うと書いてある。Direct-mlに移植されたバージョン(オリジナルはTensorFlow、たぶん)なようだ。ただし、not officiallyであり、現状では学習機能が使えない

NVIDIAグラボとのセットアップの差異は、気づいた範囲で書くと・・・Pythonインストール時に、Add to PATHにチェックを入れる(Windowsの環境変数に追加)。git clone する時にサブモジュールのアップデートが必要(と書いてある、追加コマンドで、だが、これが必要な理由は不明、何かヤバイ事をやっていないことを祈る)。

前述のとおり起動時には別途、webui-user.batを開き、6行目のCOMMANDLINE_ARGS=にオプション追加が必須。何パターンかあるようで、–precision fullと–opt-sub-quad-attentionは必須ぽい(たぶんメモリ管理の関係)。–medvramは入れた方が良い(メモリエラー出なくなる、速度はどうせ出ない)。

これで動いたが、–no-halfか–upcast-samplingのどちらかを入れた方が安定感が高い(気がする)。

本件、めちゃめちゃ「おま環」要素があると思うので、色々試した方がいい(特に起動オプション)。

まぁでもこれ、アンリアルエンジンよりは遥かにEasyだ。この程度の環境構築ができない人、2030年代は普通に生き残れないと思う。全部AIに仕事を奪われるだろう。いや、けっこうガチで。

Vroidでキャラ作成してUE5上で動かすまでの攻略メモ

生成して遊んでみた

まず最初に、皆さん「checkpoint」ファイル(学習データ、AIモデル)が別途必要って言うけど、最近のverは初回起動時にデフォルトのAIモデルを自動でDLする仕様になってる模様(Runway社のv1-5-pruned-emaonly、たぶん)

必要な人は別途追加で要入手だが、ライセンス確認は必須。特に商用利用は気を付けた方がいい(誰かが罠を仕掛けてる気配をやや感じる、MP3黎明期のFraunhofer、MIDIのJASRAC、ワンセグのNHK的な件)。

ということで、環境ができたので生成して遊んでみた。

描画設定

以下の設定にした(最適かどうかは解らない)。

  • txt2imgモード
  • DPM++ 2M
  • 解像度600×400
  • ステップ10
  • 12枚生成

指示(プロンプト、呪文)は以下のようにした。

「2055年秋、スティーブ・ジョブズ生誕100周年、特別記念モデル iPhone46 発表会の会場で、右手に iPhone46を持ちながらプレゼンをするアップルのCEO」

これをDeepL翻訳に入れて出てきた、

Apple’s CEO giving a presentation while holding the iPhone46 in his right hand at the presentation of the special commemorative model iPhone46 on the 100th anniversary of Steve Jobs’ birth in the fall of 2055.

をプロンプトに入れて生成。

・・・・・・

出た(約3分、15秒/枚)

いやー・・・さすが2055年・・・

iPhone46・・・

めっちゃでけぇー

さすが、生誕100周年特別記念モデル・・・

結論

楽しめる(個人利用の範囲で)。

そして、Radeon RX 570 8G で、まだ遊べる。

だがこれは、どう見ても、あくまでGenerate(生成)であって、明らかにCreate(創造)ではないな・・・

だから、クリエイターがジェネレートしてインスパイアするのはギリでアリ。程度だろうか(それが支持されるかは未知数)。

しかしながらこの、「ジェネレート」を「クリエイト」だと勘違いしやすい層が一部に居るのは間違いない。具体的には、平気で売ったりする中二病患者が出るだろう、そしてすごい大火傷を負うテンプレ。裏事情というか商業的にというか・・・そこまでがセットかもな風味な気配を感じるのは否めない。

あくまで個人の見解だが、現状ではそんな所感。

少なくとも、一部のグラボ買い煽りしてる勢力、あれはナシだろう。というのだけは間違いないと述べておきたい。

より楽しいというのは解らなくはないが・・・研究目的ならまだしも、なにか本末転倒感がある、むしろ愚かではないか? 10万円分、好きなクリエイターの作品を買った方が良いのではないか?

若しくは先ほどのリンク先の件、アンリアルエンジン等を使って、自分でちゃんと作った方が良いのではないか?

でもそう考えない層は絶対居るし、実際盛り上がってるのは確かなので・・・だから予想以上にグラボ価格が下がらないのだろうな。という推論も成り立つのは確かであり、これが一時期に噂されていたNvidiaの「30系在庫の処分は予定通りに進んでる」という謎の発言に繋がってるとしたら、何だかなぁ・・・と。

創造性が失われたオタクって、果たしてオタクなのかなー?

という疑問が・・・

まぁしかし、新時代に入ったのだけは間違いない。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA