Requisitos: Já implantei anteriormente o modelo deepseek-r1:32b com Ollama, que é muito conveniente e rápido, adequado para implantação rápida pessoal. Se for um ambiente de produção empresarial, como deve ser implementado? Geralmente, vllm e sglang são usados para implantação, e este artigo utiliza vLLM para implantar o modelo DeepSeek-R1.
Ollama vs. vLLM
As diferenças são as seguintes:
| Dimensões de contraste | Ollama | vLLM | | Posicionamento do núcleo | Ferramentas leves de localização para desenvolvedores individuais e experimentos em pequena escala | Framework de inferência em nível de produção, focando em cenários de nível empresarial com alta concorrência e baixa latência | | Requisitos de hardware | Suporta CPU e GPU, baixa área de memória (usa modelo de quantização por padrão) | É preciso confiar nas GPUs NVIDIA, que têm alto uso de memória | | Suporte a modelos | Biblioteca de modelos pré-treinados embutida (suporta 1700+ modelos), download automático de versões quantitativas (principalmente int4) | O download manual do arquivo original do modelo (por exemplo, formato HuggingFace) suporta uma gama mais ampla de modelos | | Dificuldade de implantação | Instalação com um botão e uso pronto para usar, sem necessidade de base de programação | Ambiente Python e driver CUDA são necessários, e experiência técnica é exigida | | Características de desempenho | A velocidade de inferência única é rápida, mas a capacidade de processamento de concorrência é fraca | Alta taxa de transferência, suporte para processamento em lote dinâmico e milhares de solicitações simultâneas | | gestão de recursos | Ajuste o uso de recursos de forma flexível e libere automaticamente a memória de vídeo quando inativa | A ocupação da memória de vídeo é fixa, e os recursos precisam ser reservados para lidar com cargas de pico |
Uma breve introdução aos vLLMs
O vLLM é uma biblioteca rápida e fácil de usar de inferência e serviços de LLM.
vLLM com novos algoritmos redefine o nível tecnológico mais recente dos serviços LLM: . Comparado ao HuggingFace Transformers, ele oferece até 24 vezes maior taxa de transferência sem nenhuma alteração na arquitetura do modelo. Reduzindo pela metade a taxa de hash e aumentando a taxa de transferência dez vezes, o estudo comparou a taxa de transferência do vLLM com a biblioteca de LLM mais popular, o HuggingFace Transformers (HF), e o anterior HuggingFace Text Generation Inference (TGI) com throughput SOTA. Além disso, o estudo dividiu o setup experimental em dois tipos: LLaMA-7B com GPU NVIDIA A10G como hardware; O outro é LLaMA-13B, com GPU NVIDIA A100 (40GB) no hardware. Eles amostraram os comprimentos de entrada/saída do conjunto de dados do ShareGPT. Os resultados mostraram que a taxa de transferência do vLLM foi 24 vezes maior que a HF e 3,5 vezes maior que a TGI.
Documentação do vLLM:O login do hiperlink está visível. Endereço do código-fonte:O login do hiperlink está visível. Testes de Desempenho:O login do hiperlink está visível.
Você não precisa entender a imagem, a vaca acabou!
Preparação ambiental
Comprei os serviços de aplicação de alto desempenho do Tencent Cloud e os configurei da seguinte forma:
Ubuntu 20.04 Configuração do ambiente: Ubuntu 20.04, Driver 525.105.17, Python 3.8, CUDA 12.0, cuDNN 8 Tipo de poder de computação: GPU tipo básico de duas placas - 2*16GB+ | 16+TFlops SP | CPU - 16 núcleos | RAM - 64GB
Instale Conda
Crie um ambiente Python com o Conda, cole o script diretamente:
Implante o DeepSeek-R1 usando um vLLM
Crie um ambiente Python com o conda com o seguinte comando:
Instale vllm e modelscope com os seguintes comandos:
Baixe o modelo DeepSeek-R1 usando o modelscope com o seguinte comando:
Referência:O login do hiperlink está visível.
Inicie o modelo deepseek usando o vllm com o seguinte comando:
Se você encontrar "Bfloat16 é suportado apenas em GPUs com capacidade de computação de pelo menos 8.0. Sua GPU Tesla T4 tem capacidade de processamento 7,5. Você pode usar float16 definindo explicitamente a flag 'dtype' na linha de cli, por exemplo: --dtype=half." Aviso, basta adicionar parâmetros de acordo com o aviso.
Comentário:
- --configurações de tamanho paralelo de tensor e contagem de GPU
- --gpu-utilização-memória controla a porcentagem de memória usada
- --nome-de-modelo-servido O nome do modelo usado na API
- --desabilitar-log-requests desativa solicitações de log
Documentação de Instalação da GPU Linux vLLM:O login do hiperlink está visível. Parâmetros do Motor:O login do hiperlink está visível.
Confira o status da GPU conforme mostrado abaixo:
Use testes Postman
Navegador aberto:http://ip:8000/ Documentação da Interface:http://ip:8000/docs
Chamado do carteiro, como mostrado na imagem a seguir:
Avaliação comparativa
Baixe o código de teste com o seguinte comando:
O comando é executado da seguinte forma:
Resultado: Throughput: 2,45 solicitações/s, 1569,60 tokens totais/s, 1255,68 tokens de saída/s
(Fim) |