馃惗Safetensors auditados como realmente seguros y convirti茅ndose en la opci贸n predeterminada

'Safetensors auditados y seguros, opci贸n predeterminada'

Hugging Face, en estrecha colaboraci贸n con EleutherAI y Stability AI, ha ordenado una auditor铆a de seguridad externa de la biblioteca safetensors, cuyos resultados permiten a las tres organizaciones avanzar hacia la adopci贸n de la biblioteca como formato predeterminado para los modelos guardados.

Los resultados completos de la auditor铆a de seguridad, realizada por Trail of Bits, se pueden encontrar aqu铆: Informe.

La siguiente publicaci贸n en el blog explica los or铆genes de la biblioteca, por qu茅 estos resultados de la auditor铆a son importantes y los pr贸ximos pasos a seguir.

驴Qu茅 es safetensors?

馃惗 Safetensors es una biblioteca para guardar y cargar tensores en los marcos m谩s comunes (incluyendo PyTorch, TensorFlow, JAX, PaddlePaddle y NumPy).

Para una explicaci贸n m谩s concreta, utilizaremos PyTorch.

import torch
from safetensors.torch import load_file, save_file

weights = {"embeddings": torch.zeros((10, 100))}
save_file(weights, "model.safetensors")
weights2 = load_file("model.safetensors")

Tambi茅n tiene varias caracter铆sticas interesantes en comparaci贸n con otros formatos, especialmente que la carga de archivos es segura, como veremos m谩s adelante.

Cuando est茅s utilizando transformers, si safetensors est谩 instalado, entonces esos archivos se utilizar谩n preferentemente para evitar problemas, lo que significa que

pip install safetensors

es probablemente lo 煤nico necesario para ejecutar archivos de safetensors de manera segura.

Gracias a la validaci贸n de la biblioteca, a partir de ahora safetensors se instalar谩 por defecto en transformers. El siguiente paso es guardar los modelos en safetensors de manera predeterminada.

Estamos emocionados de ver que la biblioteca safetensors ya est谩 siendo utilizada en el ecosistema de ML, incluyendo:

  • Civitai
  • Interfaz de usuario web de Stable Diffusion
  • dfdx
  • LLaMA.cpp

驴Por qu茅 crear algo nuevo?

La creaci贸n de esta biblioteca se bas贸 en el hecho de que PyTorch utiliza pickle internamente, lo cual es inherentemente inseguro. (Fuentes: 1, 2, video, 3)

Con pickle, es posible escribir un archivo malicioso que se haga pasar por un modelo y que otorgue control total de la computadora de un usuario a un atacante sin el conocimiento del usuario, lo que permite al atacante robar todos sus bitcoins 馃槗.

Aunque esta vulnerabilidad en pickle es ampliamente conocida en el mundo de la seguridad inform谩tica (y se reconoce en la documentaci贸n de PyTorch), no es un conocimiento com煤n en la comunidad de ML en general.

Dado que el Hugging Face Hub es una plataforma donde cualquiera puede cargar y compartir modelos, es importante realizar esfuerzos para evitar que los usuarios se infecten con malware.

Tambi茅n estamos tomando medidas para asegurarnos de que los archivos existentes de PyTorch no sean maliciosos, pero lo mejor que podemos hacer es marcar los archivos que parezcan sospechosos.

Por supuesto, hay otros formatos de archivo disponibles, pero ninguno parec铆a cumplir con el conjunto completo de requisitos ideales identificados por nuestro equipo.

Adem谩s de ser seguro, safetensors permite la carga perezosa y cargas generalmente m谩s r谩pidas (alrededor de 100 veces m谩s r谩pidas en CPU).

La carga perezosa significa cargar solo una parte de un tensor de manera eficiente. Esta caracter铆stica en particular permite el particionamiento arbitrario con bibliotecas de inferencia eficientes, como text-generation-inference, para cargar LLMs (como LLaMA, StarCoder, etc.) en varios tipos de hardware con m谩xima eficiencia.

Debido a que se carga tan r谩pido y es independiente del marco de trabajo, incluso podemos usar el formato para cargar modelos desde el mismo archivo en PyTorch o TensorFlow.

La auditor铆a de seguridad

Dado que el principal activo de safetensors es proporcionar garant铆as de seguridad, quer铆amos asegurarnos de que realmente las cumpliera. Por eso, Hugging Face, EleutherAI y Stability AI se unieron para obtener una auditor铆a de seguridad externa que lo confirmara.

Conclusiones importantes:

  • No se encontr贸 ninguna falla de seguridad cr铆tica que condujera a la ejecuci贸n de c贸digo arbitrario.
  • Se detectaron y corrigieron algunas imprecisiones en el formato de especificaci贸n.
  • Se corrigi贸 una validaci贸n faltante que permit铆a archivos pol铆glotas.
  • Se propusieron e implementaron muchas mejoras en el conjunto de pruebas.

En nombre de la apertura y transparencia, todas las empresas acordaron hacer que el informe sea completamente p煤blico.

Informe completo

Una cosa importante a tener en cuenta es que la biblioteca est谩 escrita en Rust. Esto agrega una capa adicional de seguridad proveniente directamente del propio lenguaje.

Aunque es imposible demostrar la ausencia de fallas, este es un paso importante para asegurar que safetensors es realmente seguro de usar.

Avanzando

Para Hugging Face, EleutherAI y Stability AI, el plan principal es cambiar al uso de este formato de manera predeterminada.

EleutherAI ha a帽adido compatibilidad para evaluar modelos almacenados como safetensors en su LM Evaluation Harness y est谩 trabajando en soportar el formato en su biblioteca de entrenamiento distribuido GPT-NeoX.

Dentro de la biblioteca transformers estamos haciendo lo siguiente:

  • Crear safetensors.
  • Verificar que funcione y pueda cumplir todas las promesas (carga perezosa para LLMs, un solo archivo para todos los frameworks, cargas m谩s r谩pidas).
  • Verificar que sea seguro. (Este es el anuncio de hoy.)
  • Hacer de safetensors una dependencia principal. (Esto ya est谩 hecho o pronto se har谩.)
  • Hacer de safetensors el formato de guardado predeterminado. Esto ocurrir谩 en unos meses cuando tengamos suficiente retroalimentaci贸n para asegurarnos de que causar谩 la menor interrupci贸n posible y suficientes usuarios ya tengan la biblioteca para poder cargar nuevos modelos incluso en versiones relativamente antiguas de transformers.

En cuanto a safetensors en s铆, estamos investigando la posibilidad de agregar caracter铆sticas m谩s avanzadas para el entrenamiento de LLM, que tiene su propio conjunto de problemas con los formatos actuales.

Finalmente, planeamos lanzar una versi贸n 1.0 en un futuro cercano, con la gran base de usuarios de transformers proporcionando el 煤ltimo paso de prueba. El formato y la biblioteca han tenido muy pocas modificaciones desde su creaci贸n, lo cual es una buena se帽al de estabilidad.

隆Nos alegra poder acercar un paso m谩s al aprendizaje autom谩tico para que sea seguro y eficiente para todos!

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Algoritmo ayuda en la detecci贸n temprana de enfermedades oculares relacionadas con la edad

Un nuevo algoritmo de aprendizaje profundo puede predecir si la degeneraci贸n macular relacionada con la edad de un in...

Aprendizaje Autom谩tico

Forjado en Llamas Startup fusiona la IA Generativa y la Visi贸n por Computadora para Combatir los Incendios Forestales.

Cuando los cielos de California se tornaron naranjas a ra铆z de los devastadores incendios forestales, una startup fus...

Inteligencia Artificial

Investigadores de la Universidad Nacional de Singapur proponen Mind-Video una nueva herramienta de IA que utiliza datos de fMRI del cerebro para recrear im谩genes de video

Comprender la cognici贸n humana ha hecho que la reconstrucci贸n de la visi贸n humana a partir de procesos cerebrales sea...

Ciencias de la Computaci贸n

El perro robot detecta mejor los nidos invasores de hormigas de fuego que los humanos.

Cient铆ficos en China y Brasil est谩n probando perros rob贸ticos e inteligencia artificial (IA) para detectar nidos inva...

Inteligencia Artificial

Google AI propone PixelLLM un modelo de visi贸n y lenguaje capaz de localizaci贸n de gran precisi贸n y alineaci贸n de visi贸n y lenguaje.

Los Modelos de Lenguaje Grande (LLMs) han utilizado con 茅xito el poder de los subcampos de Inteligencia Artificial (I...

Inteligencia Artificial

Los mejores mejoradores de audio de IA (2023)

Los profesionales y audi贸filos pueden beneficiarse de la mejor calidad de sonido posible gracias al software de mejor...