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

2 环境准备

操作系统版本:KOS 5.8 sp2u1(5.10.134-17.2.2.kos5.x86_64)

测试架构:x86_64,96核1TB物理机

显卡:NVIDIA Tesla V100s * 2

3 部署安装

3.1 安装docker

执行yum install docker –y 安装docker服务

执行systemctl start docker启动docker服务

3.2 下载vllm镜像

执行 docker pull vllm/vllm-openai:latest

可能会遇到下载失败或者速度较慢的情况,推荐使用国内源下载,例如:

docker pull docker.1ms.run/vllm/vllm-openai:latest

3.3 下载deepseek模型到本地服务器

国内推荐从HF-Mirror:https://hf-mirror.com上下载deepseek模型:

将下载好的模型拷贝到服务器空间较大的磁盘目录,推荐放到固态硬盘上,可以提高模型加载速度,例如:

3.4 运行vllm容器

创建容器:

docker run --name ds-vllm-test --gpus all -ti --privileged -v /root/:/workspace -v /data/:/data --ipc=host -p 8090:8090 --security-opt seccomp=unconfined --entrypoint /bin/sh docker.1ms.run/vllm/vllm-openai:latest

其中:

参数 作用 说明
​--name ds-vllm-test 容器命名 指定容器名称为 ds-vllm-test,便于后续管理(如 docker stop ds-vllm-test)。
​--gpus all GPU支持 允许容器访问宿主机所有GPU
-ti 分配伪终端并交互式运行 -t 分配终端,-i 保持交互
​--privileged 特权模式 赋予容器几乎与宿主机相同的权限(可访问所有设备,慎用)。适合需要深度系统控制的场景。
​-v /root/:/workspace 挂载卷 将宿主机的 /root/ 目录挂载到容器的 /workspace,实现文件共享。
​-v /data/:/data 挂载卷 将宿主机的 /data/ 目录挂载到容器的 /data。
​--ipc=host IPC命名空间共享 容器与宿主机共享进程间通信(IPC)命名空间,常用于多进程高性能应用(如共享内存)。
​-p 8090:8090 端口映射 将容器的 8090 端口映射到宿主机的 8090 端口,允许外部访问容器服务。
​--security-opt seccomp=unconfined 禁用安全限制 关闭容器的默认安全策略(seccomp),提升容器权限(可能降低安全性)。
​--entrypoint /bin/sh 覆盖入口点 将容器默认启动命令替换为 /bin/sh,直接进入交互式Shell(而非镜像定义的默认命令)。
​docker.1ms.run/vllm/vllm-openai:latest 镜像地址 指定使用的容器镜像

输入exit退出交互页面,然后执行docker start ds-vllm-test 启动容器:

进入容器:

docker exec -it ds-vllm-test bash

3.5 运行deepseek推理服务

执行命令:

vllm serve "/data/ssdmodels/DeepSeek-R1-Distill-Llama-8B" --max-model-len 4096 --tensor-parallel-size 2 --port 8090 --dtype half --served-model-name DeepSeek-R1-Distill-Llama-8B

其中:

参数 作用 深度学习场景下的关键意义 推荐值/选项
​/data/ssdmodels/DeepSeek-R1-Distill-Llama-8B 模型路径 支持HuggingFace模型ID(如facebook/opt-1.3b)或本地路径(需为绝对路径)。 必填
​--max-model-len 4096 最大序列长度 控制模型处理的上下文大小(token数),直接影响显存占用。 需根据模型训练长度和GPU显存调整(如7B模型通常设2048-4096)
​--tensor-parallel-size 2 张量并行GPU数 将模型参数拆分到多张GPU(如2卡并行推理8B模型)。 必须≤可用GPU数,8B模型建议2-4卡
​--port 8090 服务监听端口 指定API服务的HTTP端口(默认8000),需与Docker映射端口一致。 避免使用知名端口(如80/443)
​--dtype half 计算数据类型 half表示FP16精度(省显存),float为FP32(更精确但显存翻倍)。 大多数GPU推荐half(A100/H100支持bfloat16)
​--served-model-name DeepSeek-R1-Distill-Llama-8B 服务暴露的模型名称 客户端通过此名称访问模型(如API路径/v1/models/DeepSeek-R1-Distill-Llama-8B)。 建议与模型实际名称一致

显示上图所示表示推理服务已启动成功。

3.6 访问推理服务

另起一个shell窗口,执行命令:

curl http://localhost:8090/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "DeepSeek-R1-Distill-Llama-8B", "prompt": "介绍下deepseek", "max_tokens": 100, "temperature": 0 }'

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐