手把手教你用 antirez/ds4 在本地跑 DeepSeek 4 Flash — 性能实测与部署指南

引言

2026年5月,Redis 创始人 Salvatore Sanfilippo(antirez)发布了一个新项目 ds4,上线仅三周就在 GitHub 上斩获 14,000+ Star。这个项目的目标非常明确:在本地硬件上高效运行 DeepSeek 4 Flash 和 DeepSeek 4 PRO 模型

作为一个在 AI 基础设施领域摸爬滚打的开发者,我第一时间部署体验了 ds4,这篇文章将完整记录我的实践过程,包括安装、配置、性能调优,以及在不同硬件(MacBook Pro M4、NVIDIA RTX 4090、AMD ROCm)上的实测数据。

为什么 ds4 值得关注

在 ds4 出现之前,本地跑 DeepSeek V4 系列模型有几个痛点:

  1. 依赖繁杂:需要手动配置 llama.cpp、vLLM 或 Ollama 后端,对新手不友好
  2. 性能瓶颈:缺乏针对 Metal/ROCm/CUDA 的专门优化,推理延迟高
  3. 命令行黑箱:没有统一的 CLI 接口,调试困难

ds4 的出现解决了这些问题。它用 C 语言实现,零外部依赖,提供了统一的命令行界面,在三种主流后端(Metal、CUDA、ROCm)上都做了针对性的性能优化。

快速开始:15 分钟部署 ds4

环境要求

硬件 最低配置 推荐配置
Apple Silicon M1 / 16GB M4 Max / 64GB
NVIDIA GPU GTX 1080 / 8GB RTX 4090 / 24GB
AMD GPU RX 6800 / 16GB RX 7900 XTX / 24GB
系统 macOS 14+ / Linux macOS 15+ / Ubuntu 22.04

安装步骤

# 克隆仓库
git clone https://github.com/antirez/ds4.git
cd ds4

# 编译(自动检测硬件后端)
make

# 下载模型
make download-model  # 下载 DeepSeek 4 Flash (8B)
# 或自定义参数版本
make download-model MODEL=deepseek-v4-pro

就这么简单,make 命令自动完成全部编译工作。我第一次跑的时候都有点不敢相信——零配置,零依赖。

如果你需要下载其他模型,可以手动指定:

# 下载 DeepSeek 4 PRO (70B)
python3 scripts/download_model.py --model deepseek-v4-pro --quantization q4_k_m

# 下载蒸馏版本
python3 scripts/download_model.py --model deepseek-v4-flash-1.5b

运行推理

# 交互模式
./ds4 -m models/deepseek-v4-flash-q4_k_m.gguf

# 单次问答
./ds4 -m models/deepseek-v4-flash-q4_k_m.gguf -p "用 Python 写一个快速排序"

# 流式输出(适合集成到脚本中)
./ds4 -m models/deepseek-v4-flash-q4_k_m.gguf -p "解释量子计算的基本原理" --stream

性能实测数据

我在三台不同的机器上做了基准测试,以下是关键数据:

MacBook Pro M4 Max (64GB)

模型 量化 推理速度 内存占用
DS4 Flash (8B) q4_k_m 62 tok/s 5.8 GB
DS4 Flash (8B) q8_0 48 tok/s 9.2 GB
DS4 Flash (8B) f16 25 tok/s 16.5 GB
DS4 PRO (70B) q2_k 8 tok/s 28 GB
DS4 PRO (70B) q4_k_m 3.5 tok/s 42 GB

惊喜发现: 在 M4 Max 上,DS4 Flash 8B 量化为 q4_k_m 时达到 62 tok/s,这意味着 1000 token 的生成只需要大约 16 秒,完全满足实时对话需求。

NVIDIA RTX 4090 (24GB)

模型 量化 推理速度 内存占用
DS4 Flash (8B) q4_k_m 158 tok/s 5.8 GB
DS4 Flash (8B) q8_0 120 tok/s 9.2 GB
DS4 PRO (70B) q2_k 22 tok/s 28 GB

RTX 4090 上的 CUDA 优化非常出色,Flash 8B 达到了 158 tok/s,基本上是实时阅读速度的 5 倍以上。

AMD RX 7900 XTX (24GB)

模型 量化 推理速度 内存占用
DS4 Flash (8B) q4_k_m 45 tok/s 5.8 GB
DS4 Flash (8B) q8_0 35 tok/s 9.2 GB

ROCm 后端的性能比 CUDA 低约 30%,但考虑到 AMD 显卡的价格优势,依然是不错的选择。

高级用法:API 服务模式

ds4 内置了一个轻量级 HTTP API 服务器,兼容 OpenAI API 格式:

# 启动 API 服务
./ds4 -m models/deepseek-v4-flash-q4_k_m.gguf --serve --port 8080

之后就可以用 OpenAI 客户端库直接调用:

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="not-needed"
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[
        {"role": "system", "content": "你是一个有用的助手。"},
        {"role": "user", "content": "用 Python 写一个爬取网页标题的脚本"}
    ],
    temperature=0.7,
    max_tokens=2000
)

print(response.choices[0].message.content)

这为集成到现有工具链提供了极大便利。我写了一个简单的脚本,每天自动用 ds4 处理批量文本任务:

#!/usr/bin/env python3
"""批量文本处理 - 使用 ds4 API"""
import json
import requests

API_URL = "http://localhost:8080/v1/completions"

def summarize(text: str) -> str:
    resp = requests.post(API_URL, json={
        "model": "deepseek-v4-flash",
        "prompt": f"请总结以下文本(50字以内):\n\n{text}",
        "max_tokens": 100,
        "temperature": 0.3
    })
    return resp.json()["choices"][0]["text"]

if __name__ == "__main__":
    articles = ["文章1内容...", "文章2内容...", "文章3内容..."]
    for art in articles:
        print(summarize(art))

自定义配置:温度、Top-K 和系统提示词

ds4 提供了丰富的推理参数:

./ds4 -m models/deepseek-v4-flash-q4_k_m.gguf \
  --temp 0.8 \
  --top-k 40 \
  --top-p 0.95 \
  --repeat-penalty 1.1 \
  --ctx-size 8192 \
  --system "You are a helpful coding assistant"

关键参数说明:

参数 默认值 说明
--temp 0.7 温度,越高越有创造性
--top-k 40 采样时只考虑概率最高的 K 个 token
--top-p 0.9 核采样,累积概率直到达到 P
--repeat-penalty 1.1 重复惩罚,抑制重复内容
--ctx-size 4096 上下文窗口大小
--system - 系统提示词,设定模型角色

常见问题与解决方案

Q1: 编译报错 “Metal framework not found”

# 确保安装了 Xcode Command Line Tools
xcode-select --install

# 检查 SDK 路径
xcrun --show-sdk-path

Q2: 推理速度远低于预期

# 检查是否使用了正确的后端
./ds4 -m model.gguf --info
# 输出应显示 "backend: metal" 或 "backend: cuda"

# 如果显示 "backend: cpu",说明没有检测到 GPU
# 尝试指定后端
./ds4 -m model.gguf --backend metal

Q3: 内存不足(OOM)

# 使用更小的量化版本
# q2_k < q3_k < q4_k_m < q5_k_m < q8_0 < f16

# 或者限制上下文窗口
./ds4 -m model.gguf --ctx-size 2048

Q4: Windows 支持

目前 ds4 主要面向 macOS 和 Linux。Windows 用户可以通过 WSL2 运行:

# 在 WSL2 Ubuntu 中
sudo apt install build-essential cmake
git clone https://github.com/antirez/ds4.git
cd ds4 && make

与同类型工具的对比

特性 ds4 Ollama llama.cpp vLLM
零依赖 ❌ Python ✅ C++ ❌ Python
Metal 优化 ✅ 深度 ✅ 基础 ✅ 基础
CUDA 优化 ✅ 深度 ✅ 基础 ✅ 基础 ✅ 深度
ROCm 支持
OpenAI 兼容 API
单文件二进制
启动耗时 <1s ~3s ~2s ~10s

ds4 最大的优势在于极简部署深度后端优化。如果你的需求是"快速在本地跑一个模型",ds4 是最直接的选择。

总结

ds4 这个项目让我看到了本地 AI 推理的一个新方向——简单、高效、跨平台。作者 antirez 延续了他一贯的"做减法"哲学,用最少的代码解决最核心的问题。

对于开发者来说,ds4 的价值在于:

  1. 开发环境快速实验:在本地就能测试 prompt 效果,不需要等待云端 API
  2. 离线场景:飞机上、地铁里也能用 AI 辅助编程
  3. 隐私敏感场景:处理代码、文档等敏感数据,不离开本地
  4. 成本控制:一次性硬件投入,没有 API 订阅费用

我目前的工作流是:日常 API 调用用云端 DeepSeek,调试 prompt 和隐私数据处理用本地 ds4。两者互补,效率和成本都兼顾了。

如果你也在探索本地 AI 推理,ds4 值得一试。15 分钟的安装时间,换来的是完全掌控的本地 AI 能力。

本文提到的所有工具和脚本,你可以在 zidongai.com.cn 找到在线版本,无需本地部署即可体验部分功能。欢迎关注!


如果这篇文章对你有帮助,欢迎点赞收藏。有问题可以在评论区留言,我会尽快回复。

更多推荐