こんにちは、GMOインターネットグループ株式会社の長谷川です。
今回はConoHa VPSでのStable Diffusionの環境構築に関してお話して行こうと思います。
目次
Stable Diffusionとは
簡単に説明するとユーザー指定のキーワードから画像を描画するOSSの描画AIです。
2022/08/22にオープンソース化されました。
また、モデルの配布に関しては、商用および非商用の使用を許可されています。
https://github.com/CompVis/stable-diffusion
今回目指す部分
今回目指す部分としては以下2点あります。
- ConoHa VPSでのStable Diffusionの稼働(GPUなしの状態での稼働)
- Dockerコンテナとしての稼働
(後述で紹介するリポジトリは現在も開発が続いており、場合によっては稼働させるために手順の修正が必要になる可能性があります。2022/09/01現在での動作を確認していますのでご了承ください。)
ConoHa VPSでの稼働に関して
通常Stable DiffusionはGPUを使用しますが、ConoHa VPSで稼働させたいのでCPUのみで稼働をさせます。
よって、Intel CPUなどを使用してDeepLearningやAIのアクセラレータ技術を提供出来るツールキットのOpenVINO を使います。
【 VPSの用意 】
上記からVPSを選択します。
スペックとしては最低限16GBが良いと思われます。
Dockerを使って構築していくので イメージタイプ – アプリケーションタブ – Docker を選択します。
上記のイメージタイプを使うと初期段階からDockerとdocker-composeが使えます。
【Dockerfileの準備】
まずDockerfileとdocker-compose.yamlを配置するディレクトリを作成します。
mkdir stable_diffusion
cd stable_diffusion/
vim Dockerfile
vim docker-compose.yaml
次はDockerfileを書いていきます。
ベースイメージにはUbuntu 20.04を使います。
pyenv等を使用してPython環境と必要になるリポジトリをイメージ内に内包させます。
今回CPUのみでStable Diffusionを稼働させるためOpenVINO対応の以下リポジトリを使用します。
https://github.com/bes-dev/stable_diffusion.openvino
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update && apt install -y build-essential libffi-dev libssl-dev zlib1g-dev liblzma-dev libbz2-dev \
libreadline-dev libsqlite3-dev libopencv-dev tk-dev openssl git curl
RUN git clone https://github.com/pyenv/pyenv.git /root/.pyenv
ENV HOME /root
ENV PYENV_ROOT $HOME/.pyenv
ENV PATH $PYENV_ROOT/bin:$PATH
RUN export PYENV_ROOT="$HOME/.pyenv"
RUN export PATH="$PYENV_ROOT/bin:$PATH"
RUN eval "$(pyenv init -)"
RUN git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
RUN eval "$(pyenv virtualenv-init -)"
RUN export PYENV_VIRTUALENV_DISABLE_PROMPT=1
RUN pyenv -v
RUN pyenv install 3.8.12
RUN pyenv global 3.8.12 && pyenv virtualenv 3.8.12 sd && pyenv global 3.8.12/envs/sd
RUN apt install -y python3-pip
RUN python3 -m pip install --upgrade pip
RUN git clone https://github.com/bes-dev/stable_diffusion.openvino
RUN cd stable_diffusion.openvino/ && pip install -r requirements.txt
【docker-compose.yamlの準備】
docker-compose.yamlを書いていきます。
streamlit run demo_web.py で port 8501が起動するのでdocker-composeで設定します。
version: "3.3"
services:
ubuntu:
build:
context: .
dockerfile: ./Dockerfile
container_name: stable_diffusion
command: /bin/bash -c "cd stable_diffusion.openvino/ && streamlit run demo_web.py"
ports:
- 8501:8501
tty: true
【イメージビルド&起動】
buildには5-10分程度かかります。
upさせてから以下にアクセスします。
http://<VPS_IP>:8501/
完全に起動するまでは10分程度かかります
docker-compose build
docker-compose up -d
ブラウザから画面を確認するとテキスト入力欄があるので、早速画像生成していきましょう!!
今回のテーマは “data center engineer” でいきます。
(num_inference_steps:32で大体5分程度かかります。)
これは完全にデータセンターの雰囲気そのままの画像ですね、よくできています。
おわりに
ConoHa VPSとstable diffusionで描画AIいかがでしたでしょうか?
ConoHa VPSでは他にも様々な機能が使えますので、ご活用ください。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(424)
-
イベント(159)
-
カルチャー(35)
-
デザイン(17)
TAG
- 5G
- Adam byGMO
- AI
- AWX
- BIT VALLEY
- blockchain
- ChatGPT
- cloudnative
- CloudStack
- CM
- CNDO
- CNDT
- CODEGYM Academy
- ConoHa
- CS
- CSS
- CTF
- DC
- Designship
- Desiner
- DevSecOpsThon
- Docker
- DTF
- GitLab
- GMO Developers Day
- GMO Developers Night
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOイエラエ
- GMOグローバルサイン
- GMOデジキッズ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOリサーチ
- Go
- GTB
- Hardning
- Harvester
- HCI
- iOS
- IoT
- ISUCON
- JapanDrone
- Java
- JJUG
- K8s
- Kids VALLEY
- LLM
- MetaMask
- MySQL
- NFT
- NVIDIA
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- QUIC
- Rancher
- RPA
- Ruby
- Selenium
- splunk
- SRE
- SSL
- Terraform
- TLS
- TypeScript
- UI/UX
- VLAN
- VS Code
- アドベントカレンダー
- インターンシップ
- オブジェクト指向
- オンボーディング
- お名前.com
- カルチャー
- コンテナ
- スクラム
- スペシャリスト
- ソフトウェアテスト
- チームビルディング
- ドローン
- ネットワーク
- プログラミング教育
- ブロックチェーン
- ゆめみらいワーク
- リモートワーク
- 京大ミートアップ
- 基礎
- 多拠点開発
- 大学授業
- 宮崎オフィス
- 応用
- 技育プロジェクト
- 新卒
- 暗号
- 機械学習
- 決済
PICKUP