CLOVER🍀

That was when it all began.

TransformersやDatasetsといったHugging Faceのライブラリーを使った時に、モデルやデータセットがどこにダウンロードされるのかを確認する

Hugging Faceのライブラリー(TransformersやDatasetsなど)を使うと、学習済みのモデルやデータセットをHugging Face Hubから
ダウンロードしてきます。

これ、けっこう大きなサイズのものになるので、使わないものは削除しないとディスクがいくらあっても足りません。

なので、どこにダウンロードされるのかを確認してみました。

結論は、$HOME/.cache/huggingface/hubディレクトリ配下のようです。

Hugging Faceが開発しているツールおよびライブラリーである、Hub Python Libraryに記述があります。
こちらのページですね。

Manage huggingface_hub cache-system

Hub Python Library 0.20.1時点のものですが、以下のようなディレクトリ構成になっています。

<CACHE_DIR>
├─ <MODELS>
├─ <DATASETS>
├─ <SPACES>

この<CACHE_DIR>に相当するものが、Linuxでは$HOME/.cache/huggingface/hubのようです。カスタマイズは可能だそうな。

The <CACHE_DIR> is usually your user’s home directory. However, it is customizable with the cache_dir argument on all methods, or by specifying either HF_HOME or HF_HUB_CACHE environment variable.

位置づけとしては、これらは「キャッシュ」ということになります。

こういう構成例になります。

<CACHE_DIR>
├─ models--julien-c--EsperBERTo-small
├─ models--lysandrejik--arxiv-nlp
├─ models--bert-base-cased
├─ datasets--glue
├─ datasets--huggingface--DataMeasurementsFiles
├─ spaces--dalle-mini--dalle-mini

自分の環境だと、実行時点ではこうなっていました。

$ tree $HOME/.cache/huggingface/hub -L 2
$HOME/.cache/huggingface/hub
├── models--abeja--gpt2-large-japanese
│   ├── blobs
│   ├── refs
│   └── snapshots
├── models--rinna--japanese-gpt2-medium
│   ├── blobs
│   ├── refs
│   └── snapshots
└── version.txt

8 directories, 1 file

キャッシュのクリーンアップについてはこちらに書かれています。

Manage huggingface_hub cache-system / Clean your cache

これを見た感じ、Hub Python Libraryでキャッシュ管理をした方が正しいと思いますが、とりあえず増えていったら適当に消すことに
します…。

まずは置き場所だけ押さえておきましょう、ということで。