71.8K Views
May 11, 23
スライド概要
第1回Generative AI勉強会 関西 で発表した内容になります。個人が0から画像生成AIを作るとどうなるかを知ることができます。よいこのみなさんは真似しないようにしてください。
サラリーマン研究員。
フルスクラッチで作る 画像生成AI あるふ
自己紹介 ● あるふ (Twitter: @alfredplpl) ○ ○ もともとロボットやコンピュータビジョンの研究者 ■ Stable Diffusion が出る数ヶ月前に、画像生成 AIがヤバくなり始めていることに発見し、対策 のために、いろいろ活動し始めた 主な活動 ■ 画像生成AIの研究開発 ■ 画像生成AIのアウトリーチ活動 https://prtimes.jp/main/html/rd/p/000000002.000113219.html https://youtu.be/GwNm-3SXFD0
今日のトピック ● ● ● ● ● ● 私にとってのGenerative AIとは 画像生成AIとは Stable Diffusion を作ってみる Imagen を作ってみる 画像生成AIがもたらした結果 まとめ
私にとってのGenerative AIとは ● 私にとってのGenerative AIとは何かしらを入力して、文章、画像、音楽などのデー タを生成してくれるAIである。最近は大規模言語モデルの力が凄まじいので文字入 力が多い。 ○ ○ ○ ○ ○ ○ 文章生成AI: ChatGPT 画像生成AI: Stable Diffusion 動画生成AI: Gen-2 3D生成AI: Shap-E 音楽生成AI: AudioLDM など
画像生成AIとは ● ● ● 画像生成AIとは、文章などを入力し、画像を出力するAIである。このスライドでは、 入力を文章とした Text-to-Image を画像生成AIと仮に呼ぶことにする。 有名な画像生成AIとして、Stable Diffusion とImagen がある。 今日はこの2つに共通する仕組みと作り方を説明する
画像生成AIの仕組み(初心者編) ● 画像生成AIは主に大規模言語モデルと拡散モデルの2つで構成されている。 ○ ○ 学習時 ■ 大規模言語モデルは主に学習済みのものを使う。 ■ 画像生成AIを作るときは、入力文章に対する大規模言語モデルの出力 (Embedding)と画像 を元に拡散モデルを学習する。 ■ 拡散モデルは Embedding に応じたノイズの取り除き方をひたすら学習する 生成時 ■ ただのノイズを生成し、入力文章に応じて拡散モデルがノイズを取り除く 生成時 文章 大規模言語モデル Embedding ノイズ 拡散モデル 画像
Stable Diffusion を0から作ってみる ● Stable Diffusion はStability AIなどの会社や大学が作った画像生成AI Stable Diffusion は次のリポジトリを使うと作れる。 (なお、筆者は自分でハックした 1.x 系: https://github.com/harubaru/waifu-diffusion 2.x 系: https://github.com/waifu-diffusion/network-trainer ○ ○ ○ ● 方法 ○ ○ ハードウェア: RTX 4090 データ: パブリックドメインの画像 7万枚 https://github.com/CompVis/latent-diffusion
Stable Diffusion を0から作ってみた結果 ● なんかアニメっぽい海が生成できた ○ ○ ○ https://huggingface.co/alfredplpl/clean-diffusion-2-0-poc 試行錯誤したので、おおよそここまで 4ヶ月程度 たぶん個人では世界初
Stable Diffusion を完全に作るとこれぐらいかかる ● 最初にかかったのは6000万円程度、現在では700万円程度でできるらしい ○ ● ● https://www.mosaicml.com/blog/training-stable-diffusion-from-scratch-part-2 A100 256基 23億枚 https://github.com/Stability-AI/stablediffusion
Imagen を0から作ってみる ● Imagen とはGoogle が作った画像生成AI Google はいまだに公開できていない ○ ● Imagen は次のリポジトリを使うと作れる(再現実装 ○ ● https://github.com/lucidrains/imagen-pytorch 方法 ○ ○ ハードウェア: A100とか データ: パブリックドメインや加工自由な画像 7万枚 https://imagen.research.google/
Imagen を0から作ってみた結果 ● ● ● なんか浮世絵っぽいのができた だいたい1ヶ月程度 512×512以上のまともな画像を出したのは個人ではたぶん世界初
Imagen をまともに作るにはこれくらいかかる ● 実はStability AIの研究機関であるDeepFloydがIFという名前で再現 ○ ● https://huggingface.co/spaces/DeepFloyd/IF 方法 ○ ○ ハードウェア: A100 512基 データ: 10億枚 https://github.com/deep-floyd/IF
画像生成AIがもたらした結果 ● AIが画像を創造できるとはどういうことかさっぱりわからなくなった ○ ● 法律的にどう取り扱えばいいのか ■ 特に著作権法的にどうしたらいいのか? そんな問題をどうしたらいいのかを現在解決に取り組んでいます
まとめ ● ● 画像生成AIを0から作る方法を紹介した。 結論として、個人で作るものではないので、みなさんは真似しないようにしましょう。
おまけ: ファインチューニングしてみた ● Stable Diffusion をファインチューニングしてみた ○ ● https://huggingface.co/spaces/aipicasso/cool-japan-diffusion-latest-demo IFをファインチューニングしてみた ○ Soon (TM)