Schéma du tutoriel d'installation et de déploiement de la localisation du modèle ChatGLM2-6B sous Windows 10

        Avec le développement continu de la technologie de l'intelligence artificielle, les modèles de traitement du langage naturel ont attiré beaucoup d'attention dans les domaines de la recherche et de l'application. Comme l'un d'entre eux, le modèle ChatGLM2-6B a attiré beaucoup d'attention pour ses puissantes capacités de discussion et de réponse aux questions, et ses avantages les plus importants sont d'excellentes performances et sa légèreté. Cependant, il peut être nécessaire de payer des frais correspondants pour déployer et installer des modèles via des GPU cloud, ce qui peut exercer une certaine pression sur certains développeurs. Afin d'utiliser le modèle avec plus de souplesse, maîtriser la connaissance de l'environnement d'installation et comprendre le processus de déploiement, afin d'essayer rapidement le modèle ChatGLM2-6B, et le déployer localement est devenu l'objectif poursuivi par de nombreux développeurs.

        Cet article vous fournira un tutoriel détaillé pour vous guider dans l'installation et le déploiement localisés du modèle ChatGLM2-6B sous le système d'exploitation Windows 10, et essayer rapidement le modèle ChatGLM2-6B.

Table des matières

1. Présentation du modèle ChatGLM2-6B

2. Exigences de configuration de l'ordinateur d'installation locale

3. Installez l'environnement Cuda et vérifiez si l'installation a réussi

Quatrièmement, configurez l'environnement virtuel ChatGLM2-6B Conda

5. Installez Pytorch dans un environnement virtuel

6. Installation de l'environnement modèle ChatGLM2-6B et téléchargement du modèle

7. Fonctionnement du code modèle ChatGLM2-6B et première expérience du grand modèle local

8. Résumé

1. Présentation du modèle ChatGLM2-6B

ChatGLM 2 -6B est la version de deuxième génération du modèle de dialogue bilingue chinois-anglais open source  ChatGLM-6B  . Sur la base du maintien de nombreuses excellentes fonctionnalités du modèle d'origine, telles qu'un dialogue fluide et un seuil de déploiement bas, ChatGLM 2 -6B introduit les nouvelles fonctionnalités suivantes :

  1. Performances plus puissantes : Sur la base de l'expérience de développement du modèle de première génération de ChatGLM, nous avons entièrement mis à niveau le modèle de base de ChatGLM2-6B. ChatGLM2-6B utilise  la fonction d'objectif mixte de GLM  Après une pré-formation 1.4T des identifiants chinois et anglais et une formation à l'alignement des préférences humaines, les résultats de l'évaluation montrent que par rapport au modèle d'origine, les performances de ChatGLM2-6B sur MMLU (+23%), CEval (+33%), GSM8K (+571%), BBH (+60%) et d'autres ensembles de données ont été grandement améliorées, et il a une forte compétitivité dans les modèles open source de même taille.
  2. Contexte plus long : sur la base  de la technologie FlashAttention  , nous avons étendu la longueur du contexte (Longueur du contexte) du modèle de base de 2 K de ChatGLM-6B à 32 K, et utilisé un entraînement à la longueur du contexte de 8 K dans la phase de dialogue, permettant ainsi davantage de cycles de dialogue. Cependant, la version actuelle de ChatGLM2-6B a une capacité limitée à comprendre les documents ultra longs à un tour, et nous nous concentrerons sur l'optimisation dans les mises à niveau itératives ultérieures.
  3. Raisonnement plus efficace : basé sur  la technologie Multi-Query Attention  , ChatGLM2-6B a une vitesse de raisonnement plus efficace et une utilisation réduite de la mémoire vidéo : sous l'implémentation du modèle officiel, la vitesse de raisonnement est augmentée de 42 % par rapport à la première génération, et sous la quantification INT4, la longueur du dialogue prise en charge par la mémoire vidéo 6G est passée de 1K à 8K.
  4. Protocole plus ouvert : Les pondérations ChatGLM2-6B sont complètement ouvertes à la recherche universitaire , et une utilisation commerciale gratuite est également autorisée après avoir rempli le questionnaire d'inscription .

Adresse source du lien :

GitHub - THUDM/ChatGLM2-6B : ChatGLM2-6B : un LLM de chat bilingue ouvert | Modèle de langage de chat bilingue open source ChatGLM2-6B : un LLM de chat bilingue ouvert | Modèle de langage conversationnel https://github.com/THUDM/ChatGLM2-6B Performances de raisonnement :

ChatGLM2-6B utilise  l'attention multi-requêtes pour améliorer la vitesse de génération. La vitesse moyenne de génération de 2000 caractères est comparée comme suit :

Modèle Vitesse d'inférence (caractères/seconde)
ChatGLM-6B 31.49
ChatGLM2-6B 44,62

En utilisant l'implémentation officielle, taille de lot = 1, longueur maximale = 2048, précision bf16, le matériel de test est A100-SXM4-80G et l'environnement logiciel est PyTorch 2.0.1

        L'attention multi-requêtes réduit également l'utilisation de la mémoire vidéo du cache KV pendant le processus de génération. De plus, ChatGLM2-6B utilise le masque causal pour la formation au dialogue, et le cache KV des tours précédents peut être réutilisé pendant le dialogue continu, optimisant davantage l'utilisation de la mémoire vidéo. Par conséquent, lors de l'utilisation d'une carte graphique avec 6 Go de mémoire vidéo pour le raisonnement quantifié INT4, le modèle ChatGLM-6B de première génération peut générer jusqu'à 1119 caractères et il indiquera que la mémoire vidéo est épuisée, tandis que ChatGLM2-6B peut générer au moins 8192 caractères.

niveau de quantification Mémoire vidéo minimale pour encoder une longueur de 2048 Générer une mémoire vidéo minimale de 8192 longueurs
FP16 / BF16 13,1 Go 12,8 Go
INT8 8,2 Go 8,1 Go
INT4 5,5 Go 5,1 Go

2. Exigences de configuration de l'ordinateur d'installation locale

Exigences de la version Python : au-delà de la version 3.8, l'environnement virtuel Python peut être installé dans Anaconda.

Système Windows : Windows 10 et supérieur, la carte graphique NVIDIA est recommandée (de préférence la carte graphique NVIDIA série 20 ou supérieure)

Exigences de la carte graphique : la mémoire vidéo doit être supérieure à 6 G GPU (vous pouvez le voir dans le tableau ci-dessus, le niveau de quantification INT4 nécessite également plus de 5,1 G de mémoire vidéo)

Vérifiez si votre ordinateur dispose d'un processeur graphique et d'une taille de mémoire :

        Faites un clic droit sur la barre des tâches en bas de l'ordinateur, sélectionnez l'option "Gestionnaire des tâches" pour ouvrir le gestionnaire des tâches, puis cliquez sur "Performance", comme indiqué dans la figure ci-dessous :

        La carte graphique de mon ordinateur local est un processeur graphique NVIDIA GTX 1060 6G, une mémoire 16G, un processeur i7-8750H, qui répond tout juste aux exigences. Pensez à l'écran de test une fois le déploiement réussi. . . . . .

3. Installez l'environnement Cuda et vérifiez si l'installation a réussi

        Vérifiez la configuration du PC local ci-dessus, qui répond juste aux exigences minimales pour déployer ChatGLM2-6B. Alors, construisez votre propre modèle local et essayez-le, vous n'avez pas besoin d'équipement haut de gamme ou d'une énorme puissance de calcul pour commencer à utiliser le modèle ChatGLM2-6B. Tant que votre PC local répond aux exigences minimales du modèle ChatGLM2-6B, vous pouvez facilement installer et déployer ce puissant modèle de chat.

1. Installation de l'environnement Cuda

lien de téléchargement cuda :

Archives de la boîte à outils CUDA | Développeur NVIDIA Les versions précédentes du kit d'outils CUDA, du SDK de calcul GPU, de la documentation et des pilotes de développement sont disponibles à l'aide des liens ci-dessous. Veuillez sélectionner la version souhaitée dans la liste ci-dessous et assurez-vous de consulter www.nvidia.com/drivers pour des pilotes de production plus récents adaptés à votre configuration matérielle. https://developer.nvidia.com/cuda-toolkit-archive

Cliquez sur le lien pour entrer dans cette interface (j'ai installé CUDA Toolkit 11.7.0 localement , car ma carte graphique ne me prend en charge que pour installer Cuda version 12.0 ou inférieure) :

 Cliquez ensuite sur CUDA Toolkit 11.7.0 pour accéder à l'interface suivante, sélectionnez windows10, exe (local) à télécharger localement, puis cliquez sur Télécharger.

 Une fois le téléchargement terminé, installez cuda.

Des tutoriels d'installation spécifiques peuvent être trouvés en ligne, en voici un recommandé :

Tutoriel d'installation de CUDA (super détaillé)_Billie Hard Learning Blog-CSDN Blog Directory Préface Télécharger et installer la version cuda CUDA toolkit Téléchargercuda installer cuDNN Télécharger et installer cuDNN ation Guide Windows :: CUDA Toolkit Documentatio_cuda installation https://blog.csdn.net/m0_45447650/article/details/123704930

2. Vérifiez si Cuda est installé avec succès

Appuyez et maintenez win + R pour faire apparaître le terminal de commande et sortir cmd :

 1) Après être entré dans le terminal, entrez nvidia-smi pour vérifier s'il a été installé correctement :

nvidia-smi

Si les informations suivantes sont renvoyées, CUDA a été installé correctement et peut être reconnu par le système : 

         Si un message similaire à "commande introuvable" est renvoyé, CUDA n'a pas été installé avec succès ou la variable d'environnement n'a pas été ajoutée correctement.

        Il s'avère que la version la plus élevée de CUDA pouvant être installée sur cette machine est 12.0 et que la version est rétrocompatible, ce qui signifie que CUDA 12.0 et les versions inférieures peuvent être installées, mais il n'est généralement pas recommandé d'utiliser la dernière version, donc le téléchargement local est la version Cuda11.7.

2) Ou entrez la commande nvcc -V pour tester si CUDA est installé avec succès

nvcc -V

 Si un message similaire à "commande introuvable" est renvoyé, CUDA n'a pas été installé avec succès ou la variable d'environnement n'a pas été ajoutée correctement.

Quatrièmement, configurez l'environnement virtuel ChatGLM2-6B Conda

Environnement Python : utilisez Anaconda pour créer un environnement virtuel mygpt, la version Python de l'environnement virtuel est Python3.10.11, activez l'environnement virtuel activez mygpt et installez la boîte à outils correspondante après l'entrée.

 (Remarque : si vous ne savez pas comment installer Anaconda et créer un environnement virtuel dans Anaconda, Baidu trouvera un tutoriel, et il y en a beaucoup sur Internet)

5. Installez Pytorch dans un environnement virtuel

Après avoir activé l'environnement virtuel, saisissez d'abord la commande suivante sur la ligne de commande :

Notez que le Pytorch ici doit être cohérent avec la version cuda.J'ai téléchargé cuda11.7 ci-dessus;notez également que si votre version cuda est incompatible avec la mienne, les commandes suivantes sont également différentes. Voir les commandes du site officiel pour plus de détails, et les commandes du site officiel de la version correspondante prévaudront.

Adresse de Pytorch :

Commencez localement | PyTorch Un framework d'apprentissage automatique open source qui accélère le passage du prototypage de recherche au déploiement en production. https://pytorch.org/get-started/locally/#anaconda

 La case verte est la commande d'installation :

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

 Une fois installé, vérifiez :

import torch
print(torch.cuda.is_available())

 Si le résultat est True, Pytorch est installé avec succès . S'il est faux, cela signifie que la version cuda correspondante sur votre ordinateur est incohérente avec les fichiers de version de torche et de torchvision.

Comment résoudre torch.cuda.is_available() renvoie False après l'installation de torch sur cuda

6. Installation de l'environnement modèle ChatGLM2-6B et téléchargement du modèle

1. Téléchargement du code source ChatGLM2-6B

1) Méthode 1 : lien de téléchargement du code source :

GitHub - THUDM/ChatGLM2-6B : ChatGLM2-6B : un LLM de chat bilingue ouvert | Modèle de langage de dialogue bilingue Open Source

Remarque : Le site Web de Github est instable, et il est parfois nécessaire de se connecter scientifiquement.

 Comme indiqué ci-dessus, cliquez sur Télécharger ZIP pour télécharger le code source ChatGLM2-6B, environ 5-6M.

2) Méthode 2 : utilisez directement la commande git clone (cela nécessite l'installation du logiciel Git)

git clone https://github.com/THUDM/ChatGLM-6B.git

Une fois le téléchargement terminé, placez le fichier téléchargé sur le lecteur D local ou sur d'autres lecteurs, essayez de ne pas mettre le lecteur C. 

Créez ensuite un nouveau fichier de modèle sous ce chemin (sous le dossier ChatGLM2-6B-main), qui est utilisé pour mettre le fichier de modèle ChatGLM2-6B, d'une taille de 11,6 Go.

2. Téléchargement du modèle ChatGLM2-6B

Adresse de téléchargement du modèle 1 : disque cloud de l'université de Tsinghua

THUDM/chatglm-6b à l'adresse de téléchargement du modèle principal 2 : THUDM/chatglm-6b à main , (tout télécharger)

Une fois le téléchargement terminé, placez le fichier de modèle téléchargé dans le dossier ChatGLM2-6B-main\model :

 3. Installation de la bibliothèque pertinente dans requirements.txt

Entrez dans le répertoire D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main, exécutez la commande suivante pour installer les packages associés :

pip3 install -r requirements.txt

 Jusqu'à présent, tous les environnements ont été installés et la victoire est en vue. . .

7. Fonctionnement du code modèle ChatGLM2-6B et première expérience du grand modèle local

1. Modifier le code web_demo.py

Avant d'exécuter, vous devez modifier le code dans web_demo.py

Le code source téléchargé, ligne 6-7 dans le fichier web_demo.py :

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')

Changer en:

tokenizer = AutoTokenizer.from_pretrained("D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main\model", trust_remote_code=True)
model = AutoModel.from_pretrained("D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main\model", trust_remote_code=True).half().quantize(4).cuda()

 Parmi eux, D:\Pycharmproject2023\ChatGPT_Pre\ChatGLM2-6B-main\model est l'emplacement de téléchargement de mon modèle d'ordinateur, il suffit de le changer pour le vôtre.

half().quantize(4).cuda() Cela doit être modifié en fonction du GPU de la carte graphique réelle de votre ordinateur.

Bons conseils :

        Selon la mémoire réelle de la carte graphique (comment vérifier votre propre mémoire vidéo, je l'ai déjà dit auparavant, votre propre mémoire vidéo doit correspondre au code suivant, si elle ne correspond pas, elle signalera une erreur et grillera la carte graphique, faites attention !!), vous pouvez modifier la ligne 6 concernant le mode de fonctionnement du modèle :

# 6G 显存可以 4 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(4).cuda()

# 10G 显存可以 8 bit 量化
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().quantize(8).cuda()

# 14G 以上显存可以直接不量化,博主显存为16G选择的就是这个
model = AutoModel.from_pretrained("model", trust_remote_code=True).half().cuda()

La configuration de mon ordinateur ne peut choisir que la première, c'est-à-dire que la mémoire vidéo 6G peut être quantifiée avec 4 bits.

2. Exécutez et démarrez le modèle ChatGLM2-6B

Entrez dans l'environnement, exécutez python web_demo.py pour démarrer, attendez un instant :

 Ensuite, le navigateur ouvrira automatiquement l'interface Web :

 

3. Expérience de test du modèle ChatGLM2-6B

 Lorsque ChatGLM2-6B génère la réponse, je vois mon utilisation de la mémoire vidéo, environ 5G de mémoire vidéo :

 Lorsque la réponse est générée, elle est en effet saccadée, pas fluide, et l'ordinateur est configuré de cette manière, nous ne pouvons donc que nous familiariser avec le processus d'installation et en faire l'expérience brièvement.

8. Résumé

        Cet article vise à fournir aux lecteurs un didacticiel détaillé pour guider les lecteurs dans l'installation et le déploiement localisés du modèle ChatGLM2-6B sous le système d'exploitation Windows 10. Résumé comme suit :

  1. Confirmer les exigences du modèle : avant de commencer, il est essentiel de comprendre les exigences de base du modèle ChatGLM2-6B pour un déploiement localisé réussi. Assurez-vous que votre PC local répond à ces exigences, y compris la configuration matérielle et la version du système d'exploitation appropriées.

  2. Configurer l'environnement GPU : afin d'utiliser pleinement les ressources GPU locales pour accélérer l'exécution du modèle, assurez-vous que l'environnement GPU est correctement configuré. Cela inclut l'installation des pilotes GPU et de la boîte à outils CUDA appropriés, ainsi que la configuration des variables d'environnement appropriées.

  3. Installez les logiciels nécessaires et les bibliothèques dépendantes : avant d'installer le modèle, assurez-vous que l'environnement Python a été installé correctement, et installez les logiciels nécessaires et les bibliothèques dépendantes selon vos besoins. Cela inclut des bibliothèques telles que PyTorch et d'autres outils auxiliaires requis.

  4. Charger et utiliser le modèle : une fois l'installation et la configuration terminées, vous pouvez télécharger le programme source ChatGLM2-6B et les fichiers de paramètres de modèle volumineux, exécuter et expérimenter l'utilisation du modèle ChatGLM2-6B.

  5. Optimisation et débogage : vous pouvez affiner le modèle en fonction des questions et réponses de la base de connaissances locale, et vous pouvez explorer et pré-rechercher par vous-même.

        En résumé, grâce au didacticiel détaillé fourni dans cet article, j'espère que vous pourrez facilement mettre en œuvre le déploiement localisé du modèle ChatGLM2-6B et acquérir une compréhension approfondie de ses excellentes capacités de chat et de questions-réponses. Le déploiement localisé offre aux développeurs une plus grande flexibilité et un meilleur contrôle, leur permettant de mieux répondre aux différents besoins et défis. Que ce soit pour utiliser le modèle avec plus de souplesse, pour maîtriser la connaissance de l'environnement d'installation et comprendre le processus de déploiement, afin d'essayer rapidement le modèle ChatGLM2-6B, ou pour explorer le potentiel du modèle de traitement du langage naturel, le déploiement localisé est un choix intéressant. Veuillez suivre le didacticiel fourni dans cet article pour commencer votre visite du modèle ChatGLM2-6B !

Je suppose que tu aimes

Origine blog.csdn.net/weixin_40547993/article/details/131775275
conseillé
Classement