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

背景说明

基本设置

  • 训练算法:DeepSeek-R1-Zero纯RL训练(无long CoT、SFT和蒸馏过程)

  • Base model:Qwen/Qwen2.5-7B-Instruct-1M(huggingface传送门

  • 训练脚本执行:

    bash 复制代码
    bash main_grpo.sh

RL训练过程

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

  • 训练400个step

  • wandb file:run-20250207_161945-1oftdu9q

  • main_grpo.sh脚本配置如下:

    bash 复制代码
    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以下

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

再看一下生成答案过程中的一些特点:


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

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

相关推荐
AC赳赳老秦20 小时前
Unity游戏开发实战指南:核心逻辑与场景构建详解
开发语言·spring boot·爬虫·搜索引擎·全文检索·lucene·deepseek
且去填词20 小时前
DeepSeek-R1 实战:数据分析
人工智能·python·mysql·语言模型·deepseek·structured data
且去填词1 天前
DeepSeek API 深度解析:从流式输出、Function Calling 到构建拥有“手脚”的 AI 应用
人工智能·python·语言模型·llm·agent·deepseek
AC赳赳老秦2 天前
Shell 脚本批量生成:DeepSeek 辅助编写服务器运维自动化指令
运维·服务器·前端·vue.js·数据分析·自动化·deepseek
AI-Frontiers2 天前
小白也能看懂的LLM-RL算法:PPO/DPO/GRPO/GSPO
强化学习·大模型训练
AC赳赳老秦2 天前
量化交易脚本开发:DeepSeek生成技术指标计算与信号触发代码
数据库·elasticsearch·信息可视化·流程图·数据库架构·memcached·deepseek
AC赳赳老秦2 天前
Python 爬虫进阶:DeepSeek 优化反爬策略与动态数据解析逻辑
开发语言·hadoop·spring boot·爬虫·python·postgresql·deepseek
Java后端的Ai之路2 天前
【大模型技术栈】-Qwen与DeepSeek如何构建智能大脑?
大模型·qwen·deepseek
AC赳赳老秦3 天前
Go语言微服务文档自动化生成:基于DeepSeek的智能解析实践
大数据·开发语言·人工智能·微服务·golang·自动化·deepseek
AC赳赳老秦4 天前
前端可视化组件开发:DeepSeek辅助Vue/React图表组件编写实战
前端·vue.js·人工智能·react.js·信息可视化·数据分析·deepseek