DeepSeek:它是如何工作的?

CometAPI
AnnaMay 4, 2025
DeepSeek:它是如何工作的?

在快速演进的人工智能领域,DeepSeek 作为一股强大的竞争力量崛起,向 OpenAI 和 Google 等既有巨头发起挑战。DeepSeek 由 Liang Wenfeng 于 2023 年 7 月创立,是一家中国 AI 公司,因其在大型语言模型(LLM)方面的创新方法以及对开源开发的承诺而备受关注。本文将深入探讨 DeepSeek 模型的架构、创新与影响,重点关注其专家混合(MoE)框架以及 DeepSeek-V2 和 DeepSeek-R1 模型的最新进展。


什么是 DeepSeek?为什么重要?

人工智能(AI)迅速发展,DeepSeek 作为迄今最具雄心的项目之一脱颖而出。由一支由前顶级 AI 工程师与研究人员组成的团队开发,DeepSeek 代表了一代新的开源语言模型,旨在缩小大型专有模型(如 GPT-4)与开放研究社区之间的差距。

DeepSeek 于 2024 年末推出,在训练效率、扩展性与记忆检索方面提出了多项新思路,推动了开源模型能力的上限。

DeepSeek 的架构与传统模型有何不同?

什么是 MoE?

在传统的稠密神经网络中,每个输入都会通过整个网络,不论输入特性如何都会激活全部参数。这种做法虽然直接,但随着模型规模扩大,会带来低效。

专家混合(Mixture-of-Experts)架构通过将网络划分为多个子网络或“专家”,让每个专家专精于不同任务或数据模式,从而改进这一点。一个门控机制会为每个输入动态选择部分专家,确保只有与该输入最相关的网络部分被激活。这种选择性激活降低了计算开销,并使模型更具专门化能力。

Mixture-of-Experts 架构是一种提升大规模神经网络效率与可扩展性的技术。MoE 并非为每个输入激活全部参数,而是基于输入数据选择性地调用一部分专门的“专家”网络。此方式降低了计算负载,并支持更有针对性的处理。

DeepSeek 的 MoE 实现

DeepSeek 的模型(如 DeepSeek-R1 与 DeepSeek-V2)采用了先进的 MoE 框架。例如,DeepSeek-R1 拥有 6710 亿参数,但在任意一次前向传播中仅有 370 亿被激活。该选择性激活由精巧的门控机制管理,将输入路由至最相关的专家,在不牺牲性能的前提下优化计算效率。

一个简化的 DeepSeek Transformer 长什么样?

以下是一个简化示例,展示 DeepSeek 可能如何实现稀疏专家混合机制:

pythonimport torch
import torch.nn as nn
import torch.nn.functional as F

class Expert(nn.Module):
    def __init__(self, hidden_dim):
        super(Expert, self).__init__()
        self.fc = nn.Linear(hidden_dim, hidden_dim)

    def forward(self, x):
        return F.relu(self.fc(x))

class SparseMoE(nn.Module):
    def __init__(self, hidden_dim, num_experts=8, k=2):
        super(SparseMoE, self).__init__()
        self.experts = nn.ModuleList()
        self.gate = nn.Linear(hidden_dim, num_experts)
        self.k = k

    def forward(self, x):
        scores = self.gate(x)
        topk = torch.topk(scores, self.k, dim=-1)
        output = 0
        for idx in range(self.k):
            expert_idx = topk.indices
            expert_weight = F.softmax(topk.values, dim=-1)
            expert_output = torch.stack((x) for j, i in enumerate(expert_idx)])
            output += expert_weight.unsqueeze(-1) * expert_output
        return output

# Example usage

batch_size, hidden_dim = 16, 512
x = torch.randn(batch_size, hidden_dim)
model = SparseMoE(hidden_dim)
out = model(x)
print(out.shape)  # Output shape: (16, 512)

这个基础示例模拟了基于输入动态选择 2 个专家并聚合其输出的过程。

DeepSeek:它是如何工作的?

DeepSeek 使用了哪些训练策略?

数据收集与清洗如何处理?

DeepSeek 的创建者将重点放在数据“质量”而非单纯“规模”上。与 OpenAI 等广泛抓取公共互联网数据的方式不同,DeepSeek 组合使用了:

  • 经精选的开放数据集(Pile、Common Crawl 的部分子集)
  • 学术语料
  • 代码仓库(如 GitHub)
  • 由较小的有监督模型生成的特殊合成数据集

其训练采用“多阶段”的课程式学习方法:

  • 早期阶段训练较简单、事实性强的数据集
  • 后期阶段强调推理密集型与编码任务

采用了哪些优化技术?

高效训练大型语言模型仍是一大挑战。DeepSeek 采用了:

  • ZeRO-3 并行:将优化器状态、梯度与参数在 GPU 间分片
  • 训练期间的 Int8 量化:在不损害模型质量的前提下降低内存占用
  • 自适应学习率:如带预热的余弦退火

下面是一个展示自适应学习率调度的简易代码片段:

pythonfrom torch.optim.lr_scheduler import CosineAnnealingLR

optimizer = torch.optim.AdamW(model.parameters(), lr=1e-4)
scheduler = CosineAnnealingLR(optimizer, T_max=100)

for epoch in range(100):
    train(model)
    validate(model)
    scheduler.step()

该代码在训练过程中平滑地调整学习率。

DeepSeek 如何实现更优性能?

检索发挥了什么作用?

DeepSeek 集成了内置检索系统——类似将搜索引擎接入神经网络。当接到一个提示时,模型可以:

  1. 对查询进行编码
  2. 从外部记忆中检索相关文档
  3. 将这些文档与其内部知识融合

这使 DeepSeek 能够比传统闭源模型更好地保持事实性与时效性。

概念上,大致如下所示:

pythonclass Retriever:
    def __init__(self, index):
        self.index = index  # Assume some pre-built search index

    def retrieve(self, query_embedding):
        # Search based on similarity

        return self.index.search(query_embedding)

class DeepSeekWithRetriever(nn.Module):
    def __init__(self, model, retriever):
        super().__init__()
        self.model = model
        self.retriever = retriever

    def forward(self, query):
        embedding = self.model.encode(query)
        docs = self.retriever.retrieve(embedding)
        augmented_input = query + " " + " ".join(docs)
        output = self.model.generate(augmented_input)
        return output

这类检索增强生成(RAG)显著提升了 DeepSeek 的长期推理能力。

deepseek

DeepSeek 如何进行评测?

该模型在以下基准上进行测试:

  • MMLU:多任务语言理解
  • HumanEval:代码生成准确率
  • TruthfulQA:如实回答能力
  • BIG-bench:通用广域 AI 评测

在多数情况下,DeepSeek 的大型模型(30B、65B 参数)在推理任务上与 GPT-4-turbo 持平甚至超越,同时运行成本显著更低。

DeepSeek 仍面临哪些挑战?

尽管表现出色,DeepSeek 仍存在不足:

  • 偏见与不当内容:即使是精选数据集也可能泄露出问题输出
  • 检索时延:RAG 系统可能比纯生成模型更慢
  • 计算成本:即便有 MoE,训练与服务仍然昂贵

DeepSeek 团队正积极推进模型剪枝、更智能的检索算法与偏见缓解。


结论

自 Transformer 模型兴起以来,DeepSeek 代表了开源 AI 发展的重要转折。通过稀疏专家、检索集成以及更聪明的训练目标等架构创新,它为开源模型的能力设定了新的标杆。

随着 AI 格局的不断演变,预计 DeepSeek(及其衍生模型)将在下一波智能应用中扮演重要角色。

入门指南

开发者可通过 DeepSeek R1 APIDeepSeek V3 APICometAPI 上进行访问。开始使用前,可在 Playground 中探索模型能力,并查阅 API 指南 获取详细说明。请注意,部分开发者在使用该模型前可能需要完成组织验证。

阅读更多

一个 API 中超 500 个模型

最高 20% 折扣