Vérification des prérequis et préparation de l'environnement
Avant de procéder à l'installation de ChatGLM3-6B, il est essentiel de s'assurer que votre système répond aux exigences fondamentales. Une base solide garantit une installation réussie.
1. Vérification du matériel
Le modèle requiert une carte graphique NVIDIA avec au moins 6 Go de mémoire vidéo (VRAM). Un modèle de type RTX 3060 ou supérieur est recommandé. Vous pouvez vérifier votre configuration en ouvrant l'invite de commandes et en exécutant :
Get-CimInstance -ClassName Win32_VideoController | Select-Object Name, AdapterRAM
Si la mémoire VRAM est insuffisante, une exécution en mode CPU nécessitera au moins 32 Go de RAM système.
2. Préparation logicielle
Windows 10 ou 11 est requis. Assurez-vous d'avoir les pilotes NVIDIA les plus récents. Vérifiez leur installation avec la commande suivante dans une fenêtre PowerShell :
nvidia-smi
L'affichage des informations du GPU confirme une installation correcte des pilotes.
Déploiement rapide via une image préconfigurée
Pour une installation simplifiée, l'utilisation d'une image système préconfigurée est fortement recommandée. Elle élimine la plupart des problèmes de dépendances et de configuration.
Après téléchargement de l'image, extrayez-la dans un répertoire dont le chemin est simple, sans caractères spéciaux. Par exemple : D:\Modeles_IA\ChatGLM3-6B.
Cette image contient tous les composants nécessaires à son fonctionnement : un environnement Python 3.10+, PyTorch avec support GPU, les bibliothèques Transformers et Streamlit, ainsi que d'autres paquets essentiels. Aucune installation manuelle n'est requise.
Acquisition des poids du modèle
Les fichiers du modèle pèsent environ 12 Go. Plusieurs méthodes de téléchargement sont possibles.
Méthode recommandée (via un dépôt) : Utilisez les outils de ligne de commande pour cloner le dépôt depuis une source rapide. Par exemple, depuis Hugging Face :
git clone https://huggingface.co/THUDM/chatglm3-6b
Alternative manuelle : Vous pouvez télécharger les fichiers individuellement depuis la plateforme ModelScope et les placer manuellement dans le répertoire de votre choix.
Une fois le téléchargement terminé, vérifiez que le dossier contient des fichiers essentiels tels que pytorch_model.bin, config.json et tokenizer.model. L'absence de ces fichiers entraînera des erreurs au lancement.
Configuration et lancement de l'application
1. Ajustement des chemins
Dans le répertoire du projet, localisez le fichier de configuration principal (par ex. config.py). Modifiez la variable pointant vers le modèle pour refléter l'emplacement exact où se trouvent vos fichiers téléchargés.
# Exemple de modification dans un script de lancement
MODEL_PATH = "D:/Modeles_IA/chatglm3-6b"
# Le script utilisera ensuite ce chemin pour charger le modèle
2. Lancement de l'interface Web
La méthode la plus conviviale consiste à utiliser l'interface Streamlit. Ouvrez un terminal dans le répertoire du projet et exécutez :
streamlit run interface_web.py
Après quelques instants de chargement, votre navigateur par défaut s'ouvrira avec l'interface de conversation.
3. Mode ligne de commande
Pour une interaction plus rapide ou pour des tests, privilégiez l'interface en ligne de commande :
python interaction_cli.py
Résolution des problèmes fréquents
1. Gestion des erreurs de mémoire VRAM
Si une erreur liée à la mémoire graphique survient, envisagez l'une de ces solutions :
Quantification du modèle : Chargez le modèle dans un format moins gourmand en mémoire. Modifiez le code de chargement comme suit :
from transformers import AutoModelForCausalLM, BitsAndBytesConfig
quantization_config = BitsAndBytesConfig(load_in_8bit=True)
modele = AutoModelForCausalLM.from_pretrained(MODEL_PATH, quantization_config=quantization_config)
Réduction de la longueur de contexte : Lors de l'initialisation du modèle, spécifiez une longueur maximale de séquence (max_length) plus courte pour économiser la VRAM.
2. Conflits de dépendances
Si vous rencontrez des confilts de versions de bibliothèques Python, la meilleure pratique consiste à isoler l'environnement. Créez un nouvel environnement virtuel avec Conda ou venv, activez-le, puis installez les dépendances listées dans le fichier requirements.txt fourni avec le projet.
3. Optimisation des performances
Pour améliorer l'expérience :
- Streamlit met automatiquement en cache le modèle chargé. Le second lancement sera significativement plus rapide.
- Fermez les applications gourmandes en ressources graphiques et mémoire avant de lancer le modèle.
- Pour une consommation moindre, l'interface en ligne de commande est plus légère que l'interface web Streamlit.
Utilisation et fonctionnalités clés
Une fois le service lancé, testez-le avec différentes requêtes pour explorer ses capacités :
- Questions générales : « Explique le concept de l'apprentissage par renforcement. »
- Assistance au code : « Écris une fonction Python pour inverser une liste. »
- Tâches de création : « Rédige un paragraphe descriptif sur un paysage montagneux. »
Le modèle supporte un contexte étendu de 32k tokens, ce qui permet de gérer des échanges de conversation longs. Ses fonctionnalités notables incluent :
- Mémoire de conversation : Il se souvient des échanges précédents au sein d'une même session.
- Génération en flux continu : Les réponses apparaissent progressivement, comme si elles étaient tapées en temps réel.
- Traitement local : Tous les calculs s'effectuent sur votre machine, garantissant la confidentialité de vos données.