trnrt - 在 AWS Trainium2 上以 NKI 大内核服务大语言模型的开源推理引擎
trnrt 是 RunanywhereAI 开源的大语言模型推理引擎,面向 AWS Trainium2,用 NKI 解码大内核在单台 trn2.48xlarge 上提供 OpenAI 兼容 API,并带跨设备与主机内存的前缀缓存。首个支持的模型是 GLM-5.3-Flash,采用 Apache-2.0 许可。
trnrt 是 RunanywhereAI 维护的开源大语言模型推理引擎,目标平台是 AWS Trainium2。据项目说明,它在一台 trn2.48xlarge 上以 OpenAI 兼容接口对外服务,解码阶段以 NKI 大内核(megakernel)执行,大致每半个网络层一个内核,并把前缀缓存分布在设备内存与主机内存之间。它适合需要在 Trainium 硬件上自建推理服务、又希望沿用 OpenAI 客户端生态的团队;如果手上只有 GPU 集群或通用 x86 服务器,这个项目并不对应你的场景。
维护者与状态
仓库由 RunanywhereAI 维护,地址为 github.com/RunanywhereAI/trnrt。仓库创建于 2026-10-30,最后提交时间为 2026-11-09,最新正式版本为 v0.1.0,发布于 2026-11-08。截至 2026-11-10,仓库星标数为 281。项目采用 Apache-2.0 许可证。从版本号与时间线看,这是一个刚发布首个版本的早期项目,接口与配置仍可能调整。
主要能力
以下能力均据项目 README 自述,未经本站独立验证:
- NKI 解码大内核:解码阶段每半个层使用一个融合内核,覆盖 KDA 注意力、融合的 DSA 层、mHC 与 MoE 前馈网络。
- 长上下文:项目称支持 1M token 上下文,依靠稀疏注意力(top 2,048)与固定大小状态的线性注意力实现。
- 前缀缓存:在 FP8 KV 页之上构建基数树(radix tree),并为被淘汰的页与状态检查点提供主机内存层。
- 单机双引擎:每个引擎在 32 个逻辑 NeuronCore 上做张量并行,前面挂一个会话亲和(session-affine)路由器。
- OpenAI 兼容 API:支持 chat 与 completions、流式输出、工具调用与推理内容输出。
- 离线编译:所有计算图在 CPU 主机上构建,服务机只负责加载,默认不在服务机上编译。
README 还给出了 SemiAnalysis AgentX 回放场景下的吞吐与成本表格,并说明这些数字来自更早的构建版本;本仓库对该构建做了图等价性与输出一致性校验。由于这些是项目自述的测量结果,本文不转述具体数值,需要时请查阅仓库内的结果文档。
使用入口
仓库地址:RunanywhereAI/trnrt。项目另有一篇构建说明博客:Serving GLM-5.3-Flash on one Trainium2 box with NKI layer megakernels。
据 README 的 Quickstart,使用前需要 Docker、一台用于服务的 trn2.48xlarge,以及任意一台 x86_64 主机用于编译。流程大致分四步:
- 克隆仓库并构建镜像,构建参数中包含版本号与提交号。
- 在 x86_64 主机上构建编译缓存,该步骤不需要 NeuronCore,但项目说明耗时以小时计,依次执行 shapes、decisions、capture、compile、strip 等子命令。
- 在 trn2.48xlarge 上把缓存与 NKI 目录挂载进容器,下载模型权重后启动服务。
- 用任意 OpenAI 客户端调用本地 8000 端口的 /v1 接口,并在请求中带上 session_id 以复用同一引擎的前缀缓存。
trnrt serve --model /model --port 8000
开发方面,README 提到可用 make dev 安装可编辑模式与测试、检查工具(Python 3.13),用 make check 执行 lint、类型检查与 CPU 测试套件;CPU 测试不需要 NeuronCore。贡献代码的拉取请求目标分支为 development。
许可与限制
许可证为 Apache-2.0。项目说明其包含来自其他 Apache-2.0 项目的代码,具体见仓库的 NOTICE 与 THIRD_PARTY_NOTICES.md。项目声明自身为独立开源项目,与 Amazon Web Services 无隶属或背书关系。
已知边界与前置条件,据 README:
- 硬件目前仅支持 AWS Trainium2 的 trn2.48xlarge(16 芯片,2 个引擎 × TP 32,LNC 2)。
- 模型目前仅支持 GLM-5.3-Flash(320B MoE、18B 激活、FP8、1M token 上下文),更多开放模型标注为即将支持。
- 编译缓存需要在 x86_64 主机上预先构建,且耗时较长;服务机默认不做编译。
- README 中的基准数字来自更早的构建版本,与当前仓库并非同一次测量。
对于想在其他加速卡上部署、或需要多模型同时服务的用户,当前版本的能力范围有限,建议先阅读仓库内的架构与已知问题文档再评估。