/usr/local/lib/python3.10/dist-packages/diffusers/loaders/lora.py in load_lora_weights(self, pretrained_model_name_or_path_or_dict, adapter_name, **kwargs) 105 """ 106 if not USE_PEFT_BACKEND: --> 107 raise ValueError("PEFT backend is required for this method.") 108 109 # if a dict is passed, copy it instead of modifying it inplace ValueError: PEFT backend is required for this method.
ValueError: PEFT backend is required for this method.
LoRA を使おうとして、上記のエラーが出るようになりました。
peft パッケージをインストールすれば解決するかと思いきやハマりましたが、
無事解決できたので、記録を残しておきます。
まぁ結果的に peft で解決するんですが。
前提
環境
Google Colab を使っています
インストールしているパッケージ
pip で以下のパッケージをインストールしています
!pip install -U diffusers["torch"] transformers accelerate controlnet_aux
問題となっているエラー (再掲)
/usr/local/lib/python3.10/dist-packages/diffusers/loaders/lora.py in load_lora_weights(self, pretrained_model_name_or_path_or_dict, adapter_name, **kwargs) 105 """ 106 if not USE_PEFT_BACKEND: --> 107 raise ValueError("PEFT backend is required for this method.") 108 109 # if a dict is passed, copy it instead of modifying it inplace ValueError: PEFT backend is required for this method.
PEFT とは
PEFT とは Parameter-Efficient Fine-Tuning の略らしいです。
A library for efficiently adapting large pretrained models to various downstream applications without fine-tuning all of a model’s parameters because it is prohibitively costly.
よくわからないですが、 モデルを効率的に適用してくれるライブラリ とのこと。
!pip install -U peft
でインストールをできるらしいです。
結論
diffusers のクラス (StableDiffusionPipeline とか) を使う前にインストールしてください。
エラーが出た後に追加インストールしてもダメでした。
やったこと
【1】エラーが出ることを確認
load_lora_weights() を使うところで ValueError: PEFT backend is required for this method. のエラーになりました。
【2】PEFT パッケージをインストール
エラーが出た後に調べ始めまして、 PEFT パッケージをインストールしました。
!pip install -U peft
【3】再度エラーになるコードを実行
再び load_lora_weights() を使うところで ValueError: PEFT backend is required for this method. のエラーになりました。
と思考し始めて、
なにか有効化するメソッド等があるのかもと思い、調べ始めて挫折しました。
【4】挫折後、着手するときにはラインタイムが切断されていたので再度インストールから
ということで、ここでサクセスする場合があることに気づきました。
【5】もう一度エラーが出る状態に戻す
・エラーが出ることを確認
・peft をインストール
・やっぱりエラーが出る
ここで、もしかして、、、とランタイムを再起動してみました。
まとめ
いつも最初に実行している pip install に仲間が1人増えました。
2日間に渡るハマりっぷりでした。