使用 Novita AI 上的 SGLang 加速 LLM 工作流

使用 Novita AI 上的 SGLang 加速 LLM 工作流

关键要点

**高效执行 :SGLang 结合了协同设计的前端语言和优化的后端运行时,其创新包括用于 KV 缓存复用的 RadixAttention 和用于更快结构化解码的 ** 压缩有限状态机

性能提升 :基准测试显示,SGLang 在各类任务中持续实现 ** 最高吞吐量(1.0) 和 ** 最低延迟(~0.2)

**内存效率 :诸如 ** 分页注意力 和 KV 缓存量化等技术降低了内存使用,提高了长序列和复杂工作流的资源利用率。

开发者友好:SGLang 内嵌于 Python,提供用于生成、并行化和多模态数据处理的基元,简化了高级 LLM 编程。

灵活集成:SGLang 适用于高级提示、控制流和结构化 I/O 等任务,在最大化效率的同时简化 LLM 工作流。

**高速部署 **:为获得最佳性能,请在高速环境中部署 SGLang,使用 Novita AI GPU 实例,配备 NVIDIA A100 SXM 和 RTX 4090 等 GPU。

大型语言模型越来越多地被用于涉及多次生成调用、高级提示、控制流和结构化输入/输出的复杂任务。然而,现有的用于编写和执行此类应用的系统往往效率低下。SGLang 旨在通过提供一种精简的解决方案来克服这些限制,该方案包含一个用于简化编程的前端语言和一个针对加速执行而优化的运行时。

服务于 LLM 的挑战

  • 高内存占用:最先进的推理引擎可能导致内存使用效率显著低下,尤其是涉及到键值(KV)缓存。KV 缓存存储可复用的中间张量,但在具有共享前缀的多次 LLM 调用中往往无法有效复用,导致内存浪费。
  • 有限吞吐量:现有系统在处理结构化输出的受约束解码时,通常一次只处理一个 token,即使多个 token 可以同时解码,从而导致次优的速度……
  • 计算成本:由于在不同具有共同前缀的 LLM 调用之间缺乏 KV 缓存复用,导致冗余计算……

理解 SGLang 及其重要性

什么是 SGLang?

**SGLang 架构 **:前端提供用于生成(例如 extend, gen, select)和并行控制(例如 fork, join)的基元,使用户能够在本机 Python 语法中无缝创建高级提示工作流。运行时通过创新的优化提高了执行效率,包括用于 KV 缓存复用的 RadixAttention 和用于更快结构化输出解码的压缩有限状态机。这两个组件可以根据用例协同工作或独立运行。

SGLang 背后的核心技术

**KV 缓存管理 **:SGLang 的一个核心创新是 RadixAttention,它能够在运行时自动且系统地复用 KV 缓存。通过以基数树的形式组织 KV 缓存,它支持高效的前缀搜索、复用、插入和淘汰。这种方法通过允许具有共享提示前缀的请求复用 KV 缓存,最大限度地减少了冗余计算和内存使用。此外,一种缓存感知的调度策略优先处理匹配前缀更长的请求,显著提高了缓存命中率。

kv cache

来自 ARXIV

**注意力算法与分页注意力 :SGLang 融入了诸如 ** 分页注意力 等高级优化,通过管理非连续内存页面中的 KV 缓存来降低内存使用。RadixAttention 侧重于最大化多次调用之间的 KV 缓存复用,而分页注意力则优化单次调用内的内存效率,尤其适用于处理更长的序列。

attention algorithm

来自 ARXIV

提升 SGLang 运行效率的高速方式

Novita AI GPU 实例是一种 **基于云的解决方案 **,擅长提供高性能计算能力。它配备了诸如 NVIDIA A100 SXMRTX 4090 等尖端 GPU,是处理高要求任务的理想选择。

该服务对于 **PyTorch 用户 ** 尤其有利,它提供了 GPU 的巨大计算能力,而无需任何本地硬件的预先投资。这是一种无缝的方式来提升您的工作流,并使用 SGLang 或其他 GPU 密集型应用实现更好的性能。

如何在 Novita AI GPU 实例上开始您的旅程

步骤 1:注册账户

通过我们的网站创建您的 Novita AI 账户。注册后,前往“GPU”选项卡查看可用资源并开始您的旅程。

Novita AI 网站截图

尝试 Novita AI 的高性能 GPU

步骤 2:探索模板和 GPU 服务器

从符合您项目需求的模板中选择,例如 PyTorch、TensorFlow 或 CUDA。然后选择您喜欢的 GPU 配置——选项包括强大的 RTX 4090 或 RTX 6000 Ada,每种配置都有不同的 VRAM、RAM 和存储规格。

选择模板

步骤 3:定制您的部署

通过调整参数(如操作系统版本和其他配置设置)来微调您的部署,以针对您特定的工作负载需求进行优化。

novita ai 网站截图 使用云 GPU

步骤 4:启动一个实例

点击“启动实例”以部署您配置的环境。几分钟内,您将获得高性能 GPU 资源,可用于您的机器学习、渲染或计算任务。

novita ai 网站截图 使用云 GPU

结论

SGLang 标志着复杂语言模型程序高效执行方面的重大突破。通过结合协同设计的 ** 前端语言 ** 和高度优化的 ** 后端运行时 ,它利用诸如 RadixAttention 和 ** 压缩有限状态机 ** 等创新技术,在 ** 吞吐量 ** 和 ** 延迟 ** 方面相较于现有推理系统取得了显著改进。凭借其 ** 灵活性 广泛模型支持 ** 和 ** 开发者友好集成,SGLang 成为构建和部署高级 LLM 应用的宝贵工具,可简化工作流并最大化性能。

什么是 SGLang?

SGLang(结构化生成语言)是一种编程语言和运行时,旨在高效执行与大语言模型(LLM)交互的程序。

部署 SGLang 的第一步是什么?

安装和运行 SGLang 的第一步是部署一个高速环境。这里有一个绝佳的方式——尝试 Novita AI GPU 实例

Novita AI 是一个一体化云平台,助力您的 AI 雄心。集成 API、无服务器、GPU 实例——您需要的经济高效工具。消除基础设施,免费开始,让您的 AI 愿景成为现实。

推荐阅读

  1. 解锁 Nvidia L40 GPU 的强大功能
  2. 什么是租用转自有 GPU?——一份实用指南