【vLLM 学习】Disaggregated Prefill

NVIDIA Dynamo初体验(二)—— vllm部署之aggregate&disaggregate 作为AI小白,初体验dynamo之后,想要继续探索dynamo工具,对dynamo在RAG架构的优化有个初步理解,再探索dynamo两种部署方式,计算它们之间的性能差异。 阅读详情

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

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

本目录包含用于部署 vLLM 应用程序的 Helm 图表。该图表包含部署配置、自动扩缩容、资源管理及其他相关配置项。

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

源码 examples/online_serving/disaggregated_prefill.sh

#!/bin/bash
# 本文件演示解耦预填充 (disaggregated prefilling) 的示例用法
# 我们将启动 2 个 vllm 实例(1 个用于预填充,1 个用于解码)
# 然后在它们之间传输 KV 缓存

set -xe

echo "🚧🚧 Warning: The usage of disaggregated prefill is experimental and subject to change 🚧🚧"
sleep 1

# 可选项:meta-llama/Meta-Llama-3.1-8B-Instruct 或 deepseek-ai/DeepSeek-V2-Lite
MODEL_NAME=${HF_MODEL_NAME:-meta-llama/Meta-Llama-3.1-8B-Instruct}

# 捕获 Ctrl+C 中断信号
trap 'cleanup' INT

# 清理函数
cleanup() {
    echo "Caught Ctrl+C, cleaning up..."
    # Cleanup commands
    # 清理命令
    pgrep python | xargs kill -9
    pkill -f python
    echo "Cleanup complete. Exiting."
    exit 0
}

export VLLM_HOST_IP=$(hostname -I | awk '{print $1}')

# 首先安装 quart——解耦预填充代理服务所需
if python3 -c "import quart" &> /dev/null; then
    echo "Quart is already installed."
else
    echo "Quart is not installed. Installing..."
    python3 -m pip install quart
fi


# 等待 vLLM 服务器启动的函数
wait_for_server() {
  local port=$1
  timeout 1200 bash -c "
    until curl -s localhost:${port}/v1/completions > /dev/null; do
      sleep 1
    done" && return 0 || return 1
}


# 您也可以调整 --kv-ip 和 --kv-port 参数用于分布式推理

# 预填充实例,作为 KV 生产者
CUDA_VISIBLE_DEVICES=0 vllm serve $MODEL_NAME \
    --port 8100 \
    --max-model-len 100 \
    --gpu-memory-utilization 0.8 \
    --trust-remote-code \
    --kv-transfer-config \
    '{"kv_connector":"PyNcclConnector","kv_role":"kv_producer","kv_rank":0,"kv_parallel_size":2}' &

# 解码实例,作为 KV 消费者
CUDA_VISIBLE_DEVICES=1 vllm serve $MODEL_NAME \
    --port 8200 \
    --max-model-len 100 \
    --gpu-memory-utilization 0.8 \
    --trust-remote-code \
    --kv-transfer-config \
    '{"kv_connector":"PyNcclConnector","kv_role":"kv_consumer","kv_rank":1,"kv_parallel_size":2}' &

# 等待预填充和解码实例就绪
wait_for_server 8100
wait_for_server 8200


# 启动代理服务器,开放 8000 端口服务
# 该代理的工作流程:
# 1. 将请求发送到预填充 vLLM 实例(端口 8100),将 max_tokens 设为 1
# 2. 预填充完成后,将请求转发到解码 vLLM 实例
# 注意:此 API 用法可能会变更——未来我们将引入"vllm connect"来连接预填充和解码实例
python3 ../../benchmarks/disagg_benchmarks/disagg_prefill_proxy_server.py &
sleep 1

# 发送两个示例请求
output1=$(curl -X POST -s http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "'"$MODEL_NAME"'",
"prompt": "San Francisco is a",
"max_tokens": 10,
"temperature": 0
}')

output2=$(curl -X POST -s http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "'"$MODEL_NAME"'",
"prompt": "Santa Clara is a",
"max_tokens": 10,
"temperature": 0
}')


# 清理命令
pgrep python | xargs kill -9
pkill -f python

echo ""

sleep 1

# 打印curl请求的输出
echo ""
echo "Output of first request: $output1"
echo "Output of second request: $output2"

echo "🎉🎉 Successfully finished 2 test requests! 🎉🎉"
echo ""

大模型推理解耦架构:Prefill与Decode分离设计原理与实战 大模型推理性能瓶颈常源于Prefill(预填充)与Decode(自回归解码)两个阶段在计算、内存带宽和KV Cache访问模式上的根本性冲突。Prefill是计算密集型、一次性高带宽操作;Decode则是访存密集型、高频低延迟的长周期任务。传统一体化架构导致GPU计算单元利用率低下、显存带宽争抢严重及KV Cache碎片化OOM。Disaggregated Serving通过计算解耦、内存解耦(如独立KV Store)和调度解耦三层设计,将二者物理隔离,显著提升吞吐、降低P99延迟并增强弹性扩容能力。该架构 阅读详情

相关推荐

vLLM专题(十五)-解耦预填充(Disaggregated Prefilling (experimental))

实现你自己的连接器,并调用第三方库来发送和接收 KV 缓存,以及其他更多操作(比如编辑 vLLM 的模型输入以执行自定义预填充等)。这种方法提供了最大的控制权,但也存在与未来 vLLM 版本不兼容的风险。

494

【vLLM 学习】Disaggregated Prefill Lmcache

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

HyperAI超神经 548

Unity中5分钟实现3D高斯泼溅渲染:从原理到实战部署

3D高斯泼溅(3D Gaussian Splatting)是一种新兴的神经渲染技术,它通过显式地使用大量3D高斯椭球来表示场景,革新了传统的体渲染和神经辐射场(NeRF)方法。其核心原理是将这些3D高斯投影到2D屏幕并进行快速光栅化与Alpha混合,从而绕过了耗时的光线步进,实现了极高的渲染效率。这项技术的价值在于,它能够在消费级GPU上达到实时甚至超实时的帧率,同时保持紧凑的数据表达和惊人的视觉细节,极大地降低了高质量3D重建与渲染的门槛。在应用场景上,它正快速渗透到数字孪生、虚拟现实、文化遗产数字化以及

weixin_29474431的博客 274

大模型推理 Prefill-Decode 分离架构深度解析:从 Monolithic 到 Disaggregated Serving 的全栈架构演进与生产实践

核心原理:Prefill(compute-bound)与 Decode(memory-bound)在算力/带宽/SM 利用率/SLO 上几乎正交对立的物理特性,决定了把它们物理分离到两组异构 GPU 集群上、用 KV Cache Transfer 桥接,能从根上消除单体架构下二者相互拖慢的干扰,并通过异构硬件匹配与独立容量规划同时压低 TTFT 与 TPOT。

我的博客 478

台达B3伺服电机485通讯的调试过程

最近上了一项目,没办法直接把B3伺服接到PLC上去,怎么办?偶说试下直接电脑通过100多米的485线控制好了,定型前的测试就这样展开了。 1、焊CN1口 如果不安装CN1,是开不了机的,要报很多错误,比如SERV EMG ALERT, 上限报警,下限报警什么的,怎么办?直接焊好CN1头子吧,烦了点,但是必要的。 主要接的是11,9,10,32,31,30几个脚,按照图上连接好就是了。 2、 接线路 按照上面的图,接上伺服电机线,编码器线,电源线,包括限位常闭开关、485连线等,就完..

shidong01的博客 1万+

DiffusionDrive实战:如何用截断扩散模型3个月搞定自动驾驶轨迹规划(附代码)

本文详细介绍了如何利用DiffusionDrive截断扩散模型,在三个月内快速构建端到端的自动驾驶轨迹预测系统。内容涵盖从环境搭建、数据处理、模型架构解析到训练调参和推理优化的完整实战流程,并提供了关键代码示例,旨在帮助开发者高效实现高质量的自动驾驶轨迹规划。

weixin_35578748的博客 147

开源 AI 推理框架的趋势分析:从 vLLM 一枝独秀到多元生态的竞争格局

2025 年开源 LLM 推理框架的竞争已从单一框架主导期进入多元化生态期。vLLM 的 API 兼容性 + PagedAttention 组合在工程成熟度上仍领先,但 SGLang 的 RadixAttention 和编译优化在吞吐维度形成了有力竞争。TensorRT-LLM 在 NVIDIA 专属优化和延迟敏感场景中不可替代,llama.cpp 在消费级和边缘硬件上的价值独一无二。选择框架的建议路径:多模型快速迭代 + OpenAI API 兼容 → vLLM;

iymei4986533030的博客 2417

以太网硬件核心:MAC、PHY、MII与交换机原理与实战排查

计算机网络通信的基础依赖于一套完整的硬件协议栈。在OSI模型中,数据链路层和物理层是实现设备间可靠、高效数据传输的基石。其核心原理在于将上层数据包封装成帧,并通过特定的介质访问控制与物理信号转换机制进行传输。这一过程的技术价值在于为上层应用提供了透明、稳定的通信信道,是互联网和所有局域网通信的物理承载。在嵌入式系统、网络设备开发及运维等应用场景中,深入理解底层硬件交互至关重要。本文将聚焦于以太网硬件的两大核心组件:负责逻辑成帧与流量控制的MAC控制器,以及负责数模转换与链路协商的PHY芯片。它们通过MII、

dgqvhtlwq472235338的博客 423

vLLM 异构三卡部署4090D 做 Prefill,双 A100 做 Decode(二)

本文提出了一种异构GPU推理部署方案B,将大模型推理过程拆分为Prefill和Decode两个阶段,并分配不同GPU资源: Prefill阶段由RTX 4090D单独处理,负责Prompt输入和KV Cache生成,适合计算密集型任务 Decode阶段由双A100并行处理,专注于token连续生成,利用数据中心卡的稳定性优势 方案B通过角色分离实现了: 避免异构GPU间的执行节奏冲突 针对性优化不同推理阶段的需求 提高整体服务稳定性和资源利用率 部署采用三个独立服务:Prefill服务(4090D)、

hello.reader 919

Weaxor勒索病毒实战分析:从加密算法到防御策略(附检测工具清单)

本文对Weaxor勒索病毒进行了深度实战剖析,详细拆解了其采用ChaCha20与AES-CTR的混合加密算法、横向移动手法及数据回传行为。文章重点分析了其密钥生成机制的“漏洞修复”,并提供了从主机加固、网络监控到基于IOC威胁狩猎的立体化企业级防御策略与检测工具清单。

weixin_29233333的博客 263

SAP生产订单(创建-下达-发料-报工-入库)全流程及反向流程

SAP创建下达报工入库发料以及取消发料取消入库,批量下达删除关闭,生产订单出入库查询和状态更改查询记录

weixin_38974136的博客 2万+

一文搞懂LLM推理加速:Prefill-Decode分离技术深度解析

本文系统探讨了大型语言模型(LLM)推理的Prefill-Decode分离技术。该技术将计算密集的Prefill阶段与内存带宽密集的Decode阶段分别部署到专用硬件资源池,实现独立扩展和性能隔离。通过分析传统混合部署的缺陷,阐述了PD分离在消除性能干扰、提高资源利用率方面的优势,并介绍了多种架构实现方案。研究表明,该技术能显著提升大模型服务的效率与成本效益,已成为构建高性能AI基础设施的关键方案。

libaiup的博客 1797

LabVIEW+数据库应用系列保姆级教程,第一篇数据库连接

目录LabVIEW连接数据库的方法连接MySQL连接Oracle,SQL Server,Access等 LabVIEW连接数据库的方法 1、创建udl(Universal Data Link)是通用数据连接文件。界面操作,简单快捷。 2、编写连接字符串。需要熟悉连接字符串的结构,容易出错。 3、其他… 本教程教你使用第1种方法,也是最简单、最常用的方法。 连接MySQL 1、在MySQL Installer内安装MySQL Connector/ODBC,建议安装32位(X86),如下图: 2、创建ODBC

wwplh5520370的博客 1万+

vLLM PD分离方案入门:核心概念、优势与适应场景梳理

摘要: 文章探讨了大语言模型(LLM)推理中Prefill与Decode阶段的资源需求差异及分离优化的必要性。Prefill阶段算力密集,Decode阶段访存密集,传统混合部署导致资源利用率不均。vLLM框架提出PD分离方案,通过KV cache传输实现1P1D协作,采用生产者-消费者模式异步传递数据。当前方案功能精简,但扩展性有限,需进一步解决PD配比、动态扩缩容、负载均衡及存储设计等问题。

InfraTech 1394

成功解决安装cuda的时候,下载的文件自动消失,并且出现An unknown error has occurred

成功解决安装cuda的时候,下载的文件自动消失,并且出现An unknown error has occurred. 目录 解决问题 解决思路 解决方法 解决问题 安装cuda的时候,下载的文件自动消失,并且出现An unknown error has occurred. 解决思路 发生未知错误。 解决方法 很可能是因为当前电脑下载的cuda版本不适合当前电脑GPU支持的cuda版本! 推荐文章:CV:Win1..

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 7524

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【收藏干货】2026 版大模型推理底层原理拆解!吃透 Prefill/Decode 与 vLLM 核心优化

大模型推理的本质,是在有限 GPU 资源上,围绕“下一个 token”这件事,做一整套计算、内存和调度的系统设计。模型能力决定上限,推理系统决定体验。Prefill 和 Decode 解释了推理为什么天然分阶段;KV Cache 解释了显存为什么会成为核心瓶颈;Paged Attention 和 Continuous Batching 解释了现代引擎为什么能把 GPU 压榨到更高效率;而 vLLM,则是把这些思想工程化之后的一种代表性实现。当你再看到一个。

ytt0523_com的博客 680

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

09-vLLM KV Cache 系统完整分析

本文系统分析了vLLM V1架构下的KV Cache全栈实现,主要内容包括: KV Cache管理层次结构 KVCacheManager作为顶层抽象与调度器交互 SingleTypeKVCacheManager作为单类型基类 多种具体管理器实现(FullAttention/SlidingWindow等) 多GPU协调机制 通过KVCacheCoordinator实现跨GPU缓存协调 支持单Group、混合模型等多种协调模式 扩展功能 CPU卸载(KV Offload) 跨节点传输(KV Transfer)

ld326的专栏 289

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

vLLM 生态全景:从推理引擎到 AI 基础设施的进化之路

vLLM是一个高性能、高吞吐的大语言模型(LLM)推理与服务框架,由加州大学伯克利分校 RISE Lab 于 2023 年开源。让大模型推理更快、更省、更便宜。维度传统方案(HuggingFace Transformers)vLLM吞吐量基准 1×最高24×显存利用率~40%(碎片严重)>90%并发能力个位数数百~数千部署成本高(需更多 GPU)降低60%+从 2023 年的一篇论文(

技术博客 265

MMagic 中的 BasicVSR:视频超分辨率核心组件解析与完整实战指南

> 本文基于 MMagic 仓库中 [configs/basicvsr/README.md](https://link.gitcode.com/i/c7f50170adc8de83fa69bbce3dc215fc) 及其配套配置、源码编写,系统讲解 CVPR 2021 论文 *BasicVSR: The Search for Essential Components in Video Super-

gitblog_00150的博客 986

第16篇-Continuous-Batching与调度优化

GPU 的并行计算能力极强,处理一个请求和处理多个请求的计算开销差异不大(只要不超出显存和算力)。因此,推理引擎会将多个请求组成一个批次(Batch),一次性送入 GPU 计算,分摊固定的调度开销,提升整体吞吐量。这种"攒一批一起算"的策略就是批处理(Batching)。fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;细化调度粒度解决阶段冲突。

m0_68987304的博客 465

【vllm】(Part 5)vLLM服务入口层

vLLM的服务入口层是连接外部请求与推理引擎的核心桥梁。它采用FastAPI + Uvicorn + uvloop技术栈,提供了从OpenAI兼容REST API到gRPC、从CLI交互到批量推理的多种接入方式。

zhonglinzhang 748

大模型推理引擎架构深度解析:从 PagedAttention 到 Disaggregated Serving 的高性能推理服务核心技术

核心痛点:大语言模型(LLM)在生产环境中进行推理服务时,面临 GPU 显存利用率低(静态批处理下仅 30%-40%)、KV Cache 内存碎片化严重、长文本请求导致队头阻塞(Head-of-Line Blocking)等核心问题,使得单 GPU 的并发吞吐量远低于理论峰值。适配人群:适合具备一定深度学习基础、从事 LLM 推理部署或后端服务架构的中高级开发者,以及对推理引擎内部机制感兴趣的系统工程师。收获能力。

我的博客 333

【学习笔记】推理加速三板斧:KV Cache、PagedAttention、Continuous Batching(11/35)

这篇文章深入解析了大模型推理优化的三大核心技术:KVCache、PagedAttention和ContinuousBatching。首先指出朴素推理与优化推理存在150倍的性能差距,强调推理成本远高于训练成本。文章详细拆解了三大技术:KVCache通过缓存键值对避免重复计算,量化后可节省显存;PagedAttention借鉴操作系统分页思想,将KVCache分块管理,使显存利用率从30%提升到90%;ContinuousBatching实现迭代级调度,吞吐量提升5-10倍。

tpriwwq的专栏 717

大模型 vLLM 部署框架核心原理技术问答

vllm模型部署框架的核心知识

weixin_43429393的博客 872

【vllm】(v1 Engine)vLLM V1 Engine 深度分析 — Part1: Core引擎与数据定义

vLLM V1 Engine 深度分析 — Part1: Core引擎与数据定义

zhonglinzhang 437
上一篇: 【Triton 教程】triton_language.exp2
下一篇: 智源研究院提出 Triton-TLE 分层语言扩展,并通过 FlagTree 编译优化实现百倍级自动调优加速
HyperAI超神经
博客等级 码龄7年 8872粉丝 1753原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值