Rのつく財団入り口

ITエンジニア関連の様々な話題を書いているはずのブログです。

【雑記】じぶん Release Notes : Stable Diffusionに入門したり

ver 0.2023.05: 連休の進捗::Python機械学習モデルで動作する画像生成AIへのプロンプトエンジニアリングを追求しました(キリッ

 と言うとそれっぽいですが、実体は呪文によって女の子の絵姿を大量召喚する魔術である。と文章で書くとアウト感ある...
 ということで id:iwasiman (ver 0.2023.05)が今月もリリースのテストをしているようです。

青い空を待ちながら / Powered by Stable Diffusion!

2023年4月のまでのアウトプットと参加イベントを振り返ると

アウトプットしたものや参加したイベントなどをまとめてみました。

Github

アウトプットしたものや参加したイベントなどをまとめてみました。

SpeakerDeck
Blog等

LAPRASポートフォリオはこちらから

学び編

 会社の勉強会の資料に備えて『実践Node.js入門 ―基礎・開発・運用』を読んだ後、歴史のあたりを捉えなおそうと『改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで』をパラパラと読み始めました。表紙がほぼ同じで区別しにくいですが、初版が2010年~改訂新版が2016年~実に7年ぶりにまた改訂です。2023年春時点で手に入るJavaScriptの商業本の中で最新になります。前の版と見比べるとけっこう面白いのですが、ES2022までの最新情報がまとまっていてありがたい。

雑誌

Software Design 2023年5月号』を読みました。ばーんと特集の「Python×数学ブートキャンプ」、かなり濃くてぶっちゃけ難しい。自分はそもそも大学を出てから数学そのものをけっこう忘れてることがよく分かりました(完全死亡)。うーん最近画像生成Iを弄ってるし、機械学習系の本を1冊ちゃんと入門したほうがよいだろうか...

 そしてもうひとつの特集はこれが目当てだったWebAssemblyの話。フロントエンドのJavaScruptの「置き換え」ではなく「補完」の位置付けで、夢見られているほど万能というわけでないのが現状なんですねー。
 そして次回から連載で画像生成AIのStable Diffusionの話が始まるとのこと。AI術師見習いのワイ、歓喜である...

そしてWEB+DB PRESS Vol.134』も読み始めました。何はともあれ特集3「画像生成AIのしくみ Stable Diffusionの内部を探る」からです。
 使い方でなく内部の仕組み、原理の難しめの話なんですが、あーノイズとか拡散モデルってそういう意味なのね、Step数やCFG ScaleやSamplerなどなどいろんなパラメーターはこう繋がってくるのね...というのが分かってお役立ちでした。

と思ったらWEB+DB PRESS8月発売の号で「物価上昇による製作費の高騰など諸般の事情により」休刊とのこと。まぢか...だいぶ前からお世話になってきてたんですけどねえ...

gihyo.jp

Udemyとか

 そのうちやります。

GitHub

github.com

ポートフォリオサービス系

LAPRASのスコアですよ(2023/4/1時点)

LAPRASさんのスコアは技術力:3.46、ビジネス力:3.48、影響力:3.46を維持しています。技術力詳細が170万人中2万人以内だと、単純計算で上位11%ぐらいでしょうか。4月にLAPRAS4周年ということでめでたい。

技術力詳細だそうです(2023年4月)

発信力レベル

スキル偏差値v2は60.0でした
Findyさんの解析で発信力は全体の約36%に位置するレベル6で1284位。スキル偏差値v2によると60.0を維持しています。

 相変わらず有難く拝見だけしております。

おしごと編

  • 支援の形で関わっている社内のでかい基幹システムの先行リリースが完了、まずはよかったよかった。
  • 言語でPHP7系で動いているシステムのPHP8へのバージョンアップを試みたのですが、8.2系最新版にすると自作のフレームワーク部分のコードもちょい修正必要、そしてライブラリ類がコード直弄りの禁断の技を使っても結局正常動作せず手間取りました。いろいろ試行錯誤してひとまず8.0系なら行けることが分かって落ち着いたのですが、一気にバージョンアップしようとするとやっぱり何か起こるものですねえ。

  • 年の離れた同僚というか後輩が春からめでたく管理職に昇進してグループが新設されることになり、部下メンバーを一人つけようということになったとかで管理職にならないマンを続けている僕がプチ異動することに。
    かなりびっくりの急展開でしたが、2人だけでオンライン朝会するのも寂しいよねということで前いたグループと合同でやることになって司会もこれまで通り僕のまま。結局は異動前とあまり変わらないという、面白い展開になりました。若手もいるしこちらのほうが面白いですね。

  • 定期的にやっている勉強会の方もまたまた新人がジョインしてくれて賑やかになりました。メンバーが10人超えると全員で一度に集まるのは完全に無理なので、来れるメンバーだけ集まって資料を一部アップデートして再開催するという形態で続けています。

  • 若手が相手の際は少人数のほうが聞く側も質問しやすかったりでこういうのもありだなと思ったり。ベテラン層からも若手層からもいろんな反応が返ってきて発表する側も面白いです。最近Reactなどを弄ってる若手からフロントエンドの話もしてほしいというリクエストがあって、次回の新ネタはこちらで資料作成中...
  • マネージャーグループの一つ上の単位のグループでも今年新たなオンラインの催しが始まることになったり。社内でもChatGPTを使えるようにしていこうという動きが始まったりしながら、新年度が始まりました。今年は実際のプロジェクトで何か新しい動き、面白そうな動きがあるといいなあ。

ライフ編

健康と生活
  • BMIはいつもの20.0~20.2ぐらいでふつう。やはり真冬のほうが少し体重減ってますね。
  • Apple Watchによる平均睡眠時間の測定、2月:5h55m→3月:5h25m→4月:4h50m と大幅減少...(死) 温かくなってくると知らない間の覚醒が多くなってしまうようです。

  • 生活スペースのハンディクリーナーで新調したアイリスオーヤマのやつが稼働中。ちょっとした埃を吸うには便利なのですが、スマートな見た目なのでゴミがあまり溜められず、捨てるのがけっこう面倒というのが分かってきました。結局コードありの掃除機とあまり変わらないかも...?このへんどのツールも一長一短ですね。

 スマホをずっとiPhoneXSを使ってきましたが、そろそろ機種変更するかということでiPhone14 Proにしました。新色のディープパープルです。さすがにカメラは高性能になりましたが、普段の動作速度でCPUがよくなった感はあまりなかったかな...? やはりカメラ以外の性能はそろそろ頭打ちなのかなというのはあります。そして背面のでっぱりが慣れるまで気になりますw

  • LINEは端末移行前にバックアップの手続きをしてから旧端末を初期化するのが正解でしたが、これを忘れて順調に死亡。LINEする相手が奥様氏と妹しかいない寂しい人なので(笑)、結局アカウントを作り直しました。
  • 同じくGitHubも端末移行前に多要素認証の手続きするのが正解のようですが忘却して、旧端末初期化後にログインできない問題発生。あわや...と思ったのですがこれはGitHub側にメールすると数営業日後に本人確認してくれて、メールとWebを組み合わせた認証でまた入れるようにしてくれます。

 次回の機種変の時にはきっとまた忘れてそうですが気を付けよう... あと機種変のボーナスポイントをくれたので、今更ですがPayPayを始めてキャッシュレスに入門しました。(遅) これで食費が少し浮くぜ!

 下で触れますが、画像生成AIに入門しようと思ってマシンの必要スペックをもろもろ検討、ガレリアのゲーミングPCを新規導入することにしました。メモリ32GBは大正義!

 会社の福利厚生ポイントが今年度もまた使えるので、オンライン会議をさらに快適にしようと思って満足度が一番高いド定番のShokzの高級モデル、マイク付きの骨伝導ヘッドセットのShokz OpenCommを導入しました。
 耳の前に接触するところが震えて骨を通して音が伝わるのは不思議な感じですが、これは便利ですね。僕の場合は眼鏡と干渉しがちなのですが鏡を見てちょっと整えれば大丈夫です。歩いたり自転車に乗ったりしているときも周囲の音+音楽の両方が聞こえて面白い。子供氏のお迎えのときにも試しに使ってみています。眼鏡+これ+マスクの3つをつけると耳回りが渋滞してしまうのですが、まあ仕方ないかな...

子育て
  • 3月に保育園の卒園式が終わったと思ったら、今度は4月から数日は朝から学童クラブ~入学式~学校が稼働開始+午後は学童クラブということで、かなりバタバタしてきました。
  • 小学校は割と近くなんですが、新1年生はまあ心配ということで、朝は奥様氏が送って待ち合わせ場所で近所の子と合流~一緒に登校して校門まで見送ってバイバイ、奥様氏が物理出社する日は僕が担当ということで始めています。よそのご家庭でも新1年生は割とこんなですね。このタスクがあって朝がけっこうバタバタ、早起きしてるのに結局朝活で読書できない日が続いたりしました。このへん生活リズムを整えていきたいところです。
  • そして夕方は業務終了後の僕が歩いて学童クラブに迎えに行って先生とバイバイ、今日の出来事を聞きながら歩いたり近所の公園で少し遊んで道草を食ったりしてから帰ったりという感じでやっています。
  • 最初のうちは先生に出すプリントを思いっきり忘れたり、上履きや防災頭巾やらなんやらを指定でない日に持って帰ってきてしまったり、学校からのメール連絡が細切れにきて分かりにくかったり、プリント類が沢山来て分かりにくかったり、話を聞くとうちの子供氏と友達になってくれようとしている子がいるのに子供氏が肝心の相手の名前を記憶してなかったり(笑)、話を聞くと学童に乱暴な上級生の男子がいるらしかったり、エンジンがかかるまで家で宿題をなかなか始めなかったり、ま~毎日あれやこれやでドタバタしています。ワイの小学校1年生時代もこんなだったのだろうか...もう記憶が曖昧すぎて覚えとらん...

娯楽編

映像作品とか

 架空の大英帝国ロンドン+スチームパンク+スパイ物ということで自分の中で傑作認定されているプリプリの劇場版、プリンセス・プリンシパル Crown Handler』全6章予定、3章公開記念で1-2章をTV公開していたので一気に見ました。相変わらず素晴らしい...!うーん劇場で続きを見たいですが1時間の作品なんですよね。全部続けて観ないと忘れそう...

pripri-anime.jp

本とかコミックとか

『その着せ替え人形は恋をする』11巻を読了。今度はホラーゲームのコスに挑戦しています。前巻までで人間関係の一部に不穏な伏線が見えていましたが本巻で解消、なーんだという本作らしいネタでよかった。主人公組たちをなんやかんやで助けてくれる社会人組のお姉さんたちがもう3バカトリオみたいで良き...そして新章が始まりましたがなんだか作品全体がそろそろ終わりに向かっているような?

 画像生成AIを弄ってるのでやはりこれを見ておかねばということで、世界的にも珍しい、画像生成AIを使って製作されたコミックサイバーパンク桃太郎』を読了。イラストは「Midjourney」で作られています。自分はSF好きなのであまり違和感なく読めました。AIが苦手なテキストや看板もサイバー風の猥雑な街並みだと割とマッチしますね。
 書籍版では巻末に漫画の作り方の解説があるのですが、キャラの細部が違っても読者に認識されるように記号的な特徴を入れている、コマの都度プロンプトで時間をかけて画像生成するのでなくキャラ絵は最初にバッチ処理で大量に生成、シーンに合うものを選んで作っている...など、ちょっとでも画像生成AIを弄ってると納得できることが書いてあって、なるほどなあと。
 細かいネタではウィルス的なガジェットのサムシングがぬるぬる動く時の擬音が「Null..Null..」になってたり、ところどころ『ニンジャスレイヤー』ネタが入っていたり、屋台のラーメン屋のシーンでちゃんと『ブレードランナー』のあのネタをやってくれてるところに感動しました。(古典SF厨) 続編の鶴の恩返し編がちょっと見てみたい...

nlab.itmedia.co.jp

今月のプロンプトエンジニアリング:Stable Diffusionに入門したよ

 Bing Image Creatorもその後プロンプトが日本語でも動くようになりましたが、さいきん画像生成AIを弄っています。
 下の記事が参考になるのですが、現状課金のWebサービス形態で提供されている画像生成のAIもいくつか。しかしこの中でローカル環境を一度構築してしまえば完全無料でいくらでも試行でき、今後の拡張性も考えるとオープンソースで提供されているStable Diffusionが最有力となります。

blogcake.net

 導入のハードルの高さというネックがありますが、あくまで一般人の場合。代表的なStable Diffusion Web UIを入れるのに必要な手順の実体は

  • Python3.10.*のインストール
  • Gitのインストール
  • Gitを使ってGitHubからとってきて、
  • Python+JavaScriptで動いているWebアプリをコマンドからlocalhostで動かす

...という流れなので、ITエンジニアの方だったら特に詰まることはないでしょう。時々Pythonコードをその都度編集して画像を生成している紹介記事もありますが、パラメーターがめっさ多いので本格的にやるならWeb UI経由のほうが絶対に便利です。

 そして必要なマシンスペックのハードルが高いというのもネックではあり、ネットであれこれ情報が得られます。こういう時こそ必要な時に必要な分だけコンピューティングリソースを使えるクラウドじゃぁ~というのもクラウドエンジニア的には正しくはあり、Google Colaboratory での導入を紹介する記事もよく見かけます。しかし無料だと制限がありますし、あれこれ試すとなるとやっぱりローカル環境構築が最強かなあという感じです。QiitaにローカルかつDocker内で構築する記事も見かけました。

 必要なマシンスペックもいろいろ調査して、最初はMacBook買い替えも検討したのですが同じコストをかけるならWindowsのほうが断然オトク。そもそもモニターやキーボードや作業環境はかなり強化済みなので本体だけでいいし...ということでWindows11のデスクトップ、スペックを自分で選んで買えるドスパラのゲーミングPCでガレリアを注文することにしました。

www.dospara.co.jp

 画像生成AIを使うには当たってはNVIDIAのグラフィックボードはハイスペックであればあるほどヨシなのですが、ネット情報で一般的なのが、いろいろあるグラボの中で値段の上昇に見合った性能上昇を考えると「GeForce RTX3060 12GB」が入門用ミドルレンジではコスパが一番よいとの説。

chimolog.co

 これに従うと新マシンを導入するとして初期コスト16~17万ぐらいから実現が可能になります。これにいくつか増強して揃えました。HDも1TBレベル!メモリが32GB! 最高じゃないか...

 SNSとしてはAIイラスト投稿サイトの「ちちぷい」が昨年秋からスタート、もう会員7万人まで伸びたそうですね。プロンプトが公開されている作品も多く、日々いろんなアイデアが試されていて勉強になります。画面でユーザーのことを「呪文者」、作品に添えているプロンプトのことも「呪文」と用語として普通に使っているのも面白い。
 ちなみにChrome拡張機能で見たところサーバーはHerokuに立っていてフロントエンドはVue.js、バックエンド実装はPythonみたいです。

 練習ついでにちちぷいとpixivに投稿したところ、ちちぷいの方はそのジャンルのデイリーランキングに載ったりしてありがたやありがたや。片や2007年のサービス開始からすでに16年、累計登録ユーザー数が8400万人という老舗のpixivじゃあこうはいきませんね...。
 pixivの方は作品投稿時にAIイラストはもう固定でタグが入って判別できる情報を入れており、個人のフィードに流れてくる新作イラストもAIイラストを入れるか除外できるか設定可能、従来の人間によるイラストとSNS内で住み分けしていく展開になっています。

 ちちぷいの方はpixivに比べるとSNSとしての機能はまだまだ圧倒的に未熟なのですが、新しいコトがこれから始まろうとしているという新鮮な盛り上がりみたいのはあります。

www.chichi-pui.com

 Stable Diffusionは機械学習済みの「モデル」を切り替えることでフォトリアル風の絵とかアニメ調やイラスト調とか画風を切り替えられ、ネットでいろいろ公開されています。最近Twitterで見かけるマッチングサイト系の広告でもAI生成と思われる写真がちらほらあります。
 ワイ氏の興味はリアルな三次元フォトではなく現実に存在しない二次元イラストなので(笑)、アニメ・イラスト調の絵で背景も綺麗に出るCounterfeitという定番モデルのV2.5を主に使って、サンプルのイラストの呪文を変えて動作を試したりするところから練習を始めました。

#AIイラスト 緑の王国へ - iwasimanのイラスト - pixiv

#女の子 桜の下で記念撮影 - iwasimanのイラスト - pixiv

バックに同じくStable Diffusionを使っているHolaraというサービスでも無料でランダムプロンプトのイラストがもらえるので、同じプロンプトで似たような絵が生成できるかな~と思ったらやっぱり同じではだめで動作が違ったり。

#AIイラスト 次の夏を待ちながら - iwasimanのイラスト - pixiv

拡張機能でキャラ絵は背景から切り抜けるんですがやっぱりある程度までで、画像ソフトの方が綺麗に処理できますね。画像ソフトのテキスト入れと組み合わせれば、こういう冗談ポスター風のも作れます。ゲームの立ち絵とかに応用できそうです。

#AIイラスト ぷいぷい大セール実施中/夕暮れの海 - iwasimanのイラスト - pixiv

ランダムでない個性を保ったキャラクターを複数人登場させるのがまたテクがいるんですが、拡張機能+呪文の工夫をすると実現できます。

#AIイラスト やっと会えたね - iwasimanのイラスト - pixiv

はてなブログから貼り付けられるのはpixivの方なのでこちらを貼ってますが、試し始めて3週間ぐらいでこれぐらいの作品が作れるようになったので、AI術師見習いとしてはまあ十分かなと。

 AIさんは人間の自然言語でのテキスト表示が苦手(というか絵の中の看板や雑誌風の絵で意味のある言葉がまったく生成できない)、まだまだ手指の表現とか破綻もあるので画像ソフトも併用しておまけの文字入れもして作品にしています。
 脱Adobeの買い切り方式のグラフィックソフト、Affinity V2のユニバーサルライセンスを購入しておいてよかった...一度買っておくとMacでもWindowsでもすぐ使えるのはありがたい。Affinity Photo 2で画像のピクセルデータ直接編集、Affinity Designer 2で作品作成ということで両方使っています。

affinity.serif.com

 あとは追求したいのは同一のアイデンティティを保ったキャラクターをどう表現するかですね...Seed値というものを同一にするとある程度は再現できて、個別に追加学習させるテクもあるので、これから調べようとしているところです。

 なお賢明なる来訪者の皆様にはあえて申し上げるまでもないことですが、人間族の女の子でなく獣耳の女の子の絵で練習しているのは、元のお手本の絵がそうだったからであります (`・ω・´)キリッ

それでは~

 ChatGPTの登場でITエンジニアの仕事はどう変わっていくのか興味津々ですが、よい5月をお過ごしください~

青い空を待ちながら / Powered by Stable Diffusion!