SageMakerでも
AUTOMATIC1111したい
2023.4.18
@yoshidashingo
AWS Serverless Hero
n
p Oracle
SA
p 113 /
pAWS
n
( ) CTO
p SaaS
( )
pAWS DevOps
n
pAWS
(2012 )
pAWS Samurai 2014 / 2016
pAWS Serverless Hero
AWS
AWS Lambda
Amazon S3
ChillOutMix
AWS で生成系 AI を使用した構築のための新
ツールを発表
https://aws.amazon.com/jp/blogs/news/announcing-new-tools-for-building-with-generative-ai-on-aws/
Amazon Bedrock
https://aws.amazon.com/jp/bedrock/
AUTOMATIC1111してますか?
Stable Diffusion Web UI (非公式)=
AUTOMATIC1111
AUTOMATIC1111まわり
• 実質デファクト
• これで流行した
• Stable Diffusion 1.5
• 対応してるモデルが多い
• ただしバージョン古い
• 現在2.1が最新OSS公開
• Stable AI社がエコシステム
不慣れ
• 深津さんのアドバイザリで今後
の発展に注目
無限ループの罠
1. 狙いどおりのスクリプティング
2. 大量出力→仕分け→ハイレゾ化
3. GPUが欲しい
4. ハイレゾ化まで一気にバッチ化
5. GPUが欲しい
6. ControlNet (ポージング制御)→
バッチ処理終わらない
7. GPUが欲しい
クラウドでAUTOMATIC1111
• RTX 4090は高くて手がでない
• 基本的なクラウドアプローチ
• 手元で環境セットアップ→CUDAなしでもM1 MAXで動く
• PNG Info→txt2image、 txt2imageのスクリプト、VAE、Sampling
Method、スケール、Extensions、ControlNetが安定したらクラウド
で大量バッチ処理
• クラウド
• Google Colabolatory:正直一番ラク、ナレッジも多い。無料版は
早々に使い果たすのでPlus契約が吉【Money is Power】
• SageMaker Studio:SageMaker Studio Labが永久無料だが、GPU
ランタイムは24時間中8時間しか使えない、さらにテレホタイム的に
人気の時間帯はGPUの割り当てに失敗しがち
→SageMaker StudioでオンデマンドなGPUマシンを割り当ててやり
ましょう。【Money is Power】
1. SageMaker StudioでAUTOMATIC1111
• SageMaker Studio Lab用にカスタマイズされたAUTOMATIC1111
• すでに無効なURL(VAEやCheckpointファイル)があるのでよしなに修正する
• 上限緩和申請
• CUDAが要るのでP3インスタンス(GPU)を稼働する上限緩和を申請する
→ Studio KernelGateway Apps running on ml.p3.2xlarge instance
• ipywidgetsが入ってなければ入れる
• Webサーバー
• SageMaker Studioはデフォルトで外部公開できない
• Gradioをngrokに置き換えて、ngrokのアクセストークンを発行する
• インスタンスの起動しっぱなしに注意する(マジで!)
• Google Colabのように自動的にセッションタイムアウト(シャットダウン)しない
https://gist.github.com/ShMcK/d14d90abea1437fdc9cfe8ecda864b06
!pip install ipywidgets
2. 大量に生成した画像のとりまわし課題
• デフォルトで以下に生成される
• 大量に生成するとWebui上のプレビューはほとんど機能しない、
zip化してもUIがリフレッシュしない
• 基本的にはパラメータの検証はローカルでやってるので、保存
するか捨てるかの判断しかしない
• 直接触れるストレージに画像が収集されていればよい
/stable-diffusion-webui/outputs/txt2img-images/<⽇付フォルダ>
解決策
• マウント候補を考える
• 他同様Google Driveのマウントでいけないか?
• EFSやEBSは直接さわれないからAmazon S3をgoofysでマウントし
てCyberduckでローカルと同期するか?
• Amazon WorkDocs Drive
• 結果
• Google Drive → google.colabモジュールがないため使えない
• Amazon S3 → goofysでマウント先に書き出してエラーが発生した
らとても悲しい → セッション完了後にaws s3 syncしてCyberduck
→ 現時点で十分なUXを確保できる外部マウント方法はなさそう
→ バックアップや共有作業ディスクとしてのEFSやEBSは問題ない
→ AWSさんマジで自動シャットダウンお願いします
!aws s3 sync /root/stable-diffusion-webui/outputs s3://sd-outputs
Amazon Bedrock
https://aws.amazon.com/jp/bedrock/
Stable Diffusion with Brain Activity
• MRIで得られた脳活動から画像を高解像度/高忠実性で再構築
できる手法の研究
• 初期視覚野脳活動から推定される映像情報と高次領野脳活動か
ら推定される(文章由来)意味特徴を組み合わせ、Stable
Diffusion(v1.4)で画像を再構成できることを示した。
https://sites.google.com/view/stablediffusion-with-brain/
結論
1. GPUニーズはクラウドで解決可能。ただしSageMaker Studio
のWebUIニーズはほぼ想定されてない。
2. クラウド上のファイルのとりまわしにS3 Syncは万能。
3. 過去のできごとや彼女との馴れ初めシーンなど、画像が存在しな
いできごとの画像生成にBedrock経由のStable Diffusionが活
用可能かもしれない。とっかかりにAUTOMATIC1111はわかり
やすい。
4. 昨日の不便は、今日のイノベーション、明日のあたりまえ
AWSさんにお願い
1. カーネル(ランタイム)のセッションタイムアウト
2. google.colabライブラリのようなS3(など)マウントライブラリ
Momentoで
彼女に会話を覚えて
おいてほしい
2023.4.24
@yoshidashingo
SageMakerでもAUTOMATIC1111したい
SageMakerでもAUTOMATIC1111したい

SageMakerでもAUTOMATIC1111したい

  • 1.
  • 2.
    AWS Serverless Hero n pOracle SA p 113 / pAWS n ( ) CTO p SaaS ( ) pAWS DevOps n pAWS (2012 ) pAWS Samurai 2014 / 2016 pAWS Serverless Hero AWS AWS Lambda Amazon S3 ChillOutMix
  • 3.
    AWS で生成系 AIを使用した構築のための新 ツールを発表 https://aws.amazon.com/jp/blogs/news/announcing-new-tools-for-building-with-generative-ai-on-aws/
  • 4.
  • 5.
  • 6.
    Stable Diffusion WebUI (非公式)= AUTOMATIC1111 AUTOMATIC1111まわり • 実質デファクト • これで流行した • Stable Diffusion 1.5 • 対応してるモデルが多い • ただしバージョン古い • 現在2.1が最新OSS公開 • Stable AI社がエコシステム 不慣れ • 深津さんのアドバイザリで今後 の発展に注目 無限ループの罠 1. 狙いどおりのスクリプティング 2. 大量出力→仕分け→ハイレゾ化 3. GPUが欲しい 4. ハイレゾ化まで一気にバッチ化 5. GPUが欲しい 6. ControlNet (ポージング制御)→ バッチ処理終わらない 7. GPUが欲しい
  • 7.
    クラウドでAUTOMATIC1111 • RTX 4090は高くて手がでない •基本的なクラウドアプローチ • 手元で環境セットアップ→CUDAなしでもM1 MAXで動く • PNG Info→txt2image、 txt2imageのスクリプト、VAE、Sampling Method、スケール、Extensions、ControlNetが安定したらクラウド で大量バッチ処理 • クラウド • Google Colabolatory:正直一番ラク、ナレッジも多い。無料版は 早々に使い果たすのでPlus契約が吉【Money is Power】 • SageMaker Studio:SageMaker Studio Labが永久無料だが、GPU ランタイムは24時間中8時間しか使えない、さらにテレホタイム的に 人気の時間帯はGPUの割り当てに失敗しがち →SageMaker StudioでオンデマンドなGPUマシンを割り当ててやり ましょう。【Money is Power】
  • 8.
    1. SageMaker StudioでAUTOMATIC1111 •SageMaker Studio Lab用にカスタマイズされたAUTOMATIC1111 • すでに無効なURL(VAEやCheckpointファイル)があるのでよしなに修正する • 上限緩和申請 • CUDAが要るのでP3インスタンス(GPU)を稼働する上限緩和を申請する → Studio KernelGateway Apps running on ml.p3.2xlarge instance • ipywidgetsが入ってなければ入れる • Webサーバー • SageMaker Studioはデフォルトで外部公開できない • Gradioをngrokに置き換えて、ngrokのアクセストークンを発行する • インスタンスの起動しっぱなしに注意する(マジで!) • Google Colabのように自動的にセッションタイムアウト(シャットダウン)しない https://gist.github.com/ShMcK/d14d90abea1437fdc9cfe8ecda864b06 !pip install ipywidgets
  • 9.
    2. 大量に生成した画像のとりまわし課題 • デフォルトで以下に生成される •大量に生成するとWebui上のプレビューはほとんど機能しない、 zip化してもUIがリフレッシュしない • 基本的にはパラメータの検証はローカルでやってるので、保存 するか捨てるかの判断しかしない • 直接触れるストレージに画像が収集されていればよい /stable-diffusion-webui/outputs/txt2img-images/<⽇付フォルダ>
  • 10.
    解決策 • マウント候補を考える • 他同様GoogleDriveのマウントでいけないか? • EFSやEBSは直接さわれないからAmazon S3をgoofysでマウントし てCyberduckでローカルと同期するか? • Amazon WorkDocs Drive • 結果 • Google Drive → google.colabモジュールがないため使えない • Amazon S3 → goofysでマウント先に書き出してエラーが発生した らとても悲しい → セッション完了後にaws s3 syncしてCyberduck → 現時点で十分なUXを確保できる外部マウント方法はなさそう → バックアップや共有作業ディスクとしてのEFSやEBSは問題ない → AWSさんマジで自動シャットダウンお願いします !aws s3 sync /root/stable-diffusion-webui/outputs s3://sd-outputs
  • 11.
  • 12.
    Stable Diffusion withBrain Activity • MRIで得られた脳活動から画像を高解像度/高忠実性で再構築 できる手法の研究 • 初期視覚野脳活動から推定される映像情報と高次領野脳活動か ら推定される(文章由来)意味特徴を組み合わせ、Stable Diffusion(v1.4)で画像を再構成できることを示した。 https://sites.google.com/view/stablediffusion-with-brain/
  • 13.
    結論 1. GPUニーズはクラウドで解決可能。ただしSageMaker Studio のWebUIニーズはほぼ想定されてない。 2.クラウド上のファイルのとりまわしにS3 Syncは万能。 3. 過去のできごとや彼女との馴れ初めシーンなど、画像が存在しな いできごとの画像生成にBedrock経由のStable Diffusionが活 用可能かもしれない。とっかかりにAUTOMATIC1111はわかり やすい。 4. 昨日の不便は、今日のイノベーション、明日のあたりまえ AWSさんにお願い 1. カーネル(ランタイム)のセッションタイムアウト 2. google.colabライブラリのようなS3(など)マウントライブラリ
  • 15.