View a markdown version of this page

Les échecs de déploiement du modèle Hugging Face Hub - Amazon SageMaker AI

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les échecs de déploiement du modèle Hugging Face Hub

Aperçu : Lorsque vous déployez des modèles depuis Hugging Face Hub à l'aide du type de source du huggingface modèle, le déploiement peut échouer pendant la phase de téléchargement du modèle. Cette section décrit les scénarios de défaillance courants et explique comment les diagnostiquer à l'aide des événements Kubernetes et des journaux de pods.

Diagnostiquer les échecs de déploiement de Hugging Face

Étapes de résolution des problèmes :

  1. Vérifiez l' InferenceEndpointConfig état et les événements pour plus de détails sur les erreurs :

    kubectl describe inferenceendpointconfig <name> -n <namespace>

    Recherchez les événements ayant une raison HuggingFaceDownloadFailed et une DeploymentFailed condition dans l'état, qui contiennent des messages d'erreur spécifiques.

  2. Si le conteneur d'initialisation échoue (le pod affiche Init:CrashLoopBackOff ouInit:Error), consultez les journaux du conteneur d'initialisation :

    kubectl logs <pod-name> -c hf-model-downloader -n <namespace>
  3. Vérifiez l'état du pod pour les codes de sortie du conteneur d'initialisation :

    kubectl get pod <pod-name> -n <namespace> -o jsonpath='{.status.initContainerStatuses[0].state}'

Jeton Hugging Face non valide ou expiré

Symptômes : échec du conteneur d'initialisation 401 Unauthorized ou Access denied erreur. Le pod entreCrashLoopBackOff.

Cause fondamentale :

  • Le jeton d'API Hugging Face contenu dans le Kubernetes Secret n'est pas valide, a expiré ou a été révoqué.

  • Le jeton n'a pas accès au modèle fermé.

Résolution :

  1. Générez un nouveau jeton sur huggingface. co/settings/jetons.

  2. Pour les modèles sécurisés, assurez-vous d'avoir accepté le contrat de licence du modèle sur la page du modèle Hugging Face Hub.

  3. Mettez à jour le secret Kubernetes avec le nouveau jeton :

    kubectl delete secret <secret-name> -n <namespace> kubectl create secret generic <secret-name> \ --from-literal=token=hf_NEW_TOKEN_HERE \ -n <namespace>
  4. Supprimez le module défaillant pour déclencher une nouvelle tentative de téléchargement :

    kubectl delete pod -l app=<iec-name> -n <namespace>

Pannes de connectivité réseau

Symptômes : le conteneur d'initialisation échoue en raison d'un délai de connexion ou d'erreurs de résolution DNS. Le pod entreCrashLoopBackOff.

Cause principale : les nœuds du cluster ne disposent pas d'un accès Internet sortant aux domaines Hugging Face (*.huggingface.coet*.hf.co). Cela est courant dans les sous-réseaux privés sans passerelle NAT.

Résolution :

  1. Vérifiez que votre VPC dispose d'une passerelle NAT configurée pour les sous-réseaux privés sur lesquels s'exécutent les nœuds de votre cluster.

  2. Vérifiez que les groupes de sécurité autorisent le trafic HTTPS sortant (port 443).

  3. Vérifiez que les ACL réseau autorisent le trafic sortant vers Internet.

  4. Testez la connectivité depuis le cluster :

    kubectl run test-connectivity --image=curlimages/curl --rm -it --restart=Never -- \ curl -sI https://huggingface.co
Note

Si l'accès Internet sortant n'est pas disponible, envisagez plutôt d'utiliser Amazon S3 ou Amazon FSx comme source du modèle. Téléchargez d'abord le modèle sur Amazon S3, puis déployez-le à l'aide du type de source du s3 modèle.

Modèle introuvable

Symptômes : échec du conteneur d'initialisation Repository Not Found ou 404 erreur.

Cause fondamentale :

  • modelIdC'est incorrect ou le modèle n'existe pas sur Hugging Face Hub.

  • Le modèle est privé et le jeton n'y a pas accès.

Résolution :

  1. Vérifiez que l'identifiant du modèle existe https://huggingface.co/<org>/<model> en accédant à votre navigateur.

  2. Assurez-vous que modelId le org/model format InferenceEndpointConfig est correct (par exemple,mistralai/Mistral-7B-Instruct-v0.3).