Open R1 项目教程
open-r1 Fully open reproduction of DeepSeek-R1 项目地址: https://gitcode.com/gh_mirrors/open/open-r1
1. 项目介绍
Open R1 是一个开源项目,旨在构建一个完整的 R1 管道,使得用户可以重现和在此基础上构建。该项目基于 DeepSeek-R1 的技术报告,包含模型训练、推理和评估的各个阶段。Open R1 的目标是提供一个简单、透明的平台,用于研究和开发大型语言模型。
2. 项目快速启动
在开始之前,请确保您的系统满足以下要求:
- Python 虚拟环境
- CUDA 12.4
- 依赖库:vLLM、FlashAttention、PyTorch v2.5.1
创建 Python 虚拟环境
uv venv openr1 --python 3.11
source openr1/bin/activate
安装依赖
uv pip install --upgrade pip
uv pip install vllm==0.7.2 setuptools
uv pip install flash-attn --no-build-isolation
克隆项目
git clone https://github.com/huggingface/open-r1.git
cd open-r1
安装项目依赖
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e ".[dev]"
登录 Hugging Face 和 Weights & Biases
huggingface-cli login
wandb login
检查 Git LFS
git-lfs --version
如果未安装,请运行:
sudo apt-get install git-lfs
训练模型
以下命令展示了如何使用 DeepSeek-R1 的数据集进行监督微调(SFT):
accelerate launch --config_file recipes/accelerate_configs/zero3.yaml src/open_r1/sft.py \
--model_name_or_path Qwen/Qwen2.5-1.5B-Instruct \
--dataset_name open-r1/OpenR1-Math-220k \
--learning_rate 1.0e-5 \
--num_train_epochs 1 \
--packing \
--max_seq_length 16384 \
--per_device_train_batch_size 16 \
--gradient_checkpointing \
--bf16 \
--output_dir data/Qwen2.5-1.5B-Open-R1-Distill
3. 应用案例和最佳实践
Open R1 项目可以用于多种应用场景,以下是一些案例和最佳实践:
- 数学推理:使用项目提供的数学数据集训练模型,以解决复杂的数学问题。
- 代码生成:利用模型生成代码,特别是在编程竞赛问题解决中。
- 数据集构建:创建和共享针对特定任务的大型数据集。
4. 典型生态项目
Open R1 的生态系统包括了多个相关项目,以下是一些典型的例子:
- CodeForces-CoTs:一个包含 10k 编程竞赛问题和 100k 解决方案的数据集。
- IOI24:一个包含国际信息学奥林匹克竞赛的非常困难问题的数据集。
以上就是 Open R1 项目的教程,希望对您的学习和研究有所帮助。
open-r1 Fully open reproduction of DeepSeek-R1 项目地址: https://gitcode.com/gh_mirrors/open/open-r1
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考