← Retour au blog
tech 15 mai 2026

Qu'est-ce qu'un GGUF, en dehors des poids - et ce qui manque encore

Le format GGUF simplifie la gestion des modèles de langage en un seul fichier. Mais que contient-il vraiment, et que manque-t-il encore pour une efficacité optimale ?

Article inspiré de la source originale
What's in a GGUF, besides the weights – and what's still missing? ↗ nobodywho.ooo

Introduction

Dans le monde des modèles de langage, la gestion des fichiers peut rapidement devenir un casse-tête. Avec des formats comme safetensors sur Hugging Face, où une multitude de fichiers JSON sont dispersés, ou les modèles ollama, qui sont des OCI avec des couches JSON, des modèles Go, etc., GGUF se distingue par sa simplicité : un seul fichier. Mais que trouve-t-on réellement dans un fichier GGUF, et que manque-t-il pour qu'il soit totalement complet ?

Contenu d'un GGUF

Le format GGUF est utilisé par llama.cpp pour les modèles de langage. Il englobe tout dans un fichier unique, rendant la gestion des modèles plus ergonomique. Voici les principaux éléments contenus dans un GGUF :

Modèles de Chat

Les modèles conversationnels sont formés sur des séquences qui suivent un format spécifique, ressemblant à une conversation. Par exemple, le format de Gemma4 utilise : <|turn>user Salut !<turn|>, tandis que celui de LFM2 est : <s> <|im_start|>user Salut !<|im_end|>. Ces formats peuvent devenir plus complexes avec l'ajout de fonctionnalités comme les blocs de raisonnement, les descriptions d'outils, les appels d'outils et leurs réponses.

Ces formats sont gérés par un modèle de chat, un script dans le langage de templating jinja2. Le modèle de chat par défaut est stocké sous la clé tokenizer.chat_template dans les métadonnées GGUF. Un modèle peut avoir plusieurs modèles de chat, par exemple un avec support d'appel d'outils et un sans.

Performances des Implémentations Jinja2

Pour gérer ces modèles de chat, une implémentation du langage jinja2 est nécessaire. Hugging Face Transformers utilise la bibliothèque classique jinja2 en Python. D'autres, comme llama.cpp, utilisent leur propre implémentation jinja. NobodyWho utilise minijinja, une réimplémentation en Rust par le créateur original de jinja.

Il existe des différences significatives de performances entre ces implémentations. Minijinja, par exemple, est connu pour être plus rapide et plus efficace, ce qui est crucial pour les applications en temps réel.

Ce qui manque dans GGUF

Bien que GGUF simplifie beaucoup de choses, il y a des aspects qui pourraient encore être améliorés :

Gestion des Métadonnées

Actuellement, le format GGUF ne gère pas de manière optimale les métadonnées supplémentaires qui pourraient enrichir le contexte d'utilisation des modèles, comme les préférences de l'utilisateur ou les logs d'interaction.

Support Multimédia

Le format GGUF n'intègre pas directement le support pour les messages multimédia tels que les images, l'audio ou la vidéo. Avec l'évolution vers des modèles plus intégrés, cela pourrait être un ajout précieux.

Conclusion

Le format GGUF est une avancée significative dans la gestion des modèles de langage, simplifiant la vie des développeurs et des chercheurs. Cependant, pour être vraiment complet, il pourrait intégrer un meilleur support des métadonnées et des fonctionnalités multimédia.

Discutons de ton projet en 15 minutes.

GGUF language models jinja2 metadata multimedia support
Newsletter Deepthix · 100% IA · chaque lundi 8h

Un agent IA lit la tech à ta place.

Notre agent IA scanne ~200 sources par semaine et te livre les meilleurs articles le lundi 8h. Gratuit. 1 clic pour se désinscrire.

Voir la page newsletter →

Tu veux automatiser tes opérations ?

Discutons de ton projet en 15 minutes.

Réserver un call