这里整理一下 DeepSeek 重大里程碑事件,部分内容参考 DeepSeek 在 HuggingFace 的官方空间。为了方便预览和美观,我做了一个网页版,大家可自行取用。

2023年7月:DeepSeek 公司成立

  • 核心功能:致力于 AGI
  • 功能介绍:由知名量化资管巨头幻方量化创立,其掌门人梁文锋是 DeepSeek 的创始人。

2023年11月:开源 DeepSeekLLM 7B 和 67B 的 Base 和 Chat 模型

  • 核心功能:DeepSeek LLM 67B Base 在推理、代码、数学和中文理解等多个领域超越了 Llama2 70B Base。
  • 功能介绍:DeepSeek Coder 是一系列从零在包含 87% 代码和 13% 自然语言的 2T tokens 数据集上从头开始训练的代码语言模型,它旨在提升代码编写的效率和质量,MIT 许可并允许商业用途。
  • 项目地址:https://github.com/deepseek-ai/DeepSeek-LLM
  • 论文地址:https://arxiv.org/abs/2401.02954
论文摘要

本文深入研究了大规模语言模型(LLMs)的扩展规律,并针对两种常用的开源配置 7B 和 67B 模型,提出了独特的发现,以促进模型扩展。研究团队基于长期主义视角,推出了开源语言模型项目 DeepSeek LLM。为了支持预训练,他们构建了一个包含 2 万亿 tokens 并持续扩展的数据集。通过对 DeepSeek LLM Base 模型进行监督微调(SFT)和直接偏好优化(DPO),最终得到了 DeepSeek Chat 模型。评估结果表明,DeepSeek LLM 67B 在一系列基准测试中超越了 LLaMA-2 70B,尤其在代码、数学和推理领域表现突出。此外,开放性评估显示,DeepSeek LLM 67B Chat 的性能优于 GPT-3.5。该研究还揭示了数据集选择对扩展行为的显著影响,强调在跨数据集推广扩展规律时应谨慎。

  • 扩展规律研究: 论文详细探讨了批量大小和学习率的扩展规律,并揭示了它们随模型大小的变化趋势。此外,研究深入分析了数据和模型规模的扩展规律,成功揭示了最优的模型/数据扩展分配策略,并预测了大规模模型的预期性能。
  • DeepSeek LLM 模型架构: DeepSeek LLM 的微观设计主要遵循 LLaMA 的架构,采用 Pre-Norm 结构、RMSNorm 函数和 SwiGLU 激活函数。67B 模型使用 Grouped-Query Attention (GQA) 以优化推理成本。宏观设计上,DeepSeek LLM 7B 为 30 层网络,DeepSeek LLM 67B 为 95 层网络。
  • 预训练数据集: 构建了包含 2 万亿 tokens 的数据集,主要为中文和英文,通过去重、过滤和重混合三个阶段确保数据质量和多样性。采用了 Byte-level Byte-Pair Encoding (BBPE) 算法进行 tokenization,词汇表大小设置为 102400。
  • 训练超参数和基础设施: 使用 AdamW 优化器,采用多步学习率调度器。批量大小和学习率随模型大小而变化。使用 HAI-LLM 框架进行训练,集成了数据并行、张量并行、序列并行和 1F1B 流水线并行等技术,并利用 flash attention 和 ZeRO-1 等技术提高效率和减少内存消耗。
  • 评估结果:
    • Base 模型: DeepSeek LLM 67B 在 MATH, GSM8K, HumanEval, MBPP, BBH 和中文基准测试中显著优于 LLaMA-2 70B。
    • Chat 模型: DeepSeek 67B Chat 在中文和英文开放性评估中均优于 GPT-3.5,并在 AlignBench 和 MT-Bench 基准测试中取得了优异成绩。安全评估表明 DeepSeek 67B Chat 能够提供无害的回复。
  • 超参数扩展规律公式: 论文给出了批量大小 ($ B_{\mathrm{opt}} $) 和学习率 ($ \eta_{\mathrm{opt}} $) 关于计算预算 ($ C $) 的扩展规律公式:
    • $ \eta_{\mathrm{opt}} = 0.3118 \cdot C^{-0.1250} $
    • $ B_{\mathrm{opt}} = 0.2920 \cdot C^{0.3271} $
  • 模型规模表示: 论文引入了非嵌入 FLOPs/token ($ M $) 作为模型规模的新表示方法,替代了传统的模型参数量 ($ N $),以更准确地进行扩展规律分析和性能预测。
  • 数据集质量的影响: 研究发现,数据集质量越高,最优模型/数据扩展分配策略就越倾向于将增加的计算预算更多地分配给模型扩展,而非数据扩展。

2024年2月:开源 DeepSeek Coder 系列模型

  • 核心功能:DeepSeek Coder 提供 1B、5.7B、6.7B 和 33B 等多种模型尺寸,用户可以根据自身需求和硬件条件选择合适的模型。
  • 功能介绍:在 HumanEval, MultiPL-E, MBPP, DS-1000 和 APPS 基准测试中,性能在公开可用的代码模型中处于领先地位,MIT 许可并允许商业用途。
  • 项目地址:https://github.com/deepseek-ai/DeepSeek-Coder
  • 论文地址:https://arxiv.org/abs/2401.14196
论文摘要DeepSeek-AI 发布了 DeepSeek-Coder 系列,这是一套开源的代码大型语言模型 (LLM),旨在推动软件开发领域的代码智能发展。面对闭源模型主导地位对研究和开发的限制,DeepSeek-Coder 提供了从 13 亿到 330 亿参数的不同规模模型,全部从零开始训练,并在 2 万亿 tokens 的高质量项目级代码语料库上进行了预训练。该系列模型采用了填充空白 (Fill-In-the-Blank, FIM) 任务和 16K 上下文窗口,以增强代码生成和补全能力。实验结果表明,DeepSeek-Coder 不仅在多个基准测试中取得了开源代码模型的领先性能,还在某些方面超越了 Codex 和 GPT-3.5 等闭源模型。此外,DeepSeek-Coder 模型采用宽松的许可证,允许研究和无限制的商业用途。

模型系列与规模

  • DeepSeek-Coder 系列包含多种规模的开源代码模型,参数量从 1.3B (13 亿) 到 33B (330 亿) 不等,包括基础模型 (Base) 和指令微调模型 (Instruct) 两种版本。

训练数据与方法

  • 模型在 2 万亿 tokens 的语料库上从零开始训练,语料库包含 87 种编程语言。
  • 预训练数据在仓库级别进行组织,以提升模型在跨文件代码场景下的理解能力。
  • 除了标准的下一个 token 预测任务外,还采用了填充中间 (Fill-In-the-Middle, FIM) 方法,以增强代码补全能力。
  • 上下文长度扩展至 16K,以处理更复杂的代码任务。

性能评估

  • 在多项公开代码基准测试中,DeepSeek-Coder-Base 33B 在所有开源模型中表现最佳。
  • DeepSeek-Coder-Instruct 33B 在多数评估基准上超越了 OpenAI GPT-3.5 Turbo,显著缩小了与 OpenAI GPT-4 之间的差距。
  • DeepSeek-Coder-Base 7B 即使参数量较小,也展现出与 CodeLlama-33B 等更大模型相媲美的竞争力。

主要贡献

  • 发布了 DeepSeek-Coder-Base 和 DeepSeek-Coder-Instruct 模型,支持 87 种编程语言,并提供多种模型规模以适应不同需求。
  • 首次尝试在模型预训练阶段引入仓库级别的数据构建,有效提升了跨文件代码生成能力。
  • 深入分析了 FIM 训练策略对代码模型预训练的影响,为代码预训练模型的增强和发展提供了有价值的见解。
  • 通过广泛的基准测试,证明 DeepSeek-Coder-Base 优于所有现有的开源代码 LLM,而 DeepSeek-Coder-Instruct 在指令微调后,性能超越了 OpenAI GPT-3.5 Turbo。

数据集构建

  • 训练数据集主要由源代码 (87%)、英文代码相关自然语言语料库 (10%) 和中文自然语言语料库 (3%) 组成。
  • 源代码来自 GitHub,经过抓取、规则过滤、依赖解析、仓库级别去重和质量筛选等步骤处理。
  • 考虑了文件之间的依赖关系,并使用拓扑排序算法对文件进行排序,以更好地模拟真实的编码实践。
  • 进行了仓库级别的去重,以确保数据质量和仓库结构的完整性。
  • 实施了严格的质量筛选和去污染措施,以排除低质量数据和测试集泄露。

训练策略

  • 主要训练目标包括下一个 token 预测和填充中间 (FIM)。
  • FIM 采用 PSM (Prefix-Suffix-Middle) 模式,并进行了不同 FIM 率的实验,最终选择 50% PSM 率以平衡 FIM 效率和代码补全能力。
  • 使用 Byte Pair Encoding (BPE) tokenizer,词汇表大小为 32,000。
  • 模型架构基于 decoder-only Transformer,采用 Rotary Position Embedding (RoPE) 和 FlashAttention v2 等技术。
  • 优化器使用 AdamW,并采用三阶段学习率调度策略。
  • 使用 HAI-LLM (High-Flyer) 框架进行训练,利用 tensor parallelism, ZeRO data parallelism 和 PipeDream pipeline parallelism 等并行策略。
  • 通过调整 RoPE 参数,将上下文窗口扩展至 16K。
  • DeepSeek-Coder-Instruct 通过高质量的指令数据进行微调,采用 Alpaca Instruction 格式。

DeepSeek-Coder-v1.5

  • 为了进一步提升自然语言理解和数学推理能力,基于 DeepSeek-LLM-7B Base 通用语言模型进行了额外的预训练,产生了 DeepSeek-Coder-v1.5 7B。
  • DeepSeek-Coder-v1.5 仅采用下一个 token 预测目标和 4K 上下文长度进行预训练。
  • DeepSeek-Coder-v1.5 在数学推理和自然语言处理能力上显著提升,同时保持了良好的代码生成性能。

总而言之,DeepSeek-Coder 系列的发布,特别是在开源许可下,为代码智能领域的研究和应用提供了强大的工具,并推动了开源代码 LLM 的发展。

2024年2月:开源 DeepSeek Math 模型

  • 核心功能:DeepSeekMath 7B 模型在 MATH 基准测试中取得了令人印象深刻的 51.7% 的成绩,接近 Gemini-Ultra 和 GPT-4 的水平,且未使用外部工具或投票技术。该模型包含 Base 、 Instruct 和 RL 三个版本。
  • 功能介绍:DeepSeekMath 基于 DeepSeek-Coder-v1.5 7B 初始化,并在来自 Common Crawl 的数学相关 tokens 以及自然语言和代码数据上进行了 500B tokens 的持续预训练,MIT 许可并允许商业用途。
  • 项目地址:https://github.com/deepseek-ai/DeepSeek-Math
  • 论文地址:https://arxiv.org/pdf/2402.03300
论文摘要本文介绍了 DeepSeekMath 7B,一个在数学推理方面取得显著进展的开源语言模型。该模型通过在 DeepSeek-Coder-Base-v1.5 7B 的基础上,使用 120B 数学相关的 tokens 以及自然语言和代码数据进行持续预训练而得。DeepSeekMath 7B 在 competition-level MATH benchmark 上取得了 51.7% 的令人印象深刻的成绩,无需借助外部工具和投票技术,性能水平接近 Gemini-Ultra 和 GPT-4。通过 self-consistency over 64 samples,DeepSeekMath 7B 在 MATH 上的得分达到了 60.9%。

DeepSeekMath 在数学推理能力上的成功归因于两个关键因素:首先,通过精心设计的数据选择 pipeline,充分利用了公开可用的 web data 的巨大潜力;其次,引入了 Group Relative Policy Optimization (GRPO),这是一种 Proximal Policy Optimization (PPO) 的变体,它在增强数学推理能力的同时,优化了 PPO 的内存使用。研究还通过实验证明了 code training 有助于提升模型的数学推理能力,但 arXiv papers 在提升数学推理能力方面效果不明显。此外,文章提出了一个统一的范式来理解不同的训练方法,如 RFT、DPO、PPO 和 GRPO,并将它们概念化为直接或简化的 RL 技术。

  • 模型架构与训练数据: DeepSeekMath 7B 基于 DeepSeek-Coder-Base-v1.5 7B 初始化,并使用包含 120B 数学 tokens 的 DeepSeek-Math Corpus 进行预训练。该 corpus 通过一个迭代的 pipeline 从 Common Crawl 中构建,pipeline 包括使用 fastText classifier 识别数学相关网页,并通过人工标注进行优化。预训练数据还包括代码和自然语言数据,总训练 tokens 达到 500B。
  • 性能指标: DeepSeekMath 7B 在 GSM8K 上达到 64.2%,在 competition-level MATH dataset 上达到 36.2%,超过了 Minerva 540B 等模型。经过 mathematical instruction tuning 和 reinforcement learning 后,DeepSeekMath-Instruct 和 DeepSeekMath-RL 模型在 MATH dataset 上分别取得了 46.8% 和 51.7% 的准确率,DeepSeekMath-RL 7B 通过 self-consistency over 64 samples 在 MATH 上达到了 60.9%。
  • GRPO 算法: 文章提出了 GRPO 算法,作为 PPO 的改进,它无需 critic model,而是通过 group scores 估计 baseline,从而减少了训练资源。GRPO 在 reinforcement learning 阶段显著提升了 DeepSeekMath-Instruct 的性能,包括 in-domain (GSM8K, MATH) 和 out-of-domain (CMATH) 数学任务。
  • 数据质量验证: 通过与 MathPile、OpenWebMath 和 Proof-Pile-2 等数学 corpus 的对比实验,验证了 DeepSeekMath Corpus 的高质量和大规模。实验表明,DeepSeekMath Corpus 训练的模型在多个数学 benchmark 上表现更优,且具有 multilingual 特性,提升了中文数学 benchmark 的性能。
  • Code Training 的益处: 实验结果表明,在 math training 之前进行 code training 可以提升模型在数学推理方面的能力,无论是否使用工具。这为 code training 是否提升推理能力这一问题提供了部分肯定答案,至少在数学推理领域是如此。
  • ArXiv Papers 的效果: 实验表明,单独使用 arXiv papers 进行 math training 对数学推理能力的提升效果不明显,甚至可能导致性能下降。
  • 统一的 RL 范式: 文章提出了一个统一的范式来理解 SFT、RFT、DPO、PPO 和 GRPO 等不同的训练方法,并将它们归纳为 data source、reward function 和 algorithm 三个关键组成部分。基于此范式,分析了 online v.s. offline training、outcome v.s. process supervision 等因素对 RL 效果的影响。
  • RL 的作用机制: 研究发现 RL 主要通过提升 Maj@K 性能来增强模型整体表现,表明 RL 的作用在于使输出分布更加 robust,而非根本性地提升模型的基础能力。

2024年3月:开源 DeepSeek-VL 系列模型

  • 核心功能:该模型具备通用的多模态理解能力,能够处理包括逻辑图表、网页、公式识别、科学文献、自然图像以及复杂场景中的具身智能等多种任务。
  • 功能介绍:DeepSeek-VL 系列模型,包括 7B 和 1.3B 参数两种尺寸,并分别提供 base 和 chat 版本,MIT 许可并允许商业用途。
  • 项目地址:https://github.com/deepseek-ai/DeepSeek-VL
  • 论文地址:https://arxiv.org/abs/2403.05525
论文摘要DeepSeek-VL 是一项开源的视觉语言 (VL) 模型,旨在提升模型在真实世界视觉和语言理解应用中的性能。该模型的核心在于三个关键维度:数据构建、模型架构和训练策略。DeepSeek-VL 强调使用多样化、可扩展的数据,覆盖真实世界场景,例如网页截图、PDF 文档、OCR 内容、图表和知识型内容。模型架构方面,DeepSeek-VL 采用了混合视觉编码器,能够高效处理高分辨率图像,同时保持较低的计算开销。在训练策略上,DeepSeek-VL 重视语言能力的保持,通过在预训练阶段早期融入语言模型训练,并谨慎管理视觉和语言模态之间的竞争动态,确保模型在发展多模态能力的同时,不损失强大的语言能力。DeepSeek-VL 模型家族(包括 1.3B 和 7B 版本)在真实世界应用中作为视觉语言聊天机器人展现了卓越的用户体验,并在各种视觉语言基准测试中取得了最先进或具有竞争力的性能,同时保持了在以语言为中心的基准测试中的强大性能。为了促进基于此基础模型的创新,DeepSeek-VL 的 1.3B 和 7B 模型均已公开可用。

数据构建

DeepSeek-VL 的预训练数据集来源于多种公开和专有数据源,包括 Common Crawl 、 Web Code 、电子书、教育材料和 arXiv 文章等,覆盖了网页截图、PDF 、 OCR 、图表和知识型内容。为了提升模型在实际应用中的用户体验,团队还构建了一个基于真实用户场景用例分类的指令微调数据集。该数据集和分类方法也用于创建评估数据集,以有效评估模型在真实世界场景中的性能。

模型架构

DeepSeek-VL 采用了混合视觉编码器,结合了 SigLIP 和 SAM-B 编码器。SigLIP 编码器用于提取低分辨率 (384 x 384) 图像的粗略语义特征,而 SAM-B 编码器则处理高分辨率 (1024 x 1024) 图像,捕捉详细的视觉信息。这种混合方法能够有效地将高分辨率图像压缩成固定数量的 tokens (576 个 tokens ),在丰富的视觉表示和 token 经济性之间取得平衡。 视觉语言适配器 (VL Adaptor) 采用双层混合 MLP 结构,分别处理来自高分辨率和低分辨率视觉编码器的特征,并将它们融合到语言模型的输入空间。语言模型基于 DeepSeek LLM 系列构建,并进行了针对多模态任务的优化。

训练策略

DeepSeek-VL 的训练分为三个阶段:

  1. 视觉语言适配器 (VL Adaptor) 预热: 固定视觉编码器和语言模型,仅训练 VL Adaptor 。使用 ShareGPT4V 和 Document OCR 数据集进行训练。
  2. 联合视觉语言预训练: 固定视觉编码器,训练语言模型和 VL Adaptor 。采用联合语言-多模态训练策略,在训练中加入大量的语言数据 (占比约 70%),以保持语言能力。并引入 “模态预热” 策略,逐渐增加视觉语言数据的比例。
  3. 监督微调 (SFT): 训练语言模型、VL Adaptor 和低分辨率视觉编码器 SigLIP-L (SAM-B 保持冻结)。使用多模态和纯文本对话数据进行指令微调,以提升模型遵循指令和对话能力。

性能评估

DeepSeek-VL 在多项公开的多模态和语言基准测试中进行了评估,并在真实世界的用户评估中进行了验证。结果表明,DeepSeek-VL-7B 在多种视觉语言基准测试中超越了大多数同等规模的开源模型,并在 MMB 、 MMC 和 SEEDbench 等基准测试中接近专有模型 GPT-4V 的性能。DeepSeek-VL-1.3B 也显著优于同等规模的模型,并在 MMB 基准测试中表现出色。在语言基准测试中,DeepSeek-VL 的性能与 DeepSeek-7B 相当甚至更优,表明多模态训练方法甚至可能有助于提升语言任务的性能。人工评估和基于 GPT-4V 的评估也显示,DeepSeek-VL 在识别、转换和常识推理等任务上取得了接近 GPT-4V 的结果,整体性能优于其他开源多模态模型。

2024年5月:开源 DeepSeek-V2 系列模型

  • 核心功能:经济高效的混合专家 (MoE) 语言模型
  • 功能介绍:该模型总参数量为 236B,在包含 8.1 万亿 token 的多样化、高质量语料库上进行了预训练,并经过 SFT 和 RL 过程进行优化。与 DeepSeek 67B 相比,DeepSeek-V2 实现了更强的性能,并分别提供 base 和 chat 版本,MIT 许可并允许商业用途。
  • 项目地址:https://github.com/deepseek-ai/DeepSeek-V2
  • 论文地址:https://arxiv.org/abs/2405.0443
论文摘要DeepSeek-V2 是一款强大的、经济高效的混合专家 (MoE) 语言模型。其核心创新在于通过创新的 Transformer 架构,实现了训练成本的降低和推理效率的提升。该模型拥有 236B 总参数,但每个 token 只激活 21B 参数,并支持 128K 的超长上下文长度。DeepSeek-V2 的关键技术包括:
  • 多头潜在注意力 (MLA):通过低秩键值联合压缩技术,显著压缩了推理过程中的 Key-Value (KV) 缓存,从而提升了推理效率,同时性能优于传统的多头注意力 (MHA)。
  • DeepSeekMoE:采用了细粒度的专家分割和共享专家隔离架构,在保证模型性能的同时,降低了训练成本。

与 DeepSeek 67B 相比,DeepSeek-V2 在性能更强的前提下,训练成本节省了 42.5%,KV 缓存减少了 93.3%,最大生成吞吐量提升了 5.76 倍。在广泛的评测中,即使只激活 21B 参数,DeepSeek-V2 及其对话版本依然在开源模型中取得了顶尖的性能,成为最强大的开源 MoE 语言模型之一。

模型架构

  • Multi-Head Latent Attention (MLA): * 核心思想:低秩键值联合压缩,将 Key 和 Value 压缩成一个低维的潜在向量,显著减少 KV 缓存大小。 * 采用了解耦旋转位置编码 (RoPE) 策略,以兼容低秩 KV 压缩,并保证推理效率。 * KV 缓存大小接近 Grouped-Query Attention (GQA),但性能优于 Multi-Head Attention (MHA)。
  • DeepSeekMoE: * 采用细粒度的专家分割和共享专家隔离,提升专家专业化程度,更有效地获取知识。 * 设计了设备限制路由机制,控制 MoE 相关的通信成本,确保专家并行训练的效率。 * 引入专家级、设备级和通信平衡辅助损失,保证负载均衡,避免路由崩溃。 * 使用 token-dropping 策略,进一步提升训练效率。

预训练

  • 数据构建: * 构建了高质量、多来源的预训练语料库,包含 8.1T tokens。 * 扩展了数据量,尤其增加了中文数据,提升了数据质量,并过滤了敏感内容。 * 使用 Byte-level Byte-Pair Encoding (BBPE) 分词器,词汇量为 100K。
  • 训练设置: * Transformer 层数为 60 层,隐藏层维度为 5120。 * 使用 AdamW 优化器,采用 warmup-and-step-decay 学习率策略。 * 最大序列长度为 4K,总训练 tokens 数量为 8.1T。 * 使用 HAI-LLM 框架,采用 16 路流水线并行、8 路专家并行和 ZeRO-1 数据并行。 * 利用 YaRN 技术将上下文长度扩展到 128K。

评估结果

  • 基准评测:在 MMLU、BBH、HumanEval、C-Eval 等多个英文和中文基准评测中,DeepSeek-V2 均显著优于 DeepSeek 67B,并在开源模型中取得领先地位。
  • 效率评测:与 DeepSeek 67B 相比,DeepSeek-V2 训练成本降低 42.5%,推理吞吐量提升 5.76 倍。
  • 对话模型评测:DeepSeek-V2 Chat (SFT) 和 DeepSeek-V2 Chat (RL) 在 MT-Bench、AlpacaEval 2.0 和 AlignBench 等开放式对话评测中表现出色,特别是在中文开放式对话能力上超越了大部分开源和闭源模型。

对齐

  • 监督微调 (SFT):使用 150 万条指令数据进行 SFT,提升模型的指令遵循能力和安全性。
  • 强化学习 (RL):采用 Group Relative Policy Optimization (GRPO) 算法进行强化学习,进一步对齐人类偏好。
  • 两阶段 RL 训练策略:先进行推理对齐,再进行人类偏好对齐,提升模型在推理和对话任务上的综合表现。

DeepSeek-V2-Lite

  • 发布了 DeepSeek-V2-Lite 模型,一个 16B 参数的小型模型,配备了 MLA 和 DeepSeekMoE,方便社区研究和开发。
  • DeepSeek-V2-Lite 在多个基准评测中也展现出优秀的性能。

2024年7月:开源 DeepSeek-Coder-V2 系列模型

论文摘要本文介绍了 DeepSeek-Coder-V2,一个开源的混合专家 (MoE) 代码语言模型,其在代码特定任务上的性能与 GPT4-Turbo 相媲美。 DeepSeek-Coder-V2 是在 DeepSeek-V2 的中间检查点基础上,通过额外 6 万亿 tokens 的持续预训练得到的。这种持续预训练显著提升了 DeepSeek-V2 的编码和数学推理能力,同时保持了在通用语言任务中相当的性能。与 DeepSeek-Coder-33B 相比, DeepSeek-Coder-V2 在代码相关任务、推理和通用能力等多个方面都展现出显著的进步。此外, DeepSeek-Coder-V2 扩展了其对编程语言的支持,从 86 种增加到 338 种,并将上下文长度从 16K 扩展到 128K。在标准基准评估中, DeepSeek-Coder-V2 在编码和数学基准测试中取得了优于闭源模型(如 GPT4-Turbo、Claude 3 Opus 和 Gemini 1.5 Pro)的性能。 DeepSeek-Coder-V2 模型以宽松的许可证公开发布,允许研究和非限制性商业用途,旨在推动代码智能领域的发展。
  • 模型架构与参数: DeepSeek-Coder-V2 基于 DeepSeek-2 MoE 框架,提供 16B 和 236B 两种参数规模的模型,激活参数分别为 2.4B 和 21B,支持不同的计算和应用需求。
  • 预训练数据: DeepSeek-Coder-V2 的预训练数据主要由 60% 源代码、 10% 数学语料库和 30% 自然语言语料库组成。总共使用了 10.2T 的训练 tokens,其中 6T tokens 来自为 DeepSeek-Coder-V2 专门构建的数据集。代码语料库包含 1,170B 代码相关 tokens,涵盖 338 种编程语言,来源于 GitHub 和 CommonCrawl。
  • 上下文长度扩展: DeepSeek-Coder-V2 的上下文长度扩展至 128K tokens,使用 Yarn 方法,使其能够处理更复杂和广泛的编码任务。
  • 训练策略: DeepSeek-Coder-V2-16B 使用了 Next-Token-Prediction 和 Fill-In-Middle (FIM) 两种训练目标,而 DeepSeek-Coder-V2-236B 仅使用 Next-Token-Prediction。对模型进行了监督微调 (SFT) 和强化学习 (RL),使用 Group Relative Policy Optimization (GRPO) 算法进行对齐,优化模型在编码任务中的正确性和人类偏好。
  • 性能评估: * 代码生成: 在 HumanEval 上取得 90.2% 的成绩,在 MBPP+ 上取得 76.2% 的成绩,在 LiveCodeBench 上取得 43.4% 的成绩,并在 SWE-Bench 上成为首个得分超过 10% 的开源模型。在多种编程语言的 HumanEval 基准测试中, DeepSeek-Coder-V2 表现出色,在 Java 和 PHP 中取得最高分。 * 代码补全: 在 RepoBench 基准测试中, DeepSeek-Coder-V2-Lite-Base (16B) 在 Python 代码补全方面与 DeepSeek-Coder-Base (33B) 相当。在 FIM 任务评估中, DeepSeek-Coder-V2-Lite-Base 在 Python、Java 和 JavaScript 中均取得优异成绩,平均得分达到 86.4%。 * 代码修复: 在 Aider 基准测试中取得 73.7% 的最高分,超越所有对比模型,包括闭源模型。 * 代码理解与推理: 在 CRUXEval 基准测试中, DeepSeek-Coder-V2-Instruct 在开源模型中表现突出,CruxEval-I-COT 得分 70.0%,CruxEval-O-COT 得分 75.1%。 * 数学推理: 在 MATH 基准测试中取得 75.7% 的准确率,在 Math Odyssey 中取得 53.7% 的准确率,与 GPT-4o 相当。在 AIME 2024 竞赛中,解决的问题数量超过其他模型。 * 通用自然语言: DeepSeek-Coder-V2 保持了与 DeepSeek-V2 相当的通用语言性能,并在推理相关基准测试 (如 BBH 和 Arena-Hard) 上有所提升。
  • 结论与未来工作: DeepSeek-Coder-V2 在代码智能领域取得了显著进展,但在指令跟随能力方面仍有提升空间,尤其是在复杂的编程场景中。未来的工作将侧重于提高模型的指令跟随能力,以更好地应对实际复杂的编程场景。

2024年12月26日:开源 DeepSeek-V3 系列模型

  • 核心功能:DeepSeek-V3 采用 MoE 架构,总参数 671B
  • 功能介绍:DeepSeek-V3 在 14.8 万亿高质量 token 上进行了预训练,并通过监督微调和强化学习进一步提升性能。该模型在 DeepSeek-V2 的基础上进行了创新,采用了多头潜在注意力 (MLA) 和 DeepSeekMoE 架构,并引入了无辅助损失的负载均衡策略和多 token 预测训练目标,旨在实现高效推理和低成本训练。MIT 许可均可公开下载和商用。
  • 项目地址:
  • 论文地址:https://github.com/deepseek-ai/DeepSeek-V3/blob/main/DeepSeek_V3.pdf
论文摘要DeepSeek-AI 发布了 DeepSeek-V3,一个拥有 671B 总参数的混合专家模型 (MoE),其中每个 token 激活 37B 参数。该模型旨在提升开源语言模型的能力,并在性能上与领先的闭源模型竞争,同时保持训练和推理的经济性。DeepSeek-V3 在包括代码和数学在内的多个基准测试中表现出色,并以相对较低的成本完成训练。

DeepSeek-V3 在架构和训练方法上进行了创新,包括采用 Multi-head Latent Attention (MLA) 以提高推理效率,DeepSeekMoE 架构以实现成本效益高的训练。此外,该模型首创了无辅助损失的负载均衡策略,并采用了多 token 预测训练目标,以进一步提升模型性能。为了实现高效训练,DeepSeek-V3 采用了 FP8 混合精度训练框架和优化的训练框架 DualPipe。

DeepSeek-V3 在各项评测中均展现出卓越的性能,尤其在代码和数学领域,超越了其他开源模型,并能与 GPT-4o 和 Claude-3.5-Sonnet 等领先的闭源模型相媲美。值得注意的是,DeepSeek-V3 的完整训练仅需 2.788M H800 GPU 小时,突显了其在高性能和低成本之间的平衡。

模型架构细节

DeepSeek-V3 沿用了 DeepSeek-V2 中验证有效的 MLA 和 DeepSeekMoE 架构。

  • Multi-head Latent Attention (MLA): 用于高效推理,通过低秩联合压缩 attention 的 key 和 value,减少 KV 缓存。
  • DeepSeekMoE: 用于经济高效的训练,采用细粒度专家和共享专家机制。
  • 无辅助损失的负载均衡: 通过引入偏置项动态调整专家负载,避免传统辅助损失对模型性能的负面影响。
  • 多 Token 预测 (MTP): 通过在每个位置预测多个未来 token,增强训练信号,提高数据效率和模型性能。

训练基础设施与优化

DeepSeek-V3 的训练在配备 2048 NVIDIA H800 GPU 的集群上完成,并采用了 HAI-LLM 框架,该框架包含多项优化技术:

  • DualPipe 算法: 一种高效的流水线并行算法,通过重叠前向和后向计算-通信阶段,减少流水线气泡,并解决跨节点专家并行带来的通信开销问题。
  • 高效的跨节点 All-to-All 通信: 定制了高效的跨节点 all-to-all 通信内核,充分利用 InfiniBand (IB) 和 NVLink 带宽。
  • FP8 混合精度训练: 首次验证了 FP8 混合精度训练在超大规模模型上的有效性,加速训练并减少 GPU 内存使用。采用了细粒度量化策略(tile-wise 和 block-wise 分组)和提高精度的累积过程,以提升 FP8 GEMM 的精度。

预训练与后训练

  • 预训练: 在 14.8T 高质量和多样化的 token 上进行预训练,过程稳定,未发生不可恢复的损失尖峰或回滚。
  • 上下文长度扩展: 分两个阶段将上下文长度扩展到 128K。第一阶段扩展到 32K,第二阶段进一步扩展到 128K。
  • 后训练: 包括监督微调 (SFT) 和强化学习 (RL),以对齐人类偏好并进一步释放模型潜力。后训练阶段采用了从 DeepSeek-R1 系列模型中蒸馏推理能力的方法。

评估结果亮点

DeepSeek-V3 在多个基准测试中取得了优秀的成绩:

  • 知识: 在 MMLU, MMLU-Pro 和 GPQA 等教育基准上超越所有其他开源模型,性能与 GPT-4o 和 Claude-Sonnet-3.5 等闭源模型相当。在中文事实知识方面 (Chinese SimpleQA) 超过 GPT-4o 和 Claude-Sonnet-3.5。
  • 代码、数学和推理: 在数学相关基准上,DeepSeek-V3 在所有非 long-CoT 的开源和闭源模型中取得最优性能,甚至在 MATH-500 等基准上超越 o1-preview。在代码相关任务上,DeepSeek-V3 在 LiveCodeBench 等编码竞赛基准上表现最佳。

训练成本明细

DeepSeek-V3 的总训练成本为 2.788M H800 GPU 小时,包括:

  • 预训练阶段: 2664K H800 GPU 小时
  • 上下文长度扩展: 119K H800 GPU 小时
  • 后训练阶段: 5K H800 GPU 小时 假设 H800 GPU 的租用价格为每 GPU 小时 2 美元,则总训练成本约为 5.576M 美元。

2025年1月20日:开源推理模型 DeepSeek-R1

论文摘要本文介绍了 DeepSeek AI 发布的第一代推理模型 DeepSeek-R1-Zero 和 DeepSeek-R1,重点探讨了如何通过强化学习 (RL) 提升大型语言模型 (LLMs) 的推理能力。DeepSeek-R1-Zero 模型直接通过大规模强化学习训练,无需监督微调 (SFT) 预训练步骤,展现了卓越的推理能力。为了解决 DeepSeek-R1-Zero 在可读性和语言混合方面的问题,并进一步提升推理性能,DeepSeek-R1 模型采用了多阶段训练和 cold-start 数据。DeepSeek-R1 在推理任务上达到了与 OpenAI-o1-1217 相当的性能水平。此外,研究团队还开源了 DeepSeek-R1-Zero、DeepSeek-R1 以及六个基于 Qwen 和 Llama 模型蒸馏而来的密集模型 (1.5B, 7B, 8B, 14B, 32B, 70B),以支持研究社区。
  • DeepSeek-R1-Zero:纯强化学习推理模型

    • DeepSeek-R1-Zero 是首个在没有 SFT 预训练的情况下,仅通过大规模强化学习从基座模型 DeepSeek-V3-Base 训练得到的推理模型。
    • 使用了 GRPO (Group Relative Policy Optimization) 强化学习算法,以节省训练成本。
    • 采用基于规则的奖励系统,包括准确性奖励和格式奖励,无需神经奖励模型。
    • 训练模板要求模型先输出推理过程,再给出最终答案,限制较少,旨在观察模型在 RL 过程中的自然演进。
    • 在 AIME 2024 benchmark 上的 pass@1 得分从初始的 15.6% 提升至 71.0%,通过多数投票可达 86.7%,与 OpenAI-o1-0912 性能相当。
    • 模型在 RL 训练过程中展现出自主演进能力,例如学会增加思考时间来解决复杂问题,并自发出现反思和探索不同问题解决方法的行为。
    • 但也存在可读性差和语言混合等问题。
  • DeepSeek-R1:基于 Cold Start 的强化学习模型

    • 为了解决 DeepSeek-R1-Zero 的问题并进一步提升性能,DeepSeek-R1 引入了 cold-start 数据和多阶段训练流程。
    • Cold Start 阶段:收集少量高质量的长 CoT (Chain-of-Thought) 数据,用于微调 DeepSeek-V3-Base 模型作为 RL 的初始 actor,提升模型输出的可读性,并利用人类先验知识提升性能。
    • 推理导向的强化学习阶段:在 cold-start 模型基础上,进行与 DeepSeek-R1-Zero 类似的强化学习训练,侧重于提升模型在推理密集型任务上的能力,并引入语言一致性奖励以减少语言混合问题。
    • 拒绝采样和监督微调阶段:在推理导向 RL 收敛后,利用模型 checkpoint 进行拒绝采样,生成新的 SFT 数据,并结合 DeepSeek-V3 在写作、事实问答等领域的监督数据,重新微调 DeepSeek-V3-Base 模型,以提升模型在更广泛任务上的能力。
    • 全场景强化学习阶段:进行第二轮强化学习,旨在进一步对齐人类偏好,提升模型的 helpfulness 和 harmlessness,同时继续优化推理能力。
  • Distillation:小模型推理能力提升

    • 通过 DeepSeek-R1 生成的 800k 数据,对 Qwen 和 Llama 等开源模型进行蒸馏微调,结果表明蒸馏是提升小模型推理能力的有效方法。
    • 蒸馏得到的 DeepSeek-R1-Distill-Qwen-7B 在 AIME 2024 上达到 55.5% 的成绩,超过 QwQ-32B-Preview。
    • DeepSeek-R1-Distill-Qwen-32B 在 AIME 2024、MATH-500 和 LiveCodeBench 等 benchmark 上均取得优异成绩,与 o1-mini 相当。
    • 开源了 DeepSeek-R1 蒸馏得到的 1.5B, 7B, 8B, 14B, 32B, 70B 等多个尺寸的密集模型 checkpoint。
  • 评估结果

    • DeepSeek-R1 在 AIME 2024 上 pass@1 得分 79.8%,略高于 OpenAI-o1-1217;在 MATH-500 上得分 97.3%,与 OpenAI-o1-1217 持平,显著优于其他模型。
    • 在 Codeforces 代码竞赛中达到 2,029 Elo rating,超越 96.3% 的人类参与者。
    • 在 MMLU、MMLU-Pro 和 GPQA Diamond 等知识 benchmark 上表现出色,但略低于 OpenAI-o1-1217。
    • 在 AlpacaEval 2.0 和 ArenaHard 开放式生成任务中也表现出强大的能力。

总而言之,本文主要贡献在于提出了通过纯强化学习和结合 cold-start 数据的强化学习方法,有效提升大型语言模型的推理能力,并验证了将大型模型推理能力蒸馏到小模型的有效性。DeepSeek-R1 和 DeepSeek-R1-Zero 的发布以及开源蒸馏模型,为 LLM 推理能力提升的研究提供了有价值的资源和思路。

2025年1月27日:DeepSeek 登顶下载榜

DeepSeek App 在苹果应用商店中美英等 157 个国家登顶下载榜

2025年1月28日:开源 Janus-Pro

论文摘要Janus-Pro 是对先前工作 Janus 的一项改进,旨在提升统一多模态理解和生成能力。该模型的核心创新在于延续了 Janus 的视觉编码解耦策略,并通过三方面关键改进实现了性能的显著提升:优化的训练策略、扩展的训练数据以及模型规模的扩大。Janus-Pro 的目标是解决传统统一模型在多模态理解和视觉生成任务中存在的性能瓶颈,尤其是在短文本提示的图像生成质量和生成稳定性方面。实验结果表明,Janus-Pro 在多项基准测试中均超越了现有技术水平,证明了其方法的有效性和可扩展性。这项工作旨在为未来统一多模态模型的研究提供新的方向和思路。

架构

Janus-Pro 的架构与 Janus 保持一致,核心设计理念是为多模态理解和视觉生成解耦视觉编码。模型采用独立的编码器处理原始输入,然后由统一的自回归 Transformer 进行处理。具体来说,对于多模态理解,使用 SigLIP 编码器提取图像的语义特征;对于视觉生成,使用 VQ tokenizer 将图像转换为离散 ID。这些特征序列被拼接后输入到 LLM 中进行处理。

优化的训练策略

Janus-Pro 对 Janus 的三阶段训练策略进行了优化,主要体现在以下两点:

  1. 延长 Stage I 训练时间:增加在 ImageNet 数据集上的训练步数,以充分建模像素依赖性,即使在 LLM 参数固定的情况下也能生成合理的图像。
  2. 聚焦 Stage II 训练内容:在 Stage II 阶段,放弃 ImageNet 数据,直接使用常规的文本到图像数据进行训练,从而更有效地利用文本到图像数据,提高训练效率和整体性能。 此外,Stage III 监督微调阶段调整了不同类型数据集的数据比例,将多模态数据、纯文本数据和文本到图像数据的比例从 7:3:10 调整为 5:1:4,在保持视觉生成能力的同时,提升了多模态理解性能。

数据扩展

Janus-Pro 在多模态理解和视觉生成方面都扩展了训练数据:

  1. 多模态理解:在 Stage II 预训练数据中,增加了约 9000 万个样本,包括图像描述数据集 (如 YFCC) 以及表格、图表和文档理解数据 (如 DocMatix)。Stage III 监督微调数据也加入了 DeepSeek-VL2 的额外数据集,例如 MEME 理解、中文对话数据等,以增强模型处理多样化任务和对话体验的能力。
  2. 视觉生成:引入了约 7200 万个合成美学数据样本,使真实数据与合成数据的比例达到 1:1。实验表明,使用合成数据训练可以加快模型收敛速度,并生成更稳定、更具美学质量的文本到图像输出。

模型扩展

Janus-Pro 将模型规模扩展到 7B 参数,并提供了 1B 和 7B 两种模型尺寸。实验观察到,使用更大规模的 LLM (7B) 时,多模态理解和视觉生成的损失收敛速度都显著提高,验证了该方法具有良好的可扩展性。

实验结果

在多项基准测试中,Janus-Pro 表现出色:

  • 多模态理解:Janus-Pro 在 MMBench 等基准测试中超越了 state-of-the-art 的统一多模态模型,例如 Janus, TokenFlow 和 MetaMorph。Janus-Pro-7B 在 MMBench 上取得了 79.2 的高分。
  • 文本到图像生成:在 GenEval 基准测试中,Janus-Pro-7B 的得分为 0.80,优于 Janus, DALL-E 3 和 Stable Diffusion 3 Medium 等模型。在 DPG-Bench 基准测试中,Janus-Pro 也取得了 84.19 的优异成绩。
  • 定性结果:Janus-Pro 在多模态理解和文本到图像生成方面都展示了强大的能力,能够生成高质量、细节丰富的图像,并准确理解复杂场景和指令。

尽管 Janus-Pro 取得了显著进展,但仍存在输入分辨率 (384 × 384) 限制和生成图像细节不足等局限性,未来工作可以考虑提高图像分辨率来进一步提升模型性能。

2025年1月31日:DeepSeek 日活突破 2000 万

DeepSeek 的 DAU 达到 2215 万,成为全球增长最快的 APP,相当于同期 ChatGPT DAU(5323万)的 41.6%,且超越了豆包的 1695 万日活。