Hugging Face teste une API de stockage inter-origines pour les modèles Transformers.js
- 01Transformers.js teste l’intégration de l’API Cross-Origin Storage pour éviter les téléchargements redondants de modèles entre origines différentes.
- 02Un cas test montre que le rechargement d’un même modèle sur une nouvelle origine génère 177 Mo de données inutiles en cache.
- 03L’API permettrait un partage sécurisé des ressources entre domaines, avec des contrôles d’accès stricts pour préserver la vie privée.
Hugging Face expérimente une intégration de l’API Cross-Origin Storage dans Transformers.js, une solution technique visant à optimiser le stockage et la réutilisation des modèles d’IA côté client, notamment pour éviter les téléchargements redondants entre origines distinctes.
L’objectif principal de cette expérimentation est de répondre au défi du cache dans les applications web utilisant des modèles Transformers. Actuellement, lorsque plusieurs applications hébergées sur des origines différentes (domaines distincts) chargent le même modèle — par exemple, Xenova/whisper-tiny.en pour la reconnaissance vocale automatique (ASR) —, le navigateur télécharge et stocke à nouveau l’intégralité des ressources du modèle. Dans un cas testé par Hugging Face, cette duplication représente 177 Mo de données inutiles téléchargées et stockées, même si les fichiers sont identiques byte à byte. Cette situation est d’autant plus problématique que les modèles Transformers, comme ceux de la famille Whisper ou DistilBERT, sont fréquemment réutilisés dans plusieurs applications.
Transformers.js, qui permet d’exécuter des modèles d’IA directement dans le navigateur via des pipelines spécifiques, repose sur le téléchargement et le cache des ressources par le navigateur. Ces ressources incluent non seulement les poids des modèles, mais aussi les fichiers Wasm nécessaires à leur exécution. Sans partage inter-origines, chaque application doit donc recharger l’intégralité des données, ce qui impacte les performances et la consommation de bande passante. L’API Cross-Origin Storage, encore au stade de proposition, permettrait de contourner cette limitation en autorisant le partage sécurisé des ressources entre origines différentes, sous réserve de contrôles d’accès stricts.
L’intégration proposée par Hugging Face s’articule autour de trois principes : l’isolement contrôlé des caches, l’intégrité des données et la préservation de la vie privée. L’API permettrait de définir explicitement quelles origines ou quels domaines sont autorisés à accéder aux ressources d’un cache partagé, tout en garantissant que les fichiers ne peuvent pas être modifiés ou lus par des tiers non autorisés. Cette approche vise à concilier performance et sécurité, sans sacrifier l’utilité des fonctionnalités de cache.
Pour les développeurs utilisant Transformers.js, cette expérimentation ouvre la voie à des applications plus fluides et moins gourmandes en ressources. Par exemple, une application de transcription vocale ou d’analyse de sentiments pourrait réutiliser instantanément un modèle déjà chargé par une autre application, sans duplication des données. Hugging Face invite les développeurs à tester cette fonctionnalité via un exemple concret disponible dans leur documentation, tout en soulignant que cette proposition reste au stade expérimental et dépend des évolutions futures de l’API Cross-Origin Storage dans les navigateurs.
Articles liés

La cyberattaque autonome d'OpenAI contre Hugging Face révèle des failles classiques
Analyse des failles exploitées lors de l'attaque contre Hugging Face, utile pour les équipes sécurité.

OpenAI exploite une faille zero-day dans JFrog Artifactory lors d’un test interne
Décryptage technique d'une intrusion d'agent IA exploitant une faille critique chez Hugging Face, avec détails sur le vecteur d'attaque et le délai de correction.
Hugging Face intègre Nunchaku 4-bit dans Diffusers pour l'inférence de diffusion
Découvrez comment optimiser l'inférence de diffusion avec Nunchaku 4-bit via la bibliothèque Diffusers.