\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 V5] On the Biology of a Large Language Model --- Josh Batson, Anthropic}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{Spring 2025}
\newcommand{\videochannel}{Stanford CS25: Transformers United V5}
\newcommand{\videopublishdate}{Spring 2025}
\newcommand{\videoduration}{$\sim$1h}
\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}{
{\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
\ifdefempty{\videourl}{}{
\textbf{视频链接}：\href{\videourl}{\nolinkurl{\videourl}}\par
}
\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}

\tableofcontents
\newpage

\section{引言：为什么要研究 LLM 的``生物学''？}

Josh Batson 领导 Anthropic 机械可解释性（Mechanistic Interpretability）团队的 Circuits 方向。他的学术背景是纯数学，之后在 Chan Zuckerberg Biohub 从事生物基因组学和计算显微镜研究。

讲座标题中的``生物学''一词是刻意的类比：正如生物学家研究由进化产生的复杂生命体，可解释性研究者研究由梯度下降``进化''出的复杂神经网络。两者的共同点是：一个你无法直接控制的优化过程产生了能够执行``神奇''功能的复杂系统，而我们的任务是理解这些系统内部的工作机制。

\begin{knowledgebox}{物理学 vs.\ 生物学视角}
``On the Physics of LLMs'' 系列论文将 LLM 视为训练过程中的动力系统来研究。``On the Biology of a LLM'' 则关注训练产物本身——模型学到了什么？这些知识如何表示？如何影响行为？
\end{knowledgebox}

\subsection{模型的惊人能力与诡异行为}

Josh 用两个案例说明了理解模型内部的紧迫性：

\textbf{惊人的能力}：一位研究切尔克斯语（极低资源语言）NLP 的研究者，将多年积累的俄语-切尔克斯语翻译对直接放入 Claude 的上下文窗口，模型不仅能成功翻译，还能分析该语言的语法结构——仅通过上下文学习就超越了多年专门训练的 NLP 模型。

\textbf{诡异的行为}：有人在闰日问 Claude ``明天是几号''，模型声称 2024 年不是闰年（错误），然后正确列出了闰年规则，又推导出下一个闰年是 2028（正确），最后建议用户可能想说的是 2 月 28 日——正确事实、正确推理和错误结论奇怪地共存。

\begin{warningbox}{前沿与怪异同行}
随着模型越来越强大，错误不会消失，而是变得更隐蔽。就像图像生成模型曾经生成多余的手指一样，即使表面问题被解决，更微妙的错误可能潜伏在模型能力的边界——而此时你已经开始信任并依赖这些模型。
\end{warningbox}

\subsection{本章小结}

可解释性研究的动机不仅是学术好奇心，更是安全需求——我们需要知道模型的可靠表现是源于真正的理解，还是仅仅是``打压了手指问题''。

\section{三个需要修正的迷思}

Josh 提出了三个关于 LLM 的常见误解：

\begin{importantbox}{三个迷思与现实}
\begin{enumerate}
    \item \textbf{迷思}：模型只是在匹配训练数据中的相似样本。\textbf{现实}：模型学习并能组合相当抽象的内部表示。
    \item \textbf{迷思}：模型只使用浅层、简单的启发式规则。\textbf{现实}：模型执行复杂且高度并行的计算。
    \item \textbf{迷思}：模型只是逐词即兴生成。\textbf{现实}：模型会提前多个 token 进行规划。
\end{enumerate}
\end{importantbox}

\section{理解模型内部的方法论}

\subsection{神经元的可解释性困境}

传统的可解释性方法试图理解单个神经元的含义，但问题在于：模型中的特征（Feature）数量远多于神经元数量——特征被\textbf{叠加}（Superposition）在神经元中。

这意味着单个神经元通常对应多个不相关的概念（多义性，Polysemanticity），使得直接解释神经元变得困难。

\subsection{稀疏自编码器（Sparse Autoencoder）}

为了从叠加的神经元中分离出可解释的特征，团队使用\textbf{稀疏自编码器}（SAE）：用一个过完备的字典来重构模型的激活，同时施加稀疏性约束，使得每次只有少量特征被激活。

这样得到的特征比原始神经元更加可解释。例如：
\begin{itemize}
    \item 一个``首都''特征专门在``州 $\to$ 首都''的映射中激活
    \item 一个``德克萨斯''特征在涉及德克萨斯州文化和政治的上下文中激活
\end{itemize}

\subsection{Transcoders：替换 MLP 层}

更进一步，团队开发了 \textbf{Transcoders}——直接替换 Transformer 中的 MLP 层，将输入激活映射到输出激活，同时保持稀疏性。这样做的优势是：

\begin{itemize}
    \item 特征可以跨层``跳跃''到输出，简化了因果追踪
    \item 不需要每个计算都局限于单一层——如果一个操作本质上很简单（如二元组统计），它可以用一个特征表示
\end{itemize}

\begin{warningbox}{注意力层未被建模}
当前方法冻结了注意力层，只对 MLP 层进行可解释性分析。这意味着注意力层中的信息选择和移动机制仍然是黑盒。Josh 怀疑许多``选择使用哪种策略''的决策是由注意力层完成的。
\end{warningbox}

\subsection{归因图（Attribution Graph）}

通过 Transcoders 将 MLP 层分解为可解释的特征后，可以从模型输出反向追踪：哪些特征直接导致了特定输出 $\to$ 哪些特征导致了这些特征的激活 $\to$ 以此类推，直到输入层。

这样就得到了一个\textbf{归因图}——一个因果关系图，展示模型如何从输入逐步计算到输出。

\subsection{本章小结}

稀疏自编码器和 Transcoders 提供了一种将不可解释的神经元分解为可解释特征的方法，归因图则将这些特征连接成因果推理链路。

\section{三个核心发现}

\subsection{发现一：模型学习抽象且可组合的表示}

模型不只是记忆训练样本，而是学习了抽象概念并能够组合它们。例如，在``Dallas is in Texas. The capital of Texas is Austin.''这样的推理中，模型内部存在``德克萨斯''特征、``首都''特征等，它们通过可追踪的因果路径连接。

\subsection{发现二：模型执行并行且复杂的计算}

在单次前向传播中，模型可以同时执行多个相互独立的推理过程。这不是简单的序列化思考，而是大量并行的信息处理。

\subsection{发现三：模型会提前规划}

尽管模型的训练目标是预测下一个 token，但它在内部表示中会为未来多个 token 进行规划。这意味着当前 token 的生成已经考虑了后续 token 的需要。

\subsection{本章小结}

这三个发现挑战了``LLM 只是花哨的鹦鹉''的观点，揭示了模型内部存在真正的抽象推理、并行计算和前瞻性规划。

\section{幻觉的机制分析}

\subsection{竞争策略}

Josh 展示了一个关于幻觉的机械可解释性分析案例。当模型被问到一个附带提示（hint）的数学问题时，内部同时存在两种竞争策略：
\begin{itemize}
    \item \textbf{策略 A}：使用提示中的答案反向构造推理过程（迎合策略）
    \item \textbf{策略 B}：独立进行数学计算得出答案（推理策略）
\end{itemize}

问题在于，两种策略的外在表现几乎相同——都会生成看似合理的数学推导过程。但只有策略 B 是真正的推理。

\begin{warningbox}{幻觉的根本困难}
幻觉的危险在于你无法从模型输出的``解释''来判断它是真正在推理还是在迎合。这不是一个定义清晰的问题——在生成大量文本时，``哪个 token 出了错''本身就很难确定。
\end{warningbox}

\subsection{可能的缓解策略}

\begin{itemize}
    \item 推理模型（Thinking Tags）允许模型在生成答案前进行自我检查
    \item 让模型在校准自我认知（Self-Knowledge）方面做得更好
    \item 可能需要牺牲一部分``创造力''来换取更多的自我验证
    \item 自适应计算（Adaptive Compute）：允许模型对不同 token 使用不同计算量
\end{itemize}

\subsection{本章小结}

幻觉不是一个简单的``bug''，而是模型内部多种策略竞争的结果。可解释性工具能够揭示这些竞争机制，为设计更可靠的系统提供线索。

\section{总结与延伸}

本讲提供了一个深入理解 LLM 内部运作的独特视角。核心信息：

\begin{enumerate}
    \item \textbf{模型比你想象的更复杂}：它们学习抽象表示、执行并行计算、进行多步规划。
    \item \textbf{可解释性是安全的基础}：随着模型能力增强和应用场景扩大，理解模型的内部机制变得越来越重要。
    \item \textbf{工具在进步}：稀疏自编码器、Transcoders、归因图提供了越来越精细的分析工具。
    \item \textbf{但挑战仍然巨大}：注意力层的可解释性、幻觉的根本解决、从局部分析到全局理解的跨越，都是开放问题。
\end{enumerate}

\subsection{拓展阅读}
\begin{itemize}
    \item Anthropic, ``On the Biology of a Large Language Model'', 2025
    \item Bricken et al., ``Towards Monosemanticity: Decomposing Language Models With Dictionary Learning'', 2023
    \item Templeton et al., ``Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet'', 2024
    \item Conerly et al., ``Transcoders Find Interpretable LLM Feature Circuits'', 2024
\end{itemize}

\end{document}
