huggingfaceの.cacheの肥大化!シンボリックリンクで解決!

ふゅか
ふゅか
ねえ、Hugging Faceのキャッシュフォルダってどんどん大きくなるよね。解決方法はないかな?♪
はるか
はるか
あるよ。シンボリックリンクを使うといい。

1. Hugging Faceキャッシュフォルダのシンボリックリンク設定方法

Hugging Faceのモデルやデータセットを利用する際、キャッシュフォルダが大きくなることがあります。特にSSDの容量が限られている場合、Dドライブなどの大容量ストレージにキャッシュを移動させるのが便利です。今回は、シンボリックリンクを使用してキャッシュフォルダを移動する方法を説明します。

1.1. 動作環境

  • Windows 11

1.2. キャッシュフォルダの削除

まず、現在のキャッシュフォルダを削除します。ここでは、C:\Users\[myuser]\.cache\huggingfaceを削除します。[myuser]はあなたの使用しているユーザー名を使用する。キャッシュフォルダを移動させないで削除する理由は、キャッシュフォルダのサイズが大きくなっている場合、移動させるの時間がかかるためです。私の場合はSSDを使っても2日以上かかるということがエクスプローラーかわかっていたため、あきらめて削除しました。
削除前のキャッシュフォルダサイズは147GBにもなっていることがあります。

ふゅか
ふゅか
まずはキャッシュフォルダの削除からだね。SSDの容量が少ないと大変だもんね。

はるか
はるか
あと、シンボリックリンクを使うためには、対象のフォルダが存在しないようにする必要がある。

1.3. シンボリックリンクの作成

シンボリックリンクを作成するために、管理者としてコマンドプロンプトを作成します。

次に、キャッシュフォルダをDドライブに移動し、シンボリックリンクを作成します。以下のコマンドを使用します。

mklink /D C:\Users\[myuser]\.cache\huggingface D:\model_data

このコマンドは、C:\Users\[myuser]\.cache\huggingfaceD:\model_dataをリンクさせます。[myuser]はあなたの使用しているユーザー名にしてください。これにより、キャッシュデータがDドライブに保存されるようになります。

試しに、bertのモデルを使用して、キャッシュにダウンロードしてみたいと思います。

from transformers import pipeline,set_seed

set_seed(42)

pipe = pipeline('fill-mask', model='bert-large-cased',device=0)

out=pipe("The [MASK] is sleeping peacefully on the couch, curled up in a cozy ball, with the sunlight streaming through the window and warming its fur.")
out

Dドライブにモデルが配置されたことを確認できました。

bert-large-uncasedについてはこちらで解説しています。

bert-large-uncased を使ってみよう!MLMを試す!

2. 容量の多いSSDやHDDの利用

大容量のSSDやHDDを増設してシンボリックリンクを使用することで、効率的にストレージを管理できます。この方法を利用することで、Hugging Faceのモデルやデータセットを多くのデバイスに渡って使用する際に便利です。

ふゅか
ふゅか
大容量のSSDやHDDを使うのもいいアイデアだね。
はるか
はるか
そう。シンボリックリンクを使って効率的に管理できる。

2.1. おすすめのSSD

おすすめのSSDのリンクを張っておきます。

2.1.1. NVMe M.2対応SSD

Crucial(クルーシャル) P3plus 1TB 3D NAND NVMe PCIe4.0 M.2 SSD
Gen4対応の2TBのSSD
Samsung 990 PRO 2TB PCIe Gen 4.0 x4
Gen4対応の4TBのSSD
Samsung 990 PRO 4TB PCIe Gen 4.0 x4
Crucial(クルーシャル) T705 1TB 3D NAND NVMe PCIe5.0

2.1.2. SATA対応SSD

fanxiang SSD 4TB SATA3.0 6Gb/s 2.5インチ
シリコンパワー 4TB SSD SATA III 2.5インチ
Samsung 870 QVO 4TB SATA 2.5インチ
WD Blue SATA SSD 内蔵 4TB 2.5インチ

2.2. おすすめHDD

Seagate BarraCuda 3.5インチ 1TB
Western Digital ウエスタンデジタル WD Blue 内蔵 HDD ハードディスク 8TB
Seagate IronWolf Pro 3.5インチ 14TB 内蔵 ハードディスク HDD
Seagate IronWolf Pro 3.5インチ 16TB 内蔵 ハードディスク HDD
Seagate IronWolf Pro 3.5インチ 22TB 内蔵 ハードディスク HDD

PR