LMSYS:Blog(Chatbot Arena 团队)
精选

在 NVIDIA DGX Spark 上优化 GPT-OSS:实现本地大模型部署

2025-11-03 00:00· 287天前· Jerry Zhou
AI 导读

与 NVIDIA 合作,在 DGX Spark 上通过 SGLang 成功支持 GPT-OSS 20B 与 120B 模型,实现 20B 版本约 70 tokens/s、120B 版本约 50 tokens/s 的生成速度,达到目前最优水平。用户可通过 Docker 部署 SGLang 服务,接入 Open WebUI 实现本地聊天,或借助 LMRouter 转换请求格式以完全本地化运行 Claude Code。该方案使在 DGX Spark 上部署多百亿参数本地编码智能体成为现实。

推荐理由

DGX Spark本地跑通Claude Code完全离线,隐私敏感开发者的新选择

正文 · AI 翻译

我们带来了一些关于 NVIDIA DGX Spark 的激动人心的更新!在正式发布后的一周内,我们与 NVIDIA 紧密合作,成功在 DGX Spark 上为 SGLang 带来了 GPT-OSS 20B 和 GPT-OSS 120B 的支持。结果令人印象深刻:GPT-OSS 20B 大约能达到 70 tokens/s,GPT-OSS 120B 大约能达到 50 tokens/s,这是目前最先进的水平,使得在 DGX Spark 上运行本地编程智能体完全可行。

我们在此更新了详细的基准测试结果,并在此处查看我们的演示视频。

在这篇文章中,你将学习如何:

  • 在 DGX Spark 上使用 SGLang 运行 GPT-OSS 20B 或 120B
  • 在本地进行基准测试性能
  • 将其连接到 Open WebUI 进行聊天
  • 甚至通过 LMRouter 完全在本地运行 Claude Code

1. 准备环境

在启动 SGLang 之前,请确保你拥有适用于 OpenAI Harmony 的正确 tiktoken 编码:

mkdir -p ~/tiktoken_encodings
wget -O ~/tiktoken_encodings/o200k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken"
wget -O ~/tiktoken_encodings/cl100k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken"

2. 使用 Docker 启动 SGLang

现在,使用以下命令启动 SGLang 服务器:

docker run --gpus all \
    --shm-size 32g \
    -p 30000:30000 \
    -v ~/.cache/huggingface:/root/.cache/huggingface -v ~/tiktoken_encodings:/tiktoken_encodings \
    --env "HF_TOKEN=<secret>" --env "TIKTOKEN_ENCODINGS_BASE=/tiktoken_encodings" \
    --ipc=host \
    lmsysorg/sglang:spark \
    python3 -m sglang.launch_server --model-path openai/gpt-oss-20b --host 0.0.0.0 --port 30000 --reasoning-parser gpt-oss --tool-call-parser gpt-oss

将 `<secret>` 替换为你的 Hugging Face 访问令牌。如果你想运行 GPT-OSS 120B,只需将模型路径改为:`openai/gpt-oss-120b`。这个模型大约是 20B 版本的 6 倍大,因此加载时间会稍长一些。为了获得最佳性能和稳定性,请考虑在你的 DGX Spark 上启用交换内存。

3. 测试服务器

一旦 SGLang 运行起来,你可以直接发送兼容 OpenAI 的请求:

curl http://localhost:30000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "messages": [
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "How many letters are there in the word SGLang?"
            }
        ]
    }'

4. 基准测试性能

一个快速衡量吞吐量的方法是请求一个长输出,例如:

curl http://localhost:30000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "messages": [
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "Generate a long story. The only requirement is long."           
            }
        ]
    }'

在典型条件下,使用 GPT-OSS 20B 你应该能看到大约每秒 70 个 token。

5. 运行本地聊天机器人(Open WebUI)

要设置一个友好的本地聊天界面,你可以在你的 DGX Spark 上安装 Open WebUI,并将其指向你正在运行的 SGLang 后端:`http://localhost:30000/v1`。请按照 Open WebUI 的安装说明进行设置和运行。连接成功后,你就可以无缝地与你的本地 GPT-OSS 实例进行聊天了。无需互联网连接。

6. 完全在本地运行 Claude Code

在本地 GPT-OSS 模型运行的情况下,你甚至可以通过 LMRouter 连接 Claude Code,LMRouter 能够将 Anthropic 风格的请求转换为兼容 OpenAI 的请求。

步骤 1:创建 LMRouter 配置文件

将此文件保存为 `lmrouter-sglang.yaml`。

步骤 2:启动 LMRouter

安装 pnpm(如果尚未安装),然后运行:

pnpx @lmrouter/cli lmrouter-sglang.yaml

步骤 3:启动 Claude Code

按照其设置指南安装 Claude Code,然后按如下方式启动:

ANTHROPIC_BASE_URL=http://localhost:3000/anthropic \
ANTHROPIC_AUTH_TOKEN=sk-sglang claude

就这样!你现在可以在本地使用 Claude Code,完全由 DGX Spark 上的 GPT-OSS 20B 或 120B 模型驱动。

7. 结论

通过这些步骤,你可以充分释放 DGX Spark 的潜力,将其打造成一个能够交互式运行数百亿参数模型的本地 AI 强大引擎。

来源:LMSYS:Blog(Chatbot Arena 团队) · lmsys.org

在 NVIDIA DGX Spark 上优化 GPT-OSS:实现本地大模型部署

LMSYS:Blog(Chatbot Arena 团队)·2025-11-03 00:00·287天前·Jerry Zhou
AI 导读

与 NVIDIA 合作,在 DGX Spark 上通过 SGLang 成功支持 GPT-OSS 20B 与 120B 模型,实现 20B 版本约 70 tokens/s、120B 版本约 50 tokens/s 的生成速度,达到目前最优水平。用户可通过 Docker 部署 SGLang 服务,接入 Open WebUI 实现本地聊天,或借助 LMRouter 转换请求格式以完全本地化运行 Claude Code。该方案使在 DGX Spark 上部署多百亿参数本地编码智能体成为现实。

正文 · AI 翻译

我们带来了一些关于 NVIDIA DGX Spark 的激动人心的更新!在正式发布后的一周内,我们与 NVIDIA 紧密合作,成功在 DGX Spark 上为 SGLang 带来了 GPT-OSS 20B 和 GPT-OSS 120B 的支持。结果令人印象深刻:GPT-OSS 20B 大约能达到 70 tokens/s,GPT-OSS 120B 大约能达到 50 tokens/s,这是目前最先进的水平,使得在 DGX Spark 上运行本地编程智能体完全可行。

我们在此更新了详细的基准测试结果,并在此处查看我们的演示视频。

在这篇文章中,你将学习如何:

  • 在 DGX Spark 上使用 SGLang 运行 GPT-OSS 20B 或 120B
  • 在本地进行基准测试性能
  • 将其连接到 Open WebUI 进行聊天
  • 甚至通过 LMRouter 完全在本地运行 Claude Code

1. 准备环境

在启动 SGLang 之前,请确保你拥有适用于 OpenAI Harmony 的正确 tiktoken 编码:

mkdir -p ~/tiktoken_encodings
wget -O ~/tiktoken_encodings/o200k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/o200k_base.tiktoken"
wget -O ~/tiktoken_encodings/cl100k_base.tiktoken "https://openaipublic.blob.core.windows.net/encodings/cl100k_base.tiktoken"

2. 使用 Docker 启动 SGLang

现在,使用以下命令启动 SGLang 服务器:

docker run --gpus all \
    --shm-size 32g \
    -p 30000:30000 \
    -v ~/.cache/huggingface:/root/.cache/huggingface -v ~/tiktoken_encodings:/tiktoken_encodings \
    --env "HF_TOKEN=<secret>" --env "TIKTOKEN_ENCODINGS_BASE=/tiktoken_encodings" \
    --ipc=host \
    lmsysorg/sglang:spark \
    python3 -m sglang.launch_server --model-path openai/gpt-oss-20b --host 0.0.0.0 --port 30000 --reasoning-parser gpt-oss --tool-call-parser gpt-oss

将 `<secret>` 替换为你的 Hugging Face 访问令牌。如果你想运行 GPT-OSS 120B,只需将模型路径改为:`openai/gpt-oss-120b`。这个模型大约是 20B 版本的 6 倍大,因此加载时间会稍长一些。为了获得最佳性能和稳定性,请考虑在你的 DGX Spark 上启用交换内存。

3. 测试服务器

一旦 SGLang 运行起来,你可以直接发送兼容 OpenAI 的请求:

curl http://localhost:30000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "messages": [
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "How many letters are there in the word SGLang?"
            }
        ]
    }'

4. 基准测试性能

一个快速衡量吞吐量的方法是请求一个长输出,例如:

curl http://localhost:30000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "messages": [
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "Generate a long story. The only requirement is long."           
            }
        ]
    }'

在典型条件下,使用 GPT-OSS 20B 你应该能看到大约每秒 70 个 token。

5. 运行本地聊天机器人(Open WebUI)

要设置一个友好的本地聊天界面,你可以在你的 DGX Spark 上安装 Open WebUI,并将其指向你正在运行的 SGLang 后端:`http://localhost:30000/v1`。请按照 Open WebUI 的安装说明进行设置和运行。连接成功后,你就可以无缝地与你的本地 GPT-OSS 实例进行聊天了。无需互联网连接。

6. 完全在本地运行 Claude Code

在本地 GPT-OSS 模型运行的情况下,你甚至可以通过 LMRouter 连接 Claude Code,LMRouter 能够将 Anthropic 风格的请求转换为兼容 OpenAI 的请求。

步骤 1:创建 LMRouter 配置文件

将此文件保存为 `lmrouter-sglang.yaml`。

步骤 2:启动 LMRouter

安装 pnpm(如果尚未安装),然后运行:

pnpx @lmrouter/cli lmrouter-sglang.yaml

步骤 3:启动 Claude Code

按照其设置指南安装 Claude Code,然后按如下方式启动:

ANTHROPIC_BASE_URL=http://localhost:3000/anthropic \
ANTHROPIC_AUTH_TOKEN=sk-sglang claude

就这样!你现在可以在本地使用 Claude Code,完全由 DGX Spark 上的 GPT-OSS 20B 或 120B 模型驱动。

7. 结论

通过这些步骤,你可以充分释放 DGX Spark 的潜力,将其打造成一个能够交互式运行数百亿参数模型的本地 AI 强大引擎。

来源:LMSYS:Blog(Chatbot Arena 团队)· lmsys.org