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

【DeepSeek-R1训练笔记】随手记录一些训练log

背景说明

  • DeepSeek系列解读请移步我的上一篇blog:【完整版】DeepSeek-R1大模型学习笔记(架构、训练、Infra)
  • 代码仓库【科大的大四老哥太太太太太值得倾佩了】:https://github.com/Unakar/Logic-RL
  • DeepSeek-R1-Zero复现文档:https://evxpwrsfkdb.feishu.cn/docx/NokEdaMBmo6aqZxVdxkcSm2cnab
  • 趁着DeepSeek火起来的这个风口,自己抓紧学习一下大模型的基础知识,慢慢把之前积累的一些东西串起来
  • 非常佩服科大的老哥,前途无量,正好我来学习一下大模型训练过程,看下有哪些训练坑和经验值得总结

基本设置

  • 训练算法:DeepSeek-R1-Zero纯RL训练(无long CoT、SFT和蒸馏过程)
  • Base model:Qwen/Qwen2.5-7B-Instruct-1M(huggingface传送门)
  • 训练脚本执行:
    bash main_grpo.sh
    

RL训练过程

第一阶段:正确的格式学习(3PPL数据集)

  • 训练400个step

  • wandb file:run-20250207_161945-1oftdu9q

  • main_grpo.sh脚本配置如下:

    set -x
    MODEL_PATH='Qwen2.5-7B-Instruct-1M'
    export VLLM_ATTENTION_BACKEND=XFORMERS
    python3 -m verl.trainer.main_ppo \algorithm.adv_estimator=grpo \data.train_files=data/kk/instruct/3ppl/train.parquet \data.val_files=data/kk/instruct/3ppl/test.parquet \data.train_batch_size=2 \data.val_batch_size=4 \data.max_prompt_length=400 \data.max_response_length=2048 \actor_rollout_ref.model.path=$MODEL_PATH \actor_rollout_ref.actor.optim.lr=3e-7 \actor_rollout_ref.model.use_remove_padding=True \actor_rollout_ref.actor.ppo_mini_batch_size=256 \actor_rollout_ref.actor.ppo_micro_batch_size=64 \actor_rollout_ref.actor.use_kl_loss=True \actor_rollout_ref.actor.kl_loss_coef=0.001 \actor_rollout_ref.actor.kl_loss_type=low_var_kl \actor_rollout_ref.model.enable_gradient_checkpointing=True \actor_rollout_ref.actor.fsdp_config.param_offload=True \actor_rollout_ref.actor.fsdp_config.grad_offload=True \actor_rollout_ref.actor.fsdp_config.optimizer_offload=True \actor_rollout_ref.rollout.log_prob_micro_batch_size=160 \actor_rollout_ref.rollout.tensor_model_parallel_size=1 \actor_rollout_ref.rollout.name=vllm \actor_rollout_ref.rollout.gpu_memory_utilization=0.6 \actor_rollout_ref.rollout.n=16 \actor_rollout_ref.ref.log_prob_micro_batch_size=160 \actor_rollout_ref.ref.fsdp_config.param_offload=True \algorithm.kl_ctrl.kl_coef=0.001 \trainer.critic_warmup=0 \trainer.logger=['wandb'] \trainer.project_name='GRPO_logic_KK' \trainer.experiment_name='Qwen-7B' \trainer.n_gpus_per_node=2 \trainer.nnodes=1 \trainer.default_local_dir=local_dir \trainer.default_hdfs_dir=null \trainer.save_freq=10 \trainer.test_freq=10 \trainer.total_epochs=1 $@ 2>&1 | tee grpo.log
    

验证集:效果逐渐变好

在这里插入图片描述

平均reward、答案错误的比例、全对的比例、格式错误比例:前三者趋势正确,但是变化不大,格式错误大幅降低!因为这一步主要是在简单的3PPL数据上学格式,大约10个step可以将格式错误降到0.1以下

在这里插入图片描述

平均生成长度:有少量增长,但并不明显,应该是还在第一阶段的问题

在这里插入图片描述
再看一下生成答案过程中的一些特点:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

再看一下出现的格式错误具体原因:

在这里插入图片描述

在这里插入图片描述

还出现了不同程度的语言混杂问题:

在这里插入图片描述

在这里插入图片描述

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

相关文章:

  • 【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具04
  • 「全网最细 + 实战源码案例」设计模式——策略模式
  • [MoeCTF 2022]baby_file
  • 【AI日记】25.02.07 探索开辟第二战场
  • path 路径模块
  • SpringBoot中的多环境配置管理
  • mac下生成.icns图标
  • 关于JS继承的七种方式和理解
  • 储能系统-系统架构
  • AI智算-k8s部署DeepSeek Janus-Pro-7B 多模态大模型
  • 【截图】selenium自动通过浏览器截取指定元素div的图片
  • 如何导入第三方sdk | 引入第三方jar 包
  • HarmonyOS 5.0应用开发——ContentSlot的使用
  • C#常用集合优缺点对比
  • 基于CLIP视觉语言大模型的行人重识别方法的简单框架设计
  • RabbitMQ 从入门到精通:从工作模式到集群部署实战(三)
  • BurpSuite抓包与HTTP基础
  • SQL Server 数据库迁移到 MySQL 的完整指南
  • 【大模型】DeepSeek与chatGPT的区别以及自身的优势
  • DeepSeek:知识图谱与大模型参数化知识融合的创新架构
  • ES6 迭代器 (`Iterator`)使用总结
  • 信用修复和失联修复的区别
  • 2025蓝桥杯JAVA编程题练习Day3
  • [论文阅读] Knowledge Fusion of Large Language Models
  • deepseek来讲lua
  • 探索 Spring Cloud Alibaba:开启微服务架构新时代
  • 【数据结构】(6) LinkedList 链表
  • 【工具变量】上市公司企业渐进式创新程度及渐进式创新锁定数据(1991-2023年)
  • 07_任务状态——改进播放控制
  • 【R语言】apply函数族