Google ColabでのAUTOMATIC1111 xformers関連の不具合と解決方法について(2024/5/22) #SD黄色本
「生成AI時代に つくる人をつくる」AICUの しらいはかせ です。
ご高評いただいております「画像生成AI Stable Diffusion スタートガイド」
(通称 #SD黄色本 )掲載の主要なプログラム(SBXL1, SBXL2)につきまして、編集部が本日、Google ColabでのAUTOMATIC1111において不具合を発見いたしましたので、本日、解説とともに修正を実施いたしました。
【現象1】SD1.5系でGradioURLが表示されない
読者の方からも同様のご報告を頂いております(ご連絡SBクリエイティブさんありがとうございます)。
【現象2】起動には成功するが画像生成に失敗する
「Generate」ボタンを押すと以下のようなエラー表示されます。
AUTOMATIC1111側にはこちらのエラーが表示されています
ChatGPTによるログと日本語解説はこちら
https://chatgpt.com/share/41ae4cbb-74ce-4e72-8851-42d1698f8bf0
なお、xFormersとは、Facebook Research (Meta)がオープンソースソフトウェアとして公開しているPyTorchベースのライブラリで、Transformersの研究を加速するために開発されたものです。xFormersは、NVIDIAのGPUでのみ動作します。NVIDIAのGPUを演算基盤として動作させるためのCUDAやそのビルド時のバージョンをしっかり管理する必要があります。
https://github.com/facebookresearch/xformers
【関連】PyTorchとCUDAバージョンエラーの警告について
実はPyTorchとCUDAバージョンエラーの警告も出ています。
PyTorch 2.2.1+cu121 with CUDA 1201 (you have 2.3.0+cu121)
Python 3.10.13 (you have 3.10.12)
AUTOMATIC1111のインストールマニュアルによると
https://github.com/AUTOMATIC1111/stable-diffusion-webui
とありますが、実際にGoogle Colab上でデフォルトで動作しているPythonは現在、Python 3.10.12です(!python --version で確認できます)。
Python3.10.6が推奨なので、だいぶ後続のバージョンを使っていることになります。この問題はGoogle Colab上でのPythonのメジャーバージョンに関する問題で、関係はありますが、文末で解説します。
AICU版の原作となったTheLastBenさんのリポジトリでも同様の問題がレポートされています。
Google Colabが xformers や JAX といった関連ライブラリを更新してしまうことが問題の根幹でもありますので不具合報告を Google Colab 側にも入れておきます。
【解決】とりいそぎの回避方法
Start Stable-Diffusionの手前にセルを追加して、以下のコードを入れて実行してください。これで問題の xformersをアンインストールし、解決したバージョンの xformers を再インストールできます。
この「xformers 0.0.26.post1」がインストールされていれば、問題なく動作するはずです。
【補足】Google ColabのPythonはいつまで現行のバージョン3.10.xなのか
ところで、いい機会なので Google Colab上でのPythonはいつまで現行のバージョンなのか、調べてみました。実は2024年4月にPython自体のメジャーバージョンアップが予定されているようです。
https://colab.google/articles/py3.10
最終リリースとなる Python3.11.9 は2024年4月2日にリリースされているので、実はもういつ移行してもおかしくない時期なんですね…これはAUTOMATIC1111ユーザーにとってはたいへん重要なアップデートとなります。いきなり使えなくなるのは困るのでGoogle Colab上での切り替えも用意されると良いですね…。
Google Colab上での賢い方法を期待しつつ、さいごにPythonのメジャーバージョンのロードマップをチェックしておきましょう。
https://devguide.python.org/versions/
Python3.10は2026年中、Python3.11は2027年に終了(end-of-life ; EOL)が宣言されています。
AICU Inc.は生成AI時代のつくる人をつくるとともに、オープンソースソフトウェアや日本語コミュニティへの貢献を常に行っています。
書籍なのに最新のオープンソースソフトウェアがアップデートされる、
新感覚の画像生成AIの教科書「画像生成AI Stable Diffusion スタートガイド」の購入はこちらから! https://j.aicu.ai/SBXL