Comparer
GGUF ou Safetensors : distribution pour l’inférence et poids
GGUF distribue des modèles d’inférence aux implémentations compatibles fondées sur GGML. Safetensors stocke des tenseurs nommés ; la définition du modèle et l’environnement sont fournis séparément.
Quel format choisir ?
Envisagez GGUF pour l’inférence dans un environnement GGML compatible, ou Safetensors pour les poids d’une implémentation de modèle compatible.
Adapté pour GGUF
Stocker et distribuer des modèles d'inférence pour les moteurs GGML compatibles · Regrouper les informations du modèle et ses tenseurs dans un format
- Inférence locale avec des outils compatibles comme llama.cpp
- Distribuer des modèles quantifiés ou non pris en charge par le moteur
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
Informations générales
| Élément | GGUF | Safetensors |
|---|---|---|
| Extension | .gguf | .safetensors |
| Type MIME | application/octet-stream | application/octet-stream |
| Usages courants | Stocker et distribuer des modèles d'inférence pour les moteurs GGML compatibles · Regrouper les informations du modèle et ses tenseurs dans un format | Stocker et distribuer des poids tensoriels d’apprentissage automatique · Charger des poids entre frameworks compatibles |
| Comment ouvrir | Ouvrez le fichier avec un chargeur GGUF fiable qui prend en charge le modèle et ses types de tenseurs. Vérifiez l'architecture, la version du moteur, la méthode de quantification et les éventuels fragments ou fichiers auxiliaires. | Utilisez 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. |
| Exporter ou convertir | Suivez les instructions de conversion du modèle source et du moteur cible. Conversion et quantification peuvent être des étapes distinctes. Évaluez qualité, vitesse et mémoire avec des entrées représentatives ; gardez ensemble tous les fragments et fichiers requis, comme mmproj pour le multimodal. | Enregistrez 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. |
Choisir selon l’usage
Inférence locale avec des outils compatibles comme llama.cpp
Stocker et distribuer des modèles d'inférence pour les moteurs GGML compatibles · Regrouper les informations du modèle et ses tenseurs dans un format
GGUFDistribuer des modèles quantifiés ou non pris en charge par le moteur
Stocker et distribuer des modèles d'inférence pour les moteurs GGML compatibles · Regrouper les informations du modèle et ses tenseurs dans un format
GGUFÉ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
SafetensorsFlux qui inspectent et chargent des tenseurs sélectionnés
Stocker et distribuer des poids tensoriels d’apprentissage automatique · Charger des poids entre frameworks compatibles
SafetensorsPoint clé 1
GGUF contient des métadonnées de modèle clé-valeur et des descripteurs de tenseurs.
En savoir plus sur les différencesPoint clé 2
Safetensors décrit les noms, dtype, shape et plages de données des tenseurs, pas du code d’inférence arbitraire.
En savoir plus sur les différencesEn savoir plus sur les différences
Changer l’extension ne rend pas ces formats interchangeables. Conservez la source et choisissez des convertisseurs et chargeurs compatibles avec l’architecture et les types de tenseurs.
- GGUF accepte des types à virgule flottante et quantifiés. La quantification peut modifier les valeurs et n’est pas une simple compression sans perte ; le nom ne détermine ni taille ni précision.
- Vérifiez configuration, tokeniseurs et index de fragments pour Safetensors, ainsi que les fichiers divisés ou auxiliaires pour GGUF selon la distribution. Comparez sorties, mémoire et vitesse avec les mêmes entrées et prétraitements.
Questions fréquentes
GGUF peut-il restaurer intégralement le fichier Safetensors d’origine ?
Ce n’est pas garanti. Si la quantification a modifié les valeurs, la conversion ne rétablit ni la précision initiale ni l’état d’entraînement. Gardez les poids et réglages d’origine.