Déployez l'image de conteneur IA Qwen-7B-Chat sur un GPU NVIDIA à l'aide d'Alibaba Cloud AI Containers (AC2).
Contexte
Qwen-7B est un modèle de 7 milliards de paramètres de la série de grands modèles de langage (LLM) Qwen développée par Alibaba Cloud. Ce LLM repose sur l'architecture Transformer et a été pré-entraîné sur un jeu de données massif comprenant une grande variété de contenus, tels que des textes web, des ouvrages professionnels et du code. Qwen-7B-Chat est un assistant IA créé en appliquant des techniques d'alignement au modèle de base Qwen-7B.
Le code de Qwen-7B-Chat est open source sous la licence LICENSE. Pour l'utiliser gratuitement à des fins commerciales, vous devez soumettre une demande de licence commerciale. Vous devez respecter les accords d'utilisation, les spécifications d'usage ainsi que toutes les lois et réglementations applicables aux modèles tiers que vous utilisez. Vous êtes seul responsable de la légalité et de la conformité de votre utilisation de ces modèles.
Étape 1 : Créer une instance ECS
Accédez à la page d'achat d'instance.
-
Configurez les paramètres pour créer une instance ECS.
Définissez les paramètres clés suivants. Les autres paramètres sont décrits dans la rubrique Lancement personnalisé.
Instance : Qwen-7B-Chat nécessite plus de 16 Go de mémoire GPU. Sélectionnez au minimum ecs.gn6i-c4g1.xlarge.
Image : Alibaba Cloud Linux 3.2104 LTS 64 bits.
Public IP Address : Sélectionnez Assign Public IPv4 Address. Définissez la Bandwidth Billing Method sur Pay-by-traffic et la Bande passante maximale sur 100 Mbit/s pour accélérer le téléchargement des modèles.
Data Disk : Les fichiers du modèle Qwen-7B-Chat nécessitent un espace de stockage important. Définissez la taille du disque de données à au moins 100 Go.
Étape 2 : Configurer l'environnement Docker
-
Installez Docker.
Installez Docker sur Alibaba Cloud Linux 3 en suivant la procédure décrite dans la rubrique Installer et utiliser Docker et Docker Compose.
-
Vérifiez l'état du démon Docker.
sudo systemctl status docker -
Installez le pilote NVIDIA et les composants CUDA.
sudo dnf install -y anolis-epao-release sudo dnf install -y kernel-devel-$(uname -r) nvidia-driver{,-cuda} -
Installez NVIDIA Container Toolkit.
sudo dnf install -y nvidia-container-toolkit -
NVIDIA Container Toolkit ajoute un hook prestart qui expose les GPU aux conteneurs. Redémarrez Docker pour appliquer les modifications.
sudo systemctl restart dockerAprès le redémarrage, utilisez le paramètre
--gpus <gpu-request>lors de la création des conteneurs pour spécifier le passthrough GPU. -
Créez et exécutez un conteneur IA PyTorch.
AC2 fournit des images de conteneur pour les scénarios IA. Utilisez l'image suivante pour créer un environnement d'exécution PyTorch.
sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.2.0.1-3.2304-cu121 sudo docker run -itd --name pytorch --gpus all --net host -v $HOME/workspace:/workspace ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.2.0.1-3.2304-cu121Ces commandes extraient l'image et créent un conteneur détaché nommé
pytorchavec votre répertoire personnel monté dans le conteneur.
Étape 3 : Déployer manuellement Qwen-7B-Chat
-
Démarrez un shell dans le conteneur.
sudo docker exec -it -w /workspace pytorch /bin/bashExécutez toutes les commandes suivantes à l'intérieur du conteneur. Si vous quittez le conteneur, reconnectez-vous avec la même commande. Pour vérifier que vous êtes bien dans le conteneur, exécutez
cat /proc/1/cgroup | grep docker. -
Installez les logiciels requis.
yum install -y git git-lfs wget tmux -
Activez Git LFS.
Le téléchargement du modèle pré-entraîné nécessite Git LFS.
git lfs install -
Téléchargez le code source et le modèle.
-
Créez une nouvelle session tmux.
tmuxLe téléchargement du modèle peut prendre beaucoup de temps. Utilisez tmux afin de pouvoir reprendre la session avec
tmux attachen cas de perte de connexion. -
Téléchargez le code source Qwen-7B et le modèle pré-entraîné.
git clone https://github.com/QwenLM/Qwen.git git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git qwen-7b-chat --depth=1
-
-
Configurez l'environnement d'exécution.
Les conteneurs AC2 incluent des dépendances Python IA pré-emballées. Installez les dépendances supplémentaires avec
yumoudnf.dnf install -y python-einops python3-datasets python3-gradio python3-mdtex2html python3-protobuf python3-psutil python3-pyyaml python3-rich python3-scikit-learn python3-scipy python3-sentencepiece python3-tensorboard python3-tiktoken python3-transformers python3-transformers-stream-generator yum-utilsCertaines dépendances doivent être installées manuellement pour éviter d'écraser les composants de l'image AC2.
yumdownloader --destdir ./rpmpkgs python3-timm python3-accelerate rpm -ivh --nodeps rpmpkgs/*.rpm && rm -rf rpmpkgs -
Démarrez le chatbot IA.
-
Démarrez le chatbot.
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chatAprès le démarrage, saisissez du texte à l'invite
User:pour interagir avec Qwen-7B-Chat.User: Who are you? What can you do? Qwen-Chat: I am a large language model from Alibaba Cloud. I can answer questions, create text, express viewpoints, and write code. I am designed to interact with people in natural language and help users obtain information, solve problems, and complete tasks. User>RemarqueSaisissez la commande
:exitpour quitter le chatbot.
-