SGLang v0.3发布!并向你发来了一封会议邀请函

SGLang v0.3发布,它带来了显著的性能提升和对新模型架构的扩展支持:

  • DeepSeek V2 MLA 相比 vLLM 提升 7 倍吞吐
  • 在小 batch size 上使用 torch.compile 提升 1.5 倍 decoding speed
  • 支持 LLaVA-OneVision(注:LLaVA-OneVision 官方团队第一时间提供的支持)
  • Gemma 2 支持 interleaved window attention,支持 8k context Gemma 2(注:vLLM 最新 0.6.0 是 4k context)

DeepSeek多头潜在注意力(MLA)吞吐量优化

多头潜在注意力(MLA)是DeepSeek团队引入的一种新的注意力变体,旨在提高推理效率。由于它与标准注意力机制的不同,现有的开源库尚未完全优化此操作。在SGLang v0.3中,我们为MLA实施了各种优化,包括权重吸收、分组解码内核、FP8批MatMul和FP8 KV缓存量化。基准测试结果显示,SGLang v0.3通过MLA优化实现了比基线系统高达3到7倍的吞吐量。 基准测试测量了这些模型在H100 GPU上的峰值输出吞吐量(对于轻量级模型,张量并行性=1,对于大型模型,张量并行性=8)在ShareGPT数据集上的BF16和FP8。可复制的指令在附录中。虽然令人鼓舞,但仍有很大的改进空间。我们正在积极工作,以完全复现DeepSeek论文中的结果。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Torch.compile延迟优化

Torch.compile是PyTorch 2.0的一个主要功能。在NVIDIA GPU上,它执行积极的融合并生成高效的Triton内核。我们将torch.compile集成到SGLang中,用于线性/规范/激活层,结合FlashInfer注意力和采样内核。我们为批量大小1到32启用torch.compile,我们观察到在这些批量大小下加速效果最明显。通过这种组合,SGLang在批量大小1时比gpt-fast更快,并支持所有在线服务功能,包括连续批处理和用于前缀缓存的RadixAttention。我们正在积极与torch.compile和torchao团队合作,将他们的最新优化集成到SGLang中。要在SGLang中使用torch.compile,请在启动服务器时添加–enable-torch-compile。SGLang w/ torch.compile在以下基准测试中实现了高达1.5倍的加速。 可复制的指令在附录中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

支持交错文本、多图像和视频的LLaVA-OneVision

LLaVA-OneVision是第一个在三个重要的计算机视觉场景中实现最先进性能的开放模型:单图像、多图像和视频任务。我们与LLaVA团队合作,将这些功能集成到SGLang v0.3中。您可以启动服务器并使用OpenAI兼容的视觉API查询它,它支持交错文本、多图像和视频格式。使用细节在这里。作者验证了模型的准确性,并在VideoDetailDescriptions和LLaVA-in-the-wild数据集上报告了基准测试结果。SGLang比作者的原始实现在HuggingFace/transformers上快了高达4.5倍。

支持交错窗口注意力的Gemma-2

Google的Gemma-2模型使用交错窗口注意力来减少长上下文的计算复杂性,在每层交替使用局部滑动窗口注意力(4K上下文长度)和全局注意力(8K上下文长度)。我们增强了SGLang v0.3以完全支持8K上下文长度,利用FlashInfer内核优化的窗口注意力内核(它跳过计算而不是掩蔽)并改进了我们的KV缓存管理器。缺乏此功能的其他库只能以4K上下文长度运行。您可以使用以下命令启动模型:

python3 -m sglang.launch_server --model-path google/gemma-2b 

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

附录

DeepSeek MLA基准测试指令

# DeepSeekCoder-V2-Lite (BF16)
## Launch a server  
python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct --enable-mla --disable-radix --trust-remote-code  
python3 -m vllm.entrypoints.openai.api_server --model deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct --disable-log-requests --trust-remote-code --max-model-len 4096

## Run benchmark  
python3 -m sglang.bench_serving --backend sglang --num-prompts 5000  
python3 -m sglang.bench_serving --backend vllm --num-prompts 5000

# DeepSeekCoder-V2 (BF16)  
## Launch a server  
python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-Coder-V2-Instruct --disable-radix --tp 8 --trust-remote-code --enable-mla  
python3 -m vllm.entrypoints.openai.api_server --model deepseek-ai/DeepSeek-Coder-V2-Instruct --disable-log-requests --tensor-parallel-size 8 --trust-remote-code --max-model-len 4096

## Run benchmark  
python3 -m sglang.bench_serving --backend sglang --num-prompts 5000  
python3 -m sglang.bench_serving --backend vllm --num-prompts 5000

# DeepSeekCoder-V2 (FP8)  
## Launch a server  
python3 -m sglang.launch_server --model neuralmagic/DeepSeek-Coder-V2-Instruct-FP8 --enable-mla --quantization fp8 --kv-cache-dtype fp8_e5m2 --disable-radix --tp 8 --trust-remote-code  
python3 -m vllm.entrypoints.openai.api_server --model neuralmagic/DeepSeek-Coder-V2-Instruct-FP8 --quantization fp8 --disable-log-requests --tensor-parallel-size 8 --trust-remote-code --max-model-len 4096

## Run benchmark  
python3 -m sglang.bench_serving --backend sglang --num-prompts 5000  
python3 -m sglang.bench_serving --backend vllm --num-prompts 5000  

Torch.compile基准测试指令

# SGLang  
## Launch a server  
python3 -m sglang.launch_server --model meta-llama/Meta-Llama-3-8B --enable-torch-compile

## Run benchmark  
python3 -m sglang.bench_serving --backend sglang --dataset-name random --random-input-len 128 --random-output-len 512 --random-range-ratio 1 --num-prompts 1

# vLLM  
## Launch a server  
python3 -m vllm.entrypoints.openai.api_server --model meta-llama/Meta-Llama-3-8B --disable-log-requests

## Run benchmark  
python3 -m sglang.bench_serving --backend vllm --dataset-name random --random-input-len 128 --random-output-len 512 --random-range-ratio 1 --num-prompts 1  

9月22日上午11点,SGLang社区将组织第一期开发者会议,欢迎大家预约~

议程

11:00 - 11:15SGLang Q4 planningSGL Team
11:15 - 11:40SGLang v0.3 中Deepseek MLA的优化实现Ke Bao, Yineng Zhang
11:40 - 12:00关于批处理和专家并行性的讨论Alex Li

加入SGLang技术交流群

想要进入SGLang技术交流群的朋友,添加【ai_qingke113】对暗号“SGL“进群!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值