中国 AI 实验室 DeepSeek 发布了开源版 DeepSeek-R1,这是一款在多个基准测试上与 OpenAI o1 不相上下的推理模型。该模型现已登陆 Novita AI,专为处理逻辑推理、数学和编程等复杂任务而设计,是开发者和企业的得力工具。
DeepSeek-R1 的独特之处在于其以推理为先的架构,能够自我检查输出的准确性。虽然这一过程可能比传统语言模型耗时更长,但结果更为可靠,尤其适用于物理、科学和数学等场景。
本文深入探讨 DeepSeek-R1 的独特能力、在各基准测试中的表现,以及如何通过 Novita AI 的 API 将其集成到您的工作流中。
什么是 DeepSeek-R1?
DeepSeek-R1 是一个开源推理模型,专门用于处理需要逻辑推理、高等数学和编程的任务。它在前身 DeepSeek-R1-Zero 的基础上,将强化学习与监督微调相结合,提升了输出的清晰度和连贯性。
像 R1 这样的推理模型能够自我核查输出结果,从而减少传统语言模型中常见的错误。这使得它们在研究、教育和决策等对准确性和透明度要求极高的领域至关重要。
DeepSeek-R1 尤为具有竞争力和吸引力的一点在于其开源性质。该模型以 MIT 许可证发布,允许不受限制的商业使用。与专有模型不同,这种方式让开发者和研究人员能够充分探索其架构,根据特定需求进行修改,并将其部署到各种工作流中。
DeepSeek-R1 是如何开发的?
本节将探讨 DeepSeek-R1 的创建过程,从其前身 DeepSeek-R1-Zero 开始。
DeepSeek-R1-Zero
DeepSeek-R1 始于 R1-Zero,这是一个完全通过强化学习训练的模型。这种方法使模型具备了强大的推理能力,但也带来了一些挑战:
- 输出结果通常难以阅读。
- 模型有时会在回复中混用多种语言,使得可读性降低。
这些局限性使得 R1-Zero 尽管逻辑上合理,但在实际应用中难以落地。
纯强化学习的挑战
仅依靠强化学习会导致输出逻辑虽然正确,但结构混乱。在没有监督数据引导的情况下,模型难以有效传达其推理过程。这种缺乏清晰度对于那些要求结果精确且透明的用户来说是一个障碍。
DeepSeek-R1 的改进
为了克服这些挑战,DeepSeek 在开发 R1 时采用了混合方法。通过将强化学习与监督微调相结合,团队引入了精心整理的 datasets,提升了模型的可读性和连贯性。这一改进解决了关键问题:
- 语言混用现象显著减少。
- 碎片化的推理过程得到改善,输出更加清晰。
这些进步使 DeepSeek-R1 成为实际应用中更实用、更可靠的工具。
DeepSeek-R1 性能基准测试
DeepSeek-R1 在数学领域表现出色,在 MATH-500 上取得 97.3% 的顶级成绩,在 AIME 2024 上达到 79.8%,均超越竞争对手。在编程方面,它在 SWE-bench Verified 上取得 49.2%,在 Live Code Bench 上达到 65.9%,展示了其在两个领域的全面实力。

所有模型的评估均采用最大生成长度 32,768 个 token,使用特定采样参数(温度 0.6,top-p 0.95,每个查询 64 个响应)来计算基准测试的 pass@1。
DeepSeek-R1-Distill 模型
蒸馏(知识蒸馏)是一种机器学习方法,将知识从大型模型迁移到小型模型。目标是开发一个更高效的模型,同时保持与大型模型相近的性能。
DeepSeek 还发布了 R1 的蒸馏版本,这些较小的模型保留了原模型的大部分能力,同时更节省计算资源。它们使用 DeepSeek-R1 生成的数据进行微调,参数规模从 15 亿到 700 亿不等。

通过 Novita AI 访问 DeepSeek-R1 API
Novita AI 平台通过简单的 API 和性价比高的 GPU 云基础设施简化了 DeepSeek-R1 的部署。开发者可以无缝地将模型集成到应用程序中,而无需担心硬件设置或扩展性问题。
要在 Novita AI 上开始使用 DeepSeek-R1,请按照以下步骤操作:
步骤 1: 前往 Novita AI,使用 Google、GitHub 账户或邮箱登录。
步骤 2: 尝试 DeepSeek-R1 演示。

步骤 3: 在 Novita AI 上监控 LLM 指标控制台 中的模型指标。
步骤 4: 获取您的 API 密钥:
- 在设置中导航至 “密钥管理”。
- 首次登录时系统会创建默认密钥。
- 如需生成更多密钥,请点击 “+ 添加新密钥”。
步骤 5: 设置开发环境并配置内容、角色、名称和提示等选项。
API 集成
Novita AI 提供 Curl、Python 和 JavaScript 的客户端库,方便您将 DeepSeek-R1 集成到项目中:
Python 示例:
from openai import OpenAI
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
api_key="<YOUR Novita AI API Key>",
)
model = "deepseek/deepseek-r1"
stream = True # or False
max_tokens = 2048
system_content = """Be a helpful assistant"""
temperature = 1
top_p = 1
min_p = 0
top_k = 50
presence_penalty = 0
frequency_penalty = 0
repetition_penalty = 1
response_format = { "type": "text" }
chat_completion_res = client.chat.completions.create(
model=model,
messages=[
{
"role": "system",
"content": system_content,
},
{
"role": "user",
"content": "Hi there!",
}
],
stream=stream,
max_tokens=max_tokens,
temperature=temperature,
top_p=top_p,
presence_penalty=presence_penalty,
frequency_penalty=frequency_penalty,
response_format=response_format,
extra_body={
"top_k": top_k,
"repetition_penalty": repetition_penalty,
"min_p": min_p
}
)
if stream:
for chunk in chat_completion_res:
print(chunk.choices[0].delta.content or "", end="")
else:
print(chat_completion_res.choices[0].message.content)
JavaScript 示例:
import OpenAI from "openai";
const openai = new OpenAI({
baseURL: "https://api.novita.ai/v3/openai",
apiKey: "<YOUR Novita AI API Key>",
});
const stream = true; // or false
async function run() {
const completion = await openai.chat.completions.create({
messages: [
{
role: "system",
content: "Be a helpful assistant",
},
{
role: "user",
content: "Hi there!",
},
],
model: "deepseek/deepseek-r1",
stream,
response_format: { type: "text" },
max_tokens: 2048,
temperature: 1,
top_p: 1,
min_p: 0,
top_k: 50,
presence_penalty: 0,
frequency_penalty: 0,
repetition_penalty: 1
});
if (stream) {
for await (const chunk of completion) {
if (chunk.choices[0].finish_reason) {
console.log(chunk.choices[0].finish_reason);
} else {
console.log(chunk.choices[0].delta.content);
}
}
} else {
console.log(JSON.stringify(completion));
}
}
run();
Curl 用户:
curl "https://api.novita.ai/v3/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR Novita AI API Key>" \
-d @- << 'EOF'
{
"model": "deepseek/deepseek-r1",
"messages": [
{
"role": "system",
"content": "Be a helpful assistant"
},
{
"role": "user",
"content": "Hi there!"
}
],
"response_format": { "type": "text" },
"max_tokens": 2048,
"temperature": 1,
"top_p": 1,
"min_p": 0,
"top_k": 50,
"presence_penalty": 0,
"frequency_penalty": 0,
"repetition_penalty": 1
}
EOF
💡 DeepSeek 专业提示
为获得 DeepSeek-R1 模型的理想性能,建议使用以下配置:
- 温度设置: 将温度设置在 0.5-0.7 范围内(推荐 0.6),以避免产生不连贯的输出或无限重复。
- 提示设计: 避免添加系统提示,将所有指令直接包含在用户提示中。
- 数学问题: 对于数学任务,添加如下指示:“请逐步推理,并将最终答案放在 \boxed{} 中。”
- 评估: 进行多次测试并取平均值,以确保可靠的基准对比。
DeepSeek-R1 与 OpenAI o1 基准性能对比

DeepSeek-R1 在多个基准测试中与 OpenAI o1 直接竞争,常常持平甚至超越其性能。
数学基准
在高级数学任务中,DeepSeek-R1 表现强劲。它在 AIME 2024 上取得 79.8%,略高于 OpenAI o1-1217 的 79.2%。在涉及解决各种高中难度问题的 MATH-500 上,DeepSeek-R1 以 97.3% 领先,优于 OpenAI o1-1217 的 96.4%。
编程基准
在编程基准中,DeepSeek-R1 在 Codeforces 上达到 96.3%,略低于 OpenAI o1-1217 的 96.6%。然而,在评估软件工程任务推理能力的 SWE-bench Verified 上,DeepSeek-R1 得分 49.2%,略高于 OpenAI o1-1217 的 48.9%。
通用知识基准
OpenAI o1 在通用知识任务中领先,但 DeepSeek-R1 仍具竞争力。它在 GPQA Diamond 上得分 71.5%,而 OpenAI o1-1217 为 75.7%。在多任务基准 MMLU 上,DeepSeek-R1 达到 90.8%,略低于 OpenAI o1-1217 的 91.8%。
这些结果凸显了 DeepSeek-R1 在推理密集型领域(尤其是数学和编程)的优势。
立即释放 DeepSeek-R1 的力量
DeepSeek-R1 是专注于推理的 AI 领域的一次重大进步,提供了透明度、可靠性和灵活性。它在数学和软件工程任务中的强劲表现,使其成为寻求研究、教育和技术工作流解决方案的开发者的强大工具。
借助 Novita AI,部署 DeepSeek-R1 变得简单且经济高效。无论您是要解决复杂的数学问题,还是自动化编程任务,DeepSeek-R1 都能为多样化的 AI 应用提供强大且易于获取的解决方案。
关于 Novita AI
Novita AI 是一个 AI 云平台,为开发者提供通过简单 API 轻松部署 AI 模型的途径,同时提供价格合理且可靠的 GPU 云服务。
