Implante a imagem de contêiner de IA Qwen-7B-Chat em uma GPU NVIDIA com o Alibaba Cloud AI Containers (AC2).
Contexto
O Qwen-7B é um modelo com 7 bilhões de parâmetros da série de modelos de linguagem grande (LLM) Qwen, desenvolvido pela Alibaba Cloud. Esse LLM baseia-se na arquitetura Transformer e foi pré-treinado em um vasto conjunto de dados que inclui textos da web, livros técnicos e código-fonte. O Qwen-7B-Chat é um assistente de IA criado pela aplicação de técnicas de alinhamento ao modelo base Qwen-7B.
O código do Qwen-7B-Chat é open source sob a licença LICENSE. Para usá-lo gratuitamente para fins comerciais, envie uma solicitação de licença comercial. Cumpra os acordos de usuário, as especificações de uso e todas as leis e regulamentos aplicáveis a quaisquer modelos de terceiros utilizados. Você é o único responsável por garantir a legalidade e a conformidade do uso desses modelos.
Etapa 1: Crie uma instância ECS
Acesse a página de compra de instâncias.
-
Configure os parâmetros para criar uma instância ECS.
Defina os seguintes parâmetros principais. Os demais parâmetros estão descritos em Custom launch.
Instance: O Qwen-7B-Chat exige mais de 16 GiB de memória de GPU. Selecione pelo menos ecs.gn6i-c4g1.xlarge.
Image: Alibaba Cloud Linux 3.2104 LTS 64-bit.
Public IP Address: Selecione Assign Public IPv4 Address. Defina o Bandwidth Billing Method como Pay-by-traffic e a Maximum Bandwidth como 100 Mbps para acelerar o download do modelo.
Data Disk: Os arquivos do modelo Qwen-7B-Chat exigem muito espaço de armazenamento. Defina o tamanho do disco de dados como no mínimo 100 GiB.
Etapa 2: Configure o ambiente Docker
-
Instale o Docker.
Siga as instruções em Install and use Docker and Docker Compose para instalar o Docker no Alibaba Cloud Linux 3.
-
Verifique o status do daemon do Docker.
sudo systemctl status docker -
Instale o driver NVIDIA e os componentes CUDA.
sudo dnf install -y anolis-epao-release sudo dnf install -y kernel-devel-$(uname -r) nvidia-driver{,-cuda} -
Instale o NVIDIA Container Toolkit.
sudo dnf install -y nvidia-container-toolkit -
O NVIDIA Container Toolkit adiciona um hook de prestart que expõe as GPUs aos contêineres. Reinicie o Docker para aplicar as alterações.
sudo systemctl restart dockerApós a reinicialização, use o parâmetro
--gpus <gpu-request>ao criar contêineres para especificar o passthrough da GPU. -
Crie e execute um contêiner de IA PyTorch.
O AC2 oferece imagens de contêiner para cenários de IA. Use a imagem abaixo para criar um ambiente de execução 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-cu121Esses comandos baixam a imagem e criam um contêiner desanexado chamado
pytorch, com seu diretório home montado no contêiner.
Etapa 3: Implante o Qwen-7B-Chat manualmente
-
Inicie um shell no contêiner.
sudo docker exec -it -w /workspace pytorch /bin/bashExecute todos os comandos subsequentes dentro do contêiner. Se sair, entre novamente com o mesmo comando. Para confirmar que está no contêiner, execute
cat /proc/1/cgroup | grep docker. -
Instale os softwares necessários.
yum install -y git git-lfs wget tmux -
Ative o Git LFS.
O download do modelo pré-treinado requer o Git LFS.
git lfs install -
Baixe o código-fonte e o modelo.
-
Crie uma nova sessão tmux.
tmuxO download do modelo pode demorar bastante. Use o tmux para retomar com
tmux attachcaso a conexão caia. -
Baixe o código-fonte do Qwen-7B e o modelo pré-treinado.
git clone https://github.com/QwenLM/Qwen.git git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git qwen-7b-chat --depth=1
-
-
Prepare o ambiente de execução.
Os contêineres AC2 já incluem dependências de IA para Python pré-empacotadas. Instale dependências adicionais com
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-utilsInstale algumas dependências manualmente para evitar a sobrescrita de componentes da imagem AC2.
yumdownloader --destdir ./rpmpkgs python3-timm python3-accelerate rpm -ivh --nodeps rpmpkgs/*.rpm && rm -rf rpmpkgs -
Inicie o chatbot de IA.
-
Inicie o chatbot.
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chatApós a inicialização, insira texto no prompt
User:para interagir com o 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>NotaDigite o comando
:exitpara sair do chatbot.
-