GGUF par rapport à SafeTensors : quel format convient à votre flux de travail ?

Choisissez GGUF lorsqu'un environnement d'exécution GGML compatible attend un conteneur prêt pour l'inférence réunissant les métadonnées du modèle et les données des tenseurs. Choisissez SafeTensors lorsque votre framework attend une sérialisation sûre des tenseurs accompagnée d'éléments distincts de configuration du modèle ou du tokeniseur. Ces formats ne constituent pas des niveaux de qualité comparables, et leur conversion peut modifier les tenseurs.

Un conteneur d'inférence autonome à côté d'un conteneur de tenseurs modulaire avec des ressources de configuration complémentaires.
Les packages GGUF pour un écosystème d'inférence spécifique ; SafeTensors sérialise les tenseurs de manière sécurisée et s'appuie généralement sur le package du framework environnant.

La brève comparaison

Question poséeGGUFSafeTensors
Rôle principalConteneur de modèle orienté vers l'inférence pour les exécuteurs GGMLSérialisation de tenseurs sécurisée et rapide
MétadonnéesLes métadonnées clé-valeur définies sont stockées dans le fichierPetite en-tête de métadonnées au format JSON ; la configuration du modèle est généralement placée à côté
QuantificationPrise en charge des types de tenseurs quantifiés et non quantifiésPeut stocker des tenseurs de types de données pris en charge ; l'extension seule ne dit rien sur une recette de quantification au niveau du modèle
Emballage typiqueSouvent un seul fichier de modèle principal pour un environnement d'exécution compatibleSouvent un ou plusieurs morceaux de poids, plus la configuration, le tokeniseur et d'autres ressources
ExécutionUtilisé dans un logiciel qui implémente l'architecture GGUF requiseCharger via un framework qui connaît la manière dont les tenseurs sont liés à un modèle

L'extension ne vous dit pas quel modèle est meilleur

Une conversion GGUF et une source SafeTensors peuvent représenter la même famille de modèles à des précisions différentes, ou des ajustements entièrement différents. La qualité de sortie, la vitesse et l'utilisation de la mémoire dépendent des tenseurs réels, de la quantification, des noyaux d'exécution et de l'équipement matériel, ce n'est pas un concours entre des extensions de quatre lettres.

C'est pourquoi la question de la « qualité de GGUF par rapport à SafeTensors » est incomplète. Comparez d'abord la révision source, la représentation des tenseurs et l'exécuteur prévu. Un GGUF quantifié soigneusement choisi peut constituer la meilleure copie d'inférence locale pour une machine, tandis que le checkpoint SafeTensors de plus haute précision reste la meilleure source pour la conservation ou l'entraînement.

Ce que signifie « sécurisé » dans SafeTensors

SafeTensors a été conçu pour éviter l'exécution de code arbitraire lors de la désérialisation et pour permettre un chargement rapide, sans copie, des poids. Cela est plus restrictif que de dire que tous les modèles stockés dedans sont fiables. Les poids peuvent toujours entraîner un comportement nuisible, les métadonnées peuvent toujours être trompeuses et le code environnant reste important.

GGUF est également un format structuré, et non un pickle Python. Un parseur fiable doit valider les bornes et les types, mais le nom ne constitue pas un audit de sécurité. Dans tous les cas, utilisez des chargeurs maintenus et évaluez la provenance.

La conversion est une transformation, pas une compression de sauvegarde

La conversion d'un modèle SafeTensors en GGUF peut inclure une correspondance d'architecture et une conversion de tenseur. La quantification pendant ce processus modifie délibérément les valeurs. Le fichier résultant peut être excellent pour l'inférence, mais il ne contient pas de promesse réversible permettant de reconstruire les octets originaux de SafeTensors.

L'inverse présente des limites similaires. Écrire des tenseurs à partir d'un GGUF vers SafeTensors modifie le conteneur et ne peut pas recréer la configuration externe, les limites de partition originales, les noms de tenseurs ou les valeurs avant la quantification. Conservez la source si ces détails sont importants.

Utilisez des sommes de contrôle à chaque frontière entre artefacts. Calculez le hachage de la source, consignez la commande de conversion et la version de l'outil, puis calculez celui du fichier dérivé. Vous saurez ainsi quels octets précis ont été testés et déployés.

Choisissez lors de la prochaine opération

Une politique de conservation raisonnable peut conserver les deux

Il n'est pas contradictoire de conserver un checkpoint source unique et un GGUF opérationnel. Ils répondent à des questions de récupération différentes : « puis-je reproduire ou poursuivre le travail à partir de la source ? » et « puis-je restaurer le fichier exact utilisé par cette machine ? ». C'est la conservation de chaque conversion expérimentale sans provenance ni justification qui gaspille de l'espace.

Tensor Archive peut conserver les artefacts locaux que vous sélectionnez et prouver une restauration exacte au niveau des octets. Il ne convertit pas les formats et ne prétend pas qu'un dérivé quantifié contient les informations perdues lors de la conversion.

Lisez chaque format selon ses propres termes

Commencez par ce qu'un fichier GGUF contient et ce qu'un fichier SafeTensors contient. Si le véritable critère est l'espace, lisez pourquoi la compression et la quantification de SafeTensors sont des opérations différentes.

Références

Gardez la copie source et d'exécution originale.Télécharger gratuitement ↓