TinyZero项目安装与配置指南
1. 项目基础介绍
TinyZero是一个开源项目,它是对DeepSeek R1-Zero的再现,主要用于倒计时和乘法任务。项目基于veRL构建,通过强化学习(RL),使得3B基础语言模型(LM)能够自主发展自我验证和搜索能力。
该项目主要使用Python语言进行开发。
2. 关键技术与框架
- veRL:项目基于veRL框架,这是一个用于强化学习的框架。
- Torch:用于深度学习模型的开发。
- Flash Attention 2:一种高效的注意力机制实现。
- XFORMERS:一种用于加速Transformer模型运算的库。
3. 安装与配置
准备工作
在开始安装之前,请确保您的系统中已安装以下软件:
- Python 3.9
- Conda(用于Python环境管理)
安装步骤
步骤 1:创建虚拟环境
首先,创建一个名为zero
的虚拟环境,并安装Python 3.9。
conda create -n zero python=3.9
步骤 2:安装依赖
在虚拟环境中安装以下依赖:
-
Torch:用于深度学习模型的开发。
pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121
-
vllm:TinyZero项目的基础库。
pip3 install vllm==0.6.3 # 或者安装0.5.4, 0.4.2和0.3.1版本
-
Ray:用于分布式训练。
pip3 install ray
-
verl:项目的核心依赖。
pip install -e .
-
Flash Attention 2:一种高效的注意力机制实现。
pip3 install flash-attn --no-build-isolation
-
其他质量生活工具。
pip install wandb IPython matplotlib
步骤 3:数据准备与训练
根据项目的需求,您需要准备相应的数据集,并按照以下步骤进行训练:
conda activate zero
# 数据预处理
python ./examples/data_preprocess/countdown.py --local_dir {path_to_your_dataset}
# 单GPU训练(适用于1.5B以下模型)
export N_GPUS=1
export BASE_MODEL={path_to_your_model}
export DATA_DIR={path_to_your_dataset}
export ROLLOUT_TP_SIZE=1
export EXPERIMENT_NAME=countdown-qwen2.5-0.5b
export VLLM_ATTENTION_BACKEND=XFORMERS
bash ./scripts/train_tiny_zero.sh
# 3B+模型训练(能够发展复杂推理技能)
export N_GPUS=2
export BASE_MODEL={path_to_your_model}
export DATA_DIR={path_to_your_dataset}
export ROLLOUT_TP_SIZE=2
export EXPERIMENT_NAME=countdown-qwen2.5-3b
export VLLM_ATTENTION_BACKEND=XFORMERS
bash ./scripts/train_tiny_zero.sh
请替换{path_to_your_model}
和{path_to_your_dataset}
为您的模型路径和数据集路径。
以上步骤完成后,您应该能够成功安装并配置TinyZero项目。如果遇到Out-of-vram
错误,可以尝试在脚本中添加critic.model.enable_gradient_checkpointing=True
来解决。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考