Utilisez les outils de téléchargement officiels de HuggingFace, huggingface-cli et hf_transfer, pour télécharger des modèles et des ensembles de données à grande vitesse depuis le site miroir de HuggingFace.
Ce script n'est qu'une simple encapsulation de huggingface-cli. Il est destiné à faciliter ma propre utilisation. Si vous avez besoin de fonctions plus avancées, veuillez vous référer à la documentation officielle et la modifier vous-même. De plus, les utilisateurs nationaux peuvent également se référer à la méthode de téléchargement proposée sur le site miroir HuggingFace.
Mise à jour du 17/12/2023 : Ajout des paramètres --include
et --exlucde
pour spécifier s'il faut télécharger ou ignorer certains fichiers.
--include "tokenizer.model tokenizer_config.json"
--include "*.bin"
--exclude "*.md"
--include "*.json" --exclude "config.json"
Obtenez le nom du modèle requis auprès de HuggingFace, tel que lmsys/vicuna-7b-v1.5
:
python hf_download.py --model lmsys/vicuna-7b-v1.5 --save_dir ./hf_hub
Si vous téléchargez un modèle qui nécessite une autorisation, comme la série méta-llama, vous devez spécifier le paramètre --token
comme jeton d'accès Huggingface.
Choses à noter :
(1) Si --save_dir
est spécifié, le fichier sera temporairement stocké dans le chemin par défaut des transformateurs ~/.cache/huggingface/hub
pendant le processus de téléchargement. Une fois le téléchargement terminé, il sera automatiquement déplacé vers le répertoire spécifié. par --save_dir
, il doit donc être téléchargé. Assurez-vous au préalable qu'il y a une capacité suffisante dans le chemin par défaut.
Après le téléchargement, vous devez spécifier le chemin après l'enregistrement lors du chargement à l'aide de la bibliothèque des transformateurs, par exemple :
from transformers import pipeline
pipe = pipeline ( "text-generation" , model = "./hf_hub/models--lmsys--vicuna-7b-v1.5" )
Si --save_dir
n'est pas spécifié, il sera téléchargé dans le chemin par défaut ~/.cache/huggingface/hub
. À ce stade, lors de l'appel du modèle, vous pouvez utiliser directement le nom du modèle lmsys/vicuna-7b-v1.5
.
(2) Si vous ne souhaitez pas utiliser le chemin absolu lors de l'appel et ne souhaitez pas enregistrer tous les modèles sous le chemin par défaut, vous pouvez le définir via un lien symbolique . Les étapes sont les suivantes :
mkdir /data/huggingface_cache
~/.cache/huggingface/hub
, il doit d'abord être supprimé : rm -r ~ /.cache/huggingface
ln -s /data/huggingface_cache ~ /.cache/huggingface
save_dir
lors de l'exécution ultérieure du script de téléchargement, il sera automatiquement téléchargé dans le répertoire créé lors de la première étape : 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) Le script intégré installe automatiquement huggingface-cli et hf_transfer via pip. Si la version de hf_transfer est inférieure à 0.1.4, la barre de progression du téléchargement ne s'affichera pas et pourra être mise à jour manuellement :
pip install -U hf-transfer -i https://pypi.org/simple
Si huggingface-cli: error
se produit, essayez de réinstaller :
pip install -U huggingface_hub
S'il y a une erreur concernant hf_transfer
, vous pouvez désactiver hf_transfer via le paramètre --use_hf_transfer False
.
Identique au téléchargement du modèle, en prenant zh-plus/tiny-imagenet
comme exemple :
python hf_download.py --dataset zh-plus/tiny-imagenet --save_dir ./hf_hub
--model
: Le nom du modèle à télécharger sur huggingface, par exemple --model lmsys/vicuna-7b-v1.5
--dataset
: Le nom de l'ensemble de données à télécharger sur huggingface, par exemple --dataset zh-plus/tiny-imagenet
--save_dir
: le chemin de stockage réel du fichier après téléchargement--token
: Lors du téléchargement d'un modèle nécessitant une connexion (Gated Model), tel que meta-llama/Llama-2-7b-hf
, vous devez spécifier le jeton hugginface au format hf_****
--use_hf_transfer
: Utilisez hf-transfer pour accélérer les téléchargements. Il est activé par défaut (True). Si la version est inférieure à celle activée, la barre de progression ne s'affichera pas.--use_mirror
: Téléchargement depuis le site miroir https://hf-mirror.com/, activé par défaut (True), il est recommandé aux utilisateurs nationaux de l'activer--include
: Téléchargez le fichier spécifié, tel que --include "tokenizer.model tokenizer_config.json"
ou --include "*.bin
download--exclude
: ne télécharge pas le fichier spécifié, conformément à l'utilisation d'inclusion, par exemple --exclude "*.md"