• Agentic search/RAG pipeline

    这个 blog 是复现 ZeroSearch 的副产物。拿来和 function call search 对比时搭的 pipeline。Search-O1, Search-R1, ReSearch, DeepResearcher, ZeroSearch 之类都是采用整体上类似的 agentic search 结构, i.e., think, search, infomation 交叉生成,直...
  • GRPO trainer 训练推理模型

    Qwen 模型在 GSM8K 数据集上的 GRPO 训练脚本 本脚本使用 GRPO(Group Relative Policy Optimization) 方法,在 GSM8K(Grade School Math 8K)数据集上对 Qwen 模型进行训练。 数据集:加载 GSM8K 并应用 one shot 提示。 奖励函数:定义xml tag reward 、format reward、...
  • GRPO 实现讲解

    这是我的 github 项目 https://github.com/shar-pen/GRPO_implementation_from_scratch.git 的讲解,在看之前,最好看下之前发的 GRPO&DAPO 的论文讲解。 数据准备 src/prepare_data.py将推理任务和答案准备好,在 openai/gsm8k 数据集中 answer 字段的答案是长答案 + ##...
  • GRPO & DAPO 论文解读

    GRPO 起源于 DeepSeekMath, 是一种高效且有效的强化学习算法。GRPO的核心思想是通过组内相对奖励来估计基线(baseline),从而避免使用额外的价值函数模型(critic model)与 PPO 相比,显着减少了训练资源 (PS: 他不需要 actor-critic网路,两个与训练模型相当的模型)。传统的PPO算法需要训练一个价值函数来估计优势函数(advantage f...
  • GRPO-trainer-HF 长度奖励的文本压缩任务

    以下是出于 huggingface trl GRPO trainer 的教程的代码 数据和代码使用的是 TLDR dataset , TLDR 指的是 Too Long Didn’t Read,代表太长了不想看,这个数据就是提供压缩前后的数据。以下是一组示例数据。 123456789101112131415161718192021# promptSUBREDDIT: r/relationsh...
  • DPO trainer - by trl

    简单记录下用 trl 库的 DPO trainer 的训练效果,源码出自于 trl 官方 https://huggingface.co/docs/trl/en/dpo_trainer 给的示例代码。DPO trainer 的底层代码在之前的 DPO 复现的 blog 中提到过,这次就直接用 DPO trainer,不涉及任何底层代码。 偏好数据集 preference datasettrl ...
  • cuda 显存占用优化

    记录下 transformers 模型简单的减少显存的方式 半精度加载 混合精度训练 激活 checkpoint lora flash attention 但不包含例如 FSDP 和 deepspeed 之类的相关代码,因为我是在 jupyter notebook 里实验代码的。 显存中分为两部分: allocated: 当前正在使用中的显存(张量等活跃对象),例如模型参数、梯度、优化...
  • Qwen 2.5 VL 微调处理

    LVLM 在 transformer 里好像没有统一的训练方法,大概率是因为对模块内部处理方式的不同,不像 LLM 一样都是类似的 GPT 结构,forward 没有 multi-modal,single-modal 的处理比较单调。因此这个 blog 里我参考 Qwen 2.5 VL 中 qwen-vl-finetune 中的处理方式复现其流程,主要是数据处理流程,之后就是简单的 mode...
  • LLM 推理 & speculative sampling

    推理基本方式贪心解码类似于分类器通常会选择概率最大的标签,对于文本生成任务,最直接的方法就是每次取概率最大的token_id,接下来我以贪心搜索为例介绍文本生成的流程。 12345678910111213141516171819202122232425262728293031323334353637# Encode initial inputinput_text = "What is sta...
  • Direct Preference Optimization (DPO)

    Direct Preference Optimization (DPO) 是一种专为大型语言模型(LLMs)设计的训练方法,旨在通过人类偏好数据来优化模型,而无需使用复杂的强化学习算法(如 Proximal Policy Optimization, PPO)。DPO 的核心思想是通过偏好数据直接调整模型参数,绕过显式奖励模型的拟合以及复杂的强化学习优化过程。 preliminariesKL ...
1235