Hugging Face で共有されているAIモデルには、ユーザー登録しないとダウンロードやアクセスできないものもあります。今回はそのための準備方法を説明します。
Hugging Face のモデルを利用するには、ckptファイルをダウンロードして利用する方法とDiffusersライブラリを用いてアクセスする方法の2通りがあります。ユーザー登録が必要なモデルをそれぞれの方法で利用するためには以下の準備が必要です。
各方法に必要な事前準備
- ckptファイルをダウンロードして利用する場合:
- Diffusersライブラリを用いてアクセスする場合:
以下に1〜3の準備方法を説明します。
1. Hugging Face のユーザー登録
Hugging Faceにユーザー登録するには、まず以下のHugging Faceのサイトにアクセスします。
Hugging Face – The AI community building the future.
以下のようなページが表示されるので、右上の[Sign Up]をクリックします。
以下のような画面が表示されたら、「Email Address」と「Password」を入力して、[Next]をクリックします。
ユーザー情報を入力する以下の画面が表示されるので、入力したら「Terms of Service」と「Code of Conduct」を確認し同意したうえで、チェックボックスをチェックし、[Create Account]をクリックします。
以下のようにかわいいメールが届くので、リンクをクリックし、サイトにアクセスすれば登録は完了です。
2. モデルのライセンス条項等への同意
モデルを利用するのにライセンス条項等への同意が求められている場合は、以下の手順で同意しておく必要があります。ライセンス条項等の内容は、モデルカードのページに記載されています。
例えば、以前のStable Diffusion v1-4のモデルカード では、以下のように確認のための画面が表示されていました(現在は表示されていません)。ここで、ライセンスに関する事項を確認し「I have read ~」にチェックを入れて、[Access repository]をクリックするとモデルにアクセスできるようになります。
3. アクセストークンの取得
Diffusersライブラリからモデルにアクセスするには「アクセストークン(Access Token)」が必要です。このトークンを取得するには、まずHugging Face にログインします。
ログインすると右上にアイコンが表示されるので、そこをクリックしてメニューから[Settings]を選択します。
以下のような画面が表示されるので、左のメニューの[Access Token]をクリックして、「New token」ボタンをクリックします。
すると以下のようなダイアログが表示されるので、[Name]に適当な名前(例えば「Stable Diffusion」)を入力して、「Generate a token」ボタンをクリックします。[Role]は「read」のままにしておきます。
以下のように取得したトークンが表示されるので、右側にあるコピーアイコンをクリックしてクリップボードにコピーし、コードなどにペーストします。
アクセストークンの利用方法
ここで取得したアクセストークンは、パイプラインを作成するときに指定するとモデルにアクセスできるようになります。例えば、Stable Diffusion でプロンプトから画像を作成するText-to-Imageでは、以下のように指定します。
import torch
from torch import autocast
from diffusers import StableDiffusionPipeline
YOUR_TOKEN = "取得したアクセストークンをここに入力"
model_id = "CompVis/stable-diffusion-v1-4"
device = "cuda"
# プロンプト
prompt = "Mt. Fuji in the style of Gauguin"
# パイプラインの作成
pipe = StableDiffusionPipeline.from_pretrained(model_id, use_auth_token=YOUR_TOKEN)
pipe = pipe.to(device)
# パイプラインの実行
...
HTTPError: 403 Client Errorのエラーになる場合
ライセンス規約等に同意が必要なモデルは同意しないとアクセスできません。同意しないでアクセスしようとすると権限がないためエラーになり、以下のように「HTTPError: 403 Client Error: Forbidden for url: ~」が表示されます。