vLLM
vLLM 部署 PD 分离应用
· ☕ 5 分钟
1.为什么要 PD 分离部署大模型应用 在大模型推理的过程中,有两个串行阶段: 处理全量的输入上下文,生成 KV Cache(Prefill 阶段) 增量生成新的 token(Decode 阶段) 这两个阶段对资源的需求不一样。Prefill 阶段要计算大量的 KV Cac

使用 lmcache 能显著改善模型推理的 TTFT
· ☕ 5 分钟
1. LMCache 简介 TTFT 是指从请求发出到模型生成第一个 token 的时间。由于 Prefill 阶段需要把输入的上下文编码成 KV Cache,才能开始生成,在生成第一个 token 时需要大量的计算从而导致 TTFT 很高。 为了降低 TTFT,有一个思路就是将 Prefill 阶段计算出来的 KV Cache 缓存起来,下次遇到相同的上下

什么是 Prefix Cache
· ☕ 2 分钟
1. 什么是 Prefix Cache 在模型推理场景下,经常会使用缓存机制来提升吞吐和性能。常见的有两种缓存机制: Key-Value Cache (KV Cache),面向的是单次请求的内部,将 Transformer 模型中间计算结果(Key 和 Value)缓存起来,避免重复计算 Prefix Cache,面向的是多次请求时,利用 Prompt 的公

使用 VLLM Benchmark 进行模型性能测试
· ☕ 3 分钟
VLLM Benchmark 是 VLLM 提供的一个用于测试模型性能的工具,支持多种推理后端。本文主要记录一些使用 VLLM Benchmark 进行模型性能测试的过程。 1. 启动模型服务 1 2 3 4 5 6 7 8 9 10 11 12 13 14 python -m vllm.entrypoints.openai.api_server \ --model /models/Qwen2.5-7B-Instruct \ --served-model-name /models/Qwen2.5-7B-Instruct \ --host 0.0.0.0 \ --port 8000 \ --trust-remote-code \ --dtype bfloat16 \ --gpu-memory-utilization 0.90 \ --max-model-len 4096 \ --max-seq-len-to-capture 8192 \ --max-num-seqs 128 \ --disable-log-stats \ --tensor-parallel-size 1 \ --no-enable-prefix-caching 2. 启动客户端

使用 vLLM 进行模型推理
· ☕ 5 分钟
1. 环境准备 下载 Miniforge 1 wget "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh" 安装 Miniforge 1 bash Miniforge3-$(uname)-$(uname -m).sh 1 2 echo "export PATH=$HOME/miniforge3/bin:$PATH" >> ~/.bashrc source ~/.bashrc 创建环境 1 conda create -n vllm python=3.12 目前 vllm 要求 Python 3.9+ 激活环境 1 conda activate vllm 安装依赖 1 conda install vllm 2. 推理测试 2.1 模型准备 设置模型地址 海外 1 export MODEL_REPO=https://huggingface.co/Qwen/Qwen1.5-1.8B-Chat 国内 1 export MODEL_REPO=https://hf-mirror.com/Qwen/Qwen1.5-1.8B-Chat 下载模型 1 nerdctl run --rm -v ./:/runtime shaowenchen/git lfs clone $MODEL_REPO 2.2 Offline Batched Inference 这种推理方式适用于离线场景,比