この投稿はKDDIテクノロジーアドベントカレンダーの5日目の記事となります。
SDXLの日本語版が公開されていたのでGoogleColabo上で試してみました。
前提条件
・Googleアカウント
・HuggingFaceアカウント
※2023/12時点では日本語版SDXLはHuggingFaceへのログインが必要になります。
環境情報
・GoogleColabo Pro (A100 GPU および ハイメモリ設定)
※実行時にシステムRAM上限を超過してしまったため有料プランで契約しています…。ほかにいい方法が無いか模索中。
バージョン情報
・diffusers 0.24.0
・transformers 4.35.2
・accelerate 0.25.0
・sentencepiece 0.1.99
準備
①HuggingFaceのアカウントが無い場合はHuggingFaceの「Sign Up」よりHuggingFaceアカウントを作成する。
②HuggingFaceにログイン後、右上のアイコンを押下し「Settings」を選択する。
③「Access Tokens」⇒「New token」を選択しHuggingFace Hubにログインするためのトークンを取得する。
実行手順
①以下URLを開き「ノートブックを新規作成」を選択する。
https://colab.research.google.com
②メニューより「ランタイム」⇒「ランタイムのタイプを変更」を選択し、ランタイムの設定を「A100 GPU」「ハイメモリ」に変更する。
※T4 GPUやV100 GPUでも問題無いと思いますが速度優先でA100にしています。
③下記コマンドを入力し画像の赤枠の矢印を押下してコマンドを実行する。
「diffusers」「transformers」「accelerate」「sentencepiece」がインストールされる。
!pip install diffusers transformers accelerate sentencepiece
④下記コマンドを実行しHuggingFace Hubにログインする。
「Token」の欄に先ほどHuggingFace公式ページより入手したトークンを入力し「Login」を押下する。
from huggingface_hub import login
login()
※ログインに成功した場合は下記の画像のように「Login successful」と表示される。
⑤下記コマンドを実行し日本語版SDXLをダウンロードする。
from diffusers import DiffusionPipeline
import torch
model_id = "stabilityai/japanese-stable-diffusion-xl"
pipeline = DiffusionPipeline.from_pretrained(model_id, trust_remote_code=True)
pipeline.to("cuda")
※HTTPError: 401となり「OSError: Cannot load model stabilityai/japanese-stable-diffusion-xl: model is not cached locally and an error occured while trying to fetch metadata from the Hub. Please check out the root cause in the stacktrace above.」と出た場合はHuggingFace Hubにログイン出来ていないため再度④を実行すること。
⑥下記コマンドを実行し画像を出力する。
※promptの部分を出力したい任意の文字列に変更する。
prompt = "侍 アート"
image = pipeline(prompt=prompt).images[0]
image
以上です。
次回はLCM LoRAも試してみます。