基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
  • 知识卡片碎片时间过考点
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
    • AI 热点每日 AI 资讯与动向
AI 工作台
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
技术实践2026-11-13 06:03

SGLang 可在 AWS Trainium 上部署模型

AWS ML Blog#模型部署#推理框架#AWS
Editor brief · 编辑速览

SGLang-Neuron 已通过 AWS 深度学习容器公开提供,支持在 Trainium 上进行模型服务和强化学习 rollout 生成。开发者可沿用 SGLang 接口,底层运行于原生 PyTorch。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

SGLang-Neuron 要解决的是一个部署问题:把已经熟悉的 SGLang 服务流程搬到 AWS Trainium 上,尽量保留原来的启动方式和生成 API。底层通过插件接入 Trainium,模型执行则走原生 PyTorch。

AWS 宣布它已公开可用,并提供容器和启动示例。对维护自托管模型服务的开发者,这是一条新的硬件适配路径。不过,原文展示的是架构与部署方法,没有性能、成本或迁移效果的对照测试。

接口保持熟悉,硬件适配放在哪里?

SGLang-Neuron 由 RadixArk 与 Annapurna Labs 合作发布,采用树外插件(out-of-tree plugin)设计。也就是把 Trainium 适配代码放在 SGLang 核心之外,让双方独立迭代。

安装插件后,它会通过 SGLang 的插件入口注册 neuron 平台;启动服务时,设置 SGLANG_PLATFORM=neuron 即可选择这个执行平台。

两边的分工很明确:SGLang 核心继续负责 API 服务、请求生命周期、RadixAttention 和前缀缓存管理;插件负责 Trainium 专用的模型实现、注意力、混合专家(MoE)以及计算图运行器。

保留相同接口,降低的是服务接入层的改动,不代表所有模型与功能都能直接迁移。

底层由 TorchNeuron 把 Trainium 注册为原生 PyTorch 设备。模型执行使用标准 PyTorch 算子,再结合 Neuron Kernel Interface(NKI)编写的内核做性能优化。随后,torch.compile 将这些算子和内核编译成可执行程序,由计算图运行器准备并执行。

这里的「原生 PyTorch」并不等于没有硬件适配工作。适配仍然存在,只是主要落在插件和专用内核中。

部署示例给了哪些条件?

原文的演示环境是 Trainium3 EC2 实例。它没有给出普通 CPU 或其他加速卡上的替代操作,也没有列出完整的模型支持清单。

先启动官方提供的容器,拿到配套运行环境:

docker run --rm -it \
--privileged --ipc=host \
-v /path/to/work:/work \
public.ecr.aws/neuron/pytorch-inference-sglang-neuron:v0.1.0-neuron-py314-sdk-2.33.0-ubuntu26.04 \
/bin/bash

要注意镜像这一行:示例固定了完整版本标签,复现时应保留这组环境信息;/path/to/work 则需要替换为实际目录。

接着,在容器里启动 openai/gpt-oss-120b:

SGLANG_PLATFORM=neuron \
python -m sglang.launch_server \
--model-path openai/gpt-oss-120b \
--tp-size 8 \
--ep-size 8 \
--kv-cache-dtype fp8_e4m3 \
--context-length 10240 \
--chunked-prefill-size 8192 \
--max-running-requests 64 \
--max-total-tokens 655360 \
--mem-fraction-static 0.8 \
--host 127.0.0.1 \
--port 30000

要注意第一行,它决定是否启用 Neuron 平台。其余参数也不是装饰:张量并行和专家并行规模都设为 8,KV 缓存使用 fp8_e4m3,上下文长度为 10240,分块预填充大小为 8192,最大运行请求数为 64。

--max-total-tokens 655360 和 --mem-fraction-static 0.8 也是这组部署配置的一部分,原文没有提供调整它们的实验依据,不能据此推出其他负载的最佳配置。

服务监听 127.0.0.1:30000。请求示例用 curl -s 调用 /v1/chat/completions,发送 Content-Type: application/json,JSON 中保留 model、messages、temperature 和 max_tokens 等字段。示例设定 temperature: 0、max_tokens: 128,提问内容是解释天空为什么呈蓝色。

对已有调用链而言,这种接口延续最有实际价值。但原文只给出了请求命令,没有展示响应结果或压测记录。

为什么还要拆开预填充和解码?

SGLang-Neuron 还支持预填充与解码分离(PD disaggregation)。

预填充服务先处理提示词,计算 KV 缓存,再通过 Elastic Fabric Adapter(EFA)上的 NIXL 把缓存传给解码服务,由后者生成后续 token。两端仍使用 SGLang 的调度器与请求生命周期,插件负责 Trainium 执行和缓存传输路径。

大白话解释:先读懂整段输入和随后逐字生成,可以交给不同服务完成。

这提供了拆分部署的能力,但原文没有比较拆分前后的延迟、吞吐或传输开销。不能把「支持 PD 分离」直接理解成「开启后一定更快」。

我的判断

我认可这种把硬件适配放进插件、保留上层服务接口的方向。与需要应用重新适配调用协议的方案相比,它更有利于复用已有接入代码。

但这篇更接近产品发布与快速上手说明。AWS 提到 Trainium 在大规模训练和推理上的经济性,却没有给出价格、吞吐、首 token 延迟或同模型对照数据。它甚至不是一篇带完整测量记录的经验报告,成本优势仍需用自己的负载验证。

原文开头还提到可生成强化学习(RL)rollout,也就是训练需要的模型采样轨迹;后文没有展开相关流程,不能仅凭这套聊天服务示例判断它对训练系统的适配程度。

能拿来做什么

  • 已经使用 SGLang、准备评估 Trainium 的团队,可以先按这组容器版本和参数复现,再核对目标模型、功能和已验证配置。
  • 维护 Node 模型网关的开发者,可以检查现有 model、messages 等请求字段能否沿用,同时确认 127.0.0.1 的监听范围符合实际部署方式。
  • 评估 PD 分离时,应分别记录输入处理、生成和缓存传输的耗时,再决定是否拆分服务。
  • 做硬件选型时,可以将它加入候选方案,用相同模型、输入长度和并发条件比较成本与服务表现;原文不足以替代这一步。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 AWS ML Blog,原文版权归原作者所有。

阅读原文
上一篇
Liquid推出7400万参数流式音频编解码器
下一篇
Gemini 4 Hydrogen 强化复杂提问处理

资讯速览

AWS ML Blog · 2026-11-13 06:03

AI 评分 8.0 / 10

相关标签

#模型部署#推理框架#AWS

继续阅读

  • 把工程流程写成可跨 Agent 复用的技能
  • Liquid推出7400万参数流式音频编解码器
  • Gemini 4 Hydrogen 强化复杂提问处理
  • Natera 分享实验室支持 Agent 架构
  • OpenBot 1.0 开源可自托管 Agent 工作区