\documentclass[a4paper]{article}
\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath, amssymb}
\usepackage{graphicx}
\usepackage[margin=2.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}
\newtcolorbox{knowledgebox}[1]{enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black, coltitle=white, fonttitle=\bfseries, title=#1, attach boxed title to top left={yshift=-2mm, xshift=2mm}, boxrule=1pt, sharp corners}
\newtcolorbox{importantbox}[1]{enhanced, colback=yellow!10!white, colframe=yellow!80!black, colbacktitle=yellow!80!black, coltitle=black, fonttitle=\bfseries, title=#1, sharp corners}
\newtcolorbox{warningbox}[1]{enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black, coltitle=white, fonttitle=\bfseries, title=#1, sharp corners}
\lstset{language=Python, basicstyle=\ttfamily\small, keywordstyle=\color{blue}, stringstyle=\color{red!60!black}, commentstyle=\color{green!60!black}, breaklines=true, frame=single, numbers=left, numberstyle=\tiny\color{gray}, captionpos=b, extendedchars=false}
\newcommand{\notetitle}{veRL 训练参数详解}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2025}
\newcommand{\videochannel}{五道口纳什}
\newcommand{\videopublishdate}{2025}
\newcommand{\videoduration}{约25分钟}
\newcommand{\videourl}{}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}

% Footer with repo info
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{\footnotesize\color{gray}\href{\repourl}{AI Course Notes}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}
\begin{titlepage}\centering
{\Large 课程笔记\par}\vspace{1.2cm}{\huge\bfseries \notetitle\par}\vspace{0.8cm}{\large \noteauthors\par}\vspace{0.3cm}{\large \notedate\par}\vspace{1.2cm}
\ifdefempty{\videocoverpath}{}{\includegraphics[width=0.82\textwidth,height=0.45\textheight,keepaspectratio]{\videocoverpath}\par}
\vfill
\begin{tcolorbox}[width=0.9\textwidth, colback=black!2!white, colframe=black!60, sharp corners]
\textbf{视频作者/频道}：\videochannel\par\textbf{发布日期}：\videopublishdate\par\textbf{视频时长}：\videoduration\par
\ifdefempty{\videourl}{}{\textbf{视频链接}：\href{\videourl}{\nolinkurl{\videourl}}\par}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}
\tableofcontents\newpage

\section{引言}
本期介绍 veRL 训练启动脚本中琳琅满目的参数，深入理解每个参数的原理层含义。

\begin{importantbox}{参数理解的重要性}
很多同学已经训练了很多模型，但对参数的原理层含义理解很浅。理解好 veRL 的参数后，理解 TRL 等其他框架也会非常清晰。
\end{importantbox}

\section{官方文档资源}
veRL 提供了几个关键文档：
\begin{itemize}
  \item Config 文档：\texttt{ppotrainer.yaml} 所有参数配置及含义
  \item Algorithm 文档：各种 Advantage Estimator 的说明
\end{itemize}

\section{关键训练参数}
\subsection{模型相关参数}
包括 model path、tokenizer、dtype 等基础配置。

\subsection{算法相关参数}
PPO/GRPO 的 clip epsilon、KL coefficient、learning rate 等。

\subsection{训练相关参数}
Batch size、gradient accumulation、number of rollouts 等。

\subsection{本章小结}
参数分为模型、算法、训练三大类。深入理解每个参数有助于调优训练效果。

\newpage
\section{调参方法：先分层，再定位瓶颈}
面对 veRL 这类训练框架，最常见的问题不是“参数太少”，而是参数分层不清。把模型、算法、训练配置拆开看，才能判断当前性能瓶颈来自模型能力、优势估计，还是 batch/rollout 等训练编排。

\begin{knowledgebox}{推荐的调参顺序}
\begin{itemize}
  \item 先确认模型与 tokenizer 配置正确
  \item 再调算法相关超参数，如 clip、KL、learning rate
  \item 最后调 batch、rollout、accumulation 这类系统参数
\end{itemize}
\end{knowledgebox}

\subsection{本章小结}
参数分层的意义，在于帮助研究者用更低的试错成本找到真正的瓶颈，而不是把所有开关一起乱拧。

\newpage
\section{总结与延伸}
\begin{enumerate}
  \item veRL 参数分为 Config、Algorithm、Training 三类
  \item 理解参数原理是调优的基础
  \item 框架之间原理相通，veRL 经验可迁移到 TRL
\end{enumerate}
\end{document}
