DeepSeek-R1的开放复制
DeepSeek-R1的完全开放复制。本仓库正在进行中,让我们一起构建它! ## 目录 - 概述 - 攻击计划 - 安装 - 训练模型 - SFT - GRPO - 评估模型 - 复制Deepseek的评估结果 - 数据生成 - 从小型提炼的R1模型生成数据 - 从DeepSeek-R1生成数据 ## 贡献 目标是构建R1管道的缺失部分,以便每个人都可以复制和在其基础上构建。该项目的设计简单,主要包括: - `src/open_r1`:包含训练模型和生成合成数据的脚本: - `grpo.py`:在给定数据集上用GRPO训练模型。 - `sft.py`:在数据集上对模型进行简单的SFT。 - `generate.py`:使用Distilabel从模型生成合成数据。 - `Makefile`:包含每个步骤易于运行的命令,利用上述脚本。 ## 攻击计划 我们将使用DeepSeek-R1技术报告作为指南,大致分为三个主要步骤: 1. 通过从DeepSeek-R1提炼高质量语料库来复制R1-Distill模型。 2. 复制DeepSeek用于创建R1-Zero的纯RL管道。这可能涉及策划新的大型数学、推理和代码数据集。 3. 展示我们可以通过多阶段训练从基础模型转到RL调优。 ## 新闻 🗞️ 🧑🍳 [2025/05/26](步骤1完成!)发布Mixture-of-Thoughts——一个包含350k验证记录的策划推理数据集,提炼自R1。该数据集涵盖数学、编码和科学中的任务,旨在教语言模型逐步推理。我们还提供了一份训练OpenR1-Distill-7B的配方,该模型复制了deepseek-ai/DeepSeek-R1-Distill-Qwen-7B的推理能力,并标志着Open R1项目步骤1的完成。 ⚡️ [2025/03/11](更新#3):我们发布了CodeForces-CoTs数据集,包括10k个竞争编程问题和100k个来自R1的解决方案。我们还发布了IOI24:来自国际奥林匹克的非常困难问题的新基准。在CodeForces-CoTs上训练的7B Qwen模型在IOI24上可以超越Claude 3.7 Sonnet,而32B模型可以超越R1本身。 ∞ [2025/02/10](更新#2):我们发布了OpenR1-Math-220k数据集,从R1在新版本的NuminaMath上提炼出220k个记录。基于此数据集训练的模型与DeepSeek的提炼模型的性能相匹配。 🔥 [2025/02/02](更新#1):我们实现了训练、推理和评估管道的第一部分。让我们开始吧! ## 安装 注意:库依赖于CUDA 12.4。如果您看到与段错误相关的错误,请检查系统运行的版本:`nvcc --version`。 要运行本项目中的代码,请首先使用例如uv创建一个Python虚拟环境。要安装uv,请遵循UV安装指南。 注意:作为快捷方式,运行`make install`来设置开发库(以下详细说明)。然后,如果一切设置正确,您可以尝试Open-R1模型。 `uv venv openr1 --python 3.11 && source openr1/bin/activate && uv pip install --upgrade pip` 提示:对于Hugging Face集群用户,请在.bashrc中添加`export UV_LINK_MODE=copy`以抑制uv的缓存警告。 接下来,安装vLLM和FlashAttention: `uv pip install vllm==0.8.5.post1` `uv pip install setuptools && uv pip install flash-attn --no-build-isolation` 这还将安装PyTorch v2.6.0,必须使用此版本,因为vLLM二进制文件是为其编译的。然后,您可以通过`pip install -e .[LIST OF MODES]`为您的特定用例安装其余依赖项。对于大多数贡献者,我们建议:`GIT_LFS_SKIP_SMUDGE=1 uv pip install -e
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡