vLLM监控指标可视化------
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接id=12126vLLM是一种用于大规模语言模型(LLM)推理的框架,旨在提高模型的吞吐量和
1 概述
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126
vLLM是一种用于大规模语言模型(LLM)推理的框架,旨在提高模型的吞吐量和降低延迟。vLLM通过优化内存管理和调度策略,显著提升了模型在高并发场景下的性能。vLLM利用了一种名为PagedAttention的注意力机制,该机制借鉴了虚拟内存和分页技术,以减少缓存内存(KV Cache)的浪费,并允许在请求之间灵活共享KV缓存。这种设计使得vLLM在保持与现有系统相同延迟水平的情况下,能够将吞吐量提高2到4倍。官方网址:https://www.vllm.ai
vLLM提供了丰富的推理服务监控指标,便于推理服务运维人员快速了解推理服务系统性能表现、运行状态及瓶颈所在。
系统状态相关指标vllm:num_requests_running :当前在 GPU 上运行的请求数量。vllm:num_requests_waiting :等待处理的请求数量。vllm:lora_requests_info :LoRA 请求的相关统计信息,包括正在运行的 LoRA 适配器数量、最大 LoRA 数量和等待中的 LoRA 适配器数量。vllm:num_requests_swapped :被交换到 CPU 的请求数量。vllm:gpu_cache_usage_perc :GPU KV 缓存的使用率(1 表示 100% 使用)。vllm:cpu_cache_usage_perc :CPU KV 缓存的使用率(1 表示 100% 使用)。vllm:cpu_prefix_cache_hit_rate :CPU 前缀缓存的命中率。vllm:gpu_prefix_cache_hit_rate :GPU 前缀缓存的命中率。迭代统计相关指标vllm:iter_block_max :迭代时块的最大值。vllm:iter_block_total :迭代时块的总数。vllm:iter_block_avg :迭代时块的平均值。vllm:iter_block_stddev :迭代时块的标准差。请求统计相关指标延迟相关 :如 Time To First Token(TTFT,用户等待首个字符出现的时间),Time Per Output Token(TPOT,后续字符的生成速度),平均 / 最大延迟,分位数延迟(如 P99)等。模型执行时间 :模型执行的具体时间。Token 处理 :与 Token 处理相关的指标。请求参数 :如请求的大小、输入输出的 Token 数量等。 |
---|
2 环境准备
操作系统版本:KOS 5.8 sp2u1(5.10.134-17.2.2.kos5.x86_64)
测试架构:x86_64,96核1TB物理机
显卡:NVIDIA GeForce RTX 4090 D * 1
Docker镜像: vllm/vllm-openai:latest
模型:DeepSeek-R1-Distill-Llama:8B
3 vLLM监控指标可视化呈现
0、启动vllm推理容器服务(vllm推理服务默认开启了metrics指标,无需增加任何参数)
1、docker pull http://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/bitnami/prometheus
2、docker pull http://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/grafana/grafana
3、编写Prometheus配置文件
# 全局配置项,适用于所有 jobglobal: # 设置 Prometheus 抓取目标指标的时间间隔 scrape_interval: 15s # 每 15 秒抓取一次数据(默认是 1 分钟) # 设置评估告警规则的时间间隔 evaluation_interval: 15s # 每 15 秒检查一次告警规则(默认是 1 分钟) # 设置每次抓取目标的最大超时时间 scrape_timeout: 10s # 默认也是 10 秒# 抓取目标配置scrape_configs: # 第一个 job:监控 vllm 推理服务 - job_name: 'vllm' # job 名称,Prometheus 中标签为 job="vllm" static_configs: - targets: - '10.129.131.18:8000' # vllm 服务的地址和端口 |
---|
4、docker run -d --name prometheus -p 9090:9090 -v /data/ssdmodels/wubx/:/data http://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/bitnami/prometheus
5、进入 prometheus : docker exec -it prometheus bash
6、替换Prometheus.yml: cp /data/prometheus.yml /opt/bitnami/prometheus/conf/prometheus.yml
7、重启Prometheus容器服务 docker stop prometheus; docker start prometheus
8、确认Prometheus获取数据正常(浏览器访问http://10.129.131.18:9090 在 Status > Targets)
9、docker run -d --name grafana -p 3000:3000 http://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/grafana/grafana
12、下载vllm.json(项目文件预览 - vllm:A high-throughput and memory-efficient inference and serving engine for LLMs - GitCode)
10、在浏览器访问grafana:http://10.129.131.18:3000 ,默认用户名密码 admin/admin,需要改密码,18环境为123456
11、添加Prometheus为数据源
配置Prometheus访问链接
Save & test测试是否成功
13、import vllm.json到grafana(方法与之前的dcgm一致)
14、执行推理任务
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-R1-Distill-Llama-8B",
"prompt": "介绍下浪潮信息",
"max_tokens": 100,
"temperature": 0
}'
15、结果如下(监控数据需要有推理请求才能监控到)
更多推荐
所有评论(0)