🤖

HuggingFaceのモデルが大きすぎたのでキャッシュの保存先を別のディスクに変更してみた

2023/03/12に公開

HuggingFaceのモデルが大きすぎた

HuggingFaceで公開されているBLOOMというモデルを手元のUbuntuで動かしてみたところ、ダウンロードされるモデルのファイルが5GB x 72個あるのでディスクが足りなくなりました。

こちらのUbuntuマシンは先日ディスクを増設したのでそちらにダウンロードすればよさそうです。

HuggingFaceのキャッシュの保存先を変更する

キャッシュの保存先はPyTorchの環境変数で変更できるようです。
https://huggingface.co/transformers/v3.1.0/installation.html
PYTORCH_TRANSFORMERS_CACHE で指定します。

docker環境の場合

docker環境の場合、キャッシュ用のボリュームを別に指定することになります。今回はdocker-composeを使っているので以下のようにしています。

増設したディスクは /home/tatefuku/Develop/disk01 にマウントしてあります。ここに hugging_face_cache フォルダを作って、そこをキャッシュの保存場所にしました。

version: '2.3'
services:
  deeplearning:
    build: build/.
    image: docker_whisper:1.0
    shm_size: '8gb'
    ports:
    - "8811:8811"
    - "6110:6110"
    runtime: nvidia
    environment:
      - NVIDIA_VISIBLE_DEVICES=0
      - PYTORCH_TRANSFORMERS_CACHE=/data_cache
    container_name: container_whisper
    hostname: host_whisper
    volumes:
    - volume_whisper:/data_root
    - volume_hugging_face_cache:/data_cache
volumes:
  volume_whisper:
    driver_opts:
      type: none
      device: /home/tatefuku/Develop/docker_whisper/local/notebook
      o: bind
  volume_hugging_face_cache:
    driver_opts:
      type: none
      device: /home/tatefuku/Develop/disk01/hugging_face_cache
      o: bind

確認

以下のコマンドでディスク容量を確認しながらモデルをダウンロードしたところ、意図したフォルダにダウンロードされていることがわかりました。

watch -n 5 df -h

Discussion