ま、面白いからといって、これで何かやろうとか考えていないのだが。
ローカル環境で数秒
当Blogでも以前にAI生成イラストをローカル環境で実施する事に挑戦した記事を書いたが、その時はプログラムが完走せずに試す事ができなかった。
だが、その後の調査で「Git」と呼ばれるStable Diffusionをクローン化するプログラムが足りない事が判明したので、そちらをネットで探してインストールしたところ、無事「Stable Diffusion UI」が完走、ローカル環境でプログラムが稼働する事を確認した。
「Stable Diffusion UI」は使用するモデルデータが必要になるのだが、これをネットでいろいろと配布しているサイトから集め、複数のモデルを準備したのだが、今回、改めてAnythingというモデルをインストールしてみた。
というのは、Anythingのバージョンが3から5へとアップデートされていたからだ。
Anythingは、そのバージョンによって初出が異なるという話があり、著作権の問題でいろいろ理解しておかねばならないところがあるのだが、どうも3系と5系は初出が同じという事のようなので、今回改めてAnything-v5.0を入れてみる事にした。
拡張子が最近主流の「.safetensors」となっているモデルデータだが、基本モデルデータを保存する場所は同じである。
で試しに出力してみたのだが…何か1枚あたりの画像生成時間がとんでもなく速いんだけど…。
時間にして2秒程度。
画像の大きさは512×512なので、そう大きいものではないし、プロンプトも比較的短めのものではあるのだが、それでも1枚2~3秒で出力できるというのは、ちょっと驚きだった。
なぜ速いのか?
いろいろ調べて見たら、この速さの秘密はモデルデータの拡張子が「.safetensors」に変わった、新しいタイプのものだかららしい。
もともとPythonのプログラムを実行する上でのセキュリティを考えた先に「.safetensors」というフォーマットに変わったらしいのだが、その処理速度も以前のものから比べて格段に速くなっているらしい。
「anything-v3.0」系のモデルも、現在は「.safetensors」のモデルデータに変わっているので、こちらに切替えた方がいいだろう。
私はAI生成イラストを行うには完全に後発の部類にはいるので、既に確立された手順の元で今まで蓄積されてきた恩恵をそのまま受ける形でAIイラストを生成する事になるが、後発の強みはこうした進化した形でそのシステムを導入できる事にある。
ま、それだけに仕組みや記述方式を今から入念に理解していく必要はあるし、今までの経緯を知らない事で、ちょっとした設定を知らないなんて事も多々ある。
早い時期に始めた方が良いのか、それとも後発組が良いのかは、その都度変わる話かもしれないが、私としては先人の知恵を拝借しながら、まずはその足跡を辿っていって見たいと思っている。
他に覚えるべき事
AIイラスト生成において、一つ覚えておく必要がある事は、生成するイラストの解像度はある程度小さめにしておき、生成して気に入ったら、それをAIによって高解像度化する、という手順を踏む方が良いという。
つまり、ムダにAIイラストを生成しGPUを酷使するより、最初に小さめの絵を生成し、気に入ったものを高解像度化する方が、負担が小さいという事のようだ。
なるほど、確かにその通りと言える。ならばこ高解像度の手順は覚えるべきだろう。
また、それ以前としてプロンプトの作り方も覚えるべき事だろうと思っている。
このプロンプト、ChatGPTでも使われる言葉だが、いわゆる命令文のようなもので、言ってみればプログラムと同じもの、という考え方ができる。
だからAIを自在に操るためには、その独特の命令手順を覚える必要がある。AIを自在に操るためには、そうした手順があって上手くいくものと言えるだろう。
この事から、AI生成イラストを生み出す人を絵師という言い方をしないのは、こういった理由があるからで、代わりに術士とか言われるのは、特定の術式に則った命令でAIを操作しているから、と言える。
と言うわけで、興味本位からやってみたAI生成イラストだが、思った以上に難易度が高く、ある程度プログラムを理解するぐらいの考えでいないと上手くいかない事が判った。
ただ、イラスト生成の結果がすぐに眼に見えてわかるので、やってみると非常に楽しい。
これをオンラインでやると1枚あたりの絵の生成に時間がかかったりして精神的にイライラして大変だが、ローカルで行うとGeForce RTX 4070Tiのおかげか生成はものすごく速いので、試行錯誤が非常に楽しい。
積極的にのめり込むのは環境的に難しいが、周辺情報を取得してちまちまやっていきたいと思う。
私も興味でAIイラスト生成やってみてます。
新しく買ったPCのグラボをnVidia製にしたのもこれが理由だったりします。
ローカルに構築したのは stable diffusion web ui で、テキトーにモデルやLora入れてアレコレ試してます。
最近は controlnet も導入したりもしてますが、まぁ…思うように行きませぬ。
今後、ますますAI技術が出てくると思うので、置いて行かれないように色々と、機械学習とかもやってみたいななんて思ってます。
返信
結構GPUのメモリがいろいろとネックになりそうで、本当はGPUに16GBのメモリが欲しいところ…
ところがNVIDIAのGPUでメモリ16GBを搭載したものって…RTX 4080以上しかないんだよね…。
GPUに20万円も出せないので、RTX 4070Tiでいろいろやってるんだけど、私の場合はメモリの前にモデルとかもっといろいろ試す必要があるという事が明白になり、現在自己反省中w
ChatGPTもそうだけど、プロンプトの構造をちゃんと理解しないと駄目だな、というのがここ最近の思う所。
結構プログラマの人はこういうのは得意なんじゃないかと思うと、私はまだまだ覚える事が多すぎて、現在は時間と能力との戦いになってる。
介護やりながらなので、なかなか時間も採れなくて、使える人(使っている人)との差がどんどんと広がる状況で、なんだか最近は凹み気味だったりします…。
返信