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 服务器 服务 生成的检查点。该项目专注于通过使用编译的训练图、融合内核、低精度张量核心格式(BF16、FP8、NVFP4、GGUF)以及激进的内存管理技巧,从 NVIDIA GPU 中榨取每秒最多的 token 数量。


核心功能

领域 亮点
训练引擎 • 完整预训练、SFT、LoRA/QLoRA、GRPO(强化学习)、DPO、知识蒸馏。
• 精度方案:BF16、混合 FP8、Blackwell-NVFP4,以及量化适配器。
• 多 GPU 与多节点支持(线程化数据并行、ZeRO 分片、Ray 集成)。
• 流水线并行与 CPU 卸载,适用于超过单张 GPU 容量的模型。
• MoE 专家并行、负载均衡与不平衡检测。
• 自动图编译与提前编译的自动微分,实现低开销。
服务引擎 • 兼容 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 比 Unsloth(1 × H100)快 2.53×
4 × RTX 5090 136,200(FP4 LoRA) 单卡相比聚合提升 3.74×
服务 – Qwen3.5-0.8B(1 用户) 1 × RTX 5090 802 比 vLLM 快 2.32×
8 × RTX 5090,GLM-5.3-Flash(16 用户) 292.9 比 llama.cpp 快 7.0×
100 用户,Qwen3.5-4B 5,345 比 vLLM 快 1.19×

基准测试基于打包的 2,048 token 序列(训练)或 512 输入 / 128 输出工作负载(服务)的墙时 token 计数;模型加载时间不计入。

快速入门(Linux,Python 3.12,CUDA 12.8+)

# 安装预构建的 wheel(自动选择合适的 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、强化学习、MoE 与多模态微调)与高吞吐服务,通过 OpenAI 兼容 API 实现。它利用编译图、融合内核与低精度格式,在现代 NVIDIA GPU 上宣称比主流 Python 堆栈快 2–7 倍。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目