La semaine dernière, nous nous sommes Travailler avec LM Studio, Mais il y a eu quelques questions, c'est pourquoi je voudrais revenir sur ces détails aujourd'hui.
Lorsque vous regardez les options de téléchargement d'un modèle comme Qwen sur Hugging Face ou LM Studio, vous tombez sur des termes cryptiques tels que Q4_K_M, Q8_0 ou Q6_K. Spontanément, on pense: «Si Q8 a un nombre plus élevé, il doit être meilleur que Q4, n’est-ce pas?»
Techniquement, c'est Q8 plus précis que Q4, mais cela ne signifie pas que c'est le meilleur choix pour vous. Ces abréviations cryptiques ne sont pas des nombres arbitraires. Ils vous racontent une histoire sur les performances, la taille et la précision du modèle avant même de le télécharger.
Cet article déchiffre ces suffixes une fois pour toutes afin que vous preniez la bonne décision pour votre matériel et que vous n’ayez plus jamais à deviner aveuglément ou que vous choisissiez «plus grand nombre = mieux» selon le schéma F.
Qu'est-ce que la quantification? L'explication simple
Très bien, entrez dans le sujet. Que signifient ces noms de fichiers cryptiques? Imaginez que vous avez un tableau énorme et détaillé (le modèle non quantifié). Chaque couleur est affichée en 16 ou 32 bits, ce qui nécessite énormément d'espace de stockage et de puissance de calcul. C'est l'état d'origine d'un LLM, appelé FP16– ou FP32modèles.
Quantification est le processus de compression de cette peinture en réduisant le nombre de bits par couleur, par exemple à 8 ou même seulement 4. Cela rend l'image plus petite et peut être traitée plus rapidement, souvent avec une perte de qualité minimale.
Chaque fois que vous envoyez une invite à un LLM, il traite des milliards de ces «pixels de couleur», appelés Weights (Poids). Ces poids sont au cœur du modèle. Lorsque nous les compressons, nous avons besoin de beaucoup moins d'espace de stockage et les calculs sont beaucoup plus rapides. C'est exactement ce qui permet d'exécuter de gros LLM sur du matériel grand public ordinaire, tel que votre ordinateur portable ou votre PC.
L'anatomie d'un raccourci de quantification
Un nom comme Q4_K_M Cela peut sembler compliqué, mais c'est simplement une succession d'informations:
- Q: Signifie «quantifié».
- Le nombre (par exemple Q4): Spécifie combien de bits chaque poids a maintenant. Une Q4-La version utilise 4 bits par poids. Plus le nombre est élevé, plus le modèle est précis, mais aussi plus grand et plus lent.
- K: Désigne la quantification groupée. C'est une méthode moderne et très précise. Le modèle ne quantifie pas tous les poids à la fois, mais en petits groupes (par exemple 64 pièces). Des facteurs d'échelle individuels sont calculés pour chaque groupe, ce qui se traduit par une précision nettement supérieure à celle des méthodes plus anciennes.
- 0 ou 1: Ces chiffres représentent des méthodes de quantification plus anciennes et moins précises. Ils utilisent une seule mise à l'échelle globale pour l'ensemble du modèle, ce qui est moins précis, mais souvent plus rapide. Si vous avez le choix, c'est K Presque toujours la meilleure option.
- S, M, L: Ces lettres indiquent la précision et sont souvent associées au Ksuffixe avant. Ils signifient Small, médium ou Large. Ils aident à distinguer les modèles s'ils ont le même nombre de bits. S représente la variante la plus rapide mais la plus imprécise, tandis que L représente la plus lente mais la plus précise. M est souvent un bon compromis.
Un Q4_K_M est donc un «modèle quantifié à 4 bits par poids utilisant la méthode moderne fondée sur les groupes (K) et une précision moyenne (M)».
Perplexité et KL Divergence: Comment mesurer la qualité?
Mais comment savoir exactement si un modèle quantifié est assez bon?
Pour cela, il existe deux mesures importantes:
Perplexité (PPL)
Perplexité mesure à quel point un modèle prédit le texte. Par inférieur la valeur PPL, plus le modèle est «moins confus» et plus il se comporte bien par rapport à l’original.
Les développeurs de llama.cpp répertorie les valeurs PPL pour les différentes quantifications. On voit par exemple qu'une Q8_0-modèle a presque les mêmes performances que l'original non quantifié, alors qu'un Q2_K Il montre déjà des pertes significatives.
KL Divergence (divergence de retour à la normale)
KL Divergence C'est une métrique plus avancée. Elle mesure dans quelle mesure la distribution des probabilités de la version quantifiée diffère de celle du modèle d'origine.
C'est important parce que la perplexité peut compenser les erreurs. Un modèle peut avoir une bonne moyenne, mais il est complètement à l'écart des mots rares ou difficiles. Les KL Divergence révèle ces «taches aveugles». Par inférieur La valeur, mieux c'est.
Si vous êtes encore trop imprécis et que vous voulez absolument continuer à lire le sujet, je vous recommande les auteurs et les sources suivantes: Paul Ilvez | René Peinl | Michael Jentsch | Maarten Grootendorst
Donc, puisque nous sommes déjà relativement loin dans le sujet, voici encore par souci d'exhaustivité:
Au-delà de PPL+KLD: Autres mesures d'évaluation
La perplexité et la divergence KL sont importantes, mais elles ne sont qu'une partie de l'image quand il s'agit d'évaluer les LLM. Pour des tâches spécifiques, il existe d'autres mesures sur mesure qui fournissent une indication plus précise de la qualité des textes générés.
- Score de F1: Cette valeur est le Des moyens harmoniques à partir de deux indicateurs: Precision (Combien d'éléments détectés étaient corrects?) et Recall (Combien d'éléments corrects ont-ils été détectés ?) Le score de F1 est particulièrement fréquent dans des tâches telles que le Recognition d'entités nommées (NER) qui consiste à identifier des entités spécifiques, telles que des noms ou des lieux, dans un texte.
- BLEU Score (Bilingual Evaluation Understudy): Ce score est la norme dans le Traduction automatique. Il mesure à quel point la traduction automatique correspond aux traductions de référence créées par des experts humains. Plus le texte généré est proche des textes de référence, plus la valeur BLEU est élevée.
- Score de ROUGE (Recall-Oriented Understudy for Gisting Evaluation): ROUGE est un ensemble de mesures qui évaluent le chevauchement entre le texte généré et le texte de référence. Ils sont souvent Tâches de synthèse utilisé. ROUGE aide à quantifier dans quelle mesure le modèle filtre les informations les plus importantes d'un texte et les reproduit sous une forme nouvelle et concise.
Et pour tous ceux d'entre vous qui n'en ont pas encore assez, je vous laisse celui-là encore là. C'est alors qu'on s'éloigne assez loin. ⁇
Faire le bon choix
Maintenant que vous connaissez les termes, vous pouvez choisir judicieusement les modèles.
- Q4_K_M Il est recommandé par de nombreux développeurs comme le meilleur compromis entre la taille, la vitesse et la précision. C'est souvent une excellente option par défaut.
- Q5_K_M et Q5_K_S offrent encore plus de précision avec une taille de fichier légèrement plus grande.
- Q6_K et Q8_0 sont les «heavyweights» de la quantification. Ils sont presque aussi bons que les modèles d'origine, mais nécessitent beaucoup plus d'espace de stockage et sont plus lents. Utilisez-les lorsque vous avez besoin de la meilleure précision possible et que votre matériel le fournit.
TL:DR
À la fin de la journée, la meilleure méthode consiste simplement à essayer différentes variantes. Grâce à des outils comme LM Studio ou Sites comme Hugginface.co Vous pouvez le faire facilement sans être découragé par les détails techniques. Avec ces informations, cependant, au moins la présélection devrait être plus facile pour vous.