Skip to main content

个人总结

  • bg:2本中9硕,无论文,无大厂实习经历,单纯对 RL 特别熟悉,把 VERL 的框架改了又改,所以了解得深入。秋招面试主讲强化学习项目。
  • 主包:4 月学习 RLHF,看了小红书 RZ 的帖子了解流程,上手做项目,找到实习后疯狂看代码。
  1. 小红书 RZ 的帖子了解流程
    1. 手写LLM
  2. 学强化学习基础部分
  3. 学习 RLHF 手写代码
  4. 简历项目:RLHF训练医学大模型
    1. 数据迭代:这个 GitHub 自带一个很大的数据集,使用可以参考这个思路来构造数据使项目完整
    2. 构造出 chosen 和 reject 数据,进行 DPO 训练和奖励模型训练
    3. 算法迭代:有了奖励模型后自然可以进行 PPO 训练以及 GRPO、DAPO 训练
    4. 模型评估:使用 Ceval 的医学成绩进行评估
    5. 评估框架
    6. 简历包装如下:
    7. 简历包装可下载资料

训练医疗大模型,实现了包括有监督微调、RLHF,Base model:Llama3.2-3B,Qwen2.5-3B

n1,n2,n3,n4,n5 都是数字

SFT:针对基于 n1k 通用数据以及 n2k 医疗数据上微调模型后在 CEval 医疗指标上成绩会下降的问题。将 CEval 医疗指标验证集使用某个向量模型进行向量化,作为目标数据分布,再将 shibing624/medical 中 200w 条数据向量化。将向量做相似度匹配,选出匹配度大于某个值的数据作为微调数据集。CEval 中 physician 成绩由 xxx 提高到 xxx在 1k 医疗数据上 ppl 由 xxx 下降至 xxx。(面试官可能会评价,把评测集当做目标来召回是不是作弊?)

PPO:将 shibing624/medical 数据集使用医疗大模型构造病人病历特征得到 n3k 数据,再由 Baichuan4-Turbo 基于病人病情以及病历特征构造出推理数据,并由此生成 n4k 偏好数据集。将 n4k 偏好数据集混入通用偏好数据 n5k 构造出 10k 偏好数据集,先训练 reward model,再基于 SFT 后的模型进行 PPO 训练。模型最终具有医学推理能力。

GRPO:怎么样怎么样

修改奖励函数:怎么样怎么样

根据评测集进行召回的相关数据更新:

当时召回用的一些中间数据(评测集三个维度,CEval 的评测集)

使用 GLM-embedding-3 模型针对评测集做的向量化,得到评测集向量文件:

有了评测集的向量文件后,要与原始几百万条向量化数据做召回(原始文件找不到了)。

召回代码:

召回输出的数据集:

匹配后组合的训练数据集:

  • 找到实习
    1. 用时一个月,打基础
  • 学强化学习进阶部分
  • 学习公式推导
  • 实习工作
    1. Debug VERL 并修改框架
  • 理解VERL 的核心代码,明白了不少RL增加稳定性与减小方差的trick ,从自己理解总结了两点RLHF的发展路径以及一直在优化的两个问题:
    1. 主要看这个代码文件
  • 靠这些RL理解冲到了 两个基座,一个淘天sspoffer,美团感谢信

可以参考的复现项目

做简历的时候可以写这两个项目,更推荐第二个,因为更好讲故事

打基础

LLM 整体知识文档(包含八股)

R.Z 小红书博主 帖子

最好自己学习下LLM大体流程,这是基础

博客/UP主/手写博主(包含RL与LLM)

可以每个博主先看一眼,按需取用。每个博主都有特色,这是我筛选出来质量很好的博主

手写LLM与Agent的教程,按需使用

可以学习下小k的手写LLM的教程,特别好

进阶

系统学习强化学习

配合R.Z笔记食用更佳

RL基础知识

一篇RLHF公式推导

学习RLHF 的 手写代码:

RL trick

一些其他笔记:学弟做的笔记

DeepSeek R1

DeepSeek基础

LLM

LLM基础

PEFT

PEFT