\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{subcaption}
\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}{[CS25 V1] GPT Models (GPT-3, Codex) --- Mark Chen, OpenAI}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2021}
\newcommand{\videochannel}{Stanford Online}
\newcommand{\videopublishdate}{2021}
\newcommand{\videoduration}{约60分钟}
\newcommand{\videourl}{https://www.youtube.com/playlist?list=PLoROMvodv4rNiJRchCzutFw5ItR\_Z27CM}
\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}{{\small 请填入封面图路径。\par}}{\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\textbf{视频链接}：\url{\videourl}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}
\tableofcontents\newpage

\section{语言建模的演进}

Mark Chen（OpenAI）以语言建模能力的进化为线索，展示了从 n-gram 到 GPT-3 的发展轨迹。

\subsection{从 n-gram 到 RNN}

2011 年以前的语言模型依赖巨大的 n-gram 查找表，生成文本几乎不可读。神经网络语言模型（尤其是 RNN）的引入使生成文本开始具有句子的"流畅感"，尽管语义仍不连贯。

\subsection{LSTM 与长距离依赖}

LSTM 通过门控机制改善了梯度流，能更好地建模长程依赖。生成文本开始在短段落内保持一定的连贯性，但仍有明显的重复和逻辑断裂。

\subsection{Transformer 语言模型}

自回归 Transformer 在建模长距离依赖方面更为出色。GPT-2 的生成已可保持多句连贯性，GPT-3 则能在多段落间维持角色一致性（如虚构的 Perez 博士）。

\begin{importantbox}{GPT-3 的标志性能力}
GPT-3 的"最佳采样"质量大致相当于 GPT-2 的 top-1/top-5 采样。其 175B 参数模型能在多段落间保持风格一致性（如模仿《三体》的叙事风格），并产生诗意的隐喻。
\end{importantbox}

\begin{knowledgebox}{人类能否分辨 GPT-3 生成的文本？}
在新闻文章场景下，随着模型参数增加，人类分辨真假文章的准确率趋近于随机猜测（约 50\%），说明大模型的生成质量已接近真实文本。
\end{knowledgebox}

\subsection{本章小结}

语言建模的进步经历了 n-gram $\to$ RNN $\to$ LSTM $\to$ Transformer 的路径，每一步都显著提升了生成文本的连贯性和多样性。

\section{从语言建模到无监督学习}

\subsection{为什么关心语言建模？}

Mark Chen 坦言，语言建模本身是一个相对狭窄的能力。OpenAI 真正关心的是\textbf{无监督学习}——如何从海量无标注数据中学习可迁移的表示。

\begin{importantbox}{监督学习的瓶颈}
监督学习需要大量标注数据，而标注成本高昂且难以规模化。互联网提供了近乎无限的\textbf{无标注}文本数据，关键问题是：能否利用这些数据来解决下游任务？
\end{importantbox}

\subsection{生成模型与 Analysis by Synthesis}

Richard Feynman 的名言"What I cannot create, I do not understand"及其逆命题"What I can create, I can also understand"为生成式预训练提供了理论直觉：如果模型能生成多样且连贯的文本，那它必然建立了有助于语言理解的内部表示。

\subsection{自回归建模的合理性}

自回归目标看似"局部"——仅预测下一个 token。但考虑推理小说的场景：要准确预测揭晓凶手的那个 token，模型需要理解整个故事的逻辑链条。因此下一 token 预测实际上隐含了全局理解的需求。

\begin{knowledgebox}{Sentiment Neuron 的发现}
2017 年，OpenAI 训练了一个预测 Amazon 评论下一字符的 LSTM 模型，惊讶地发现其中一个神经元自发学会了情感分类——正激活对应正面评论，负激活对应负面评论，且未见过任何标签。
\end{knowledgebox}

\subsection{本章小结}

GPT 系列的核心动机并非语言建模本身，而是将其作为无监督学习的手段。自回归预训练 + 微调（或 zero-shot）的范式已成为 NLP 的主导框架。

\section{GPT 系列的演进}

\subsection{GPT-1：预训练 + 微调}

GPT-1 在互联网文本上预训练后，通过简单的分类头微调即可在多个下游任务上取得优异表现，证明了"预训练 + 微调"路线的可行性。

\subsection{GPT-2：Zero-shot 能力的涌现}

GPT-2 的关键洞察：许多下游任务可以自然地表达为语言模型的补全问题：
\begin{itemize}
    \item \textbf{阅读理解}：将段落和问题拼接，在"Answer:"后补全
    \item \textbf{摘要}：在文本后加"TL;DR"
    \item \textbf{翻译}：格式化为"Sentence ... translated from French to English means"
\end{itemize}

\begin{warningbox}{规模的作用}
Zero-shot 能力随参数规模平滑提升。此外，zero-shot 与 few-shot 之间的性能差距也随规模增大而扩大，说明大模型更擅长"学习如何学习"。
\end{warningbox}

\subsection{GPT-3：元学习视角}

GPT-3 的核心洞察：训练过程可以被解读为\textbf{元学习}——外层循环是 SGD 训练步，内层循环是模型根据 prompt 识别并适应当前任务。

\begin{importantbox}{In-Context Learning 的涌现}
Few-shot 算术实验显示，能力随参数量增加出现"阶跃函数"式的跃升——在接近 175B 参数时，加法、减法甚至部分乘法的准确率急剧上升。
\end{importantbox}

\subsection{本章小结}

GPT-1/2/3 展示了从微调到 zero-shot/few-shot 的范式演进，核心驱动力是规模——更大的模型在预训练中发展出更强的 in-context learning 能力。

\section{将 GPT 应用于图像}

\subsection{Image GPT}

将图像视为"像素语言"，用自回归方式预测下一个像素。模型在 ImageNet 无标签数据上预训练后：
\begin{itemize}
    \item 能生成多样化的图像补全（同一上半部分产生不同下半部分）
    \item 线性探测的特征质量优于同规模的有监督 ResNet
    \item 在 CIFAR-10 上达到 99\% 准确率
\end{itemize}

\subsection{DALL·E：跨模态生成}

DALL·E 在文本-图像拼接序列上训练 Transformer，实现了文本到图像的生成。令人印象深刻的 zero-shot 能力包括：
\begin{itemize}
    \item 风格转换（照片 $\to$ 素描）
    \item 图像着色
    \item 语义变换（给猫加墨镜）
    \item 逆 OCR（渲染指定文本）
\end{itemize}

\subsection{本章小结}

自回归建模具有通用性——相同的架构和训练范式可以直接应用于图像，且在缺少领域归纳偏置的情况下仍能获得有竞争力的表示。

\section{Codex：代码生成模型}

\subsection{动机}

\begin{itemize}
    \item GPT-3 在几乎未训练过代码数据的情况下就展现了初步的代码生成能力
    \item 代码具有独特优势：可以通过单元测试客观评估功能正确性
\end{itemize}

\subsection{HumanEval 数据集}

164 道手写编程题，每题平均 8 个单元测试。手写的原因是避免 GitHub 上已有解答的"数据泄露"。

\subsection{Pass@k 指标}

$$\text{pass@}k = \mathbb{E}\left[1 - \frac{\binom{n-c}{k}}{\binom{n}{k}}\right]$$

其中 $n$ 是生成的样本数，$c$ 是通过单元测试的样本数。这是一个无偏估计量，避免了直接采样 $k$ 个样本带来的高方差。

\begin{warningbox}{BLEU 不适用于代码评估}
对于同一问题的正确和错误解答，BLEU 分数的分布存在大量重叠，无法有效区分功能正确性。因此必须使用基于执行的评估指标。
\end{warningbox}

\subsection{采样的"不合理有效性"}

\begin{importantbox}{核心发现}
从 12B 参数模型中采样 100 次，pass@100 从 pass@1 的不到 30\% 跃升至超过 70\%。这不是简单的重复采样——模型在不同样本中会组合出功能不同的解法。
\end{importantbox}

温度参数影响采样多样性：pass@1 适合低温（高置信度），pass@100 适合高温（高多样性）。

\subsection{Codex-S：监督微调}

在竞赛编程题和含 CI 测试的开源项目上微调，进一步提升性能。能力提升路径：GPT-3 $\to$ Codex $\to$ Codex-S $\to$ + 重排序 $\to$ + Oracle。

\subsection{局限性}

\begin{itemize}
    \item \textbf{变量绑定}：多变量复杂操作时容易混淆
    \item \textbf{组合泛化}：能完成单个简单操作，但难以组合 $n$ 个操作
\end{itemize}

\subsection{本章小结}

Codex 展示了将语言建模应用于代码领域的巨大潜力，而基于执行的评估和大量采样是释放其能力的关键。

\section{总结与延伸}

本讲的四个核心要点：
\begin{enumerate}
    \item 神经语言建模进步迅速，GPT 系列是无监督学习推动的产物
    \item 自回归建模具有通用性，即使在有强归纳偏置的领域（图像、代码）也能取得出色结果
    \item 规模是涌现能力的关键驱动力
    \item 采样是提升模型性能的"不合理有效"的方法
\end{enumerate}

\subsection{拓展阅读}
\begin{itemize}
    \item Brown et al., \textit{Language Models are Few-Shot Learners}, NeurIPS 2020
    \item Chen et al., \textit{Evaluating Large Language Models Trained on Code}, 2021
    \item Ramesh et al., \textit{Zero-Shot Text-to-Image Generation} (DALL·E), 2021
\end{itemize}

\end{document}
