大模型推理:Qwen3 32B vLLM Docker本地部署

Qwen3基础知识

此次Qwen3开源8个模型(MOE架构:Qwen3-235B-A22B、Qwen3-30B-A3B,Dense架构:Qwen3 0.6B/1.7B/4B/8B/14B/32B),新版本的Qwen3特性包括:

  • 支持混合思维模式,即推理/非推理一体模型:
  • 多语言支持:支持119种语言和方言
  • Agent能力提升:加强了编码和Agent表现,并加强了MCP的支持
  • 快速体验方式:千问web chat官网

其中,除Qwen3-235B-A22B和Qwen3-32B之外,另外6个模型是蒸馏模型。
各模型版本的参数:
在这里插入图片描述

部署环境

  • 单机4090 x 4部署BF16格式的Qwen3-32B模型
  • 10并发下,最长上下文可支持96k(128k显存不够,就只测96k)
  • vLLM docker版本:vllm/vllm-openai:v0.8.5(>=0.8.5)
  • 需安装好Docker和Nvidia container toolkit,可参考Ubuntu Nvidia Docker单机多卡环境配置

Docker部署

模型下载:

Docker启动命令:

docker run -d --runtime nvidia --gpus 4 --ipc=host -p 8000:8000 -v /root/models:/root/models -e "PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128" --name=Qwen3-32b vllm/vllm-openai:v0.8.5 --model /root/models/Qwen3-32B --trust-remote-code --served-model-name Qwen3-32b --max_num_seqs 10 --tensor-parallel-size 4 --gpu_memory_utilization 0.98  --enforce-eager --disable-custom-all-reduce --enable-auto-tool-choice --tool-call-parser hermes --compilation-config 0 --enable-reasoning --reasoning-parser deepseek_r1 --rope-scaling '{"rope_type":"yarn","factor":4.0,"original_max_position_embeddings":40960}' --max-model-len 98304

参数解释:

  • model : 映射到容器的本地模型所在的目录
  • served-model-name:模型别名,API等调用时使用
  • max_num_seqs:最大并发数
  • gpu_memory_utilization:显存利用率
  • enable-auto-tool-choice、tool-call-parser:启用tool calling,Qwen系列模型是hermes
  • enable-reasoning、reasoning-parser:启用推理模式,并设置参考推理为deepseek_r1(截止当前均为deepseek_r1)
  • rope-scaling:模型默认是40k,外推长度参数
  • max-model-len:模型支持的上下文长度(Qwen32 B最大支持128k)

使用方式

  • 启用推理模式(默认,也就是不指定/think):
    官方推荐参数:Temperature=0.6,TopP=0.95,TopK=20,MinP=0, presence_penalty=0~2,不使用greedy decodeing
    在这里插入图片描述

  • 启用非推理模式
    官方推荐参数:Temperature=0.7,TopP=0.8,TopK=20,MinP=0, presence_penalty=0~2
    在这里插入图片描述

其它部署方式

  • Qwen3 Moe架构可选:vllm>=0.8.4,sglang >=0.4.6.post1,Ktransformers>=0.3、ollama >=0.6.6、llamacpp、lm studio(尤其适合Mac M芯片)等
  • Qwen3 Dense架构:除上述Ktransformers外,其他均可。
  • 国产NPU部署:华为自研的MindIE等
    除了上述外,还有像lm deploy、xinference、fastchat等,陆陆续续都会支持。

扩展:Qwen3系列模型训练方式

  • Pre-Training,共使用36T Tokens,是Qwen2.5的两倍:
    • 阶段1:30T 4k上下文长度的tokens训练,让模型学习语言能力和通用知识
    • 阶段2:额外5T tokens训练,包括数学、代码、推理、STEM等类型数据
    • 长文本训练:32k上下文的高质量长文本数据训练,提高模型长文本场景能力
  • Post-Training,针对Qwen3-235B-A22B和Qwen3-32B模型(其他模型是在base模型蒸馏得到):
    在这里插入图片描述
    • 长思维链冷启动:使用数学、代码、推理、SEM等数据微调,模型可具有推理能力
    • 长思维链强化学习:RL进一步提升模型的推理能力
    • 思维模式混合:长推理数据与指令数据微调,模型可具有两种思维模式
    • 通用强化学习:使用RL对模型的各项通用能力进行强化提升
      在这里插入图片描述

扩展阅读

参考文献

### Qwen-32B 大模型部署方法 #### 安装环境准备 为了顺利安装并运行Qwen-32B大模型,建议创建一个新的Python虚拟环境来管理依赖项。可以使用Conda工具完成这一操作: ```bash conda create -n modelscope python=3.10 conda activate modelscope pip install modelscope ``` 上述命令会建立名为`modelscope`的新环境,并激活该环境以便后续安装所需的库文件。 #### 下载模型 对于Qwen2.5-Coder-32B-Instruct版本的大规模语言模型,可以通过ModelScope平台提供的API接口直接获取所需资源。具体做法如下所示: ```python from modelscope import snapshot_download model_dir = snapshot_download( 'Qwen/Qwen2.5-Coder-32B-Instruct', cache_dir='/ssd/xiedong/Qwen/Qwen2.5-Coder-32B-Instruct/' ) ``` 这段代码利用了`snapshot_download()`函数从远程仓库拉取目标模型至本地指定路径下[^2]。 #### 加载与推理服务配置 一旦完成了模型下载工作之后,则需进一步设置加载机制以及启动相应的推理服务器。通常情况下,这涉及到编写一段简单的脚本来初始化模型实例并且暴露HTTP API端口供外部访问请求调用。下面给出了一种可能实现方案的一部分伪代码表示形式: ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained(model_dir) model = AutoModelForCausalLM.from_pretrained(model_dir) def generate_response(prompt_text): inputs = tokenizer(prompt_text, return_tensors="pt").input_ids.cuda() outputs = model.generate(inputs, max_length=50) response = tokenizer.decode(outputs[0], skip_special_tokens=True) return response ``` 此部分展示了如何通过Transformers库中的类加载已有的权重数据结构体,并定义了一个用于处理输入提示词串进而返回生成回复字符串的方法[^3]。 #### Docker容器化解决方案 考虑到生产环境中稳定性和可移植性的需求,推荐将整个应用打包成Docker镜像发布出去。这样不仅简化了跨机器迁移过程中的复杂度,同时也确保不同平台上的一致行为表现。构建流程大致分为两步走:首先是撰写合适的Dockerfile描述文件;其次是执行docker build指令编译最终产物。 ```dockerfile FROM pytorch/pytorch:latest-gpu WORKDIR /app COPY . . RUN pip install --no-cache-dir -r requirements.txt CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"] ``` 以上片段提供了一个基础模板作为参考,在实际项目里还需要根据具体情况调整基底映像选择以及其他细节选项设定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值