Hub documentation

Téléchargement des modèles

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Téléchargement des modèles

Bibliothèques intégrées

Si un modèle sur le Hub est lié à une bibliothèque prise en charge, le chargement du modèle ne prend que quelques lignes. Pour savoir comment accéder au modèle, vous pouvez cliquer sur le bouton « Utiliser dans Library » de la page du modèle. Par exemple, distilbert/distilgpt2 montre comment faire avec 🤗 Transformers ci-dessous.

Utilisation de la bibliothèque client Hugging Face

Vous pouvez utiliser la bibliothèque huggingface_hub pour créer, supprimer, mettre à jour et récupérer des informations depuis des dépôts. Par exemple, pour télécharger le modèle HuggingFaceH4/zephyr-7b-beta depuis la ligne de commande, exécutez

hf download HuggingFaceH4/zephyr-7b-beta

Consultez la documentation de téléchargement CLI pour plus d'informations.

Vous pouvez également l’intégrer à votre propre bibliothèque. Par exemple, vous pouvez charger rapidement un modèle Scikit-learn en quelques lignes.

from huggingface_hub import hf_hub_download
import joblib

REPO_ID = "YOUR_REPO_ID"
FILENAME = "sklearn_model.joblib"

model = joblib.load(
    hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
)

Utiliser Git

Tous les modèles du Model Hub étant des dépôts Git adossés à Xet, vous pouvez les cloner localement en installant git-xet et en exécutant :

git xet install
git lfs install
git clone git@hf.co:<MODEL ID> # example: git clone git@hf.co:bigscience/bloom

Si vous disposez d'un accès en écriture au dépôt de modèle concerné, vous pourrez également committer et pousser des révisions du modèle.

Ajoutez votre clé publique SSH à vos paramètres utilisateur pour pousser des modifications et/ou accéder aux dépôts privés.

Téléchargements plus rapides

Testez votre vitesse de téléchargement

Vous pouvez tester votre vitesse de téléchargement depuis le CDN de Hugging Face sur fast.hf.co. Cela exécute un test de bande passante rapide contre le serveur de bord HF le plus proche, ce qui vous aide à comprendre votre débit de base avant d’ajuster les paramètres.

Vous pouvez également mesurer la vitesse de téléchargement directement depuis le terminal à l’aide de l’extension CLI hf-speedtest :

hf extensions install julien-c/hf-speedtest
hf speedtest

Concurrence adaptative avec hf_xet

hf_xet est un package basé sur Rust qui exploite le backend de stockage Xet pour optimiser les transferts de fichiers grâce à la déduplication par morceaux. Par défaut, hf_xet utilise la concurrence adaptative : il ajuste automatiquement le nombre de flux de transfert parallèles en fonction des conditions réseau en temps réel, en commençant de manière prudente (1 flux) et en passant jusqu’à 64 flux concurrents selon la bande passante disponible.

Pour la plupart des machines — y compris les environnements de centre de données — les paramètres par défaut satureront déjà la bande passante réseau disponible. Pour les utilisateurs avancés sur des machines dotées d’une bande passante élevée et d’un disque rapide, HF_XET_HIGH_PERFORMANCE=1 augmente les limites de concurrence et les tailles de tampon mémoire, ce qui peut être utile lors du téléchargement parallèle de nombreux fichiers volumineux.

HF_XET_HIGH_PERFORMANCE=1 hf download ...

À partir de hf_xet 1.7.0, les tailles de tampon de téléchargement sont basées sur la mémoire disponible pour hf_xet, y compris les limites de mémoire des conteneurs, avec ou sans HF_XET_HIGH_PERFORMANCE=1. Avec les versions antérieures, n'utilisez HF_XET_HIGH_PERFORMANCE=1 que sur des machines disposant d'au moins 64 Go de RAM. Consultez Tampons de téléchargement pour les valeurs utilisées.

Avec hf-mount

Pour les grands modèles, vous pouvez monter un dépôt comme un système de fichiers local avec hf-mount au lieu de télécharger le dépôt complet. Les fichiers sont récupérés à la demande — seules les octets lus par votre code passent par le réseau.

brew install hf-mount
hf-mount start repo openai-community/gpt2 /tmp/gpt2

Les dépôts sont montés en lecture seule. Consultez Mount as a Local Filesystem pour les détails complets de la configuration, les options de back-end et la mise en cache.

Téléchargement derrière un proxy ou un pare-feu

Si votre réseau restreint le trafic sortant via un pare-feu ou un proxy, le téléchargement de modèles et de jeux de données nécessite plus que huggingface.co. Le contenu des fichiers est servi depuis des hôtes de stockage et de CDN distincts, et from_pretrained / hf download échouera si ces hôtes ne sont pas accessibles, même si huggingface.co lui-même est autorisé.

Autoriser les noms d’hôtes suivants (tous via HTTPS / port 443) :

Nom d'hôteObjectif
huggingface.coAPI du Hub, métadonnées et redirections de téléchargement
cas-server.xethub.hf.coAPI du protocole Xet, téléchargement et téléversement (États-Unis)
cas-server.xethub-eu.hf.coAPI du protocole Xet, téléchargement et téléversement (UE)
transfer.xethub.hf.coAPI de téléchargement du stockage Xet (États-Unis)
transfer.xethub-eu.hf.coAPI de téléchargement du stockage Xet (UE)
us.aws.cdn.hf.coBord du CDN (États-Unis)
us.gcp.cdn.hf.coBord du CDN (États-Unis)
cdn-lfs-us-1.hf.coLFS CDN (États-Unis)
cdn-lfs-eu-1.hf.coLFS CDN (UE)

Les téléchargements suivent les redirections HTTP depuis huggingface.co vers ces noms d’hôtes, de sorte que l’ajout de huggingface.co seul à la liste blanche n’est pas suffisant. Une ReadTimeoutError (plutôt qu’une erreur de connexion) survenant en cours de téléchargement indique généralement que la connexion initiale a réussi mais qu’un hôte de stockage ou de CDN est bloqué.

Le comportement des jokers dépend de la manière dont votre proxy correspond aux domaines. De nombreux proxies d’entreprise traitent une entrée de liste d’autorisation comme une correspondance de suffixe qui couvre les sous-domaines à n’importe quelle profondeur. Si c’est le cas, l’option la plus simple est d’autoriser les suffixes hf.co et huggingface.co — ceux-ci couvrent tous les points de terminaison de stockage et de CDN actuels et futurs.

Si votre proxy ne prend en charge que les jokers à étiquette unique (où *.hf.co correspond à cdn-lfs-us-1.hf.co mais pas aux domaines plus profonds us.aws.cdn.hf.co ou cas-server.xethub.hf.co), ajoutez les noms d’hôtes explicites du tableau ci-dessus à la liste blanche. Notez que *.xethub.hf.co ne couvre pas les hôtes de l’UE sous xethub-eu.hf.co, et que *.cdn.hf.co ne couvre pas les domaines à deux étiquettes us.aws.cdn.hf.co / us.gcp.cdn.hf.co.

Ces noms d’hôtes peuvent évoluer au fil du temps, à mesure que notre infrastructure de stockage et de CDN se transforme. Si votre politique de sécurité le permet, ajoutez les suffixes hf.co et huggingface.co (tous les sous-domaines) à votre liste blanche afin que vos règles ne soient pas invalidées lors d’un changement d’un point de terminaison spécifique.

Liste lisible par machine

Les noms d’hôtes ci-dessus sont également publiés au format JSON à l’adresse https://huggingface.co/.well-known/meta.json, vous permettant ainsi de générer des règles de proxy ou de pare-feu à partir de ce fichier plutôt que de recopier le tableau manuellement.

Le fichier évolue au fur et à mesure que des points de terminaison sont ajoutés ou supprimés. Récupérez-le lors de la construction de vos règles plutôt que de figer une copie.

Update on GitHub