Gunakan alat pengunduhan resmi HuggingFace, huggingface-cli dan hf_transfer untuk mengunduh model dan kumpulan data dengan kecepatan tinggi dari situs mirror HuggingFace.
Skrip ini hanyalah enkapsulasi sederhana dari huggingface-cli. Ini dimaksudkan untuk memfasilitasi penggunaan saya sendiri. Jika Anda memerlukan fungsi lebih lanjut, silakan merujuk ke dokumentasi resmi dan memodifikasinya sendiri. Selain itu, pengguna dalam negeri juga bisa merujuk pada cara download yang disediakan di situs mirror HuggingFace.
Pembaruan 17/12/2023: Menambahkan parameter --include
dan --exlucde
untuk menentukan apakah akan mengunduh atau mengabaikan file tertentu.
--include "tokenizer.model tokenizer_config.json"
--include "*.bin"
--exclude "*.md"
--include "*.json" --exclude "config.json"
Dapatkan nama model yang diperlukan dari HuggingFace, seperti lmsys/vicuna-7b-v1.5
:
python hf_download.py --model lmsys/vicuna-7b-v1.5 --save_dir ./hf_hub
Jika Anda mengunduh model yang memerlukan otorisasi, seperti seri meta-llama, Anda perlu menentukan parameter --token
sebagai Token Akses Huggingface Anda.
Hal yang perlu diperhatikan:
(1) Jika --save_dir
ditentukan, file akan disimpan sementara di jalur default transformator ~/.cache/huggingface/hub
selama proses pengunduhan, setelah pengunduhan selesai, maka secara otomatis akan dipindahkan ke direktori yang ditentukan oleh --save_dir
, sehingga perlu diunduh Pastikan kapasitas di jalur default sebelumnya cukup.
Setelah mengunduh, Anda perlu menentukan jalur setelah menyimpan saat memuat menggunakan perpustakaan transformator, misalnya:
from transformers import pipeline
pipe = pipeline ( "text-generation" , model = "./hf_hub/models--lmsys--vicuna-7b-v1.5" )
Jika --save_dir
tidak ditentukan, maka akan diunduh ke jalur default ~/.cache/huggingface/hub
. Saat ini, saat memanggil model, Anda dapat langsung menggunakan nama model lmsys/vicuna-7b-v1.5
.
(2) Jika Anda tidak ingin menggunakan jalur absolut saat memanggil, dan tidak ingin menyimpan semua model di bawah jalur default, Anda dapat mengaturnya melalui soft link .
mkdir /data/huggingface_cache
~/.cache/huggingface/hub
, maka perlu dihapus terlebih dahulu: rm -r ~ /.cache/huggingface
ln -s /data/huggingface_cache ~ /.cache/huggingface
save_dir
saat menjalankan script download nanti, maka secara otomatis akan mendownload ke direktori yang dibuat pada langkah pertama: python hf_download.py --model lmsys/vicuna-7b-v1.5
from transformers import pipeline
pipe = pipeline( " text-generation " , model= " lmsys/vicuna-7b-v1.5 " )
(3) Skrip bawaan secara otomatis menginstal huggingface-cli dan hf_transfer melalui pip. Jika versi hf_transfer lebih rendah dari 0.1.4, bilah kemajuan pengunduhan tidak akan ditampilkan dan dapat diperbarui secara manual:
pip install -U hf-transfer -i https://pypi.org/simple
Jika terjadi huggingface-cli: error
coba instal ulang:
pip install -U huggingface_hub
Jika terjadi error pada hf_transfer
, Anda dapat mematikan hf_transfer melalui parameter --use_hf_transfer False
.
Sama seperti mendownload model, ambil zh-plus/tiny-imagenet
sebagai contoh:
python hf_download.py --dataset zh-plus/tiny-imagenet --save_dir ./hf_hub
--model
: Nama model yang ingin didownload di huggingface, misalnya --model lmsys/vicuna-7b-v1.5
--dataset
: Nama dataset yang akan didownload di huggingface, misalnya --dataset zh-plus/tiny-imagenet
--save_dir
: jalur penyimpanan file sebenarnya setelah diunduh--token
: Saat mengunduh model yang memerlukan login (Gated Model), seperti meta-llama/Llama-2-7b-hf
, Anda perlu menentukan token hugginface dalam format hf_****
--use_hf_transfer
: Gunakan hf-transfer untuk mempercepat pengunduhan. Ini diaktifkan secara default (Benar).--use_mirror
: Unduh dari situs mirror https://hf-mirror.com/, diaktifkan secara default (Benar), pengguna domestik disarankan untuk mengaktifkannya--include
: Unduh file yang ditentukan, seperti --include "tokenizer.model tokenizer_config.json"
atau --include "*.bin
download--exclude
: Jangan mengunduh file yang ditentukan, sesuai dengan penggunaan yang disertakan, misalnya --exclude "*.md"