当前位置: 首页 > news >正文

vLLM 和 SGLang 是两个近年来备受关注的开源项目

在大模型(Large Language Models, LLM)领域,vLLMSGLang 是两个近年来备受关注的开源项目,它们都致力于提升大语言模型的推理效率和部署能力,但侧重点和技术路径有所不同。下面是对这两个项目的详细解释:


一、vLLM(Vectorized Large Language Model)

1. 简介

vLLM 是由加州大学伯克利分校(UC Berkeley)团队开发的一个高效的大语言模型推理和服务框架。它的核心目标是:显著提升大模型推理的吞吐量和降低延迟,尤其适用于高并发场景下的生产部署。

GitHub 地址:https://github.com/vllm-project/vllm

2. 核心技术:PagedAttention

vLLM 最大的创新在于提出了 PagedAttention,灵感来自操作系统中的虚拟内存和分页机制。

  • 传统 Transformer 推理中,KV Cache(Key-Value 缓存)占用大量显存,且难以高效管理。
  • PagedAttention 将 KV Cache 分成多个“页面”(page),允许非连续存储,并支持不同请求之间共享和灵活调度。
  • 这种方式大幅提升了显存利用率,减少了内存碎片,从而可以服务更多并发请求。

3. 主要优势

特性描述
高吞吐量比 Hugging Face Transformers 快 24 倍以上
显存高效利用 PagedAttention 减少显存浪费
易于集成支持与 Hugging Face 模型无缝对接
支持多GPU支持张量并行和分布式推理
生产就绪提供 OpenAI 兼容 API,便于部署

4. 使用场景

  • 大模型在线推理服务(如聊天机器人、API 服务)
  • 高并发请求处理
  • 成本敏感的云部署环境

二、SGLang(Structured Generation Language)

1. 简介

SGLang 是一个用于高效结构化生成(structured generation) 的领域特定语言(DSL)和运行时系统,同样由 UC Berkeley 团队开发,旨在简化复杂生成任务的编写与优化。

GitHub 地址:https://github.com/sgl-project/sglang

注意:SGLang 名称中的 “Lang” 指的是它是一种编程语言/DSL,而不是指“语言模型”。

2. 核心理念

传统的 LLM 推理是自由文本生成,但在实际应用中,我们经常需要:

  • 输出 JSON 结构
  • 强制遵循语法(如 Python 代码)
  • 多跳推理(multi-hop reasoning)
  • 工具调用(tool use)、思维链(Chain-of-Thought)

SGLang 提供了一种简洁的语法来描述这些复杂的生成流程,并通过编译器优化和运行时调度来加速执行。

3. 核心特性

特性描述
结构化生成支持正则表达式、JSON schema、语法约束等引导生成
控制流支持在生成过程中嵌入 if/for/函数调用等逻辑
多步推理抽象可定义“思考→检索→输出”等复杂流程
高性能运行时支持 vLLM 后端,实现高速推理
编程接口友好Python 装饰器风格 API,易于使用

4. 示例代码(SGLang)

import sglang as sgl@sgl.function
def multi_hop_question(question):reason = sgl.gen("reason", max_tokens=256)final_answer = sgl.gen("answer", max_tokens=128)return reason, final_answer# 调用
state = multi_hop_question.run(question="谁写了《红楼梦》?")

5. 使用场景

  • 复杂 Prompt 工程自动化
  • Agent 系统开发(如 AutoGPT 类应用)
  • 数据提取、表单填充、代码生成等结构化输出任务
  • 构建可编程的 AI 流程

三、vLLM vs SGLang:对比总结

维度vLLMSGLang
定位高性能推理引擎结构化生成编程框架
核心技术PagedAttention(显存优化)DSL + 编译优化 + 运行时调度
关注点吞吐量、延迟、显存效率生成逻辑表达、控制流、结构化输出
是否可独立使用✅ 可作为推理服务器独立部署✅ 可独立运行,但常配合 vLLM 使用
后端支持自研推理引擎支持多种后端(包括 vLLM、HuggingFace)
编程抽象低层(API 调用)高层(函数式 DSL)

🔥 协同关系:SGLang 可以将 vLLM 作为其底层推理后端,从而同时获得 高性能推理能力高级编程抽象能力


四、典型应用场景组合

用户请求↓
SGLang(解析流程:思考 → 检索 → 输出)↓
调用 vLLM 进行高速推理(利用 PagedAttention 处理并发)↓
返回结构化结果(如 JSON)

例如构建一个智能客服 Agent:

  • 使用 SGLang 定义对话逻辑、调用知识库、生成结构化响应;
  • 底层使用 vLLM 加速每个步骤的模型推理。

五、总结

项目关键词一句话概括
vLLM高性能、PagedAttention、推理加速让大模型推理更快更省显存
SGLang结构化生成、DSL、流程控制让复杂 AI 逻辑更容易编写和执行

两者代表了大模型工程化的两个重要方向:

  • 基础设施层优化(vLLM)
  • 应用逻辑层抽象(SGLang)

随着大模型从“能用”走向“好用”,这类工具将成为构建下一代 AI 应用的核心组件。


如果你正在做 LLM 服务部署或 AI Agent 开发,强烈建议了解并尝试结合使用 vLLM 和 SGLang。


文章转载自:

http://qWHBLmTj.pzcjq.cn
http://HwonySfm.pzcjq.cn
http://tnbyoMNv.pzcjq.cn
http://9xIZlW5X.pzcjq.cn
http://HvXdSvD5.pzcjq.cn
http://BmYlc9YX.pzcjq.cn
http://PR6P703N.pzcjq.cn
http://43yLfjvI.pzcjq.cn
http://6YIgeV6L.pzcjq.cn
http://dhOfiwop.pzcjq.cn
http://powZYD5i.pzcjq.cn
http://aluRpAnJ.pzcjq.cn
http://vCke3Jva.pzcjq.cn
http://yLhd4IJp.pzcjq.cn
http://hYjp5fxQ.pzcjq.cn
http://fA1RcnIn.pzcjq.cn
http://kmX5uSFT.pzcjq.cn
http://wQaCXye3.pzcjq.cn
http://6RYyV4pM.pzcjq.cn
http://rLfNZV9w.pzcjq.cn
http://emnMvZ62.pzcjq.cn
http://vCS0Ajlk.pzcjq.cn
http://Q9rX377R.pzcjq.cn
http://l5Ddwa24.pzcjq.cn
http://iTj5leyx.pzcjq.cn
http://t1QUwLB0.pzcjq.cn
http://B1m4j5NG.pzcjq.cn
http://qva2yR8W.pzcjq.cn
http://cbWFxciy.pzcjq.cn
http://yuKRXqWt.pzcjq.cn
http://www.dtcms.com/a/388352.html

相关文章:

  • CMake进阶: 路径处理指令join_paths和cmake_path
  • 算法简略速记手册
  • C语言(长期更新)第17讲内存函数
  • 【CSP-S】 基础知识与编程环境
  • Python HTTPS 教程 如何发送 HTTPS 请求、解决证书错误、实现抓包与网络调试全攻略
  • 【Cesium 开发实战教程】第五篇:空间分析实战:缓冲区、可视域与工程测量
  • 告别塑料感!10分钟学会基础材质调节
  • CSS Modules 和 CSS-in-JS比较
  • threejs(三)模型对象、材质
  • (自用)vscode正则表达式(正则表达式语法大全)vocode正则化(注意正则化和正则表达式不是一个概念)
  • Node.js:重新定义全栈开发的JavaScript运行时
  • @PropertySource 注解学习笔记
  • 安徽Ecovadis认证辅导怎么做呢?
  • 【完整源码+数据集+部署教程】太阳能面板缺陷分割系统: yolov8-seg-C2f-REPVGGOREPA
  • 什么是直播美颜SDK?人脸识别与实时渲染的技术解析
  • RabbitMQ-MQTT即时通讯详解
  • AI辅助论文写作:如何成为真正的“AI Native学者”?
  • Frida 实战:Android JNI 数组 (jobjectArray) 操作全流程解析
  • 腾讯正式发布全新一代智能驾驶地图9.0
  • 鸿蒙应用开发之装饰器大总结 —— 从语法糖到全场景跨语言运行时的全景视角
  • 论文阅读:EMNLP 2024 Humans or LLMs as the Judge? A Study on Judgement Bias
  • 4-1〔O҉S҉C҉P҉ ◈ 研记〕❘ WEB应用攻击▸目录遍历漏洞-A
  • 买期货卖认购期权策略
  • 使用 VB.NET 进行仪器编程
  • C# DataGridView中DataGridViewCheckBoxColumn不能界面上勾选的原因
  • FT5206GE1屏幕驱动 适配STM32F1 型号SLC07009A(记录第一次完全独自编写触摸板驱动)
  • PETRV1在NuScenes数据集上的推理及可视化详解
  • 函数后的 `const` 关键字
  • Dify 从入门到精通(第 85/100 篇):Dify 的多模态模型扩展性(高级篇)
  • Flutter-[2]第一个应用