Simple Science

La science de pointe expliquée simplement

# Informatique# Apprentissage automatique# Intelligence artificielle

Optimiser les modèles de langage pour les appareils mobiles

De nouvelles méthodes réduisent l'utilisation de mémoire pour les grands modèles de langage sur les appareils mobiles.

― 7 min lire


Compression de l'IA pourCompression de l'IA pourmobilelinguistiques.en mémoire pour les modèlesUne nouvelle méthode réduit les besoins
Table des matières

Les grands modèles de langage (LLMs) ont montré d'excellents résultats dans la gestion de tâches linguistiques complexes. Il y a de plus en plus de envies d'utiliser ces modèles sur les appareils mobiles pour des réponses plus rapides et une meilleure vie privée. Cependant, les LLMs posent un gros défi à cause de leur taille imposante, ce qui les rend difficiles à intégrer dans des appareils avec un stockage limité. Pour rendre les LLMs utilisables sur les appareils mobiles, des méthodes de compression efficaces sont nécessaires.

Le défi de la taille

Les LLMs contiennent souvent des milliards de paramètres, ce qui se traduit par un besoin énorme de stockage de données. Même des modèles plus petits, comme le LLaMA avec 7 milliards de paramètres, nécessitent environ 14 Go d'espace, ce qui peut être trop pour des appareils mobiles haut de gamme qui ont environ 18 Go de RAM. Donc, trouver des moyens de compresser ces modèles est crucial pour les utiliser sur des appareils personnels. Des techniques comme la sparsification, la quantification et le Regroupement de poids sont des méthodes courantes pour y parvenir.

Explication du regroupement de poids

Une méthode populaire appelée regroupement de poids combine plusieurs poids en groupes, ce qui permet une gestion simplifiée de ces valeurs. Cette méthode fonctionne en compressant une matrice de poids en une table de recherche et une liste d'indices qui pointent vers cette table. En faisant cela, les LLMs peuvent fonctionner plus efficacement sur les appareils avec des ressources limitées.

Cependant, les méthodes existantes, notamment celle connue sous le nom de KMeans différentiable (DKM), nécessitent beaucoup de mémoire et de puissance de calcul. Cela rend leur utilisation impraticable pour entraîner des LLMs sur des appareils mobiles. DKM est efficace pour équilibrer le compromis entre la quantité de données pouvant être compressées et la précision des résultats, mais ses besoins élevés en mémoire posent des défis.

Améliorations proposées

Pour résoudre les problèmes de mémoire de DKM, nous proposons une nouvelle version économe en mémoire, appelée eDKM. Cette nouvelle approche utilise des techniques innovantes pour réduire considérablement la mémoire requise pour DKM.

Valeurs uniques et partitionnement

Une grande partie de notre méthode est basée sur l'observation qu'en utilisant des poids de 16 bits, il n'y a qu'un nombre limité de valeurs uniques. En nous concentrant sur ces valeurs uniques, nous pouvons réduire considérablement la quantité de mémoire nécessaire pour stocker les informations de poids. De plus, nous pouvons scinder (ou partitionner) les données entre plusieurs appareils ou apprenants, ce qui facilite le traitement sans épuiser la mémoire.

Gestion des tenseurs entre appareils

Quand un tenseur (un type de structure de données utilisée en apprentissage automatique) passe d'un appareil, comme un GPU, à un autre, comme un CPU, cela crée souvent des redondances dans l'utilisation de la mémoire. Notre approche suit les tenseurs copiés et évite les duplications inutiles. Cela réduit considérablement l'utilisation de la mémoire et accélère l'entraînement, car cela limite la quantité de données à transférer entre les appareils.

Résultats expérimentaux

Nous avons testé notre méthode économe en mémoire en utilisant une configuration GPU puissante pour peaufiner le modèle LLaMA. Notre objectif était de réduire la taille du modèle tout en maintenant sa performance. Nous avons réussi à réduire la taille du modèle LLaMA pré-entraîné de 12,6 Go à seulement 2,5 Go tout en utilisant nos techniques de compression. Cela a été accompli avec une bonne précision lors de plusieurs tests de référence, montrant que nos méthodes fonctionnent efficacement.

Comparaison des techniques

Quand nous avons comparé notre approche eDKM aux méthodes de compression existantes, nos résultats ont été remarquables. Le modèle LLaMA compressé à 3 bits a atteint une meilleure performance que les autres méthodes. Bien que des techniques comme la quantification par arrondi aux valeurs proches et d'autres soient couramment utilisées, elles ne correspondent pas à la performance de notre système proposé.

Techniques d'optimisation de la mémoire

Pour détailler davantage nos méthodes, voici les techniques clés que nous avons utilisées pour améliorer l'efficacité de la mémoire :

1. Gestion des tenseurs entre appareils

Cette technique implique de gérer comment les tenseurs sont déplacés entre les appareils. En vérifiant si un tenseur existe déjà sur l'appareil de destination (CPU), nous pouvons éviter des copies inutiles. Cela permet non seulement d'économiser de la mémoire, mais aussi de réduire le temps de transfert de données, permettant ainsi au processus d'entraînement de se dérouler plus fluidement.

2. Unification et partitionnement des poids

Nous utilisons le fait que de nombreuses valeurs de poids se répètent dans les LLMs. Au lieu de traiter chaque poids comme unique, nous pouvons regrouper des poids similaires, ce qui nous permet de créer une carte d'attention plus petite. Cette carte peut ensuite être partagée entre les appareils pour optimiser encore plus l'utilisation de la mémoire.

L'impact de nos méthodes

Les résultats de notre travail montrent qu'avec nos techniques proposées, l'empreinte mémoire pour entraîner de grands modèles peut être réduite de manière significative-jusqu'à un facteur de 130, en fait. Bien qu'il y ait un certain temps de latence supplémentaire dû aux étapes computationnelles supplémentaires impliquées, l'amélioration de l'efficacité vaut bien le coup.

Metrics de performance

Nos méthodes ont été évaluées sur diverses tâches comme le raisonnement de bon sens et l'apprentissage avec peu d'exemples. Le modèle LLaMA compressé à 3 bits non seulement a égalé la performance des méthodes existantes mais les a souvent surpassées. Cela est particulièrement vrai dans les tâches nécessitant des compétences de raisonnement importantes, où notre méthode a maintenu des niveaux de précision élevés.

Directions futures

Les résultats réussis de notre approche économe en mémoire pour les LLMs ouvrent la voie à d'autres innovations dans la compression de modèles. À mesure que les appareils mobiles deviennent plus puissants, être capable d'exécuter des modèles avancés sur eux deviendra de plus en plus faisable. Suivant cette voie, de futures recherches pourraient se concentrer sur le perfectionnement de nos techniques et éventuellement découvrir de nouvelles méthodes pour améliorer encore l'efficacité des modèles.

Conclusion

En résumé, le besoin d'une compression efficace des LLMs est crucial alors que nous cherchons à déployer ces modèles puissants sur des appareils mobiles. Notre nouvelle méthode eDKM proposée s'attaque aux défis posés par les systèmes existants, permettant des réductions significatives de l'utilisation de la mémoire tout en offrant une performance solide. Ce travail représente un pas en avant pour rendre les modèles de langage avancés plus accessibles et utilisables sur une plus large gamme d'appareils.

Source originale

Titre: eDKM: An Efficient and Accurate Train-time Weight Clustering for Large Language Models

Résumé: Since Large Language Models or LLMs have demonstrated high-quality performance on many complex language tasks, there is a great interest in bringing these LLMs to mobile devices for faster responses and better privacy protection. However, the size of LLMs (i.e., billions of parameters) requires highly effective compression to fit into storage-limited devices. Among many compression techniques, weight-clustering, a form of non-linear quantization, is one of the leading candidates for LLM compression, and supported by modern smartphones. Yet, its training overhead is prohibitively significant for LLM fine-tuning. Especially, Differentiable KMeans Clustering, or DKM, has shown the state-of-the-art trade-off between compression ratio and accuracy regression, but its large memory complexity makes it nearly impossible to apply to train-time LLM compression. In this paper, we propose a memory-efficient DKM implementation, eDKM powered by novel techniques to reduce the memory footprint of DKM by orders of magnitudes. For a given tensor to be saved on CPU for the backward pass of DKM, we compressed the tensor by applying uniquification and sharding after checking if there is no duplicated tensor previously copied to CPU. Our experimental results demonstrate that \prjname can fine-tune and compress a pretrained LLaMA 7B model from 12.6 GB to 2.5 GB (3bit/weight) with the Alpaca dataset by reducing the train-time memory footprint of a decoder layer by 130$\times$, while delivering good accuracy on broader LLM benchmarks (i.e., 77.7% for PIQA, 66.1% for Winograde, and so on).

Auteurs: Minsik Cho, Keivan A. Vahid, Qichen Fu, Saurabh Adya, Carlo C Del Mundo, Mohammad Rastegari, Devang Naik, Peter Zatloukal

Dernière mise à jour: 2023-09-13 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2309.00964

Source PDF: https://arxiv.org/pdf/2309.00964

Licence: https://creativecommons.org/licenses/by-nc-sa/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Plus d'auteurs

Articles similaires