长上下文解码每请求只留 4KB KV,SGLang 高吞吐推理服务在优化哪几件事

发布时间:2026/9/2 14:05:50

长上下文解码每请求只留 4KB KV,SGLang 高吞吐推理服务在优化哪几件事
长上下文解码每请求只留 4KB KVSGLang 高吞吐推理服务在优化哪几件事【免费下载链接】sglangSGLang is a high-performance serving framework for large language models and multimodal models.项目地址: https://gitcode.com/GitHub_Trending/sg/sglang把并发从 10 拉到 100最先崩的是 KV Cache 的显存。SGLang 是一个面向 LLM 和视觉语言模型的高吞吐推理框架它的解法是解码时 GPU 上只留一块固定大小的热 KV完整缓存放到主机内存。它到底解决了什么SGLang 定位很单一把模型喂饱并发把显存省到能塞下更多请求。它不训练模型只做推理服务。真正吃显存的是两处一是长上下文里每个请求的完整 KV 都要躺在 GPU 上二是 MoE 模型在张量并行下 KV 会被重复存一份到每张卡。对 MoESGLang 用数据并行注意力DPA加专家并行EP。每个 DP 副本接一个独立的 batch各存各的 KV不再全卡重复。专家子组之间的 token 走 All2All 分发算完再 All2All 收回来落到原来的 token 位置。这样单 KV 头的模型比如 DeepSeek 系列就不再为每张卡多存一份 KVbatch 上限直接放开。这张图就是 DPAEP 的调度形态。上面一排 DP MLA rank 各领一个 batch中间两层黄色是 All2All 的 dispatch 和 combine下面四个专家子组并行算算完把结果送回原 batch。左边蓝色是 prefill 阶段绿色是 decode 阶段。核心机制拆解一条请求怎么流过去请求进来怎么走。输入是 HTTP 请求。Tokenizer 把文本切成 token封装成请求对象扔进等待队列。输出是排队等待调度的请求。多 tokenizer 实例可以分摊切词避免单核瓶颈。调度怎么选下一个 batch。输入是等待队列加已用的 KV 前缀。调度器按策略挑下一批带缓存复用就按最长前缀匹配LPM排序没复用就按到达顺序或 DFS 权重排。输出是一个能塞进显存、不会超并发上限的 batch。策略定义在 schedule_policy.py。注意力怎么算。输入是 batch 里的 query 和各层的 KV 布局。模型按选定的 attention backend 前向算 attentionMoE 层走上面的 All2All 分发。输出是每个位置的 logits。长上下文解码时如果开了 HiSparse这里只读 GPU 上那 top-k 个热位置不全量读。KV 怎么分层。这是 SGLang 省显存的主战场。输入是 token 前缀输出是可复用的 KV 槽位。设备上是 L1主机内存是 L2文件/NIXL/HF3FS/Mooncake 是 L3radix cache 决定留哪些、逐哪些。层级关系和每层的输入输出在 mem_cache/README.md 里写得很清楚。HiSparse 的做法是GPU 上只挂一块 4KB 左右 token 的设备缓冲完整 KV 放 CPU 固定内存每步解码按注意力分数选 top-k从主机换进设备算完再把上一个 token 的 KV 异步备份回去。它只对 DSA 类模型DeepSeek-V3.2、GLM-5.1、DeepSeek V4生效且必须配 PD 解耦只在 decode 实例上开。输出怎么吐出来。输入是 logits 采出来的 token id。Detokenizer 增量解码成文本流式推回客户端。输出是用户看到的逐字结果。几个真正影响性能的参数参数作用典型值调优方向mem_fraction_static留给权重和 KV 的显存比例0.8长上下文 OOM 就调低短请求可调高max_running_requests单实例并发请求上限256显存富余就往上抬chunked_prefill_size每次 prefill 切多大4096prefill 卡 decode 就调小page_sizeKV 分页单位64与 attention backend 对齐即可enable_dp_attention开 DPA 避免 MoE KV 重复TrueMoE 高并发必开dense 小模型无感这些项的完整定义在 server_arguments.mdx。DPA 与 SMG 的开关和 JSON 配置见 dp_dpa_smg_guide.mdxEP 部分见 expert_parallelism.mdx。HiSparse 的设备缓冲大小和 PD 解耦要求看 hisparse_guide.mdx。一个最小启动组合python -m sglang.launch_server \ --model-path deepseek-ai/DeepSeek-V3.2 \ --tp-size 8 --enable-dp-attention \ --dp-size 8 --mem-fraction-static 0.85什么情况下不建议用它dense 中小模型。HiSparse 只对 DSA 类稀疏注意力模型生效。你跑一个 Qwen 7B 或 Llama 8B稀疏解码那条路根本进不去拿到的就是普通 radix cache别为它多配。低并发单卡。DPAEP 的收益在并发上去之后才体现All2All 本身有固定开销。一张卡、每秒几个请求的场景这套并行反而拖慢延迟不如直接单实例。非 CUDA 平台的极致调优。核心调优 kernel 主要贴着 NVIDIA 走。ROCm、Ascend、XPU 都支持但优化路径覆盖不全追极限吞吐还是优先 NVIDIA。5 分钟跑通最小配置一条 docker run 起服务端口 30000docker run -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ lmsysorg/sglang:latest \ python -m sglang.launch_server \ --model-path Qwen/Qwen3-8B --tp-size 1起来后发一条请求curl http://127.0.0.1:30000/v1/chat/completions \ -H Content-Type: application/json \ -d {model:default,messages:[{role:user,content:用一句话介绍 SGLang}]}预期是流式吐回一段介绍首 token 出来即开始打印。想试多模态quick_start里这类 VLM 请求的输出长这样想压吞吐直接跑 benchmarkbenchmark/mmlu/和benchmark/gsm8k/下有现成脚本改个模型路径就能对着你的部署跑准确性python/sglang/bench_serving.py压吞吐。【免费下载链接】sglangSGLang is a high-performance serving framework for large language models and multimodal models.项目地址: https://gitcode.com/GitHub_Trending/sg/sglang创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

系列化动画如何稳定产出:从素材资产化到工程化流水线

系列化动画如何稳定产出:从素材资产化到工程化流水线

2026/9/2 14:05:50

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

AI产品经理从入门到精通:大模型技术认知、RAG应用与实战方法论

AI产品经理从入门到精通:大模型技术认知、RAG应用与实战方法论

2026/9/2 14:05:50

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

高端公寓智能化技术解析:从物联网架构到智慧社区实践

高端公寓智能化技术解析:从物联网架构到智慧社区实践

2026/9/2 14:05:50

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

三极管小功率放大器Multisim仿真全流程:从原理到实战避坑指南

三极管小功率放大器Multisim仿真全流程:从原理到实战避坑指南

2026/9/2 15:15:53

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

AMD锐龙9000系CPU体质测试与优化全指南:从原理到实践

AMD锐龙9000系CPU体质测试与优化全指南:从原理到实践

2026/9/2 15:15:53

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

AI音频生成工具Porch Light - Oxygen部署与集成实践指南

AI音频生成工具Porch Light - Oxygen部署与集成实践指南

2026/9/2 15:15:53

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

视频生成模型为何难复现艾姆斯错觉?几何约束与时序一致性的挑战

视频生成模型为何难复现艾姆斯错觉?几何约束与时序一致性的挑战

2026/9/2 15:15:53

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Vue 3组件库开发实战:从环境搭建到发布部署的完整指南

Vue 3组件库开发实战:从环境搭建到发布部署的完整指南

2026/9/2 15:15:53

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

windows 安装 docker

windows 安装 docker

2026/9/2 15:05:52

文章目录Docker 需要 Linux 环境(WSL2 或 Hyper‑V)才能正常运行Windows 安装 Docker 的一些先决条件查询 Windows 版本(确保是Windows 10 或 Windows 11,的64位系统检查 CPU 是否支持虚拟化系统功能是否可用(不用勾选&#xff0c…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/2 10:08:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/2 12:11:52

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/9/1 23:49:08

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

单片机毕业设计-基于单片机与蓝牙通讯的输液状态监测终端设计与开发 基于 STM32 或 51 单片机的液位‑滴速‑温度多参数输液监护装置设计(024005)

2026/9/2 0:04:59

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

DeepSeek字幕翻译实战:从API调用到批量SRT转中文的完整方案

2026/9/2 0:04:59

这次我们来看一个很实用的 DeepSeek 落地场景:用 DeepSeek 把英文视频字幕自动翻译成中文。具体案例是《恶魔君》1989 年第 28 集的英转中字幕任务,标题写得很直白,但背后其实是一整套可以复用的技术流程:字幕解析、模型调用、批量…

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

用Python搭建搞笑语音助手:从语音识别到语音合成全教程

2026/9/2 0:04:59

当你家里摆着一台天猫精灵,却总希望语音助手偶尔“不正经”一点,不用官方腔回答问题,而是张口就接几句搞笑段子,会是什么体验?我最近动手验证了一下这个想法——没有去改装任何市面上现有的智能音箱,而是直…

远程协作的工作台整理

远程协作的工作台整理

2026/9/2 6:21:32

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/2 6:21:32

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/2 2:45:06

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…