Use o plugin vLLM/SGLang do agente Python do Application Monitoring para rastrear requisições, coletar métricas essenciais e monitorar o desempenho do mecanismo de inferência.
O ARMS oferece suporte à observabilidade apenas para o vLLM/SGLang framework.
Integração com o PAI-EAS
O Elastic Algorithm Service (EAS) é um product do PAI para inferência online. Ele permite implantar serviços de modelo em grupos de recursos públicos ou dedicados para executar inferências em tempo real em hardware heterogêneo, como CPUs e GPUs.
Etapa 1: Preparar as variáveis de ambiente
export ARMS_APP_NAME=xxx # The name of the EAS application.
export ARMS_REGION_ID=xxx # The region ID of your Alibaba Cloud account.
export ARMS_LICENSE_KEY=xxx # The Alibaba Cloud license key.
Etapa 2: Modifique o comando de execução do PAI-EAS
Faça login no PAI console. Na barra de navegação superior, selecione a região de destino e acesse o workspace desejado.
No painel de navegação à esquerda, escolha .
Na aba Inference Service, localize a aplicação de destino e clique em Update na coluna Actions.
-
Modifique o comando de execução.
Este exemplo usa o modelo DeepSeek-R1-Distill-Qwen-7B.
Comando original do vLLM:
gpu_count=$(nvidia-smi --query-gpu=count --format=csv,noheader | wc -l);vllm serve /model_dir --host 0.0.0.0 --port 8000 --root-path '/' --trust-remote-code --gpu-memory-utilization 0.95 --max-model-len 32768 --tensor-parallel-size $gpu_count --served-model-name DeepSeek-R1-Distill-Qwen-7BComando do vLLM para integração com o Application Monitoring:
gpu_count=$(nvidia-smi --query-gpu=count --format=csv,noheader | wc -l);pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/ ; pip3 config set install.trusted-host mirrors.aliyun.com; pip3 install aliyun-bootstrap;ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;ARMS_APP_NAME=qwq32 ARMS_LICENSE_KEY=it0kjz0oxz@3115ad****** ARMS_REGION_ID=cn-hangzhou aliyun-instrument vllm serve /model_dir --host 0.0.0.0 --port 8000 --root-path '/' --trust-remote-code --gpu-memory-utilization 0.95 --max-model-len 32768 --tensor-parallel-size $gpu_count --served-model-name DeepSeek-R1-Distill-Qwen-7BDescrição dos comandos adicionados:
-
Configure o repositório PyPI. Ajuste essa configuração conforme necessário.
pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/ ; pip3 config set install.trusted-host mirrors.aliyun.com; -
Baixe o instalador do agente.
pip3 install aliyun-bootstrap; -
Instale o agente usando o instalador.
Substitua
cn-hangzhoupela sua região.ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;
Comando original do SGLang:
python -m sglang.launch_server --model-path /model_dirComando para integrar o SGLang ao Application Monitoring:
pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/ ; pip3 config set install.trusted-host mirrors.aliyun.com; pip3 install aliyun-bootstrap;ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;ARMS_APP_NAME=qwq32 ARMS_LICENSE_KEY=it0kjz0oxz@3115ad****** ARMS_REGION_ID=cn-hangzhou aliyun-instrument python -m sglang.launch_server --model-path /model_dirDescrição dos comandos:
-
Configure o repositório PyPI. Ajuste essa configuração conforme necessário.
pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/ ; pip3 config set install.trusted-host mirrors.aliyun.com; -
Baixe o instalador do agente.
pip3 install aliyun-bootstrap; -
Instale o agente.
Substitua
cn-hangzhoupela sua região.ARMS_REGION_ID=cn-hangzhou aliyun-bootstrap -a install;
-
Clique em Update.
Integração de modelos para cenários gerais
O ARMS suporta apenas as versões oficiais do vLLM (V0 e V1) e do SGLang. Versões modificadas não têm suporte. Para obter uma lista detalhada das versões compatíveis, consulte Large Language Model (LLM) Service.
O ARMS atende aos cenários de conclusão e chat. Ele coleta dois spans para requisições sem streaming e três para requisições com streaming.
Cenários suportados | Processamento de dados | Conteúdo coletado | vLLM V0 | vLLM V1 | SGLang |
Chat ou conclusão | Streaming | span |
|
|
|
métricas principais TTFT/TPOP | Suportado | Não suportado | Suportado | ||
Sem streaming | span |
|
|
| |
métricas principais TTFT/TPOP | Não aplicável | Não aplicável | Não aplicável | ||
Embedding | http | Não suportado | Não suportado | Não suportado | |
Rerank | http | Não suportado | Não suportado | Não suportado | |
Spans e atributos importantes
Relacionados a llm_request:
|
Atributo |
Descrição |
|
gen_ai.latency.e2e |
Tempo de ponta a ponta |
|
gen_ai.latency.time_in_queue |
Tempo na fila |
|
gen_ai.latency.time_in_scheduler |
Tempo de agendamento |
|
gen_ai.latency.time_to_first_token |
Tempo até o primeiro token |
|
gen_ai.request.id |
ID da requisição |