面向语言模型服务开发者的 SGLang 扩展了 Mac 的运行方式,并改善了模型加载与分离式服务器的吞吐量。本地开发与大规模服务的选择更多了,但性能收益取决于存储设备和请求构成。
1. Mac 也能使用标准 PyTorch 路径
2026年10月19日发布的 v0.5.22 在 Apple Silicon 上新增了标准 PyTorch 路径,独立于原有的 Mac 专用运行路径。在 Mac 上也能测试与其他加速器共用的任务调度及模型执行代码。
新路径不支持权重压缩模型、接收非文本输入的模型或多设备运行。预先预测并验证后续 token 的生成方式和分离式服务也不在支持范围内。
Mac 的 CPU 与 GPU 共享内存,因此缓存大小以操作系统建议的预算而非全部物理内存为基准计算。Mac 验证在 M4 Pro 48 GB 上运行 Qwen3-0.6B,将该预算的 0.6 分配给静态内存。在 200 道数学题、5 个示例、并发数 8 的条件下,测得准确率为 0.425。
同一设备和模型的在线服务测试使用 40 个随机请求,输入 256 token、输出 128 token,最大并发请求数为 8,输入与输出合计吞吐量为每秒 213.49 token。这是 Mac 运行验证,并非证明其比其他加速器更快的对比。
2. 模型加载需考虑存储条件
可选加载器 InstantTensor 会分块读取权重,并预取后续数据。它保留原有文件查找流程,需单独安装后按如下方式指定。
支持的设备为 CUDA 和 ROCm,不适用于 Mac 的新运行路径。文件仅支持 Safetensors 格式。
pip install "sglang[instanttensor]"
python -m sglang.launch_server \
--model-path Qwen/Qwen3.5-4B \
--load-format instanttensor \
--model-loader-extra-config '{"backend":"URING","chunk_size":8388608,"io_depth":64}'加载对比中,使用每秒 50 GB 的存储设备和 8 张 H200 读取 DeepSeek-R1 权重时,耗时从原加载器的 160 秒降至 15.3 秒,速度提升至 10.5 倍。存储空间置于内存时,同一模型与设备的耗时从 22.6 秒降至 12.1 秒,速度为原来的 1.87 倍。这是权重加载时间,而非服务器就绪所需的总时间。
在每秒 50 GB 的存储设备上,用 1 张 H200 读取 Qwen3-30B-A3B,原加载器耗时 57.4 秒,新加载器耗时 1.77 秒。由于模型和设备数量不同,不能与前述结果直接比较。
3. 分离式服务改变内存预留时机
分离式服务将一次性处理输入的阶段与逐个生成 token 的阶段交给不同服务器。新的可选策略将生成服务器上用于存储中间计算结果的 KV 缓存预留推迟到输入处理完成后。这能减少尚无法生成的长请求提前占位,但并不会加快计算本身。
分离策略的过往实验使用 GLM-5.2-NVFP4、12 张 Rubin GPU 和 3 步多 token 预测。配置了 2 个输入处理副本、1 个生成副本,将张量、数据和专家并行大小均设为 4,以拆分和复制模型计算。
该实验刻意让生成服务器的缓存空间不足。
> 核查条件:8 位浮点缓存、Mooncake 传输,每台设备的生成缓存为 163,840 token。两种策略的预先输入处理尝试次数均为 1。
实验混合了输入长度为 131,072 token 的 64 个请求和 4,096 token 的 192 个请求,输出为 256 token、并发请求数为 64,每种策略各测量两次。对各次运行指标的算术平均值进行比较,吞吐量增加 26.81%,首 token 等待时间的第 95 百分位数降低 48.87%。第 95 百分位数指 95% 的测量值不超过的值。
代价是平均每个输出 token 的耗时增加 2.13%,token 间隔的第 99 百分位数增加 92.77%,较慢部分的停顿加剧。
此外,输入服务器需要更长时间保留缓存,且无法让输入处理与缓存传输重叠进行。
在较小模型上,吞吐量差异处于运行波动范围内。
初期支持使用 Mooncake 传输的配置。与将整个模型计算拆分到四台设备的设置不同,设备内部仅支持不再进一步拆分 token 间关系计算即注意力、输入上下文和模型阶段的配置。
> 部署核查:必须先在默认策略下升级通信工作进程,再同时更改两种角色的策略。
该实验结果来自基准代码更新之前,变更方案中对最新代码的回归验证仍未完成。
4. 区分硬件支持扩展与性能对比
发布文档报告称,DeepSeek-V4.1 Flash 在 8 张 H200 的配置下,每张 GPU 的输出吞吐量提升至 2.1~2.3 倍。文档未提供输入长度和并发请求条件。
在两款受支持设备中的一款上,测得推测生成的吞吐量最高为常规生成的 1.9 倍。
> 核查设备与配置:支持 AMD MI350X、MI355X。测量结果来自 4 张 MI350X 与 DSpark 的配置。
在此配置中使用 DSpark 时,128K 输入的首 token 等待时间从 860 毫秒降至 576 毫秒。这并不表示每款受支持设备都已验证具有相同性能。
5. 升级前先检查 Python
需要 Python 3.11 及以上版本。在 3.10 上不指定版本安装时,会选择支持该版本的最后一个发行版,因此不能仅凭安装成功判断已更新。
本次发布扩展了 Mac 开发路径与服务器优化选项,但分离策略适合长短输入混合且生成缓存不足的服务考虑,而对响应中长时间停顿敏感的服务不能仅凭吞吐量做选择。
