当前位置: 首页 > news >正文

Ubuntu下搭建vllm+modelscope+deepseek qwen3

一 保证运行环境正常

主要是显卡的运行环境。
在这里插入图片描述
在这里插入图片描述
如果不会装驱动, 看这篇文章, 以前写过,很全面:

新服务器从0开始搭配Ubuntu+Conda+Docker+Dify

二 安装vllm python环境

最好用全新的conda环境,独立干净

pip install vllm -i https://mirrors.huaweicloud.com/repository/pypi/simple  #用华为源

三 安装 modelscope

参考:https://modelscope.cn/docs/intro/quickstart

pip install modelscope

四 模型下载

模型下载的方式很多:

  • 1 高速下载,可以断点续传
modelscope download --model="Qwen/Qwen2.5-0.5B-Instruct" --local_dir ./model-dir
  • 2 Python 下载
    建个py文件下载:
from modelscope import snapshot_download
model_dir = snapshot_download("Qwen/Qwen2.5-0.5B-Instruct")

#创建下载文件
vi down_model.py
#下载代码
from modelscope import snapshot_download
model_dir = snapshot_download('deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B', cache_dir='/root/deepseekr1_1.5b', revision='master')
#执行下载
python down_model.py
  • 3 Git LFS 下载
git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen2.5-0.5B-Instruct.git

我用了第一种方法:

modelscope download --model="Qwen/Qwen2.5-0.5B-Instruct" --local_dir /data/model/Qwen/Qwen2.5-0.5B-Instructmodelscope download --model="deepseek-ai/DeepSeek-V3.1" --local_dir /data/model/deepseek-ai/DeepSeek-V3.1

在这里插入图片描述

四 运行 vllm

#简版
vllm serve \
/data/model/Qwen/Qwen2.5-0.5B-Instruct \
--dtype=half#复杂版
vllm serve \
--model=/data/model/Qwen/Qwen2.5-0.5B-Instruct \
--tensor-parallel-size 1 \
--trust-remote-code \
--dtype=half \
--served-model-name "Qwen2.5-0.5B-Instruct" \
--host 0.0.0.0 \
--port 8765vllm serve \
--model=/data/model/deepseek-ai/DeepSeek-V3.1 \
--tensor-parallel-size 1 \
--trust-remote-code \
--dtype=half \
--served-model-name "DeepSeek-V3.1" \
--host 0.0.0.0 \
--port 8765简单参数:
参数说明
model模型路径,以文件夹结尾
tensor-parallel-size张量并行副本数,即GPU的数量,咱这儿只有2张卡
trust-remote-code信任远程代码,主要是为了防止模型初始化时不能执行仓库中的源码,默认值是False
device用于执行 vLLM 的设备。可选auto、cuda、neuron、cpu
gpu-memory-utilization用于模型推理过程的显存占用比例,范围为0到1。例如0.5表示显存利用率为 50%。如果未指定,则将使用默认值 0.9。
dtype“auto”将对 FP16 和 FP32 型使用 FP16 精度,对 BF16 型使用 BF16 精度。
“half”指FP16 的“一半”。推荐用于 AWQ 量化模型。
“float16”与“half”相同。
“bfloat16”用于在精度和范围之间取得平衡。
“float”是 FP32 精度的简写。
“float32”表示 FP32 精度。
kv-cache-dtypekv 缓存存储的数据类型。如果为“auto”,则将使用模型默认的数据类型。CUDA 11.8及以上版本 支持
served-model-name对外提供的API中的模型名称
host监听的网络地址,0.0.0.0表示所有网卡的所有IP,127.0.0.1表示仅限本机
portAPI服务的端口

更详细的参数:
1、网络参数

参数类型默认值说明
–hoststringlocalhostAPI服务监听地址,生产环境建议设为0.0.0.0以允许外部访问
–portint8000API服务监听端口号
–uvicorn-log-levelenuminfo控制Uvicorn框架日志粒度,可选:debug,trace,info,warning,error,critical
–allowed-originslist允许跨域请求的来源列表(例:http://example.com)
–allow-credentialsflagFalse允许发送Cookies等凭证信息
–ssl-keyfile/–ssl-certfilepathHTTPS所需的私钥和证书文件路径

2、硬件资源管理

参数类型默认值说明
–tensor-parallel-sizeint1张量并行度(必须等于物理GPU数量)
–gpu-memory-utilizationfloat0.9GPU显存利用率阈值(0.9=90%显存上限)
–block-sizeenum16连续Token块大小,取值8/16/32/64/128
–deviceenumauto执行设备类型(cuda/tpu/hpu/xpu/cpu等)

3、异构存储配置

参数类型默认值说明
–swap-spaceint4每个GPU的CPU换页空间大小(GiB)
–cpu-offload-gbint0每GPU使用CPU内存扩展显存的GiB数(需高速CPU-GPU互联)
–max-cpu-lorasintmax_lorasCPU内存缓存的最大LoRA适配器数量

4、模型基础参数

参数类型默认值说明
–modelstring必填模型名称(如gpt-3.5-turbo)或本地路径
–dtypeenumauto计算精度控制,常用float16/bfloat16
–max-model-lenint自动获取模型最大支持的上下文长度
–tokenizer-modeenumautoTokenizer模式(auto自动选择快速实现)

5、高级加载控制

参数类型默认值说明
–load-formatenumauto权重加载协议,优先safetensors更安全
–config-formatenumauto配置格式hf/mistral或自动检测
–trust-remote-codeflagFalse加载HuggingFace自定义代码时必须启用,有安全风险
–hf-overridesJSON动态覆盖HuggingFace模型配置(如调整隐藏层维度)

6、推理参数限制

参数类型默认值说明
–max-num-seqsint256单批次允许多少序列并行处理
–max-num-batched-tokensint动态调整每个推理阶段处理的Token总数上限
–max-logprobsint5返回每个位置的概率最高前N个token
–speculative-disable-by-batch-sizeint排队请求超过该阈值时关闭推测解码

7、安全与许可控制

参数类型默认值说明
–api-keystringAPI访问密钥,设置后所有请求需包含Authorization头
–allowed-local-media-pathpath允许服务端访问的本地媒体路径(仅可信环境启用)
–cert-reqsenumSSL证书验证级别(参考Python ssl模块)

8、量化配置

参数类型默认值说明
–quantizationenum权重量化方法,如awq/gptq/marlin等
–kv-cache-dtypeenumautoKV缓存量化类型(fp8/fp8_e5m2等)
–lora-dtypeenumautoLoRA适配器的量化精度设置
–calculate-kv-scalesflagFalse动态计算FP8量化比例

测试vllm服务通不通:

curl http://localhost:8765/v1/completions -H "Content-Type: application/json"   -d '{"model": "/data/model/Qwen/Qwen2.5-0.5B-Instruct","prompt": ["<|begin▁of▁sentence|>你好,DeepSeek!<|end▁of▁sentence|>"],"max_tokens": 100,"temperature": 0.6 }'
有问题可以link q:316853809

文章转载自:

http://59yGtpNO.bgpfq.cn
http://HomryIsX.bgpfq.cn
http://as2drP0L.bgpfq.cn
http://ZhaHtKRx.bgpfq.cn
http://HSR3BbZ1.bgpfq.cn
http://URQYjHxP.bgpfq.cn
http://Vo4sal38.bgpfq.cn
http://DOjMR4B9.bgpfq.cn
http://tmzNvoot.bgpfq.cn
http://KkOrXf8a.bgpfq.cn
http://majoRqzY.bgpfq.cn
http://DKwp4PfN.bgpfq.cn
http://jRXY5UBd.bgpfq.cn
http://tNU7LCEX.bgpfq.cn
http://OYZWmxEt.bgpfq.cn
http://m6HN5oOg.bgpfq.cn
http://2xSTjaA6.bgpfq.cn
http://0VQKztYk.bgpfq.cn
http://6FMVpLFL.bgpfq.cn
http://vft83M7I.bgpfq.cn
http://M06Ex4So.bgpfq.cn
http://f70yuaFu.bgpfq.cn
http://jYG8aTY1.bgpfq.cn
http://7XLThx4w.bgpfq.cn
http://KqFQ8xWM.bgpfq.cn
http://km8nNl9w.bgpfq.cn
http://c1oRNMVK.bgpfq.cn
http://aIJVW9oi.bgpfq.cn
http://GtN0lekX.bgpfq.cn
http://PsxNfifc.bgpfq.cn
http://www.dtcms.com/a/384581.html

相关文章:

  • 【 SQLMap】GET型注入
  • Actix-webRust Web框架入门教程
  • Docker Grafana 忘了密码修改方法
  • 移动端触摸事件与鼠标事件的触发机制详解
  • Go语言深度解析:从入门到精通的完整指南
  • CKS-CN 考试知识点分享(6) 日志审计
  • CentOS 7 环境下 PHP 7.3 与 PHP-FPM 完整安装指南(外网 yum / 内网源码双方案)
  • ubuntu24.04下让终端显示当前git分支的最简单的方法
  • 快速安装WIN10
  • 【bert微调+微博数据集】-实现微博热点话题预测与文本的情感分析
  • Java 黑马程序员学习笔记(进阶篇9)
  • 认知语义学中的隐喻理论对人工智能自然语言处理深层语义分析的启示与影响研究
  • 03-htmlcss
  • 【PSINS工具箱下的例程】用于生成平面上8字型飞行轨迹,高度和飞行速度等值可自定义|包括AVP(姿态、速度、位置)和IMU数据(加速度计与陀螺仪)
  • SSB-Based Signal Processing for Passive Radar Using a 5G Network
  • SQLAlchemy使用笔记(一)
  • 【C#】.net core 8.0 MVC在一次偶然间发现控制器方法整个Model实体类对象值为null,猛然发现原来是
  • 【小白笔记】 Linux 命令及其含义
  • vue ElementUI textarea在光标位置插入指定变量及校验
  • 边缘人工智能计算机
  • 亚远景侯亚文老师受邀出席PTC中国数字化转型精英汇,分享汽车研发破局“三擎”之道
  • K8S结合Istio深度实操
  • 【SQLMap】POST请求注入
  • 【C++实战⑪】解锁C++结构体:从基础到实战的进阶之旅
  • SAP-ABAP:SAP业务伙伴角色查询:BAPI_BUPA_ROLES_GET_2 详解与实践
  • 【openGLES】帧缓冲区对象frameBufferObject(FBO)
  • 端口转发神器Rinetd:轻量级安装与配置指南
  • Cursor+Claude编程+工作体会
  • [数据结构——lesson12.希尔排序]
  • Field II 超声成像仿真 1--得到Bmode图像