当前位置: 首页 > news >正文

LLMs之DeepSeek r1:TinyZero的简介、特点、安装和使用方法、案例应用Logic-RL的简介、安装和使用方法、案例应用之详细攻略

LLMs之DeepSeek r1:TinyZero的简介、特点、安装和使用方法、案例应用Logic-RL的简介、安装和使用方法、案例应用之详细攻略

目录

TinyZero的简介

1、TinyZero的特点

TinyZero的安装和使用方法

1、安装

创建 conda 环境

数据准备 (倒计时任务)

多GPU (适用于 3B+ 模型):

TinyZero 的案例应用


TinyZero简介

TinyZero 项目是对 DeepSeek R1 Zero 在倒计时乘法任务上的一个简洁、最小化且易于访问的复现。它基于 veRL 构建,通过强化学习,使 3B 基础大型语言模型自主地发展出自我验证和搜索能力。 项目声称只需不到 30 美元即可体验其效果,并提供了 Twitter 讨论串链接和完整的实验日志链接 (Wandb)。 论文正在撰写中。

1、TinyZero特点

TinyZero 的主要特点是其简洁性和易访问性,它成功复现了 DeepSeek R1 Zero 的核心功能,使得研究人员和开发者更容易理解和应用该技术。 通过强化学习,模型能够独立地学习自我验证和搜索能力,这使得模型能够更有效地解决复杂的推理问题。

TinyZero的安装和使用方法

1、安装

创建 conda 环境

conda create -n zero python=3.9

安装 PyTorch (可选,vllm 可自行安装):pip install torch==2.4.0 --index-url https://download.pytorch.org/whl/cu121

安装 vllm: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

数据准备 (倒计时任务)

激活 conda 环境:conda activate zero

运行数据预处理脚本:python ./examples/data_preprocess/countdown.py --local_dir {path_to_your_dataset} ({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

如果出现内存不足 (Out-of-vram) 错误,可以在脚本中添加 critic.model.enable_gradient_checkpointing=True。

多GPU (适用于 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

指令消融实验 (使用 QWen-2.5-3B Instruct):

需要重新处理数据

激活 conda 环境:conda activate zero

运行数据预处理脚本 (使用指令模板): python examples/data_preprocess/countdown.py --template_type=qwen-instruct --local_dir={path_to_your_dataset}

然后使用与 3B+ 模型相同的训练命令,只是将 EXPERIMENT_NAME 更改为 countdown-qwen2.5-3b-instruct。

所有命令中的 {path_to_your_model} 和 {path_to_your_dataset} 需要替换成你的模型路径和数据集路径。

TinyZero 的案例应用

项目主要关注倒计时任务,并提供了针对不同大小模型 (0.5B 和 3B+) 的训练方法。 实验使用了 Qwen2.5 系列基础模型。 项目说明了在 0.5B 模型上强化学习效果不佳,而 3B+ 模型则能够学习复杂的推理技能。 具体的实验结果和详细的消融实验结果可以在其提供的 Wandb 链接中查看。

http://www.lryc.cn/news/533905.html

相关文章:

  • 爬取豆瓣电影 Top250 数据的脚本及调整方法
  • Deepseek 接入Word处理对话框(隐藏密钥)
  • Jupyter Notebook自动保存失败等问题的解决
  • 基于机器学习时序库pmdarima实现时序预测
  • Dart语言的云计算
  • 每日一题--数组中只出现一次的两个数字
  • 【数据】数据领域常用名词解释(第一批40个)+ 例子
  • Java | RESTful 接口规范
  • Baklib优化数字化内容管理用科技提升商业效率与增值潜力
  • 【AI日记】25.02.09
  • Chrome浏览器原理及优化
  • 2025_2_9 C语言中队列
  • [图文]DeepSeek能做对《软件方法》的测试题吗?
  • 推荐个Deepseek网站
  • 【Linux开发工具】C/C++ 在Linux下的编译器-gcc/g++
  • hmi界面:工业设计风格如何识别,有什么应用场景。
  • NIO三大组件
  • pytest.fixture
  • MHTML文件如何在前端页面展示
  • 学习笔记:在华为云ModelArts上运行MindSpore扩散模型教程
  • 使用sharding-jdbc实现读写分离
  • “图像识别分割算法:解锁视觉智能的关键技术
  • 【Go语言快速上手】第二部分:Go语言进阶
  • GRN前沿:GRETA:从多模式单细胞数据推断基因调控网络方法的比较与评价
  • python基础入门:4.4模块与包管理
  • 《XSS跨站脚本攻击》
  • LC-两数之和、字母异位词分组、最长连续序列、移动零、盛最多水的容器
  • Netty源码解析之线程池的实现(二):创建线程与执行任务
  • IDEA - 一个启动类多次启动方法
  • U3D支持webgpu阅读