vllm 如何加速qwen3
时间: 2025-05-25 08:14:37 浏览: 49
### 使用 vLLM 加速 Qwen3 模型推理的方法
#### 1. 安装必要的依赖项
为了使用 vLLM 来加速 Qwen3 模型的推理,首先需要确保安装了所需的库和工具。可以通过以下命令完成安装:
```bash
pip install git+https://github.com/huggingface/transformers -U
pip install requests
pip install vllm
pip install --upgrade numpy mkl-service
export MKL_SERVICE_FORCE_INTEL=1
```
这些命令分别完成了 Transformers 库的更新、HTTP 请求的支持、vLLM 的安装以及 NumPy 和 MKL 的优化配置[^1][^3]。
---
#### 2. 配置 FlashAttention 改进 Transformer 计算效率
FlashAttention 是一种改进 Transformer 模型注意力机制计算效率的技术,能够显著减少 GPU 内存占用并加快推理速度。在部署 Qwen3 模型时,启用 FlashAttention 将有助于进一步提升性能。这一步通常会在模型加载阶段自动完成,前提是已正确安装支持该特性的库版本[^1]。
---
#### 3. 同步与异步执行的选择
根据实际需求选择合适的引擎类型是优化性能的重要环节。如果应用程序涉及高并发请求或对响应时间有较高要求,则推荐使用 `AsyncLLMEngine`;而对于简单的推理任务或者低并发场景,可以选择更易用的 `LLM` 接口[^2]。
- **同步执行 (`LLM`)**
```python
from vllm import LLM, SamplingParams
llm = LLM(model="Qwen3", tokenizer="Qwen3-tokenizer") # 替换为具体的路径或名称
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
output = llm.generate(["你好"], sampling_params=sampling_params)
print(output[0].outputs[0].text)
```
- **异步执行 (`AsyncLLMEngine`)**
```python
from vllm.engine.async_llm_engine import AsyncLLMEngine
from vllm.sampling_params import SamplingParams
import asyncio
engine = AsyncLLMEngine.from_hf_model_name("Qwen3")
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
async def generate_text():
results_generator = await engine.generate(prompt="你好", sampling_params=sampling_params)
async for result in results_generator:
print(result.outputs[0].text)
asyncio.run(generate_text())
```
上述代码展示了两种不同类型的执行方式及其对应的 API 调用方法[^2]。
---
#### 4. 流式输出 vs 非流式输出
流式输出适用于实时对话系统或其他需要逐步展示生成内容的应用场合。通过 `AsyncLLMEngine` 返回的生成器对象,可以轻松实现逐词或逐句显示的效果。而非流式输出则是等到整个生成过程结束后一次性返回最终结果,更适合批量处理的任务[^2]。
---
#### 5. 单卡启动 vLLM
当仅有一张显卡可用时,可以直接运行以下命令来启动服务端程序:
```bash
vllm-engine-launcher \
--model Qwen3 \
--tokenizer Qwen3-tokenizer \
--gpu-memory-utilization 0.8 \
--max-num-batches-per-gpu 4
```
此脚本设置了 GPU 显存利用率和其他参数以平衡性能与稳定性[^3]。
---
###
阅读全文
相关推荐

















