Implante o modelo de linguagem grande Qwen-7B-Chat em uma CPU Intel usando uma imagem do 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, desenvolvida pela Alibaba Cloud. Trata-se de um LLM baseado em Transformer, pré-treinado em um conjunto massivo de dados que inclui textos da web, livros técnicos e código-fonte. O Qwen-7B-Chat é um assistente de IA criado mediante a 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 utilizá-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 seu uso desses modelos.
Etapa 1: Crie uma instância ECS
Acesse a página de compra de instâncias.
-
Configure os seguintes parâmetros para criar uma instância ECS.
Para os demais parâmetros, consulte Custom launch.
Instance: O Qwen-7B-Chat requer aproximadamente 30 GiB de memória. Selecione um tipo de instância de pelo menos ecs.g8i.4xlarge (64 GiB de memória) para garantir a operação estável do modelo.
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 largura de banda máxima como 100 Mbps para acelerar o download do modelo.
Data Disk: Os arquivos do modelo exigem armazenamento significativo. Defina o tamanho do disco de dados como 100 GiB.
Etapa 2: Configure o ambiente de execução Docker
-
Instale o Docker.
Para instalar o Docker no Alibaba Cloud Linux 3, siga as etapas descritas em Install and use Docker and Docker Compose.
-
Verifique se o daemon do Docker está em execução:
sudo systemctl status docker -
Baixe e execute o contêiner de IA PyTorch:
O AC2 fornece imagens PyTorch otimizadas para CPUs Intel. Use esta imagem para configurar um ambiente de execução PyTorch.
sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.0.1-3.2304 sudo docker run -itd --name pytorch --net host -v $HOME/workspace:/workspace ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.0.1-3.2304
Etapa 3: Implante manualmente o Qwen-7B-Chat
-
Acesse o ambiente do contêiner:
sudo docker exec -it -w /workspace pytorch /bin/bashExecute todos os comandos subsequentes dentro do contêiner. Caso saia acidentalmente, execute novamente o comando anterior. Para confirmar que você está no contêiner, execute
cat /proc/1/cgroup | grep docker. -
Instale as ferramentas necessárias:
yum install -y tmux git git-lfs wget -
Ative o Git LFS:
O Git LFS é necessário para baixar o modelo pré-treinado.
git lfs install -
Baixe o código-fonte e o modelo.
-
Crie uma sessão tmux:
tmuxNotaO download do modelo pré-treinado pode levar bastante tempo, dependendo das condições da rede. Use uma sessão tmux para evitar interrupções caso sua conexão SSH caia.
-
Baixe o código-fonte do projeto 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 -
Verifique o conteúdo do diretório:
ls -l
-
-
Configure o ambiente de execução.
O contêiner AC2 já inclui diversas dependências de IA para Python. Instale as dependências restantes com
yumoudnf.yum install -y python3-{transformers{,-stream-generator},tiktoken,accelerate} python-einops -
Inicie o chatbot.
-
Modifique os parâmetros de carregamento do modelo.
O código-fonte inclui um script de demonstração em terminal para executar o Qwen-7B-Chat como um chatbot local. Altere os parâmetros de carregamento do modelo para usar precisão BF16 e aproveitar o conjunto de instruções AVX-512 da CPU para aceleração.
cd /workspace/Qwen grep "torch.bfloat16" cli_demo.py 2>&1 >/dev/null || sed -i "57i orch_dtype=torch.bfloat16," cli_demo.py -
Inicie o chatbot:
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chat --cpu-onlyApós a implantação, interaja com o LLM Qwen-7B-Chat digitando mensagens no prompt
User>.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 views, write code, and more. I am designed to interact with humans in natural language and help users obtain information, solve problems, or complete tasks. User>NotaExecute
:exitpara sair do chatbot.
-