Artículo sobre Safetensors 0.1.0


Safetensors es una nueva herramienta de almacenamiento de tensores que es sencilla, rápida y segura. Este formato de archivo está diseñado para almacenar tensores y ha sido desarrollado por Hugging Face, siendo ampliamente adoptado en su popular framework de 'transformers'. El paquete Safetensor R es una implementación pura de R que permite la lectura y escritura de archivos Safetensor.

La versión inicial (0.1.0) de Safetensors ya está disponible en CRAN.

Motivación

La principal motivación detrás de Safetensors en la comunidad Python es la seguridad. Según la documentación oficial:

El objetivo principal de esta iniciativa es eliminar la necesidad de usar pickle en PyTorch, que es el formato predeterminado.

Se considera que pickle es un formato inseguro, ya que la carga de un archivo pickle puede resultar en la ejecución de código arbitrario. Aunque esto no ha sido una preocupación para los usuarios de R, ya que el analizador pickle incluido en LibTorch solo admite un subconjunto del formato pickle que no permite la ejecución de código.

Además, este formato de archivo presenta ventajas sobre otros formatos comunes, que incluyen:

  • Soporte para carga diferida: permite leer solo un subconjunto de los tensores almacenados en el archivo.

  • Copia cero: la lectura del archivo no requiere más memoria que el propio archivo. Aunque la implementación actual en R realiza una copia única, se puede optimizar si es necesario en el futuro.

  • Sencillez: la implementación de este formato de archivo es simple y no requiere dependencias complejas, lo que lo convierte en un buen formato para intercambiar tensores entre diferentes frameworks de aprendizaje automático y también entre distintos lenguajes de programación. Por ejemplo, puedes guardar un archivo de tensores Safetensors en R y luego cargarlo en Python, y viceversa.

Existen más ventajas en comparación con otros formatos de archivos comunes en este ámbito, y puedes consultar una tabla comparativa aquí.

Formato

El formato de Safetensors se describe en la siguiente figura. Básicamente, consiste en un archivo de encabezado que contiene metadatos, seguido de buffers de tensores sin procesar.

Diagrama que describe el formato de archivo de los tensores de seguridad.

Uso básico

Para instalar Safetensors desde CRAN, puedes usar el siguiente comando:

Nick Fewings en desempaquetar

Reutilizar

El texto y las figuras tienen licencia Creative Commons Attribution. CC POR 4.0. Las figuras que han sido reutilizadas de otras fuentes no están cubiertas por esta licencia y pueden reconocerse por una nota en su pie de foto: "Figura de…".

Citación

Para atribución, cite este trabajo como

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

Cita 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}
}

¿Nos apoyarás hoy?

Creemos que todos merecen entender el mundo en el que viven. Este conocimiento ayuda a crear mejores ciudadanos, vecinos, amigos y custodios de nuestro planeta. Producir periodismo explicativo y profundamente investigado requiere recursos. Puedes apoyar esta misión haciendo una donación económica a Gelipsis hoy. ¿Te sumarás a nosotros?

Suscríbete para recibir nuestro boletín:

Recent Articles

Related Stories

DEJA UN COMENTARIO

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí