NVIDIA 实现通义千问 Qwen3 的生产级应用集成和部署

简介: 阿里巴巴近期开源了通义千问Qwen3大语言模型(LLM),包含两款混合专家模型(MoE)235B-A22B与30B-A3B,以及六款稠密模型(Dense)从0.6B到32B不等。开发者可基于NVIDIA GPU使用TensorRT-LLM、Ollama、SGLang、vLLM等框架高效部署Qwen3系列模型,实现快速词元生成和生产级应用开发。

阿里巴巴近期开源了混合推理大语言模型(LLM)通义千问 Qwen3,此次 Qwen3 开源模型系列包含两款混合专家模型 (MoE) 235B-A22B(总参数 2,350 亿,激活参数 220 亿)和 30B-A3B,以及六款稠密(Dense)模型 0.6B、1.7B、4B、8B、14B、32B。


现在,开发者能够基于 NVIDIA GPU,使用 NVIDIA TensorRT-LLM、Ollama、SGLang、vLLM 等推理框架高效集成和部署 Qwen3 模型,从而实现极快的词元 (token) 生成,以及生产级别的应用研发。


本文提供使用  Qwen3 系列模型的最佳实践,我们会展示如何使用上述框架来部署模型实现高效推理。开发者可以根据他们的应用场景需求来选择合适的框架,例如高吞吐量、低延迟、或是 GPU 内存占用(GPU footprint)。


Qwen3 模型

Qwen3 是中国首个混合推理模型,在 AIME、LiveCodeBench、ArenaHard、BFCL 等权威评测集上均获得出色的表现(信息来源于阿里巴巴官方微信公众号)。Qwen3 提供的系列开源稠密和 MoE 模型在推理、指令遵循、Agent 能力、多语言支持等方面均大幅增强,是全球领先的开源模型。


大语言模型的推理性能对于实时、经济高效的生产级部署至关重要

LLM 生态系统快速演进,新模型和新技术不断更新迭代,需要一种高性能且灵活的解决方案来优化模型。


推理系统设计颇具挑战,要求也不断提升,这些挑战包括 LLM 推理计算中预填充(prefill)和解码(decode)两个阶段对于计算能力和显存大小 / 带宽的需求差异,超大尺寸模型并行分布式推理,海量并发请求,输入输出长度高度动态请求等。


目前在推理引擎上有许多优化技术可用,包括高性能 kernel、低精度量化、Batch 调度、采样优化、KV 缓存(KV cache)优化等等,选择最适合自己应用场景的技术组合需要耗费开发者大量精力。


NVIDIA TensorRT-LLM 提供了最新的极致优化的计算 kernel、高性能 Attention 实现、多机多卡通信分布式支持、丰富的并行和量化策略等,从而在 NVIDIA GPU 上实现高效的 LLM 推理。此外,TensorRT-LLM 采用 PyTorch 的新架构还提供了直观、简洁且高效的模型推理配置 LLM API,从而能够兼顾极佳性能和灵活友好的工作流。


通过使用 TensorRT-LLM,开发者可以迅速上手先进的优化技术,其中包括定制的 Attention kernel、连续批处理 (in-flight batching) 、分页 KV 缓存 (Paged KV cache)、量化(FP8、FP4、INT4 AWQ、INT8 SmoothQuant)、投机采样等诸多技术。


使用 TensorRT-LLM 运行 Qwen3 的推理部署优化

下面以使用 Qwen3-4B 模型配置 PyTorch backend 为例,描述如何快捷进行基准测试以及服务化的工作。采用类似的步骤,也可以实现 Qwen3 其他 Dense 和 MoE 模型的推理部署优化。


  1. 首先准备 benchmark 测试数据集合和 extra-llm-api-config.yml 配置文件:
python3 /path/to/TensorRT-LLM/benchmarks/cpp/prepare_dataset.py \    
  --tokenizer=/path/to/Qwen3-4B \    
  --stdout token-norm-dist --num-requests=32768 \    
  --input-mean=1024 --output-mean=1024 \
  --input-stdev=0 --output-stdev=0 > /path/to/dataset.txt
cat >/path/to/extra-llm-api-config.yml <<EOF
pytorch_backend_config:    
  use_cuda_graph: true    
  cuda_graph_padding_enabled: true    
  cuda_graph_batch_sizes:
  - 1    
  - 2   
  - 4  
  - 8   
  - 16
  - 32
  - 64
  - 128
  - 256
  - 384    
  print_iter_log: true   
  enable_overlap_scheduler: true
EOF
  1. 通过 trtllm-bench 运行 benchmark 指令:
trtllm-bench \      
     --model Qwen/Qwen3-4B \      
     --model_path /path/to/Qwen3-4B \      
     throughput \      
     --backend pytorch \      
     --max_batch_size 128 \      
     --max_num_tokens 16384 \
     --dataset /path/to/dataset.txt \      
     --kv_cache_free_gpu_mem_fraction 0.9 \      
     --extra_llm_api_options /path/to/extra-llm-api-config.yml \      
     --concurrency 128 \      
     --num_requests 32768 \      
     --streaming  

相同 GPU 环境配置下,基于 ISL = 1K, OSL = 1K,相较 BF16 基准,Qwen3-4B 稠密模型使用 TensorRT-LLM 在 BF16 的推理吞吐(每秒生成的 token 数)加速比最高可达 16.04 倍

图片 1.png

图 1:Qwen3-4B 稠密模型在 TensorRT-LLM BF16 与  BF16 基准的推理吞吐性能比较


  1. 通过 trtllm-serve 运行 serve 指令:
trtllm-serve \  
  /path/to/Qwen3-4B \  
  --host localhost \  
  --port 8000 \  
  --backend pytorch \
  --max_batch_size 128 \  
  --max_num_tokens 16384 \  
  --kv_cache_free_gpu_memory_fraction 0.95 \  
  --extra_llm_api_options /path/to/extra-llm-api-config.yml
  1. 模型启动成功后,便可通过标准 OpenAI API 进行模型推理调用。
curl -X POST "http://localhost:8000/v1/chat/completions" \
    -H "Content-Type: application/json" \
    --data '{
             "model": "Qwen/Qwen3-4B",
             "Max_tokens": 1024,
             "Temperature": 0,
             "messages": [
                  {
                         "role": "user",
                         "content": "What is the capital of France?"
                  }
           ]
    }'

使用 Ollama, SGLang, vLLM 框架运行 Qwen3-4B

除了 TensorRT-LLM, Qwen 模型也可以使用诸如 Ollama,SGLang, vLLM 等框架,通过简单几步部署到 NVIDIA GPU。 Qwen3 提供了多种模型可以运行在终端和设备上,例如 NVIDIA Jeston 以及适用于 Windows 开发者的 NVIDIA RTX。

使用 Ollama 在本地运行 Qwen3-4B:

  1. 从以下网址下载和安装最新版本的 Ollama: ollama.com/download
  2. 使用 ollama run 命令运行模型,此操作将加载并初始化模型用于后续与用户交互。

ollama run qwen3:4b

  1. 在用户提示词或系统消息中添加 /think(默认值)/no_think 可在模型的思考模式之间切换。运行 ollama run 命令后,可以直接在终端中使用以下的示例提示词,来测试思考模式:

"Write a python lambda function to add two numbers" - Thinking mode enabled

"Write a python lambda function to add two numbers /no_think" - Non-thinking mode

  1. 参考 ollama.com/library/qwen3 查看更多模型变量,这些变量基于 NVIDIA GPU 上完成了优化。


使用 SGLang 运行 Qwen3-4B:

  1. 安装 SGLang 库

pip install "sglang[all]"

  1. 下载模型,在这个演示中,我们使用的是 Hugging Face 上的 huggingfaceCLI 命令提示符执行,请注意需要提供一个 API key 来下载模型。

huggingface-cli download --resume-download Qwen/Qwen3-4B --local-dir ./

  1. 加载和运行模型,请注意,根据不同的需求,可以传递额外的参数。更多详细信息可以参考相关文档。

python -m sglang.launch_server \     

  --model-path /ssd4TB/huggingface/hub/models/ \

  --trust-remote-code \

  --device "cuda:0" \

  --port 30000 \

  --host 0.0.0.0

  1. 调用模型推理

curl -X POST "http://localhost:30000/v1/chat/completions" \

    -H "Content-Type: application/json" \

    --data '{

        "model": "Qwen/Qwen3-4B",

        "messages": [

            {

                "role": "user",

                "content": "What is the capital of France?"

            }

        ]

    }'


使用 vLLM 运行 Qwen3-4B

  1. 安装 vLLM 库

pip install vllm

  1. 通过 vllm serve 加载和运行模型,请注意,根据不同的需求,可以传递额外的参数。更多详细信息可以参考相关文档。

vllm serve "Qwen/Qwen3-4B" \

 --tensor-parallel-size 1 \

 --gpu-memory-utilization 0.85 \

 --device "cuda:0" \

 --max-num-batched-tokens 8192 \

 --max-num-seqs 256

  1. 调用模型推理

curl -X POST "http://localhost:8000/v1/chat/completions" \

    -H "Content-Type: application/json" \

    --data '{

        "model": "Qwen/Qwen3-4B",

        "messages": [

            {

                "role": "user",

                "content": "What is the capital of France?"

            }

        ]

    }'


总结

仅仅通过几行代码,开发者即可通过包括 TensorRT-LLM 在内的流行推理框架来使用最新的 Qwen 系列模型。

此外,对模型推理和部署框架的技术选型需要考虑到诸多关键因素,尤其是在把 AI 模型部署到生产环境中时,对性能、资源和成本的平衡。

相关实践学习
如何快速创建插件agent
阿里云百炼应用基于Assistant API技术架构,结合大语言模型(LLM)的推理、知识检索增强、插件调度等能力,构建应对各类复杂场景任务的场景应用。通过集成化、直观易用的产品界面,为开发者提供了丰富的应用配置选项,包括大型语言模型(LLM)选择、Pro
相关文章
|
3天前
|
人工智能 文件存储 数据中心
Ollama部署本地大模型并通过Infortress APP远程访问保姆级教程
本文介绍如何快速上手本地大模型部署工具Ollama及AI远程访问工具Infortress。通过Ollama,开发者可轻松部署如Llama、Deepseek等主流开源模型,仅需几行命令即可完成安装与运行。结合Infortress,用户能实现对本地大模型的远程访问,支持多设备无缝对接,同时提供便捷的模型切换与知识库管理功能。Infortress更兼具NAS软件特性,成为个人AI数据中心的理想选择。
|
11天前
|
机器学习/深度学习 人工智能 监控
实战 | Qwen3大模型微调入门实战(完整代码)
Qwen3是阿里通义实验室最近开源的大语言模型,发布时便登顶了开源LLM榜单第一名。同时,Qwen系列模型也超越LLaMA,成为了开源模型社区中最受欢迎的开源LLM。
572 23
|
1天前
|
人工智能 自然语言处理 语音技术
全模态通义千问Qwen2.5-Omni大模型开源,7B尺寸实现全球最强性能
Qwen2.5-Omni采用“Thinker-Talker”双核架构,Thinker负责多模态输入处理,Talker实现流式语音合成,二者无缝协作。该模型在多模态任务OmniBench中达到SOTA表现,并在多个单模态领域超越同类模型。作为通义系列首个端到端全模态大模型,Qwen2.5-Omni支持文本、图像、音频和视频等多种输入输出形式,具备情绪识别与自然反馈能力。现已开源,开发者可通过多个平台免费体验和下载。
|
4天前
#我用Qwen3做了英语老师玛丽# 、#阿里云百炼#,@通义大模型
通过Qwen3创建了名为“玛丽”的英语老师智能体,具备解决学生英语问题的多种功能。她能用英语描述天气、翻译古诗词、撰写英语作文,还帮助了解外国文化、饮食与风俗习惯。相比以往版本更易使用,体验更佳。已完成功能设计与发布流程,感兴趣者可尝试使用。
47 12
|
2天前
|
JavaScript 搜索推荐 前端开发
通义灵码2.5智能体模式联合MCP:打造自动化菜品推荐平台,实现从需求到部署的全流程创新
本项目利用通义灵码2.5的智能体模式与MCP服务,构建在线点餐推荐网站。基于Qwen3模型,实现从需求到代码生成的全流程自动化,集成“今天吃什么”和EdgeOne MCP服务,提供个性化推荐、偏好管理等功能。技术架构采用React/Vue.js前端与Node.js后端,结合MCP工具链简化开发。项目涵盖功能测试、部署及未来扩展方向,如餐厅推荐、语音交互等,展示高效开发与灵活扩展能力。
|
4天前
|
定位技术 UED
#我用Qwen3做了旅游专家# 、#阿里云百炼#、@通义大模型
本教程介绍如何在百炼控制台配置智能体应用以提升旅游专家功能。首先登录百炼控制台,依次点击“应用”、“应用管理”和“智能体应用”,然后进入“设置”填写提示词。通过集成MCP高德地图与Qwen3模型,使旅游专家的回答更具体、专业,涵盖目的地导航、当地饮食、风俗习惯及天气预报等信息,显著提高用户体验与出行便利性,同时加深对智能体配置的理解。
45 10
|
11天前
|
人工智能 弹性计算 智能设计
🎨 三步打造AI创意工坊 | 通义万相图像生成服务极速部署指南
🚀 从零到大师 | 通义万相智能创作系统部署指南
|
9天前
|
人工智能 自然语言处理 机器人
阿里云百炼xWaytoAGI共学课 DAY4 - 小白也能在阿里云百炼手搓Qwen3,构建Qwen3赋能的英语学习智能体“妮娜”
本次课程通过构建"英语老师妮娜"AI应用,教授Qwen3系列模型特性及阿里云百炼平台的MCP服务、工作流集成技术。重点学习模型选择、智能体开发流程,涵盖单词卡片生成、结构化分析、Notion存档及二维码分享功能,适合开发者、产品经理等人群掌握AI应用落地方法。
|
1天前
|
开发者
qwen3大模型目前的不足与功能建议
这段内容反映了用户在过去半个多月与Qwen3大模型在线服务互动后,发现的功能不足及对未来功能的建议。用户已将所有意见汇总至一个会话,并通过www.tongyi.com页面分享对话链接。希望Qwen开发团队重视这些建议,同时也会发布到阿里云开发者社区讨论。待官方回复后,用户将根据回复决定是否分享给其他云服务厂商和开源社区。
|
2天前
|
机器学习/深度学习 存储 安全
4G手机内存玩转Qwen2.5-Omni?MNN全面支持Qwen2.5-Omni与Qwen3!
随着移动端算力、存储能力的提升,在端侧部署大模型已成为趋势。本地化运行可消除网络延迟实现毫秒响应,降低云端算力成本,同时避免数据上传保障隐私安全。
58 0