DwarfStar 4 (ds4) 本地推理引擎

DwarfStar 4 支持在本地运行前沿 MoE 模型

DwarfStar 4 (ds4) 是一款专业的 C 语言推理引擎,允许高内存机器在本地运行前沿的开放权重模型。与通用运行器不同,ds4 有意保持“窄而精”,专注于一小部分高性能模型系列——特别是 DeepSeek V4/V4.1、GLM 5.x 和 Qwen 3.8 Flash Next——以确保对每个支持的布局进行端到端的验证。

核心技术架构

非对称 2-bit 量化

为了使海量的混合专家 (MoE) 模型在消费级高内存硬件上变得实用,ds4 采用了非对称 2-bit 量化。该技术在压缩路由专家的同时保留了关键共享路径的精度,使得像 DeepSeek V4 Flash(一个 2840 亿参数的模型)这样的模型能够适配现有的 VRAM/RAM。

KV 缓存磁盘持久化

Ds4 将 KV 缓存视为“磁盘公民”,这意味着长前缀可以保存到 SSD 中,并通过提示词哈希 (prompt hash) 恢复。这种架构避免了在会话重启时进行完整的预填充 (prefill),从而显著提高了长上下文工作负载的效率。

统一接口栈

该引擎提供了三个共享相同模型状态和缓存的独立接口:

  • CLI (./ds4):用于直接聊天交互。
  • Server (./ds4-server):提供 OpenAI 和 Anthropic 风格的 API,用于与 Codex、Claude Code 和 OpenCode 等本地编码代理集成。
  • Agent (./ds4-agent):专为持久化编码会话而设计。

硬件兼容性与性能

支持的后端

Ds4 是为 Metal (Apple Silicon)、CUDA 和 ROCm 构建的。它主要针对 M5 Max Mac 和 DGX Spark 机器等高端消费级硬件进行了优化。

内存要求与 SSD 流式传输

虽然 96GB 到 128GB 的 RAM 是实现最佳性能的推荐基准,但 ds4 支持对超出物理内存的模型进行 SSD 流式传输。例如,在 128GB 系统上,DeepSeek V4.1 Q2 可以从 SSD 流式传输以维持功能,否则它将无法放入 RAM 中。

性能基准

在配备 128GB RAM 的 M5 Max 上,ds4 达到了以下性能指标:

上下文 预填充 t/s 生成 t/s
2,048 tokens (q2) 790.2 39.4
65,536 tokens (q2) 398.5 27.6

社区见解与生态系统

用户和贡献者通过各种分支和集成扩展了 ds4 的实用性。值得注意的社区进展包括:

  • FFI 绑定:存在一个提供 ds4 作为共享库的分支,支持通过外部函数接口 (FFI) 在其他语言中使用,包括一个名为 ds4go 的 Go 实现。
  • 融合 TQ:社区贡献实现了融合 TQ,使得在使用 Qwen 3.8 Flash Next 时,在 128GB M5 Max 机器上能够支持高达 100 万 token 的上下文长度。
  • 替代工具:一些用户建议对于那些无法满足主要 ds4 目标高内存要求的旧款 NVIDIA 3090 系列硬件用户,可以使用 club-3090。

“它必须更多地作为一个针对最大用例的工作模板,而不是试图覆盖每一种可能的设置。” — 项目文档 via GitHub

安装流程

运行 ds4 涉及三个步骤:

  1. 获取权重:克隆仓库并使用提供的 download_model.sh 脚本获取项目特定的 GGUF(不支持通用 GGUF)。
  2. 构建:运行 make 和特定的后端命令(例如 make cuda-spark)。
  3. 执行:使用所需的上下文设置启动 CLI 或服务器(例如 ./ds4-server --ctx 100000)。

Sources

相关