\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}{vLLM 推理与部署：参数调优与显存分析}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2025}
\newcommand{\videochannel}{五道口纳什}
\newcommand{\videopublishdate}{2025}
\newcommand{\videoduration}{约20分钟}
\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{引言}
本期展开 vLLM 推理和部署的更多参数和细节，包括显存分析和调优方法。vLLM 有两大应用场景：推理部署和 RL Training 中的在线 rollout。

\begin{importantbox}{vLLM 的两大场景}
\begin{itemize}
  \item \textbf{推理部署}：Offline Batch Generation + Online Serving（OpenAI API 兼容）
  \item \textbf{RL Training}：在 RL for Language Model 中做模型的 online rollout（如 OpenRLHF 首次引入现代推理引擎到 RL pipeline）
\end{itemize}
\end{importantbox}

\section{Online vs. Offline 推理}
\subsection{Offline Batch Generation}
适用于批量处理场景，一次性处理大量请求，最大化吞吐量。

\subsection{Online Serving}
部署为 OpenAI API 兼容的服务，支持实时请求。关键指标：TTFT（首 token 延迟）和 TPS（每秒 token 数）。

\section{显存分析}
模型权重 + KV Cache + 中间激活值。KV Cache 随序列长度线性增长，是长上下文推理的主要瓶颈。

\subsection{本章小结}
vLLM 的显存消耗主要由模型权重和 KV Cache 决定。合理的参数配置是高效推理的关键。

\section{系统视角：吞吐受限时先查哪里}
对于 Agentic RL 训练，推理模式与显存占用并不是两个独立话题。真正的系统瓶颈往往体现在：一边想提高 rollout 吞吐，一边又被 context、batch 和 cache 挤爆显存。理解 online/offline 的差异，本质上是在理解训练系统如何在延迟和吞吐之间做取舍。

\begin{knowledgebox}{排查顺序建议}
\begin{itemize}
  \item 先看每轮 rollout 的 token 数和并发数
  \item 再看 KV cache、batch size 是否占满显存
  \item 最后再决定采用 online 还是 offline 推理编排
\end{itemize}
\end{knowledgebox}

\subsection{本章小结}
显存分析不是附属话题，而是 RL 系统设计的一部分。只有吞吐、延迟和显存三者同时平衡，训练管线才能稳定跑起来。

\newpage
\section{总结与延伸}
\begin{enumerate}
  \item vLLM 同时服务于推理部署和 RL Training
  \item Offline 和 Online 两种模式各有优化方向
  \item 显存分析：模型权重 + KV Cache + 激活值
\end{enumerate}
\end{document}
