invergent-ai/surogate

Train and serve LLMs at extreme speed and massive throughput.

Surogate – 高效能 LLM 訓練與服務引擎 (C++/CUDA)

這是什麼 – Surogate 是一個原生的 C++/CUDA 工具包,可讓你 訓練 大型語言模型(包含 LoRA/QLoRA、強化學習方法、知識蒸餾、MoE,以及多模態微調),並以 OpenAI 兼容的 HTTP 伺服器 服務 所產生的檢查點。此專案專注於透過編譯的訓練圖、融合的內核、低精度的 Tensor Core 格式(BF16、FP8、NVFP4、GGUF),以及積極的記憶體管理技巧,從 NVIDIA GPU 中榨取出最多的每秒 token 數量。


核心功能

領域 亮點
訓練引擎 • 完整預訓練、SFT、LoRA/QLoRA、GRPO(RL)、DPO、知識蒸餾。
• 精度配方:BF16、混合 FP8、Blackwell-NVFP4,以及量化適配器。
• 多 GPU 與多節點支援(執行緒化資料平行、ZeRO 分片、Ray 整合)。
• 流水線平行與 CPU 離線,適用於超過單一 GPU 的模型。
• MoE 專家平行、負載平衡與不平衡偵測。
• 自動圖編譯與提前編譯的自動微分,以降低 overhead。
服務引擎 • OpenAI 兼容的 Chat/Completions API(也支援 Anthropic 風格的訊息)。
• 流式輸出、工具呼叫解析、「思考」控制。
• 連續批次處理、前綴快取,每模型最多 128 個並行序列。
• 推測解碼(MTP/DFlash)與多 GPU 層級流水線。
• 原生 GGUF 載入(Q4_K_M、Q8_0 等)與直接 safetensors 匯入。
• 執行時 LoRA 載入/卸載、多模型主機、閒置模型的休眠/喚醒。
• 視覺與嵌入端點(影像/影片、GPU/AVX-512 上的 EmbeddingGemma)。
• Prometheus 指標、API 金鑰驗證、健康檢查。

性能聲稱(截至 2026 年 9 月)

工作 硬體 每秒 token 數 相對提升
訓練 – Qwen3-0.6B BF16 1 × H100 53,900 2.53× 相較於 Unsloth(1 × H100)
4 × RTX 5090 136,200(FP4 LoRA) 總體 3.74× 相較於單卡
服務 – Qwen3.5-0.8B(1 位使用者) 1 × RTX 5090 802 2.32× 相較於 vLLM
8 × RTX 5090,GLM-5.3-Flash(16 位使用者) 292.9 7.0× 相較於 llama.cpp
100 位使用者,Qwen3.5-4B 5,345 1.19× 相較於 vLLM

基準測試以打包的 2,048 token 序列(訓練)或 512 輸入 / 128 輸出工作負載(服務)進行,以牆壁時間計算 token 數;模型載入時間不包含在內。

快速上手(Linux,Python 3.12,CUDA 12.8+)

# 安裝預建輪子(自動選擇正確的 CUDA 編譯版本)
curl -LsSf https://github.com/invergent-ai/surogate/releases/latest/download/install.sh | bash
source .venv/bin/activate

服務一個模型

surogate serve Qwen/Qwen3.5-0.8B \
  --served-model-name surogate \
  --port 8080 --max-model-len 4096 \
  --max-num-seqs 16 --kv-capacity auto

訓練一個 LoRA 適配器(範例 train.yaml 見 README)後執行:

surogate sft train.yaml

CLI 也提供 mergequantizegrpo-colocate 和 Docker 映像(ghcr.io/invergent-ai/surogate:latest-cu129)。

哪些人會使用它

  • 研究實驗室/新創公司:需要快速迭代微調或 RLHF 流程,並希望在同一程式碼庫中獲得確定性、低延遲的推論。
  • 企業:在 RTX 50 系列或 H100 集群上部署大量並行 LLM 端點,尋求比 vLLM/llama.cpp 更高的吞吐量。
  • 自訂模型家族開發者(Qwen、Llama 3、Gemma 4、MiniCPM5 等):希望使用單一原生引擎進行訓練與服務,並內建支援 LoRA、MoE 與視覺擴充。

局限性/待解決項目

  • 服務建置預設針對 SM120a(Blackwell/RTX 50);Ada/Hopper GPU 執行備用建置,可能缺少部分功能。
  • 某些模型家族(例如 DeepSeek-V4、Flash-Next、GLM-5.3-Flash)的訓練定義標記為「延遲」——可服務但尚未支援訓練。
  • 執行時 LoRA 尚不支援 Spark-X2.5 服務路徑。
  • 僅支援 GPU 推論;不提供純 CPU 生成。

如何進一步了解


簡要總結

Surogate 是一個以性能為首的原生 C++/CUDA 平台,統一了 LLM 訓練(包含 LoRA、RL、MoE 與多模態微調)與高吞吐量服務,並透過 OpenAI 兼容 API 提供。它利用編譯圖、融合內核與低精度格式,在現代 NVIDIA GPU 上聲稱比主流 Python 堆疊快 2–7 倍。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案