Format Atlas

Comparar

Safetensors versus ONNX: pesos ou grafos do modelo

Safetensors armazena tensores nomeados. ONNX representa um modelo com grafo computacional, entradas, saídas e versões de operadores.

Qual formato você deve escolher?

Considere Safetensors para carregar pesos em um modelo compatível, ou ONNX para entregar um grafo a um ambiente de execução compatível.

Indicado para Safetensors

Armazenar e distribuir pesos tensoriais de aprendizado de máquina · Carregar pesos entre frameworks compatíveis

  • Trocar tensores e metadados básicos em vez de objetos Python arbitrários
  • Fluxos que inspecionam e carregam tensores selecionados

Indicado para ONNX

Trocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência

  • Inferência em runtimes que aceitam os operadores e opset do modelo
  • Trocar um grafo com entradas saídas e tipos

Informações básicas

CampoSafetensorsONNX
Extensão.safetensors.onnx
Tipo MIMEapplication/octet-streamapplication/octet-stream
Usos comunsArmazenar e distribuir pesos tensoriais de aprendizado de máquina · Carregar pesos entre frameworks compatíveisTrocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência
Como abrirUse uma biblioteca ou ferramenta de modelos compatível com Safetensors. Ferramentas compatíveis permitem examinar nomes, tipos e formas antes de carregar todos os pesos em um dispositivo. O cabeçalho JSON não transforma o arquivo inteiro em um documento de texto JSON.Carregue em um validador ONNX ou runtime compatível. Antes de implantar, confira versões IR e opset, operadores, tipos e formas de entrada/saída e suporte do runtime; compare saídas com o modelo de origem usando entradas representativas.
Exportar ou converterSalve os pesos usando uma API compatível com o framework do modelo. Converter uma entrada baseada em pickle pode desserializá-la; não carregue sem cuidado um arquivo de origem não confiável. Depois da conversão, compare nomes, formas, tipos, quantidade de elementos e saídas do modelo.Exporte pelo conversor ONNX do framework de origem e valide a estrutura com ONNX checker. Conversão bem-sucedida não garante equivalência numérica nem execução no dispositivo alvo. Se houver dados externos, mantenha o modelo e todos os arquivos referenciados juntos na distribuição.

Escolha por finalidade

Trocar tensores e metadados básicos em vez de objetos Python arbitrários

Armazenar e distribuir pesos tensoriais de aprendizado de máquina · Carregar pesos entre frameworks compatíveis

Safetensors

Fluxos que inspecionam e carregam tensores selecionados

Armazenar e distribuir pesos tensoriais de aprendizado de máquina · Carregar pesos entre frameworks compatíveis

Safetensors

Inferência em runtimes que aceitam os operadores e opset do modelo

Trocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência

ONNX

Trocar um grafo com entradas saídas e tipos

Trocar grafos computacionais e pesos de aprendizado de máquina com runtimes compatíveis · Levar modelos entre frameworks de treinamento e ambientes de inferência

ONNX

Ponto principal 1

Safetensors sozinho não define a arquitetura nem o código de inferência.

Mais sobre as diferenças

Ponto principal 2

ONNX pode conter tensores inicializadores e referenciar dados externos.

Mais sobre as diferenças

Mais sobre as diferenças

Não são substitutos diretos. Criar ONNX a partir de pesos exige a definição do modelo e uma exportação compatível. Mudar a extensão não cria um grafo.

  • O cabeçalho Safetensors registra nomes, dtype, shape e intervalos de dados. Confira separadamente índices de fragmentos, configuração, tokenizadores e outros requisitos.
  • Confira IR/opset, operadores e tipos ONNX no ambiente de execução e preserve referências aos pesos externos. Compare saídas com o mesmo pré-processamento e entradas representativas; validar a estrutura não garante precisão nem velocidade.

Perguntas frequentes

Safetensors é confiável independentemente da origem?

Não. Evita reconstruir objetos arbitrários com pickle, mas não garante a segurança da origem, do leitor, do código dependente ou do modelo.

Saiba mais

Usos e verificações relacionados

Verificações antes de entregar um modelo de IA

Referências e especificações