Les dernières heures ont apporté leur lot d’informations dans l’écosystème IA.
Une implémentation logicielle permettant de compresser et d’évaluer les performances de grands modèles de langage (LLM) optimisés pour les instructions à l’aide des techniques de quantification FP8, GPTQ et SmoothQuant, à l’aide de llmcompressor
Dans ce tutoriel, nous expliquons comment appliquer une quantification post-entraînement à un modèle linguistique optimisé par instruction à l’aide de llmcompressor. Nous partons d’un système de référence en FP16, puis comparons plusieurs stratégies de compression, notamment la quantification dynamique en FP8, GPTQ W4A16 et SmoothQuant avec GPTQ W8A8. Au cours de cette analyse, nous comparons chaque variante de modèle d’IA en termes de taille du disque, de latence de génération, de débit, de perplexité et de qualité de sortie. Nous préparons aussi un ensemble de données d’étalonnage réutilisable, enregistrons les artefacts de modèle compressés et examinons comment chaque recette modifie le comportement d’inférence en pratique. À la fin, nous aurons acquis une compréhension concrète de la manière dont les différentes méthodes de quantification influent sur l’efficacité des modèles, leur aptitude au déploiement et les compromis en matière de performances. [Codes avec Notebook]
Nous installons toutes les bibliothèques nécessaires, importons les paquets principaux et vérifions qu’un GPU compatible CUDA est disponible dans Colab. Nous définissons le système d’instruction de base de Qwen2.5, créons un répertoire de travail et préparons des fonctions d’aide pour le nettoyage de la mémoire, le calcul de la taille du modèle, la mesure du temps de génération et l’évaluation de la perplexité. Nous créons également une fonction de référence réutilisable qui charge n’importe quelle variante de modèle, teste sa vitesse de génération, calcule la perplexité et enregistre les résultats en vue d’une comparaison finale.
Nous commençons par évaluer les résultats du modèle FP16 d’origine afin d’établir une référence fiable pour les comparaisons ultérieures. Nous appliquons ensuite une quantification dynamique FP8 à l’aide de llmcompressor, qui permet de compresser les couches linéaires tout en conservant une précision plus élevée pour la tête de modélisation du langage. Nous enregistrons le modèle d’IA FP8 compressé et relançons le même test de performance afin de comparer sa taille, sa latence, son débit et sa perplexité par rapport à la référence.
Nous constituons un petit ensemble de données d’étalonnage à partir d’échantillons d’UltraChat afin que les recettes de quantification étalonnées puissent traiter des entrées réalistes de type instruction. Nous convertissons chaque exemple de conversation en texte compatible avec le modèle à l’aide du modèle d’IA de conversation du tokenizer. Nous procédons ensuite à la tokenisation des échantillons en fixant une longueur maximale de séquence, ce qui permet de créer un ensemble de éléments réutilisable pour la compression basée sur GPTQ et SmoothQuant.
Nous appliquons la quantification GPTQ W4A16 pour compresser les poids linéaires du modèle d’IA à une précision de 4 bits, tout en conservant les activations à une précision supérieure. Nous utilisons l’ensemble de éléments d’étalonnage pour permettre à GPTQ de réduire l’erreur de reconstruction et de préserver la qualité du modèle pendant la compression. Nous enregistrons le modèle compressé W4A16 et le soumettons à des tests de performance afin d’étudier l’impact de la compression agressive des poids sur 4 bits sur la vitesse, la taille et la perplexité.
Sur ce point, nous combinons SmoothQuant et GPTQ W8A8 pour créer un pipeline de quantification avancé capable de traiter les valeurs aberrantes des activations avant d’appliquer une compression à 8 bits. Nous enregistrons et évaluons ce système basé sur SmoothQuant en utilisant la même configuration d’évaluation que pour les variantes précédentes. De plus, nous générons un tableau récapitulatif et des exemples de compléments afin de comparer tous les modèles quantifiés à la référence FP16 en un seul endroit.
Les aspects saillants :
- Nous convertissons chaque exemple de conversation en texte compatible avec le modèle à l’aide du modèle d’IA de conversation du tokenizer.
- Nous enregistrons et évaluons ce système basé sur SmoothQuant en utilisant la même configuration d’évaluation que pour les variantes précédentes.
Les prochaines semaines permettront d’en mesurer la portée réelle.
Sur le même sujet :
- Assurer la souveraineté en matière d’IA et de données à l’ère des systèmes autonomes
- Mise en œuvre de technologies d’IA de pointe dans le segment financier
- Comment les ingénieurs et scientifiques de NVIDIA développent leurs solutions avec Codex
Article original : MarkTechPost : MarkTechPost