LoginSignup
0
0

LLM モデルの必要なファイルのみローカルに保存する方法

Posted at

Huggingface Hub リポジトリ内のすべてのファイルをダウンロードする

python の transformers パッケージを使って以下のコードを実行した場合、huggingface_hubからモデルのリポジトリ内にあるファイルをすべてダウンロードし始めます。

from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = 'model_name'
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

モデルのどのチェックポイントを使用するか迷っている人にとって、この手法は有用です。しかし、試験的にLLMを動かしたい人やストレージサイズが小さい人は、別のよりリソース消費量の少ない方法を望むかもしれません。

必要なファイルのみをダウンロードする

この方法は2段階の構成になっています。初めにモデルの重み以外の軽量なファイルのみをダウンロードします。次にモデルの必要な重みファイルのみをダウンロードします。必要なファイルのみをダウンロードするには huggingface_hub パッケージの snapshot_download を使用します。Huggingface 公式サイトに記載の通り、このモジュールを使用することで必要なファイルのみをダウンロードすることができます。

例えば、以下のように記載することでリポジトリ内の.safetensors以外のファイルをダウンロードできます。

from huggingface_hub import snapshot_download

repo_id="lysandre/arxiv-nlp" #huggingface hub上のリポジトリ名
local_dir="./llm"  # 保存先フォルダ名
snapshot_download(repo_id=repo_id, local_dir=local_dir, ignore_patterns=["*.safetensor"])

あとは、.safetensorsを huggingface hug から直接ダウンロードすることで、不要なモデルの重みによるストレージの圧迫や、ダウンロード時間を短縮することができます。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0