mardi, novembre 28, 2023

Blog Posit AI : safetensors 0.1.0


safetensors est un nouveau logiciel simple, rapide et sûr format de fichier pour stocker les tenseurs. La conception du format de fichier et son implémentation originale sont dirigées par Hugging Face, et cela devient largement adopté dans leur cadre populaire de « transformateurs ». Le package safetensors R est une implémentation pure-R, permettant à la fois de lire et d’écrire des fichiers safetensor.

La version initiale (0.1.0) de safetensors est désormais sur CRAN.

Motivation

La principale motivation des safetensors dans la communauté Python est la sécurité. Comme indiqué dans le documentation officielle:

La principale justification de cette caisse est de supprimer la nécessité d’utiliser pickle sur PyTorch qui est utilisé par défaut.

Pickle est considéré comme un format dangereux, car l’action de charger un fichier Pickle peut déclencher l’exécution de code arbitraire. Cela n’a jamais été un problème pour Torch pour les utilisateurs de R, puisque l’analyseur Pickle inclus dans LibTorch ne prend en charge qu’un sous-ensemble du format Pickle, qui n’inclut pas l’exécution de code.

Cependant, le format de fichier présente des avantages supplémentaires par rapport aux autres formats couramment utilisés, notamment :

  • Prise en charge du chargement paresseux : vous pouvez choisir de lire un sous-ensemble des tenseurs stockés dans le fichier.

  • Zéro copie : La lecture du fichier ne nécessite pas plus de mémoire que le fichier lui-même. (Techniquement, l’implémentation actuelle de R fait une seule copie, mais cela peut être optimisé si nous en avons vraiment besoin à un moment donné).

  • Simple : la mise en œuvre du format de fichier est simple et ne nécessite pas de dépendances complexes. Cela signifie que c’est un bon format pour échanger des tenseurs entre les frameworks ML et entre différents langages de programmation. Par exemple, vous pouvez écrire un fichier safetensors en R et le charger en Python, et vice versa.

Il existe des avantages supplémentaires par rapport aux autres formats de fichiers courants dans cet espace, et vous pouvez voir un tableau de comparaison ici.

Format

Le format des safetensors est décrit dans la figure ci-dessous. Il s’agit essentiellement d’un fichier d’en-tête contenant des métadonnées, suivi de tampons tenseurs bruts.

Diagramme décrivant le format de fichier safetensors.

Utilisation de base

Les safetensors peuvent être installés à partir de CRAN en utilisant :

Nick Fewings sur Unsplash

Réutilisation

Le texte et les figures sont sous licence Creative Commons Attribution CC PAR 4.0. Les figures réutilisées à partir d’autres sources ne relèvent pas de cette licence et sont reconnaissables à une note dans leur légende : « Figure de… ».

Citation

Pour l’attribution, veuillez citer ce travail comme

Falbel (2023, June 15). Posit AI Blog: safetensors 0.1.0. Retrieved from https://blogs.rstudio.com/tensorflow/posts/2023-06-15-safetensors/

Citation BibTeX

@misc{safetensors,
  author = {Falbel, Daniel},
  title = {Posit AI Blog: safetensors 0.1.0},
  url = {https://blogs.rstudio.com/tensorflow/posts/2023-06-15-safetensors/},
  year = {2023}
}

Related Articles

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Latest Articles