Slide 1

Slide 1 text

1 オープンソース画像生成AIの今 さくらインターネット株式会社 Technical Communicator / Engineer 前佛 雅人 (@zembutsu) 2023年11月11日(土) 関西オープンフォーラム 2023 Stable Diffusion とウェブで画像生成できるAUTOMATIC1111入門

Slide 2

Slide 2 text

2 前佛 雅人 @zembutsu ES本部 教育企画部(いわゆる人事部です!) ぜ ん ぶ つ ま さ ひ と ⚫ ランニング ⚫ 料理 ⚫ 日本酒 ⚫ 現代視聴覚 ⚫ ゲーム ⚫ 趣味としての GenAI 日本一Dockerに詳しい人事(自称) Docker Meetup Kansai or Osaka 復活したい

Slide 3

Slide 3 text

3 Optimizing Deep Learning Workflows: Leveraging Stable Diffusion and Docker on WSL2 | Docker https://www.docker.com/blog/stable-diffusion-and-docker-on-wsl2/

Slide 4

Slide 4 text

さくらのクラウド《GPUプラン》ハンズオン~Stable Diffusionを使用したファンジーアートの作り方 - Qiita https://qiita.com/zembutsu/items/ae7809501b7e07700cf9

Slide 5

Slide 5 text

お断り • この情報発信は、技術情報の共有が目的です。 • 個人の意見・発表であり、所属組織の意見を代表するものではありません。

Slide 6

Slide 6 text

6 生成AI GenAI

Slide 7

Slide 7 text

すべての社会人に「生成AI」スキルが求められる時代 7 「生成AI時代のDX推進に必要な人材・スキルの考え方」 を 取りまとめました (METI/経済産業省) https://www.meti.go.jp/press/2023/08/20230807001/20230807001.html プレス発表 生成AI関連の記載をデジタルスキル標準と ITパスポート試験に追加 | プレスリリース | IPA 独立行政法人 情報処理推進機構 https://www.ipa.go.jp/pressrelease/2023/press20230807.html

Slide 8

Slide 8 text

ITパスポート試験も一部改訂:「生成AIに関する項目・用語例の追加」 8

Slide 9

Slide 9 text

AI • 「人工知能(AI)」 の決まった定義はない。「知能」や「知性」の解釈が異なる。 • 一方「人工」=「人の手を加えた、自然のままではない」については合意 9 AI (Artificaial Intelligence) 知識 探索・推論 機械学習・特徴表現学習 ディープラーニング 生成AI 対話型 (プロンプト)

Slide 10

Slide 10 text

言語モデル • 文章の出現しやすさを、確率によってモデル化し、単語の出現傾向を学習 10 I ? a pen

Slide 11

Slide 11 text

言語モデル • 文章の出現しやすさを、確率によってモデル化し、単語の出現傾向を学習 11 I have a pen I am a pen 😄 🤔 I ? a pen

Slide 12

Slide 12 text

文字生成の ChatGPT とは? • OpenAI 社が 2022年12月に発表した、いわゆる生成AIのサービス。 • プロンプトと呼ばれる「命令」(条件)に基づく処理を行い、結果を出力する ように訓練されている。 • インターネット上の情報を元に、機械学習と人間による手作業の補正に よって組み上げられた大規模言語モデル(LLM)の GPT を持つ。 12 Large Language Model Generative Pre-trained Transformer

Slide 13

Slide 13 text

13 画像生成AI

Slide 14

Slide 14 text

画像生成モデル • Discriminative Modeling(識別的モデリング) • 十分なデータがあれば、ある作者が描いた絵かどうかを予測し、識別する • Generative Modeling(生成モデリング) • 与えられたデータ群に類似した新しいデータを確率で予測し生成する 14 https://en.wikipedia.org/wiki/Portraits_of_Vincent_van_Gogh#/media/File:Vincent_Willem_van_Gogh_102.jpg

Slide 15

Slide 15 text

15 https://en.wikipedia.org/wiki/Portraits_of_Vincent_van_Gogh POINT ゴッホの絵だとは分かる だけど自分では描けない

Slide 16

Slide 16 text

画像生成モデル • “Denoising diffusion models” (DDM) • ノイズ除去によって “diffusion”(拡散) 手順を遡る方法を予測 • ランダムなノイズを与えた文字(プロンプト)に一致する画像に変える Mathematical Foundation of Diffusion Generative Models | Binxu Wang https://scholar.harvard.edu/binxuw/classes/machine-learning-scratch/materials/foundation-diffusion-generative-models

Slide 17

Slide 17 text

画像生成モデルとオープン化 • 2021年1月 OpenAI が DALL-E を発表(モデル非公開) • 2022年2月 Midjourney v1 リリース(モデル非公開) • 2022年4月 DALL-E 2 を発表(モデル非公開) • OpenAI 社が著作権を保持 • 2022年7月 Midjourney v3 モデルのオープンベータ提供開始 • 商用ライセンスを持つモデル • 生成者が著作権を保持 • 2022年8月 Stable Diffusionの一般公開 • GitHub 上にソースコードを公開(MITライセンス) • https://github.com/Stability-AI/stablediffusion 17

Slide 18

Slide 18 text

Stable Diffusion with Diffusers • https://github.com/huggingface/diffusers • PyTorch で生成できる • Apache-2.0 License • Python の diffusers ライブラリで Stable Diffusion を操作 • pip install diffusers .... 18 Stable Diffusion with 🧨 Diffusers https://huggingface.co/blog/stable_diffusion prompt = "a photograph of an astronaut riding a horse" image = pipe(prompt).images[0] # you can save the image with # image.save(f"astronaut_rides_horse.png")

Slide 19

Slide 19 text

学習と生成の過程 19 encode decode A walk through latent space with Stable Diffusion https://keras.io/examples/generative/random_walks_with_stable_diffusion/ 画像に戻す 文字情報(プロンプト)を準備 ベクトルに変換 ランダムノイズを加える モデル生成 補完する画像を作る

Slide 20

Slide 20 text

文字の命令(プロンプト)によって画像を生成できるようになった 20 best quality,Amazing,finely detail,extremely detailed CG unity 8k wallpaper, sakurahaai, space cat,crazy situation Negative prompt: (worst quality:2), (low quality:2), (normal quality:2) Steps: 135, Sampler: Euler a, CFG scale: 8, Seed: 1017978171, Size: 768x512, Model hash: 7f836ba907, Model: sakurahaai-v1, Clip skip: 2 3424160586

Slide 21

Slide 21 text

Stable Diffusion と モデル • 2022年8月にリリースされたモデル LAION-5B • CompVis、 Stability AI、LAION がモデルのトレーニング • 8GB 程度の VRAM を搭載した GPU でも動作する • 画像モデルは Stable Diffusion と異なるライセンス • そもそも、違法・有害なコンテンツの意図的な作成・共有はできない • 開発者は一切権利を主張せず、利用者は「自由」に使えるが、ライセンス遵守必要 • 再配布や商用サービスの利用ができるが、ライセンスを継承する必要 • 議論点 • 「オープンソース」ライセンスと「オープン」(vs プロプライエタリソフトウェア)の文脈 21 License - a Hugging Face Space by CompVis https://huggingface.co/spaces/CompVis/stable-diffusion-license stable-diffusion-license

Slide 22

Slide 22 text

画像生成AIの論点 • 学習過程:そのデータはどこのデータ? • 学習元データの存在 • Stable Diffusion の画像データとキャプション文字の出所は CC BY-SA 3.0 とされる / NSFW • 技術:画像生成AIは単に著作権保護された画像生成ではない • Stable Diffusion 等から学習元画像の再現を試みたが、成功したのは少ない[1] • 配布・著作物:国ごとの法的解釈の違い • 著作権法(日本)と文化庁の方針[2] • 『「アイディアは、著作物に該当せず、著作権法では保護されない」』 『画家の画風自体は保護しない(画風が類似していても著作権侵害とはしない)』 • 『「AI開発・学習段階」は利用可能、「生成・利用段階」で著作権者の利益を不当に害する場合等は許諾が必要』 • フェアユース(米国) 22 [1] Extracting Training Data from Diffusion Models https://arxiv.org/abs/2301.13188 [2] 令和5年度著作権セミナー「AIと著作権」 文化庁著作権課 https://www.bunka.go.jp/seisaku/chosakuken/pdf/93903601_01.pdf

Slide 23

Slide 23 text

学習過程 23

Slide 24

Slide 24 text

24 AUTOMATIC1111

Slide 25

Slide 25 text

AUTOMATIC1111 • Stable Diffusion 用ウェブユーザインタフェースの1つ • https://github.com/AUTOMATIC1111/stable-diffusion-webui • プログラミングやコマンド実行不要 • テキストの画像化等の基本機能 • 様々なモデルの切り替えや拡張が簡単 • AGPL-3.0 License 25

Slide 26

Slide 26 text

26 AUTOMATIC1111のセットアップ

Slide 27

Slide 27 text

AUTOMATIC1111 セットアップ方法 • 公式ドキュメント参照 https://github.com/AUTOMATIC1111/stable-diffusion-webui • Windows であれば、Docker Desktop + WSL2 は楽 • Windows 側で GPU を認識していたら、Docker 側では何もしなくても自動認識 • 不要になれば、すぐ消せる ( docker compose down → ディレクトリを削除 ) • Linux も Docker Compose は楽、とにかく楽 ( GPU ドライバ等は別途必要 ) • コマンド4つで入る • 詳細: さくらのクラウド《GPUプラン》ハンズオン~Stable Diffusionを使用したファンジーアートの作り方 - Qiita https://qiita.com/zembutsu/items/ae7809501b7e07700cf9 27 git clone https://github.com/AbdBarho/stable-diffusion-webui-docker.git cd stable-diffusion-webui-docker docker compose --profile download up --build docker compose --profile auto up --build

Slide 28

Slide 28 text

Docker Compose を使ったAUTOMATIC1111環境構築 28

Slide 29

Slide 29 text

テキストから画像を生成 • 「txt2img」 • 文字(プロンプト)を入力し、画像を生成 29

Slide 30

Slide 30 text

demo • LIVE DEMO 30

Slide 31

Slide 31 text

ディレクトリ構成 • 画像の保存先 • Dockerの場合「~/stable-diffusion-webui-docker/outputs/txt2img」 • 他のモデルの追加 • 「~/stable-diffusion-webui-docker/data/StableDiffusion/」に ダウンロードしたモデル「.safetensors」等を置き、WebUI の Reload • 正常に読み込まれると “Stable Diffusion checkpoint”に表示 • VAEは「.skpt」を「data/VAE/」以下に 31

Slide 32

Slide 32 text

32 振り返り

Slide 33

Slide 33 text

オープンソース画像生成AIの現状 • 生成AI (GenAI) • この1年で劇的に状況が変わった • 仕組みはオープンソース、モデルは自由に使えるライセンス • 画像生成AIとStable Diffusion • 簡単に使える Web UIの AUTOMATIC1111

Slide 34

Slide 34 text

参考文献・リファレンス • Stable Diffusion with 🧨 Diffusers • https://huggingface.co/blog/stable_diffusion • Diffusers • https://huggingface.co/docs/diffusers/index • Stability-AI/stablediffusion: High-Resolution Image Synthesis with Latent Diffusion Models • https://github.com/Stability-AI/stablediffusion • stable-diffusion-webui • https://github.com/AUTOMATIC1111/stable-diffusion-webui • AUTOMATIC1111/stable-diffusion-webui Wiki • https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki • AbdBarho/stable-diffusion-webui-docker: Easy Docker setup for Stable Diffusion with user-friendly UI • https://github.com/AbdBarho/stable-diffusion-webui-docker • Generative Deep Learning, 2nd Edition, David Foster, O’Reilly 34

Slide 35

Slide 35 text

Enjoy! • ご質問ございますか? Twitter: 個人用 @zembutsu 仕事関係 @zembutsu_works Instagram: @zembutsu さくらのクラウド《GPUプラン》ハンズオン~Stable Diffusionを使用したファンジーアートの作り方 - Qiita https://qiita.com/zembutsu/items/ae7809501b7e07700cf9