阿里巴巴近期發(fā)布了其開源的混合推理大語言模型 (LLM) 通義千問 Qwen3,此次 Qwen3 開源模型系列包含兩款混合專家模型 (MoE),235B-A22B(總參數(shù) 2,350 億,激活參數(shù) 220 億)和 30B-A3B,以及六款稠密 (Dense) 模型 0.6B、1.7B、4B、8B、14B、32B。
現(xiàn)在,開發(fā)者能夠基于 NVIDIA GPU,使用 NVIDIA TensorRT-LLM、Ollama、SGLang、vLLM 等推理框架高效集成和部署 Qwen3 模型,從而實現(xiàn)極快的詞元 (token) 生成,以及生產(chǎn)級別的應(yīng)用研發(fā)。
本文提供使用 Qwen3 系列模型的最佳實踐,我們會展示如何使用上述框架來部署模型實現(xiàn)高效推理。開發(fā)者可以根據(jù)他們的應(yīng)用場景需求來選擇合適的框架,例如高吞吐量、低延遲、或是 GPU 內(nèi)存占用 (GPU footprint)。
Qwen3 模型
Qwen3 是中國首個混合推理模型,在 AIME、LiveCodeBench、ArenaHard、BFCL 等權(quán)威評測集上均獲得出色的表現(xiàn)(信息來源于阿里巴巴官方微信公眾號)。Qwen3 提供的系列開源稠密和 MoE 模型在推理、指令遵循、Agent 能力、多語言支持等方面均大幅增強,是全球領(lǐng)先的開源模型。
大語言模型的推理性能對于
實時、經(jīng)濟高效的生產(chǎn)級部署至關(guān)重要
LLM 生態(tài)系統(tǒng)快速演進,新模型和新技術(shù)不斷更新迭代,需要一種高性能且靈活的解決方案來優(yōu)化模型。
推理系統(tǒng)設(shè)計頗具挑戰(zhàn),要求也不斷提升,這些挑戰(zhàn)包括 LLM 推理計算預(yù)填充 (prefill) 和解碼 (decode) 兩個階段對于計算能力和顯存大小 / 帶寬的需求差異,超大尺寸模型并行分布式推理,海量并發(fā)請求,輸入輸出長度高度動態(tài)請求等。
目前在推理引擎上有許多優(yōu)化技術(shù)可用,包括高性能 kernel、低精度量化、Batch 調(diào)度、采樣優(yōu)化、KV 緩存 (KV cache) 優(yōu)化等等,選擇最適合自己應(yīng)用場景的技術(shù)組合需要耗費開發(fā)者大量精力。
NVIDIA TensorRT-LLM 提供了最新的極致優(yōu)化的計算 kernel、高性能 Attention 實現(xiàn)、多機多卡通信分布式支持、豐富的并行和量化策略等,從而在 NVIDIA GPU 上實現(xiàn)高效的 LLM 推理。此外,TensorRT-LLM 采用 PyTorch 的新架構(gòu)還提供了直觀、簡潔且高效的模型推理配置 LLM API,從而能夠兼顧極佳性能和靈活友好的工作流。
通過使用 TensorRT-LLM,開發(fā)者可以迅速上手先進的優(yōu)化技術(shù),其中包括定制的 Attention kernel、連續(xù)批處理 (in-flight batching)、分頁 KV 緩存 (Paged KV cache)、量化 (FP8、FP4、INT4 AWQ、INT8 SmoothQuant)、投機采樣等諸多技術(shù)。
使用 TensorRT-LLM
運行 Qwen3 的推理部署優(yōu)化
下面以使用 Qwen3-4B 模型配置 PyTorch backend 為例,描述如何快捷進行基準測試以及服務(wù)化的工作。采用類似的步驟,也可以實現(xiàn) Qwen3 其他 Dense 和 MoE 模型的推理部署優(yōu)化。
1. 首先準備 benchmark 測試數(shù)據(jù)集合和 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.txtcat >/path/to/extra-llm-api-config.yml <
2. 通過 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 環(huán)境配置下,基于 ISL = 1K,OSL = 1K,相較 BF16 基準,Qwen3-4B 稠密模型使用 TensorRT-LLM 在 BF16 的推理吞吐(每秒生成的 token 數(shù))加速比最高可達 16.04 倍。
圖 1:Qwen3-4B 稠密模型在 TensorRT-LLM BF16 與 BF16 基準的推理吞吐性能比較
該圖片來源于 NVIDIA Blog: Integrate and Deploy Tongyi Qwen3 Models into Production Applications with NVIDIA,若您有任何疑問或需要使用該圖片,請聯(lián)系 NVIDIA
3. 通過 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
4. 模型啟動成功后,便可通過標準 OpenAI API 進行模型推理調(diào)用。
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 提供了多種模型可以運行在終端和設(shè)備上,例如 NVIDIA Jeston 以及適用于 Windows 開發(fā)者的 NVIDIA RTX。
使用 Ollama 在本地運行 Qwen3-4B:
1. 從以下網(wǎng)址下載和安裝最新版本的 Ollama: ollama.com/download。
2. 使用 ollama run 命令運行模型,此操作將加載并初始化模型用于后續(xù)與用戶交互。
ollama run qwen3:4b
3. 在用戶提示詞或系統(tǒng)消息中添加 /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
4. 參考 ollama.com/library/qwen3 查看更多模型變量,這些變量基于 NVIDIA GPU 完成了優(yōu)化。
使用 SGLang 運行 Qwen3-4B:
1. 安裝 SGLang 庫
pip install "sglang[all]"
2. 下載模型,在這個演示中,我們使用的是 Hugging Face 上的 huggingfaceCLI 命令提示符執(zhí)行,請注意需要提供一個 API key 來下載模型。
huggingface-cli download --resume-download Qwen/Qwen3-4B --local-dir ./
3. 加載和運行模型,請注意,根據(jù)不同的需求,可以傳遞額外的參數(shù)。更多詳細信息可以參考相關(guān)文檔。
python -m sglang.launch_server \\ --model-path /ssd4TB/huggingface/hub/models/ \\ --trust-remote-code \\ --device "cuda:0" \\ --port 30000 \\ --host 0.0.0.0
4. 調(diào)用模型推理
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
2. 通過 vllm serve 加載和運行模型,請注意,根據(jù)不同的需求,可以傳遞額外的參數(shù)。更多詳細信息可以參考相關(guān)文檔。
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
3. 調(diào)用模型推理
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?" } ] }'
總結(jié)
僅通過幾行代碼,開發(fā)者即可通過包括 TensorRT-LLM 在內(nèi)的流行推理框架來使用最新的 Qwen 系列模型。
此外,對模型推理和部署框架的技術(shù)選型需要考慮到諸多關(guān)鍵因素,尤其是在把 AI 模型部署到生產(chǎn)環(huán)境中時,對性能、資源和成本的平衡。
作者
Ankit Patel
NVIDIA 資深總監(jiān),負責(zé)軟件開發(fā)工具包、應(yīng)用程序編程接口以及開發(fā)者工具方面的開發(fā)者拓展工作。2011 年作為 GPU 產(chǎn)品經(jīng)理加入 NVIDIA,之后從事虛擬化、光線追蹤和 AI 等產(chǎn)品在軟件產(chǎn)品管理方面的工作。Ankit 畢業(yè)于康考迪亞大學(xué) (Concordia University),獲計算機科學(xué)學(xué)士學(xué)位,并在康奈爾大學(xué) (Cornell University) 取得工商管理碩士學(xué)位 (MBA)。
劉川
NVIDIA 解決方案架構(gòu)經(jīng)理,整體負責(zé)中國區(qū)云計算行業(yè) GPU 解決方案。于南京大學(xué)獲計算機科學(xué)與技術(shù)專業(yè)碩士學(xué)位。帶領(lǐng)團隊主要從事大語言模型、生成式 AI 以及搜索推薦等重點 AI 任務(wù)的 GPU 適配、優(yōu)化和加速方案的設(shè)計、部署和落地,幫助多家頭部互聯(lián)網(wǎng)公司在諸多業(yè)務(wù)中大幅降本增效。
金國強
NVIDIA 資深解決方案架構(gòu)師,主要負責(zé)深度學(xué)習(xí)生成式 AI 領(lǐng)域模型訓(xùn)練、推理優(yōu)化以及大模型開發(fā)與應(yīng)用云端落地等技術(shù)方向合作。
郝尚榮
NVIDIA 深度學(xué)習(xí)解決方案架構(gòu)師,2021 年加入 NVIDIA 解決方案架構(gòu)團隊,主要從事模型推理優(yōu)化加速的工作,目前主要支持國內(nèi) CSP 客戶在大語言模型推理加速的工作。
谷鋆
NVIDIA 深度學(xué)習(xí)解決方案架構(gòu)師,于 2022 年加入 NVIDIA 解決方案架構(gòu)師團隊,專門為國內(nèi) CSP 進行 LLM 模型推理優(yōu)化。
高慧怡
NVIDIA 深度學(xué)習(xí)解決方案架構(gòu)師,2020 年加入 NVIDIA 解決方案架構(gòu)團隊,從事深度學(xué)習(xí)應(yīng)用在異構(gòu)系統(tǒng)的加速工作,目前主要支持國內(nèi) CSP 客戶在大語言模型的訓(xùn)練加速工作。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.