Hugging Faceで「Cannot access gated repo / 401」が出るときの対処

Hugging Faceのモデルを読み込もうとすると、こう止まることがある。

GatedRepoError: 401 Client Error. Cannot access gated repo for url ...
Access to model X is restricted. You must be authenticated to access it.

これはモデルが「ゲート付き」または非公開で、ライセンス同意とトークン認証が必要、というサインだ。ダウンロードが拒否されている。

まずモデルページでライセンスに同意する

ブラウザでHugging Faceにログインし、そのモデルのページを開く。「Agree and access repository」などのボタンを押して、利用条件に同意する。ここを済ませないと、認証してもアクセスできない。

アクセストークンを発行する

Settings の Access Tokens から、read権限のトークンを作成する。

トークンでログインする

ターミナルでログインし、トークンを貼る。

Terminal window
huggingface-cli login

コードの中で渡す方法もある。

from transformers import AutoModel
model = AutoModel.from_pretrained("org/model", token="hf_xxx")

環境変数 HF_TOKEN を設定しておくと、自動で使われる。

まとめ

  • 原因はゲート付き/非公開モデルの未認証
  • 先にモデルページでライセンスに同意する
  • read権限のトークンを発行する
  • huggingface-cli logintoken=HF_TOKEN で認証する