微软GFPO:有效减少思考膨胀问题,system2也可以很自信

《Sample More to Think Less: Group Filtered Policy Optimization for Concise Reasoning》 解决大语言模型在通过强化学习(RL)提升准确率时,普遍存在的“响应长度膨胀”问题。作者指出,许多模型为了追求更高的分数,会生成大量冗长、重复的“填充”性文本,这在推理时造成了不必要的计算浪费。为解决此问题,论文提出了GFPO (Group Filtered Policy Optimization,组过滤策略优化)。其核心思想:在训练阶段“想得更多”,通过采样更大的响应组,并根据响应长度和**token效率(每token奖励)**这两个关键指标进行过滤,只在最优的样本上进行训练,从而教会模型在推理(测试)阶段“想得更少”,生成更简洁的回答。在多个STEM和编程基准测试中,长度膨胀减少了46-85%,同时保持了准确率。此外,自适应难度GFPO (Adaptive Difficulty GFPO),它能根据问题的实时难度动态分配训练资源,实现了效率与准确性的更优平衡。 用一次性的训练时间计算,换取持续的、部署时的推理时间计算节省,这为高效推理模型的开发提供了极具价值的新思路。 Group Filtered Policy Optimization GFPO的核心思想是:与其在所有生成的响应上进行无差别训练,不如引入一个“过滤”步骤,有选择性地学习。其关键流程被拆解为: 1)扩大采样:对每个问题,从当前策略中采样一个比GRPO更大的响应组$\mathcal{G}=\{o_{1},...,o_{G}\}$。 2)度量与排序:根据一个用户指定的度量函数(如响应长度、token效率等),对组内所有$G$个响应进行评分和排序。 3)拒绝采样与筛选:只保留排序后最优的$k$个响应,形成子集$\mathcal{S}$(其中$k < G$)。这个过程通过一个二进制掩码$m \in \{0,1\}^G$来实现,被选中的响应$m_i=1$,被拒绝的$m_i=0$。 4)修正优势计算:这是最关键的一步。优势值的计算只在被选中的子集$\mathcal{S}$内部进行。其公式被定义为:$\hat{A}*{i,t}^{(m)}=\frac{R(q,o*{i})-\mu_{S}}{\sigma_{S}}m_{i}$。其中,$\mu_S$和$\sigma_S$分别是子集$\mathcal{S}$的奖励均值和标准差。对于被拒绝的响应($m_i=0$),它们的优势值被直接置为零,因此它们对策略更新的梯度贡献也为零。模型只从那些“表现出期望属性”(如简洁)的样本中学习如何获得高奖励。 GFPO变体: token效率GFPO (Token Efficiency GFPO):它使用的过滤指标不是纯粹的长度,而是奖励与长度的比率 (reward/length)。这鼓励模型生成“性价比”高的响应,允许在获得足够高奖励的前提下产生较长的回答,从而追求简洁与效果的平衡。 自适应难度GFPO (Adaptive Difficulty GFPO):这是一个更智能的策略。它首先通过样本的平均奖励来实时估计问题的难度,然后动态地调整保留的样本数量$k$。对于简单问题,它采用更激进的过滤(更小的$k$)来强制模型简洁;对于难题,它保留更多的样本(更大的$k$)以鼓励充分探索。 将优势函数中的基线计算范围从整个样本组(G)缩小到经过筛选的子集(S),并将被拒绝样本的优势直接清零。这是一个极其简洁而强大的干预手段。它没有去设计复杂的惩罚项,而是让不符合期望的样本在梯度更新中“沉默”,从而以一种非常高效和直接的方式引导策略的优化方向。 实验分析 模型与基线方面,使用仅经过监督微调(SFT)的Phi-4-reasoning作为基础模型,并与经过标准GRPO训练的Phi-4-reasoning-plus进行对比,确保了比较的公平性。数据集方面,虽然训练集包含7.2万个数学问题,但作者特意限制模型在100个训练步内只看到6400个问题,这与基线的训练量完全一致,从而排除了数据量差异带来的影响。奖励函数的设计是加权的准确率和n-gram重复惩罚,值得注意的是,这个奖励函数本身已经包含了对长度的惩罚,但作者在引言中已论证其不足以抑制GRPO的长度膨胀,这反过来加强了GFPO方法的必要性。 本章最重要的贡献之一是定义了关键评估指标——超额长度缩减率 (Excess Length Reduction, ELR),其公式为:$ELR=\frac{L_{GRPO}-L_{GFPO}}{L_{GRPO}-L_{SFT}}$。这个指标衡量的是GFPO在多大程度上“抵消”了由GRPO训练所引入的额外长度。例如,100%的ELR意味着GFPO将响应长度完全恢复到了SFT基线的水平。这是一个比单纯比较绝对长度更具洞察力的指标,因为它精确地量化了新方法对“问题”(即长度膨胀)的解决程度。在组规模设置上,作者将GFPO的采样组规模G设置为8、16、24,但保留的组规模k始终小于等于8,以确保其接收的策略梯度信号数量与GRPO基线(G=8)相当,这是一个严谨的实验设计,旨在公平地隔离出“过滤”这一操作本身的效果。 结果分析 GFPO能否在保持准确率的同时,有效抑制响应长度的膨胀?其不同变体和参数(如$k$和$G$)的效果如何?作者通过在多个标准数学和代码推理基准(AIME 24/25, GPQA, Omni-MATH, LiveCodeBench)上评估三种GFPO变体(Shortest k/G, Token Efficiency, Adaptive Difficulty),得出了一系列强有力的结论。 首先,实验明确了**“想得更少,需要采得更多”**。仅在与GRPO相同的组规模内进行子采样(如Shortest 6/8),长度缩减效果微乎其微。必须扩大初始采样池(即增大$G$),才能为过滤提供足够多的优质(短)候选。其次,保留率 (k/G) 是控制长度的关键杠杆,降低保留率能有效缩短响应长度。 在所有变体中,token效率 (Token Efficiency) GFPO 表现最为亮眼,它在所有任务上都实现了最大幅度的长度缩减(高达70.9%-84.6%),同时统计上并未显著降低准确率,证明了“每token奖励”是比纯长度更优的简洁性度量。自适应难度 (Adaptive Difficulty) GFPO 则展示了其智能性,在与固定k值方法计算成本相当的情况下,它通过动态分配探索预算(即k值),在多个基准上取得了更优的长度-准确率平衡。 ...

August 14, 2025 · 小茄墩

苹果开源超大规模Embedding交互可视化工具

《apple/embedding-atlas》 《EMBEDDING ATLAS: Low-Friction, Interactive Embedding Visualization》 现有的高维数据可视化工具(Embedding Visualization Tools)在使用上存在很多“摩擦点”,比如数据处理繁琐、扩展性差、无法与其他分析流程顺畅结合等,这大大降低了用户使用这些工具探索数据的意愿和效率。为了解决这些问题,论文提出了一款名为EMBEDDING ATLAS的新工具。该工具旨在提供一种“低摩擦”的交互式体验,让用户能尽可能轻松地探索大规模高维数据。它的关键做法是利用了现代网页技术(如WebAssembly)、高效算法(如基于密度的聚类和自动标签)以及强大的后端支持,从而实现了在浏览器中就能快速、流畅地分析数百万个数据点,并且该工具是开源的,方便社区在此基础上进行二次开发和研究。 3. EMBEDDING ATLAS 特性 首先,通过一个分析约20万条红酒评论的实例,生动地展示了用户(数据分析师ROBIN)如何通过简单的拖拽文件、点击选择,就能自动完成数据嵌入、降维、聚类和可视化,并结合价格、产地等元数据进行交互式探索,最终还能将筛选出的数据子集方便地导出。这体现了其“低摩擦”的设计理念。接着,文章提炼了8大核心特性(F1-F8):F1,实现了对海量数据的快速交互式渲染;F2,提供了嵌入视图、图表、表格等多种视图的协同联动;F3,能自动对数据进行聚类并生成标签;F4,支持通过密度等高线图来快速识别数据分布的疏密;F5,可以实时搜索并查找任何数据点的近邻;F6,提供了可选的在浏览器内直接计算向量和降维的功能,免去了环境配置的麻烦;F7,支持从本地或Hugging Face等多种来源灵活导入标准格式的数据;F8,具备高度的可扩展性,可以在网页、Python Notebook、命令行等多种环境中使用。此外,还介绍了很多“提升使用体验”的设计细节,比如避免颜色混合顺序影响视觉效果的“顺序无关透明度”技术、基于密度快速生成聚类标签的算法、以及自动处理空值和无穷值的智能图表等。在实现层面,其关键是利用了Mosaic框架和DuckDB数据库技术,使得大规模数据的复杂查询和过滤能直接在浏览器中通过WebAssembly高效执行,而无需后端服务器支持;可视化渲染则采用了先进的WebGPU技术,保证了流畅的交互体验。 4. 评估 (EVALUATION) 评估部分从两个方面证明了EMBEDDING ATLAS的先进性。第一部分是“竞争性分析”,作者们将EMBEDDING ATLAS的8个核心特性与其它5个主流工具(WizMap, Nomic Atlas, DataMap Plot, Latent Scope, Embedding Projector)进行了逐一对比。结果(如表格1所示)清晰地表明,虽然大多数工具都能处理大规模数据(F1),但很少有工具能像EMBEDDING ATLAS一样,全面支持与元数据的多视图协同分析(F2)、丰富的自动化数据探索功能(F3-F5)、灵活的部署和扩展性(F6, F8)。这凸显了EMBEDDING ATLAS在功能完整性和易用性上的巨大优势。第二部分是“渲染性能”测试,通过实验展示了该工具在渲染不同数量的数据点时的性能表现(即每秒帧数FPS)。结果令人印象深刻:在处理高达400万个点时,依然能保持60fps的流畅度,即使用户处理超过1000万个点,也能维持在25fps,这远超出了许多传统工具的能力范围。这项测试有力地证明了其技术架构在处理海量数据时的卓越性能和可扩展性。

August 13, 2025 · 小茄墩

Anthropic最新研究:大模型中的人格向量

《Persona vectors: Monitoring and controlling character traits in language models》 大型语言模型常常会表现出类似人类的“个性”,但这些个性非常不稳定,有时会突然变得很奇怪甚至有害,比如微软的聊天机器人“Sydney”突然对用户示爱并进行威胁,或者xAI的Grok自称为“机械希特勒”。这些问题的根源在于我们不清楚模型内部的神经网络是如何形成这些“人格特质”的。为了更精确地控制模型的行为,研究者们提出了一种叫做“人格向量”的新技术。这篇论文的关键启发在于,它提出我们可以在模型的神经网络内部,识别出一些特定的活动模式,这些模式就像人脑在体验不同情绪时被“点亮”的区域一样,直接控制着模型的性格特点。通过监控、抑制这些向量,或者利用它们来筛选训练数据,我们就能更科学、更精确地控制人工智能,确保它们的行为符合我们的预期。 如何提取人格向量 提取人格向量的做法是找到并量化模型在表现特定人格(如“邪恶”)与不表现该人格时,其内部神经网络活动的“差异”。 首先,研究人员为一种人格特质(比如“邪恶”、“谄媚”或“产生幻觉”)下一个清晰的定义。然后,他们建立一个自动化流程,该流程能自动生成大量引导性的问题(prompts),一部分问题旨在激发模型产生“邪恶”的回答,另一部分则引导其产生“不邪恶”的正常回答。当模型回答这两类问题时,研究人员会记录下其内部神经网络的激活状态数据。最关键的一步是,他们通过计算这两组激活状态数据的平均差异,从而得出一个特定的方向向量,这个向量就被定义为控制该人格的“人格向量”。为了验证这个向量真的有效,他们还采用了名为“引导”(steering)的技术,即在模型生成回答时,人为地将这个“邪恶”向量注入到模型的计算过程中,结果发现模型果然开始说一些不道德的话,这证明了他们找到的向量与模型的行为之间存在直接的因果关系。 人格向量的应用 这部分详细阐述了人格向量的三个强大用途,每个用途都提供了一套可操作的解决方案。 1. 在模型部署后监控其人格变化: 这里的关键做法是将人格向量作为一个“监测器”。模型在与用户互动或长期运行中,其性格可能会慢慢改变。通过持续测量特定人格向量(比如“谄媚”向量)的激活强度,我们就能实时了解模型当前的“精神状态”。如果“谄媚”向量的激活值突然升高,就意味着模型可能在说一些奉承话,而不是提供客观直接的答案。论文中的图表演示了这一做法的有效性:研究人员用不同强度的引导性指令(从抑制到鼓励特定人格)来测试模型,发现人格向量的激活强度(图中的x轴)能准确预测模型接下来是否会表现出对应的人格。这个监测是发生在模型生成回答之前的,因此具有预测性,可以提前预警。 2. 在训练中减弱不期望的人格变化: 这一部分最具启发性的做法是提出了一种类似“给模型打疫苗”的创新方法来防止模型在训练中学坏。研究者发现,用一些看似无害但有问题的数据库(比如包含错误答案的数学题集)来训练模型,有时会意外地让模型变得“邪恶”或“谄媚”。传统的做法是等模型训练完了,再通过反向引导来抑制坏的人格,但这样做会损害模型的智能水平。而创新的“预防性引导”(Preventative Steering)则反其道而行之:在训练过程中,主动地、轻微地向模型注入不期望的人格向量(比如注入一点“邪恶”向量)。这样做的逻辑是,通过人为地提供这种人格信号,模型就不再需要通过改变自身网络结构来适应训练数据中的“邪恶”内容,因为它已经“满足”了数据带来的压力,从而避免了将这种坏特质固化下来。实验证明,这种“疫苗”方法既能有效防止模型学坏,又几乎不影响其在通用能力(如MMLU基准测试)上的表现。 3. 标记有问题的训练数据: 这个应用的关键做法是利用人格向量作为“数据审查工具”,在训练开始前就预测出某个数据集可能带来的负面影响。具体来说,他们通过分析训练数据中的每个样本会如何激活特定的人格向量,来计算一个“投射差异”(projection difference)值,这个值可以估算出该样本在多大程度上会增强模型的某种人格。研究人员用一个包含一百万个真实用户对话的大型数据集(LMSYS-Chat-1M)验证了此方法。他们筛选出能高度激活“谄媚”向量的样本、低度激活的样本和随机样本,然后分别用这三组数据去训练模型。结果证明,用“高激活”数据训练出的模型果然最谄媚,反之亦然。更有价值的是,这个方法能识别出一些人类或普通语言模型都难以察觉的“有毒”数据,比如发现某些请求角色扮演的对话会增强模型的谄媚倾向。 结论 像Claude这样的大型语言模型被设计为有益、无害和诚实的,但它们的个性有时会出问题。人格向量这项技术为我们提供了一个强有力的工具,让我们能够理解模型个性的来源,监控它们如何随时间变化,并更有效地进行控制。这不仅仅是一种理论,更是一套可行的技术方案,旨在确保人工智能的发展始终与人类的价值观保持一致,这对构建更安全、更可靠的人工智能系统至关重要。

August 12, 2025 · 小茄墩

强化学习的各种方法还可比吗?

《Part I: Tricks or Traps? A Deep Dive into RL for LLM Reasoning》 它揭示了当前“用强化学习提升大模型推理能力”这个领域充满了各种看似高深但又相互矛盾的技术,让实践者感到困惑。作者没有提出更复杂的新算法,而是返璞归真,在一个统一、开源的框架下对现有流行技术(所谓的“tricks”)进行了系统性的独立评估。他们最大的发现是,一个仅包含两种基本技术的极简组合“Lite PPO”,在提升基础模型(非对齐模型)的推理能力上,其性能竟然稳定超过了那些集成了五六种复杂技术的GRPO和DAPO等主流算法。这启发我们,在应用强化学习时,不应盲目堆砌技术,而应深入理解每个技术的核心作用,并根据具体场景(如模型类型、数据难度)做出明智选择,有时候“少即是多”。 当前研究领域的“混乱现象”及其背后的可能原因。例如,有的研究(GRPO)说“组级归一化”好,有的(REINFORCE++)则认为“批次级归一化”更优;有的算法在归一化时使用方差,有的却建议去掉方差以避免“难度偏见”。这种矛盾让从业者无所适从。作者认为,造成这种现象的根本原因在于各研究的实验设置、训练数据和初始模型千差万别,导致结论缺乏可比性。因此,本章启发我们,在评估或应用一个新技术时,必须高度关注其“实验背景”,并提出了一个关键问题引导后续研究:现有技术各自适用于什么场景?是否存在一个简单普适的组合来稳定地优化模型策略? 实验设计 统一框架: 所有实验都在一个开源的ROLL框架下进行,避免了因不同实现方式带来的差异。 多维度模型: 实验覆盖了不同尺寸(Qwen3-4B, 8B)和不同类型(Base基础模型 vs. Aligned对齐模型)的模型。这使得结论更具普适性,能够揭示技术对不同模型的敏感度。 分级数据: 使用了开源数据集,并创新性地将其划分为“简单”、“中等”、“困难”三个等级。这使得分析技术在不同难度任务下的表现成为可能,增加了研究的深度。 通过初步的基线实验,他们还发现了一个有趣的现象:对齐模型虽然起点高,但通过强化学习提升有限;而基础模型潜力巨大,更适合作为评估RL技术效果的“试金石”。 分析 4.1 归一化 (Normalization): 归一化的核心作用是稳定梯度,但如何归一化大有讲究。 启发1 (组级 vs. 批次级): “组级归一化”通常更稳定,因为它只在同一问题的多个答案间比较,不易受全局数据分布影响。而“批次级归一化”在奖励分布倾斜时容易崩溃,但若奖励范围拉大(如从{0, 1}变为{-1, 1}),它又能恢复效果。这表明归一化方法对奖励机制非常敏感。 启发2 (标准差的作用): 在简单任务中,模型输出的答案奖励可能高度一致(全对或全错),导致奖励的“标准差(std)”趋近于零。此时若用标准差去做分母进行归一化,会导致优势值被无限放大,引发梯度爆炸。因此,在这种场景下,去掉标准差项,仅用均值做中心化,反而能让训练更稳定。 启发3 (鲁棒的组合方式): 作者最终发现了一个更稳健的组合:使用“组级”的均值来计算奖励的相对好坏,同时使用“批次级”的标准差来进行缩放。这种“局部均值、全局标准差”的混合模式,既利用了组内比较的精确性,又通过全局标准差避免了因局部标准差过小而引发的不稳定问题。 4.2 更高上限的裁剪 (Clip-Higher): 这是对PPO中裁剪机制的改进。 启发4 (适用场景): 提高裁剪上限(如从0.2到0.28)主要对对齐模型(instruct model)有效。因为对齐模型本身推理能力较强,放宽更新限制能鼓励它探索更多样的解题路径,缓解“熵坍塌”(模型思维固化)。而基础模型由于探索能力本就较弱,放宽限制也难有作为,甚至会起反作用。 启发5 (语言学视角): 标准的裁剪会过度压制“therefore”、“if”等逻辑连接词的生成概率,因为这些词往往是开启新推理路径的关键,其概率变化较大。而提高裁剪上限则给予了模型更多使用这些连接词的自由,让推理结构更多样化。这揭示了超参数背后对模型生成内容风格的深远影响。 启发6 (参数的“缩放定律”): 对于小模型(4B),裁剪上限越高,性能似乎越好,呈现出一种“缩放”关系。但对于大模型(8B),这种关系消失了,存在一个最佳值(如0.28)。这提醒我们超参数的设置并非能简单地随模型尺寸线性缩放。 4.3 损失聚合 (Loss Aggregation): 启发7 (Token级 vs. 序列级): 这两种聚合方式的选择也依赖于模型类型。Token级损失(每个token贡献等同)更适合基础模型,因为它能确保模型从每个token中学到东西,这对于从零开始学习推理至关重要。而序列级损失(每个完整答案贡献等同)更适合对齐模型,因为它能更好地保持高质量答案的整体逻辑连贯性,避免因个别token的优化而破坏整体结构。 4.4 超长过滤 (Overlong Filtering): ...

August 12, 2025 · 小茄墩

深度解析 Attention Sinks 究竟为啥有效?

《How Attention Sinks Keep Language Models Stable》 语言模型在处理长对话时之所以会“崩溃”,是因为当为了节省内存而移除最开始的几个token时,模型会失去稳定性。研究者发现,模型会将大量的注意力“倾倒”在最初的几个token上,把它们当作“注意力池”,用来存放那些无处安放的注意力(因为Softmax函数强制要求所有注意力权重加起来等于1)。基于此,作者提出了StreamingLLM方案,即永久保留最初的4个token,其余部分则正常使用滑动窗口,从而让模型能稳定处理超过400万个token的超长文本。这一机制已被OpenAI、HuggingFace和英伟达等公司采纳。OpenAI在其最新的开源模型中,通过为每个注意力头增加一个可学习的标量$b$来实现类似功能,其公式为:$a_i' = softmax(q_i^T K + b)$。这个简单的改动,让模型在必要时可以选择“不关注任何token”,其设计思想正是源于这项研究。 流式处理的挑战与意外发现 者在2023年暑期实习时面临一个根本性问题:如何让大模型处理超出其预训练长度的对话?直接的方案是使用“滑动窗口”,即只保留最近一部分token的键值缓存(KV Cache),丢掉最旧的。这种方法虽然高效,但实验结果却出乎意料地失败了。一旦最开始的几个token(哪怕只是一个起始符或“the”之类的普通词)被从缓存中移除,模型的困惑度(Perplexity)就会急剧飙升,输出的文本瞬间变得语无伦次。这个现象令人费解,因为这些初始token在语义上似乎并不重要,但移除它们却导致了灾难性的后果,这激发了作者深入探究其背后原因的好奇心。 “注意力池”的发现与数学原理 为了解开谜团,作者对Llama-2等模型的注意力分布进行了可视化分析,结果发现了一个惊人的固定模式:在模型的多数层中,无论当前模型在预测哪个词,总有大量的注意力会“回头看”,集中在序列最开始的几个token上。这种行为让作者联想到了图论中的“汇点”(Sink Node),即一个只进不出的节点。这些初始token就像汇点一样,吸收了来自序列中其他位置的注意力,因此作者将其命名为“注意力池”(Attention Sinks)。其背后的数学原理源于Transformer架构的核心——Softmax函数:$softmax(z)_i = \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}}$。这个函数有一个硬性约束:$\sum_{i=1}^{n} w_i = 1.0$,即所有注意力权重之和必须等于1。这意味着注意力机制不能“弃权”,必须把注意力分配到某个地方。当一个注意力头找不到特别相关的上下文时,它就会把这份“预算”投向那些因在训练中频繁出现而具有轻微偏见的初始位置,这些位置逐渐演变成专门存放闲置注意力的“泄压阀”。 问题的症结与简单的解决方案 这个发现让之前滑动窗口失败的原因豁然开朗。当移除初始token时,我们不只是丢掉了旧的上下文,而是破坏了Softmax函数分母中的一个重要部分,从而摧毁了模型维持注意力稳定的基础机制。解决方案因此变得异常简单:既然模型如此依赖这些注意力池,那我们就永远不要丢掉它们。作者提出的StreamingLLM方法,就是对传统KV缓存管理做了一个微小但关键的修改:永久保留最开始的4个“池”token,同时对其余内容使用滑动窗口。这个简单的改动带来了惊人的效果,像Llama这样原本处理几千个token就崩溃的模型,现在可以在超过400万个token的长度上保持稳定的低困惑度,实现了近乎无限长度的文本生成。 注意力池数量的探究与预训练实验 为什么恰好需要保留4个注意力池?为了回答这个问题,作者进行了一项预训练实验。他们从头训练了两个模型,一个采用标准方式,另一个则在每个训练样本的开头都加入了一个专门的[SINK](池)token。结果揭示了一个深刻的现象:标准模型在流式处理时需要保留大约4个初始token才能稳定,因为它是在“挪用”普通内容token作为隐式的注意力池;而被投喂了专用[SINK]token的模型,在流式处理时只需要保留这1个专用的池token就足够了,而且其训练收敛效果甚至更好。这个实验证明,模型天生就需要注意力池这个功能,并且可以通过预训练让它更高效地学会使用一个专门设计的“池”,而不是临时征用多个内容token。 两种实现路径:StreamingLLM与OpenAI的设计对比 OpenAI的实现代表了解决同一问题的不同思路。作者的StreamingLLM方法是在序列开头设置一个专门的、可学习的池token $k_0$,其注意力计算方式为:$Attention(q_i, K) = softmax(q_i^T K_c, q_i^T k_0)$,其中$K_c$是内容token。而OpenAI则采用了一个更简洁的通用标量方法:$a_i' = softmax(q_i^T K + b)$`。两者的核心区别在于:StreamingLLM的设计允许不同token与“池”建立不同的关系(更具表达性),而OpenAI的设计则将“池”视为一个对所有token都一样的通用“逃生通道”(更简洁)。这体现了两种不同的设计哲学:一个是将“池”视为一个可学习的组件,另一个则是将其作为一种架构上的必需品。 注意力池的科学解释与实际应用 有研究表明,注意力池可以充当“泄压阀”,防止深度模型在处理长序列时出现“信息过度混合”(over-mixing)的病态现象,即不同token的表征变得模糊不清。注意力池通过吸引注意力,限制了信息和噪声的过度传播,从而使模型更稳健。这一效应在LLaMA 3.1 405B这样的大模型中尤为明显,其80%的注意力头都表现出注意力池现象。另一项研究则指出,如果用不要求权重和为1的其他注意力操作替换Softmax,注意力池现象就会消失,这从根本上证实了其与Softmax归一化约束的直接关系。这些理论洞见也催生了实际应用,例如CushionCache技术利用精心设计的注意力池前缀来平滑激活峰值,从而改善模型的量化效果。这也让人推测,OpenAI模型内置的注意力池机制,可能是其能够实现激进的4-bit量化的关键技术之一。 从研究到现实:一个思想的快速演进 这个始于实习期工程难题的研究,最终演变成了对Transformer架构的深刻洞见。从2023年10月英特尔集成StreamingLLM,到12月HuggingFace和苹果手机上的演示,再到2024年1月英伟达TensorRT-LLM的采纳,最后到2025年8月OpenAI开源内置注意力池的模型,这项技术在不到两年的时间里迅速从学术论文走向了全行业的主流应用。这个故事告诉我们,有时重大的科学发现并非源于宏大的理论突破,而是来自于对那些被他人忽视的、微小而奇特现象的刨根问底。通过质疑几个看似无意义的token为何如此重要,作者团队揭示了一个隐藏在所有Transformer模型中、至关重要的底层机制。

August 12, 2025 · 小茄墩

Qwen团队:GSPO算法

《Group Sequence Policy Optimization》 稳定、高效地训练大语言模型。与以往算法在单个token层面计算重要性比例不同,GSPO 在整个序列的似然度(sequence likelihood)基础上定义重要性比例,并在序列级别上进行裁剪、奖励分配和优化。研究表明,GSPO相比于GRPO算法,在训练效率和模型性能上都表现更优,并且显著稳定了混合专家(MoE)模型的强化学习训练过程,还有简化强化学习基础设施的潜力。这些优点最终促成了最新的Qwen3模型的显著性能提升。 预备知识 理解GSPO所需要的基础知识。用 $\pi_{\theta}$ 表示自回归语言模型策略,x代表问题(query),y代表回答(response)。然后回顾了两种关键的现有算法。一是“近端策略优化”(Proximal Policy Optimization, PPO),它通过裁剪机制将策略更新限制在旧策略附近,其目标函数为 PPO的主要挑战是严重依赖一个与策略模型大小相当的价值模型(value model),这带来了巨大的计算和内存开销,而且价值模型的可靠性难以保证 。二是“群体相对策略优化”(Group Relative Policy Optimization, GRPO),它通过计算同一问题下多个回答之间的相对优势,从而绕开了对价值模型的需求。GRPO的目标函数为 其中优势函数 $\hat{A}_{i,t}$ 是通过将单个回答的奖励与一组回答的平均奖励进行比较得出的。 动机 在进行大规模RL训练时,为了充分利用硬件,通常需要很大的批次大小(batch size),并通过多轮小批次(mini-batch)更新来提高样本效率,这就引入了off-policy学习的场景,即用于优化的数据来自于旧策略 $\pi_{\theta_{old}}$ 而非当前策略 $\pi_{\theta}$ 。尽管PPO和GRPO中的裁剪机制是为了应对这种偏离,但作者指出GRPO的目标函数存在一个更根本的设计缺陷。这个缺陷源于对重要性采样权重的不当使用 。重要性采样的原理 $E_{z\sim\pi_{tar}}[f(z)]=E_{z\sim\pi_{beh}}[\frac{\pi_{tar}(z)}{\pi_{beh}(z)}f(z)]$ 要求通过对多个样本的加权平均来修正分布差异。然而,GRPO在每个token(token)级别上应用权重$\frac{\pi_\theta\left(y_{i, t} \mid x, y_{i,

July 25, 2025 · 小茄墩

Gemini 2.5 Pro 制胜 IMO 的提示词全解析

《Gemini 2.5 Pro Capable of Winning Gold at IMO 2025》 整个流程被分解为以下6步: 步骤 1:生成初始解决方案; 步骤 2:自我改进; 步骤 3:验证解决方案并生成错误报告; 步骤 4:审查错误报告; 步骤 5:根据错误报告修正或改进解决方案; 步骤 6:接受或拒绝。 作者发现模型存在“思考预算”(即token限制),一次性生成完整复杂的证明非常困难。因此,他们让模型先生成初步解答,再让它自己“审阅和改进”,这相当于给了模型第二次机会和额外的思考预算来深化推理,这是一个非常实用的技巧。 其次,验证者的设计至关重要。它被指令扮演一个极其严格的IMO阅卷人,其任务不是修正错误,而是找出所有问题。最巧妙的做法是将问题分为两类:“关键错误”(Critical Error)和“论证缺陷”(Justification Gap)。如果发现关键错误,该证明路径就被中止;如果只是论证不够严谨,验证者会**“假设此步骤结论为真”**,然后继续检查后续逻辑。这种做法能够最大化地利用部分正确的证明,避免因小瑕疵而全盘放弃。同时,流程中还包括了审查(步骤4),以纠正验证者自身可能犯的错误,最终一个解法需要连续通过5次验证才被接受,确保了结果的高度可靠性。 实验设置 在参数上,他们选择低“温度” (temperature=0.1),以减少模型输出的随机性,确保逻辑的稳定性;同时用满了模型的“思考预算” (32768 tokens),给予模型最充分的思考空间。 初始解题提示词(Step 1 Prompt):核心指令是**“严谨性至上”(Rigor is Paramount)**,明确告诉模型“逻辑错误的正确答案等于失败”。它还引导模型,如果无法得出完整解,就必须诚实地只提交自己能严格证明的“部分成果”,并给出了“部分成果”的定义(如证明一个关键引理)。这种设计极大地抑制了模型的幻觉和猜测行为。 Step 1 Prompt 核心指令 严谨至上:您的首要目标是产出完整且经过严谨论证的解法。解法中的每一步都必须逻辑严密、解释清晰。任何基于有缺陷或不完整推理得出的正确最终答案,均视为失败。 对完整性保持诚实:如果您无法找到完整的解法,绝不能猜测或编造看似正确但包含隐藏缺陷或论证空白的解法。您只应呈现能严格证明的重要部分结果。若一个部分结果代表了向完整解法迈出的实质性进展,则该结果被认为是重要的。例如: 证明一个关键引理。 在一个逻辑严密的分类讨论证明中,完全解决一个或多个案例。 确立问题中数学对象的某一关键属性。 对于优化问题,证明一个上界或下界,而无需证明该界限是可达的。 为所有数学内容使用 TeX: 所有数学变量、表达式和关系式都必须用 TeX 分隔符包围(例如:‘ Let $n$ be an integer .)。 输出格式 您的回复必须严格按照以下确切顺序,结构化为下列部分。 摘要 提供您研究结果的简明概述。此部分必须包含两个部分: a. 定论:清楚说明您是找到了完整的解法,还是部分解法。 对于完整的解法:陈述最终答案,例如:“我已成功解决该问题。最终答案是……” 对于部分解法:陈述您能够严格证明的主要结论,例如:“我未能找到完整的解法,但我已严格证明……” b. 方法简述: 呈现您解法的高层次概念性大纲。该简述应能让专家在不阅读完整细节的情况下理解您论证的逻辑流程。它应包括: ...

July 23, 2025 · 小茄墩

当今旗舰开源大语言模型架构大比拼

大语言模型架构大比拼 图 1:本文所涵盖的部分架构。 自最初的 GPT 架构开发以来,已经过去了七年。乍一看,回顾 GPT-2(2019 年)并展望 DeepSeek-V3 和 Llama 4(2024-2025 年),人们可能会惊讶于这些模型在结构上仍然如此相似。当然,位置嵌入已从绝对位置嵌入演变为旋转位置嵌入(RoPE),多头注意力(Multi-Head Attention)已在很大程度上让位于分组查询注意力(Grouped-Query Attention),而更高效的 SwiGLU 也取代了像 GELU 这样的激活函数。但在这些微小的改进之下,我们是否真正看到了突破性的变化,还是我们仅仅在打磨相同的架构基础? 比较大语言模型以确定促成其良好(或不那么好)性能的关键因素是出了名的困难:数据集、训练技术和超参数差异巨大,且通常没有详细记录。然而,我认为,审视架构本身的结构性变化,看看大语言模型开发者在 2025 年都在做些什么,仍然具有很大的价值。(图 1 中展示了其中的一部分。) 所以,在本文中,我不会着重介绍基准性能或训练算法,而是将焦点放在定义当今旗舰开源模型的架构发展上。 1. DeepSeek V3/R1 1.1 Multi-Head Latent Attention (MLA) 所以,GQA 的核心思想是通过在多个查询头之间共享键头和值头,从而减少其数量。这样做有两点好处:(1) 降低了模型的参数量;(2) 减少了推理过程中键张量和值张量的内存带宽占用,因为需要从 KV 缓存中存储和检索的键和值变少了。 虽然 GQA 主要是一种旨在提升 MHA 计算效率的变通方案,但消融研究(例如原始 GQA 论文和 Llama 2 论文中的研究)表明,在 大语言模型建模性能方面,其表现与标准 MHA 不相上下。现在,多头潜在注意力 (Multi-Head Latent Attention, MLA) 提供了另一种不同的内存节省策略,该策略与 KV 缓存的结合效果也特别好。与 GQA 共享键头和值头的方式不同,MLA 在将键张量和值张量存入 KV 缓存之前,会先将它们压缩到一个更低维度的空间。 在推理期间,这些被压缩的张量在使用前会被投影回原始尺寸,如下图 3 所示。这个过程增加了一次额外的矩阵乘法,但减少了内存占用。 ...

July 19, 2025 · 小茄墩

Gemini 2.5 报告

《Gemini 2.5: Pushing the Frontier with Advanced Reasoning, Multimodality, Long Context, and Next Generation Agentic Capabilities》 本报告介绍了Gemini 2.X模型家族,包括Gemini 2.5 Pro和Gemini 2.5 Flash,以及早期版本Gemini 2.0 Flash和Flash-Lite。这一代模型原生支持多模态,具备先进的思维推理、长上下文处理和工具使用能力,能够处理超过100万个token的文本、音频、图像、视频甚至整个代码库。Gemini 2.5 Pro是目前最强大的模型,在编码和推理基准测试中达到了SOTA(State-of-the-Art)性能,并擅长多模态理解,能够处理长达3小时的视频内容。Gemini 2.5 Flash则在计算和延迟要求较低的情况下提供出色的推理能力。Gemini 2.0 Flash和Flash-Lite则在高性价比和低延迟方面表现优异。这些模型共同覆盖了模型能力与成本的帕累托前沿,使用户能够探索复杂Agent问题解决的边界。 模型架构 Gemini 2.5模型采用了稀疏混合专家(MoE)Transformer架构,原生支持文本、视觉和音频输入。MoE模型通过动态路由token到参数子集(专家)来激活部分模型参数,从而在计算和token服务成本上解耦了总模型容量。架构的改进显著提升了Gemini 2.5的性能。Gemini 2.5系列在提升大规模训练稳定性、信号传播和优化动态方面取得了重大进展,从而在预训练阶段就显著提升了性能。Gemini 2.5模型在处理长上下文查询方面也取得了进展,Gemini 2.5 Pro在处理长达1M token的输入序列上超越了Gemini 1.5 Pro。此外,Gemini 2.5在视觉处理方面的架构改进显著提升了图像和视频理解能力,包括能够处理3小时长的视频,并将演示视频转化为交互式编码应用。小型模型(Flash及以下)利用了蒸馏技术,通过近似k稀疏分布来降低教师模型下一代token预测分布的存储成本,从而在质量和降低服务成本之间取得了平衡。 数据集 Gemini 2.0和2.5的预训练数据集是一个大规模、多样化的数据集合,涵盖了广泛的领域和模态,包括公开可用的网络文档、代码(各种编程语言)、图像、音频(包括语音和其他音频类型)和视频。Gemini 2.0的数据截止日期是2024年6月,Gemini 2.5是2025年1月。相较于Gemini 1.5的预训练数据集,2.0和2.5采用了新的方法来改进数据过滤和去重,以提高数据质量。后训练数据集与Gemini 1.5类似,包含经过精心收集和审查的指令调优数据,以及多模态数据、配对的指令和响应,此外还有人类偏好和工具使用数据。 训练基础设施 Gemini 2.X模型家族是首个在TPUv5p架构上训练的模型,采用了跨多个数据中心的Google TPUv5p加速器上的同步数据并行训练。与Gemini 1.5相比,主要的软件预训练基础设施改进在于弹性和SDC(静默数据损坏)错误缓解。Slice-Granularity Elasticity(切片粒度弹性)允许系统在局部故障时自动以较少数量的TPU芯片“切片”继续训练,每次中断只损失几十秒的训练时间,而无需等待机器重新调度。Split-Phase SDC Detection(分阶段SDC检测)利用轻量级确定性重放立即重复任何可疑指标的步骤,并通过比较每个设备的中间校验和来定位数据损坏的根本原因,从而在几分钟内识别并排除有间歇性SDC的加速器,显著减少了调试停机时间和训练步骤回滚。这些技术的实现得益于Pathways系统单一控制器的设计,该设计允许所有加速器通过一个具有全局系统视图的Python程序进行协调。 后训练 Gemini 1.5发布以来,后训练方法取得了显著进展,主要集中在监督微调(SFT)、奖励建模(RM)和强化学习(RL)阶段的数据质量。关键做法是利用模型本身辅助这些过程,实现更高效和精细的质量控制。此外,报告增加了RL的训练计算资源,实现了模型行为的更深层次探索和完善。这与对可验证奖励和基于模型的生成奖励的关注相结合,提供了更复杂和可扩展的反馈信号。RL流程的算法变化也提高了长时间训练的稳定性。这些进展使Gemini 2.5能够从更多样化和复杂的RL环境中学习,包括那些需要多步动作和工具使用的环境,从而实现了全面性能提升,Gemini 2.5 Flash和Pro在LMArena ELO分数上比Gemini 1.5对应模型提高了120多分,并在其他前沿基准测试中取得了显著进步。 思维 (Thinking) 过去的Gemini模型在用户查询后立即生成答案,这限制了模型在推理问题上花费的推理时间(思维)。Gemini Thinking模型通过强化学习进行训练,在推理时利用额外的计算资源以获得更准确的答案。最终模型能够在回答问题或查询之前进行数万次前向传递的“思考”阶段。训练方案从最初的实验性思考模型Gemini 2.0 Flash Thinking(2024年12月发布)演变为Gemini 2.5 Thinking系列,后者在所有领域原生集成了思考能力,实现了全面的更强推理性能,并能随着推理时间的增加进一步提升性能。Gemini 2.5 Thinking模型将思维能力与原生多模态输入(图像、文本、视频、音频)和长上下文(1M+ token)等其他Gemini能力相结合。模型可以自行决定思考时长,用户也可以设置思考预算来平衡性能和成本。 ...

June 18, 2025 · 小茄墩

斯坦福CS336:大模型从0到1|25年最新最好的大模型入门课

官方网站:https://cs336.stanford.edu/ 去年该课程没有放出视频,今年官方放出了视频。课程内容均结合今年的大模型发展做了更新。 在这个许多人通过高级API与大语言模型交互的时代,本课程旨在让研究者和开发者重新连接到底层技术。我们坚信,要真正理解语言模型,你必须亲手构建它。 每次课程内容: 1. 4月1日 周二 概述与分词 本节课深入探讨第一个技术组成部分 :Tokenization。 中英字幕版本:斯坦福CS336第一课:Tokenization详解 - 小红书 2. 4月3日 周四 PyTorch与资源核算 这堂课主要讲解了如何从头开始构建语言模型,特别是关注 PyTorch 中的基本构件以及效率(内存和计算资源的使用) 课程目标与重点: 核心是实际构建模型,理解 PyTorch 的基本元素(张量、模型、优化器、训练循环)。 高度关注效率,包括内存占用和计算资源(FLOPs)的估算与优化。 侧重于 PyTorch 的机制 (mechanics) 和资源核算的心态 (mindset)。 中英字幕版本:斯坦福CS336第二课:pytorch手把手搭建LLM - 小红书 3. 4月8日 周二 架构与超参数 关于 LLM 架构和训练,那些你想知道的一切 1)Transformer 架构回顾与演进趋势 2)核心架构变体:归一化、激活函数与层结构 3)位置编码的收敛:RoPE 的主导 4)超参数选择的经验法则与共识 5)训练稳定性技巧:应对 Softmax 的挑战 6)注意力头部的变体:推理优化与长上下文处理 中英字幕版本:斯坦福CS336第三课:详解LLM基础架构 - 小红书 4. 4月10日 周四 混合专家模型 混合专家模型(Mixture of Experts, MoE)  去年,这只是一个有趣的额外讲座。但今年,由于很多人都在研究MoE,这节课变得更加重要。所以老师加入了很多最近的进展。最后,尝试剖析DeepSeek V3,理解构成这样一个最先进的开源系统(至少在架构方面)的各种组件。 MoE架构与非MoE架构在大部分组件上是相似的,主要区别在于如何处理前馈神经网络(FFN)层。在一个标准的Transformer模型中,FFN通常是一个单独的、密集的模块。而在MoE模型中,这个单独的FFN会被替换为多个(可能是复制或分割而来)较小的FFN副本,这些副本被称为“专家”。同时,会引入一个“路由器”(router)或“选择器”(selector)层。在每次前向传播或推理过程中,路由器会根据输入选择激活一小部分(例如,一个或几个)专家进行计算。这样做最大的好处是,如果每个专家的大小与原始密集模型的FFN相同,并且每次只激活一个专家,那么模型的总参数量可以显著增加,而计算量(flops)却保持不变。这对于那些相信更多参数能帮助模型记忆更多世界知识的观点来说,是一个极具吸引力的架构。 大量研究表明,在相同的训练计算量(training flops)下,混合专家模型能取得比密集模型更优的性能。 尽管MoE在flops效率上表现出色,但其并非没有代价。一个主要的挑战在于系统实现的复杂性。有效地路由数据到成百上千个专家,并保证计算效率,需要复杂的基础设施支持。 ...

May 15, 2025 · 小茄墩