Blockway

开源(MIT)· v1.3.5

Agens Engine

我们为 Agens Volundr 打造的推理引擎。在 16 GiB 显存预算内,运行 Volundr 完整的 262K token 上下文。

  • 兼容 OpenAI 的 API
  • 262K 上下文
  • 16 / 24 / 48 GB 配置
  • 投机解码
  • 图片输入
  • 多 GPU

Volundr 的上下文窗口为 262K token。检索能力已验证至 107K token(大海捞针 100/100);完整 262K 窗口尚未在此版本上重新验证。

显存去向

围绕模型而设计,不是事后加装

Volundr 的 72 层之中,只有 18 层需要 KV cache,其余 54 层只保存固定大小的状态。引擎正是围绕这个结构设计:计算留在 GPU,查找表放在系统内存,长上下文的 KV 移到主机内存,而不是不断占用显存。预算由你设定,引擎绝不超出。

GPU

16 GiB 预算

  • 计算权重(含输出层),混合 2/3/4-bit约 11 GB
  • KDA 状态,54 层固定大小
  • 18 层注意力的近期 KV、草稿模型预算之内

系统内存

262K 需 32 GB 以上

  • 词嵌入表约 2.5 GB
  • Engram n-gram 表约 4.3 GB
  • 长上下文 KV(分层存放)最多约 24 GB

16 GB 版本,16gb 配置。数值为约数。

功能

专为一个模型,认真服务

兼容 OpenAI 的 API

/v1/chat/completions 与 /v1/completions。现有工具与智能体框架可直接接入。

混合 2/3/4-bit 权重

按层选择位宽,加载时重新打包,计算权重只需约 11 GB 显存。

KV cache 分层至主机内存

长上下文时,KV cache 移至锁页系统内存。下一轮对话直接沿用,不必重读整段历史。

投机解码

配套草稿模型加上模型自身的 MTP head,greedy 与采样请求均适用。输出不变,只影响速度。

图片输入

用同一个 API 发送图片。24 GB 与 48 GB 配置默认开启。

多 GPU

通过 --tp 2 或 --tp 4,在同一台机器的 2 或 4 张相同 GPU 上进行张量并行。

实测数据

16 GiB 预算下的表现

在一张 48 GB GPU(compute capability 8.9)上实测,由引擎的硬上限限制在 16 GiB 预算内,单一对话。并非在实体 16 GB 显卡上测得。

98–150

tok/s,greedy,短上下文,配草稿模型

67–93

tok/s,greedy,读完 219K token 文档后

108–155

tok/s,greedy,短上下文,草稿模型 + MTP

93–136

tok/s,采样(T 0.6),短上下文,草稿模型 + MTP

15.5 GiB

对话达 239K token 时的显存峰值

239K

单一对话 token 数,保持在 16 GiB 上限内

社区实测

社区贡献者 @mmssix 在 24 GB 显卡(compute capability 8.6)上,以 24gb 配置运行 16 GB 版本,单路,关闭思考,greedy:

Engine 1.1.0,草稿模型

对话 65.0 · 编程 52.9 · 推理 79.0 tok/s

Engine 1.3.0,草稿模型 + MTP

对话 70.7 · 编程 59.4 · 推理 93.5 tok/s

54K token 对话的下一轮

使用 session ID 5.7 秒,不使用 77 秒

规模另一端

Agens Engine 1.3.5,两张 141 GB GPU(compute capability 9.0),--tp 2,Volundr INT4,服务器模式,--gpu-gib 128 --max-batch 48 --max-convs 48 --vision 1,开启 --mtp 及 MTP head v1.1(Blockway/Agens-Volundr-32B-v1-MTP)。

~375

tok/s,greedy,单一请求,短提示(6K token 提示约 320,22K 约 327)

1,857

tok/s 总吞吐,48 个并发请求

0

48 个并发、各约 30K token 的智能体会话中失败的请求(首 token 中位数 1.1 秒)

1,329 / 1,620

tok/s 总吞吐,16 / 32 个并发请求,默认采样

~7,000

3 小时混合流量(对话、图片、文档、智能体会话)中的请求数,全部成功

0.49 秒

同一测试中短对话的首 token 时间中位数

快速开始

两条命令即可运行

先从 Hugging Face 或魔搭 ModelScope 下载模型与草稿模型,再按你的 GPU 选择配置启动服务器。

# 16 GB GPU: 262K context, one conversation, speculative decoding
scripts/agens-run.sh --profile 16gb --model /path/to/model --drafter /path/to/drafter

# the same with the MTP head as a second draft source (context ~237K)
scripts/agens-run.sh --profile 16gb --model /path/to/model --drafter /path/to/drafter --mtp /path/to/mtp

# then, from another shell
curl http://localhost:30000/v1/chat/completions -H 'Content-Type: application/json' \
  -d '{"model": "agens", "messages": [{"role": "user", "content": "Hello!"}]}'

或直接使用 Docker

docker run --gpus device=0 --ipc=host -p 30000:30000 \
  -v /path/to/model:/model:ro -v /path/to/drafter:/drafter:ro \
  ghcr.io/blockwayz/agens-engine:1.3.5 --profile 16gb --model /model --drafter /drafter

配置

配置GPU 预算上下文模式
16gb16 GiB262K(开启图片时 225K)单一对话,图片默认关闭
24gb23 GiB262K服务器,最多 4 个并发请求
48gb46 GiB262K服务器,最多 16 个并发请求

任何配置均可加上 --mtp(16gb 上下文约 237K,实测 237,572)。使用 --tp 2 或 --tp 4 运行 2 或 4 张相同 GPU。

系统要求

你需要什么

操作系统

Linux,配备 Docker、NVIDIA container toolkit 及支持 CUDA 12.9 的驱动

显存

16 GB、24 GB 或 48 GB

预编译内核

compute capability 8.6、8.9、9.0 与 12.0。已验证:8.9 与 9.0(由我们验证),8.6(由社区贡献者验证)。12.0 已编译,但未经我们验证

系统内存

完整 262K 上下文需 32 GB 或以上

注意事项

  • 目前只支持 Linux,暂不支持 Windows 与 macOS。Mac 用户可使用社区的 MLX 移植版 volundr-mlx(MIT),链接见我们的 README。
  • Volundr 的上下文窗口为 262K token。检索能力已验证至 107K token(大海捞针 100/100);完整 262K 窗口尚未在此版本上重新验证。
  • 16 GB 版本在长文档上开启思考模式时可能出现循环。处理长文档时,请关闭思考或改用 4-bit 版本。
  • Agens Engine 专为 Agens Volundr 而设,并非通用推理服务器。

下一步

发展方向

  • 支持 Windows,先从 WSL2 开始。
  • 支持 12 GB GPU,开发中。
  • 上游支持:Volundr 模型 PR 已提交至 SGLang(sgl-project/sglang#45093),另有两项 flashinfer 修复(#45091、#45092)。我们也承诺以多个小型 PR 将架构提交至 llama.cpp。

版本记录

  1. 1.3.5 · 10 月 23 日

    长上下文高负载下不再导致进行中的请求失败;KV 池自动调整大小;长时间智能体会话的调度更公平

  2. 1.3.4 · 10 月 21 日

    compute capability 9.0 上单路生成更快;服务器模式最多批处理 64 个请求

  3. 1.3.3 · 10 月 21 日

    可复现的采样(单独或批量、有无投机解码结果一致);采样改在 GPU 上进行

  4. 1.3.2 · 10 月 21 日

    前缀缓存;支持惩罚参数的投机解码;compute capability 9.0 上生成更快

  5. 1.3.0 · 10 月 19 日

    MTP 可配合 --tp 及图片输入,适用所有配置;KV 可放入 GPU 时保留在 GPU

  6. 1.2.0 · 10 月 19 日

    MTP 草稿(--mtp);多 GPU 张量并行(--tp 2/4)

  7. 1.1.0 · 10 月 18 日

    图片输入;投机采样(temperature、top-k、top-p、min-p)

  8. 1.0.0 · 10 月 18 日

    首个版本:16 GB 版本、262K 上下文、投机解码

Token,在你拥有的硬件上。

Agens Engine 以 MIT 协议开源。欢迎试用,并告诉我们它在你的显卡上表现如何。