【vLLM 学习】Reproduciblity

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。

更多 vLLM 中文文档及教程可访问 →vllm.hyper.ai/

*在线运行 vLLM 入门教程:零基础分步指南

源码 examples/offline_inference/reproduciblity.py

# SPDX-License-Identifier: Apache-2.0
import os

from vllm import LLM, SamplingParams

# 为了性能考虑,vllm 不能保证结果的默认情况下可重复性,
# 您需要做以下事情才能实现
# 可复现结果:
# 1.关闭多处理以使计划确定性。
# Note (Woosuk) :这是不需要的,对于 V0而言,这将被忽略。
os.environ["VLLM_ENABLE_V1_MULTIPROCESSING"] = "0"
# 2.修复五十年据种子以获得可重复性。默认种子为 None,不可复现。
SEED = 42


# Note (Woosuk) :即使使用上述两个设置,vLLM 也仅提供
# 当它在相同的硬件和相同的 vLLM 版本上运行时,它的可重复性。
# 此外,在线服务 API ( "vLLM 服务") 不支持可重复性
# 因为几乎不可能在在线服务设置。

llm = LLM(model="facebook/opt-125m", seed=SEED)

prompts = [
    "Hello, my name is",
    "The president of the United States is",
    "The capital of France is",
    "The future of AI is",
]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

outputs = llm.generate(prompts, sampling_params)
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text
    print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")

<think>我们正在回答用户关于如何使用vLLM启动模型服务及学习资料的问题。 根据引用[1]和引用[2],我们可以知道: 1. 用户可以使用LazyLLM库中的TrainableModule来加载一个量化模型(如Qwen2-72B-Instruct-AWQ),然后使用deploy.vllm方法部署并启动服务。 2. 启动服务后,可以通过发送请求(如curl)到本地服务地址(如127.0.0.1:8000)来获取模型信息或进行推理。 为了清晰回答,我们分步骤说明: 步骤1: 安装必要的库 首先,需要安装vLLM和LazyLLM(如果使用LazyLLM的话)以及相关依赖。但用户也可能直接使用vLLM的命令行工具或API。 步骤2: 启动模型服务 有两种方式:使用LazyLLM封装的方式,或者直接使用vLLM的命令行。 方式一(使用LazyLLM): ```python from lazyllm import TrainableModule, deploy llm = TrainableModule('Qwen2-72B-Instruct-AWQ').deploy_method(deploy.vllm).start() # 然后就可以调用 print(llm("hello, who are you?")) ``` 方式二(直接使用vLLM的命令行): 在终端运行: ```bash python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen2.5-0.5B ``` 这将在本地启动一个服务,默认端口8000。 步骤3: 与服务交互 可以通过curl命令或者使用openai的python库来与运行的服务交互。 - 获取模型列表(如引用[2]所示): ```bash curl "http://127.0.0.1:8000/v1/models" | json_pp ``` - 使用openai库进行对话: ```python from openai import OpenAI client = OpenAI(base_url="http://localhost:8000/v1", api_key="none") response = client.chat.completions.create( model="Qwen/Qwen2.5-0.5B", messages=[{"role": "user", "content": "hello, who are you?"}] ) print(response.choices[0].message.content) ``` 学习资料: - vLLM官方文档:https://docs.vllm.ai - LazyLLM的GitHub仓库(如果使用LazyLLM):https://github.com/OpenLMLab/LazyLLM - 此外,可以查阅vLLM的GitHub仓库(https://github.com/vllm-project/vllm)中的示例和文档。 注意:在启动模型服务之前,确保已经下载了对应的模型权重(例如,从Hugging Face下载)。 引用标识: [^1]: 引用来自用户提供的引用[1] [^2]: 引用来自用户提供的引用[2] 最后,生成相关问题。 </think> ### 如何使用 vLLM 启动模型服务及学习资料 #### 一、启动模型服务步骤 1. **安装依赖** 确保已安装 Python 环境,并通过 pip 安装 vLLM: ```bash pip install vllm ``` 2. **选择量化模型** 确认模型支持列表(如 `Qwen2-72B-Instruct-AWQ`),访问 [vLLM 官方模型库](https://vllm.readthedocs.io/en/latest/models/supported_models.html) 查看兼容模型。 3. **启动服务(Python API)** 使用 LazyLLM 封装部署(推荐): ```python from lazyllm import TrainableModule, deploy llm = TrainableModule('Qwen2-72B-Instruct-AWQ').deploy_method(deploy.vllm).start() print(llm("Hello, who are you?")) # 测试请求 ``` 4. **启动服务(命令行)** 直接使用 vLLM 内置服务: ```bash python -m vllm.entrypoints.openai.api_server --model Qwen/Qwen2.5-0.5B ``` 服务默认运行在 `http://127.0.0.1:8000`。 5. **验证服务状态** 通过 API 查询模型信息: ```bash curl "http://127.0.0.1:8000/v1/models" | json_pp ``` 返回示例(含模型参数和权限): ```json { "data": [{ "id": "Qwen/Qwen2.5-0.5B", "max_model_len": 32768, "object": "model", ... }] } ``` #### 二、学习资料推荐 1. **官方文档** - [vLLM 核心概念](https://vllm.readthedocs.io/en/latest/):部署、量化、推理优化 - [API 接口规范](https://vllm.readthedocs.io/en/latest/serving/openai_compatible_server.html):兼容 OpenAI 的请求格式 - [模型支持列表](https://vllm.readthedocs.io/en/latest/models/supported_models.html):查看量化标识(AWQ/4bit) 2. **实践教程** - [GitHub 示例仓库](https://github.com/vllm-project/vllm/tree/main/examples):包含 Docker 部署、多 GPU 配置等案例 - [性能优化指南](https://vllm.ai/guide/optimization.html):吞吐量和延迟调优策略 3. **社区资源** - [vLLM 官方 GitHub](https://github.com/vllm-project/vllm):源码与 Issue 讨论 - [Hugging Face 模型库](https://huggingface.co/models):搜索 `vllm` 标签获取适配模型 > 注意:首次加载大模型需下载权重文件(如 Qwen2-72B 约 50GB),建议使用高速网络环境[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值