Format Atlas

Comparer

Safetensors ou ONNX : poids ou graphes de modèle

Safetensors stocke des tenseurs nommés. ONNX représente un modèle avec graphe de calcul, entrées, sorties et versions d’opérateurs.

Quel format choisir ?

Envisagez Safetensors pour charger des poids dans un modèle compatible, ou ONNX pour transmettre un graphe à un moteur compatible.

Adapté pour Safetensors

Stocker et distribuer des poids tensoriels d’apprentissage automatique · Charger des poids entre frameworks compatibles

  • Échanger des tenseurs et métadonnées de base plutôt que des objets Python arbitraires
  • Flux qui inspectent et chargent des tenseurs sélectionnés

Adapté pour ONNX

Échanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence

  • Inférence sur un runtime compatible avec les opérateurs et l’opset du modèle
  • Échange d’un graphe incluant entrées sorties et types

Informations générales

ÉlémentSafetensorsONNX
Extension.safetensors.onnx
Type MIMEapplication/octet-streamapplication/octet-stream
Usages courantsStocker et distribuer des poids tensoriels d’apprentissage automatique · Charger des poids entre frameworks compatiblesÉchanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence
Comment ouvrirUtilisez une bibliothèque ou un outil de modèles compatible avec Safetensors. Les outils compatibles peuvent afficher noms, types et formes avant de charger tous les poids sur un appareil. Un en-tête JSON ne signifie pas que le fichier entier est un document texte JSON.Chargez-le avec ONNX checker ou un runtime d’inférence compatible. Avant déploiement, vérifiez versions IR/opset, opérateurs, types et formes d’entrée/sortie et support du runtime ; comparez les sorties au modèle source sur des entrées représentatives.
Exporter ou convertirEnregistrez les poids avec une API prise en charge par le framework. La conversion d’une entrée basée sur pickle peut désérialiser cette entrée ; ne chargez pas sans précaution un fichier non fiable. Après conversion, comparez noms, formes, types, nombre d’éléments et sorties du modèle.Exportez avec l’exporteur ONNX du framework source puis validez la structure avec ONNX checker. Une conversion réussie ne garantit ni équivalence numérique ni exécution sur l’appareil cible. Avec des données externes, conservez le modèle et tous les fichiers référencés dans le même lot de distribution.

Choisir selon l’usage

Échanger des tenseurs et métadonnées de base plutôt que des objets Python arbitraires

Stocker et distribuer des poids tensoriels d’apprentissage automatique · Charger des poids entre frameworks compatibles

Safetensors

Flux qui inspectent et chargent des tenseurs sélectionnés

Stocker et distribuer des poids tensoriels d’apprentissage automatique · Charger des poids entre frameworks compatibles

Safetensors

Inférence sur un runtime compatible avec les opérateurs et l’opset du modèle

Échanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence

ONNX

Échange d’un graphe incluant entrées sorties et types

Échanger graphes de calcul et poids ML avec des runtimes compatibles · Transférer des modèles entre frameworks d’entraînement et environnements d’inférence

ONNX

Point clé 1

Safetensors seul ne définit ni l’architecture du modèle ni le code d’inférence.

En savoir plus sur les différences

Point clé 2

ONNX peut contenir des tenseurs d’initialisation et référencer des données externes.

En savoir plus sur les différences

En savoir plus sur les différences

Ces formats ne sont pas directement interchangeables. Créer un ONNX à partir de poids exige la définition du modèle et un export pris en charge. Renommer l’extension ne crée pas de graphe.

  • L’en-tête Safetensors décrit noms, dtype, shape et plages de données. Vérifiez séparément les index de fragments, paramètres, tokeniseurs et autres dépendances.
  • Vérifiez IR/opset, opérateurs et types ONNX avec le moteur et conservez les références aux poids externes. Comparez les sorties avec le même prétraitement et des entrées représentatives ; les contrôles structurels ne garantissent ni précision ni vitesse.

Questions fréquentes

Safetensors est-il fiable quelle que soit sa source ?

Non. Il évite la reconstruction d’objets arbitraires par pickle, mais ne garantit pas la sûreté de la source, du chargeur, des dépendances ou du modèle.

En savoir plus

Usages et vérifications associés

Vérifications avant de transmettre un modèle d'IA

Références et spécifications