python3 機械学習・ディープラーニング

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

記事内に広告が含まれています。

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

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

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

動作環境

  • Windows 11

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

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

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

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

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

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

次に、キャッシュフォルダを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についてはこちらで解説しています。

容量の多いSSDやHDDの利用

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

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

おすすめのSSD

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

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

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インチ

おすすめ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

-python3, 機械学習・ディープラーニング