Blockway

開源(MIT)· v1.3.5

Agens Engine

我們為 Agens Volundr 打造的推理引擎。在 16 GiB GPU 記憶體預算內,運行 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 記憶體。預算由你設定,引擎絕不超出。

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 GPU 記憶體。

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 時的 GPU 記憶體峰值

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 下載模型與草稿模型,再按你的 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 的驅動程式

GPU 記憶體

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 協議開源。歡迎試用,並告訴我們它在你的顯示卡上表現如何。