La recherche en IA te passionne ?
Les papers et avancées qui comptent, expliqués simplement, chaque soir. Gratuit.
Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.
Choisis ton rythme
Gratuit · Pas de spam · Désabonnement en 1 clic
Exécution des charges de travail d'IA sans frais d'égressions
Dans le domaine de l'intelligence artificielle, les équipes sont souvent confrontées à un problème majeur : les modèles et les ensembles de données sont généralement hébergés dans une région spécifique d'un fournisseur de cloud, tandis que les GPU nécessaires pour le développement, l'entraînement ou le déploiement peuvent se trouver sur un autre cloud. Cette séparation entraîne des frais de transfert de données entre clouds, une dépense non négligeable pour accéder à ses propres données. Avec l'essor des technologies de cloud computing, cette problématique devient de plus en plus courante et coûteuse.
Hugging Face, en collaboration avec SkyPilot, propose une solution à ce problème. En stockant les modèles et les ensembles de données sur le Hub de Hugging Face, et en utilisant SkyPilot pour exécuter les calculs sur n'importe quel cluster équipé de GPU, les utilisateurs peuvent éviter ces frais. Il suffit de monter un Hugging Face Bucket ou tout dépôt Hub dans un job SkyPilot à l'aide d'une URL hf:// et du HF_TOKEN déjà en possession de l'utilisateur. Le stockage sur Hugging Face ne facture pas de frais d'égressions, ce qui signifie que lire les données sur ces GPU est gratuit, peu importe le cloud utilisé.
Fonctionnalités nouvelles et améliorées
Les nouvelles fonctionnalités offertes par cette collaboration sont variées et apportent des améliorations significatives :
-
Intégration des données Hub dans n'importe quel job : Grâce à
store: hf, il est possible de monter un Hugging Face Bucket en lecture-écriture ou tout modèle, ensemble de données ou dépôt Space en lecture seule dans une tâche SkyPilot. Cela se fait via une URL hf:// et le HF_TOKEN existant, en utilisant les options MOUNT ou COPY. Cette intégration simplifie considérablement le processus de gestion des données pour les développeurs. -
Exécution sur n'importe quel GPU, sur n'importe quel cloud : SkyPilot est capable de trouver les ressources de calcul nécessaires pour un job à travers plus de 20 clouds, Kubernetes, Slurm, et même sur site. Cela permet d'utiliser n'importe quel GPU disponible, qu'il soit réservé ou à la demande, indépendamment du fournisseur. Cette flexibilité est cruciale pour optimiser l'utilisation des ressources et réduire les coûts.
-
Absence de frais d'égressions pour la lecture des données : Le stockage Hugging Face ne facture pas de frais d'égressions ni de frais CDN. Ainsi, peu importe où SkyPilot exécute le job, les modèles et ensembles de données peuvent être lus directement depuis le même bucket, sans nécessiter de copies entre clouds et sans frais supplémentaires. Cela représente une économie substantielle pour les entreprises utilisant des ressources cloud multiples.
-
Déduplication basée sur Xet : Les buckets sont construits sur Xet, ce qui signifie que seuls les morceaux modifiés des points de contrôle incrémentiels et des variantes de modèle sont stockés et transférés. Cette technologie de déduplication réduit considérablement le volume de données à transférer, optimisant ainsi l'efficacité du stockage.
-
Développement conjoint : Hugging Face et SkyPilot ont travaillé ensemble pour développer ces fonctionnalités, avec l'intégration des correctifs hf-mount FUSE par l'équipe de Hugging Face pour permettre le fonctionnement dans des conteneurs non privilégiés. Cette collaboration a permis de créer une solution robuste et flexible, adaptée aux besoins des développeurs modernes.
Hugging Face Storage : un atout majeur pour SkyPilot
Les tâches SkyPilot peuvent déjà interagir avec divers stockages d'objets cloud tels que S3, GCS, Azure, R2, et bien d'autres en les montant à un chemin local. Désormais, Hugging Face Storage rejoint cette liste sous store: hf, accessible via le schéma hf://. Cela couvre l'ensemble du cycle de vie des données, de la lecture des modèles et ensembles de données à l'écriture des points de contrôle et à la publication des modèles terminés. Cette intégration complète simplifie le flux de travail des développeurs et améliore l'efficacité opérationnelle.
Le backend hf-mount FUSE de Hugging Face permet à un bucket ou dépôt d'apparaître comme un chemin local, facilitant ainsi l'intégration avec d'autres montages FUSE de SkyPilot. Le téléchargement se fait au niveau du système de fichiers, ce qui signifie que seules les données nécessaires sont transférées, et un cache sur disque est maintenu pour optimiser les lectures répétées. Cette approche réduit la latence et améliore les performances globales du système.
Les avantages de la lecture paresseuse
La lecture paresseuse présente un avantage significatif : un processus peut commencer à travailler sur un fichier volumineux avant que celui-ci ne soit entièrement téléchargé. Cela permet de maintenir le GPU actif presque immédiatement, s'entraînant sur les données au fur et à mesure de leur arrivée, plutôt que de rester inactif pendant le transfert complet d'un ensemble de données ou d'un point de contrôle. Cette méthode est particulièrement bénéfique lors de la première époque, lorsque rien n'est encore mis en cache. COPY offre une alternative en téléchargeant les données via huggingface_hub sans exigences particulières.
Simplification de l'authentification
L'authentification est simplifiée grâce à l'utilisation du token déjà en possession de l'utilisateur. Il suffit de définir HF_TOKEN dans l'environnement et de le transmettre à une exécution avec --secret HF_TOKEN. SkyPilot utilise ce token pour le montage sur n'importe quel cloud où le job est exécuté, qu'il s'agisse d'AWS, GCP, Azure, Nebius, Lambda, ou d'un cluster Kubernetes personnel. Cette simplification réduit la complexité de gestion des clés d'accès et améliore la sécurité.
Élimination des frais d'égressions : un changement de paradigme
La disponibilité des GPU n'est plus limitée à un seul fournisseur. Pour obtenir suffisamment de GPU H100 et H200, les équipes maintiennent une capacité à travers plusieurs fournisseurs simultanément. SkyPilot est conçu pour gérer cette diversité, planifiant les jobs à travers plus de 20 clouds, Kubernetes, et sur site, et les exécutant sur n'importe quel cluster réservé disponible. Cette capacité à s'adapter aux ressources disponibles est essentielle pour maximiser l'utilisation des infrastructures existantes.
Le stockage d'objets a souvent été un obstacle en raison de sa nature régionale et par cloud. Alimenter un GPU ou un serveur d'inférence situé dans le centre de données d'un autre fournisseur nécessitait soit de dupliquer les données dans chaque bucket de fournisseur, soit de payer pour les transferts. Les frais d'égressions peuvent s'élever à environ 0,09 $/Go en dehors d'AWS, et même entre régions au sein d'un même cloud. Hugging Face Storage élimine ces coûts du côté de la lecture, offrant un stockage à 12-18 $/To/mois, accessible gratuitement depuis n'importe quel cluster. Cette réduction des coûts opérationnels est un atout majeur pour les entreprises cherchant à optimiser leurs dépenses cloud.
Un benchmark révélateur
Pour évaluer l'efficacité de cette solution, un petit ajustement a été réalisé : le modèle Qwen/Qwen3.5-4B a été entraîné sur l'ensemble de données HuggingFaceH4/Multilingual-Thinking avec TRL's SFTTrainer, en montant le modèle en lecture seule depuis son dépôt Hub et en écrivant chaque point de contrôle dans un Hugging Face Bucket. Le même SkyPilot YAML a été exécuté sur AWS, GCP, et Lambda, ne changeant que --infra.
Résultats mesurés :
-
Le modèle a été chargé gratuitement sur chaque cloud, grâce aux lectures paresseuses qui ne tirent que les données nécessaires. Le modèle était prêt à être entraîné en environ 30 secondes, sans frais d'égressions. Cette rapidité de mise en œuvre est cruciale pour les projets nécessitant des délais serrés.
-
Les points de contrôle ont été diffusés vers le bucket à des vitesses allant jusqu'à 170 Mo/s, persistant au-delà de l'instance GPU. Cette efficacité de transfert garantit que les données sont disponibles là où elles sont nécessaires, sans retard.
-
Par cloud, les points de contrôle ont été écrits dans le bucket à des vitesses optimales, démontrant l'efficacité de la solution. Cette performance homogène à travers différents fournisseurs de cloud est un avantage significatif pour les entreprises opérant dans des environnements multi-cloud.
Stockage basé sur Xet : une déduplication efficace
Les Hugging Face Buckets, basés sur Xet, utilisent un chunking défini par le contenu pour diviser les fichiers en morceaux d'environ 64 Ko, stockant chaque morceau unique une seule fois. Cela permet une déduplication efficace dans plusieurs scénarios :
-
Points de contrôle incrémentiels et adaptateurs : seuls les morceaux modifiés sont téléchargés, réduisant ainsi la quantité de données transférées.
-
Variantes de modèle partageant une base : les morceaux partagés sont stockés une seule fois, optimisant l'utilisation de l'espace de stockage.
-
Ensembles de données augmentés : seules les nouvelles lignes sont transférées, réduisant considérablement le volume de données déplacées. Cette optimisation est particulièrement utile pour les ensembles de données en constante évolution.
-
Re-téléchargements optimisés : seuls les hachages de morceaux sont transférés, accélérant le processus. Cette méthode permet de réduire la bande passante nécessaire et d'accélérer les opérations de téléchargement.
Conclusion
La déduplication automatique permet d'économiser considérablement sur le stockage et le transfert de données. Pour commencer, il suffit d'installer SkyPilot avec Hugging Face et de configurer un montage hf:// pour toute tâche SkyPilot. MOUNT nécessite une image de base avec glibc 2.34+ et /dev/fuse. Cette simplicité d'installation et d'utilisation est un atout pour les développeurs cherchant à intégrer rapidement cette technologie dans leurs flux de travail.
Une collaboration fructueuse
Le support initial de store: hf a été initié par Nikhil Jha, avec l'équipe de Hugging Face intégrant les correctifs hf-mount FUSE pour le montage dans des conteneurs non privilégiés. L'équipe de SkyPilot a intégré cette fonctionnalité dans le backend de stockage, rendant l'ensemble du processus open source et accessible à tous. Cette approche collaborative et ouverte favorise l'innovation et l'adoption par la communauté des développeurs.






