【vLLM 学习】CPU 离线处理

部署运行你感兴趣的模型镜像

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

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

源代码:vllm-project/vllm

from vllm import LLM, SamplingParams

# Sample prompts.
# 提示示例

prompts = [
 "Hello, my name is",
 "The president of the United States is",
 "The capital of France is",
 "The future of AI is",
]
# Create a sampling params object.
# 创建 sampling params 对象
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)

# Create an LLM.
# 创建一个 LLM
llm = LLM(model="meta-llama/Llama-2-13b-chat-hf", cpu_offload_gb=10)
# Generate texts from the prompts. The output is a list of RequestOutput objects
# that contain the prompt, generated text, and other information.
# 从提示中生成文本。输出是一个 RequestOutput 列表,包含提示、生成文本和其他信息

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

您可能感兴趣的与本文相关的镜像

Vllm-v0.11.0

Vllm-v0.11.0

Vllm

vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在极大地提升实时场景下的语言模型服务的吞吐与内存使用效率。vLLM是一个快速且易于使用的库,用于 LLM 推理和服务,可以和HuggingFace 无缝集成。vLLM利用了全新的注意力算法「PagedAttention」,有效地管理注意力键和值

### vLLM Framework Docker 离线部署概述 vLLM 是一种高效的大型语言模型推理框架,专注于优化 GPU 和 CPU 的资源利用率以加速大模型的推理过程[^2]。为了实现 vLLM 在 Docker 容器中的离线部署,通常需要解决以下几个核心问题:基础镜像的选择、依赖项管理以及网络隔离环境下的安装。 #### 基础镜像选择 在构建用于离线部署的 Docker 镜像时,推荐基于官方支持的基础镜像(如 NVIDIA CUDA 或 PyTorch 提供的预配置镜像)。这些镜像已经包含了运行深度学习工作负载所需的大部分依赖库。例如: ```dockerfile FROM nvidia/cuda:12.1-base-ubuntu20.04 ``` 此基础镜像提供了稳定的 Ubuntu 环境并集成了最新的 NVIDIA CUDA 工具链,这对于利用 GPU 加速至关重要[^3]。 #### 本地依赖包准备 由于目标是离线部署,因此无法通过互联网动态拉取 Python 库或其他软件组件。建议预先下载所有必要的 `.whl` 文件或将它们打包到一个 tarball 中。以下是可能需要用到的关键依赖列表及其版本控制策略: - `torch`: 对应于所选 CUDA 版本的稳定版。 - `transformers`: Hugging Face 提供的大规模 NLP 模型接口层。 - `accelerate`: 支持混合精度训练与分布式计算扩展功能。 可以使用 pip 下载命令提前获取所需文件存放在共享存储位置以便后续集成至容器内部路径下: ```bash pip download torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --find-links https://download.pytorch.org/whl/cu118/ ``` 随后,在 Docker 构建阶段可通过 COPY 指令引入上述静态资产完成最终组装操作。 #### 自定义 ENTRYPOINT 脚本设计 考虑到实际应用场景复杂度较高,有必要编写专门启动脚本来初始化服务状态或者加载特定参数设置。下面展示了一个简单的 bash 实现例子作为参考模板: ```bash #!/bin/bash set -euxo pipefail # 设置环境变量 export MASTER_ADDR=localhost export MASTER_PORT=9996 export WORLD_SIZE=1 export RANK=0 # 启动主程序 exec python /app/main.py "$@" ``` 最后一步就是将整个项目源码连同之前提到的各种素材一并纳入到同一个压缩文档里分发给目标机器执行解压重建流程即可达成预期效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值