我自己的原文哦~ https://blog.51cto.com/whaosoft/11564858
#ProCo
无限contrastive pairs的长尾对比学习 , 个人主页:https://andy-du20.github.io
本文介绍清华大学的一篇关于长尾视觉识别的论文: Probabilistic Contrastive Learning for Long-Tailed Visual Recognition. 该工作已被 TPAMI 2024 录用,代码已开源。
该研究主要关注对比学习在长尾视觉识别任务中的应用,提出了一种新的长尾对比学习方法 ProCo,通过对 contrastive loss 的改进实现了无限数量 contrastive pairs 的对比学习,有效解决了监督对比学习 (supervised contrastive learning)[1] 对 batch (memory bank) size 大小的固有依赖问题。除了长尾视觉分类任务,该方法还在长尾半监督学习、长尾目标检测和平衡数据集上进行了实验,取得了显著的性能提升。
- 论文链接: https://arxiv.org/pdf/2403.06726
- 项目链接: https://github.com/LeapLabTHU/ProCo
研究动机
对比学习在自监督学习中的成功表明了其在学习视觉特征表示方面的有效性。影响对比学习性能的核心因素是 contrastive pairs 的数量,这使得模型能够从更多的负样本中学习,体现在两个最具代表性的方法 SimCLR [2] 和 MoCo [3] 中分别为 batch size 和 memory bank 的大小。然而在长尾视觉识别任务中,由于类别不均衡,增加 contrastive pairs 的数量所带来的增益会产生严重的边际递减效应,这是由于大部分的 contrastive pairs 都是由头部类别的样本构成的,难以覆盖到尾部类别。
例如,在长尾 Imagenet 数据集中,若 batch size (memory bank) 大小设为常见的 4096 和 8192,那么每个 batch (memory bank) 中平均分别有 212 个和 89 个类别的样本数量不足一个。
因此,ProCo 方法的核心 idea 是:在长尾数据集上,通过对每类数据的分布进行建模、参数估计并从中采样以构建 contrastive pairs,保证能够覆盖到所有的类别。进一步,当采样数量趋于无穷时,可以从理论上严格推导出 contrastive loss 期望的解析解,从而直接以此作为优化目标,避免了对 contrastive pairs 的低效采样,实现无限数量 contrastive pairs 的对比学习。
然而,实现以上想法主要有以下几个难点:
- 如何对每类数据的分布进行建模。
- 如何高效地估计分布的参数,尤其是对于样本数量较少的尾部类别。
- 如何保证 contrastive loss 的期望的解析解存在且可计算。
事实上,以上问题可以通过一个统一的概率模型来解决,即选择一个简单有效的概率分布对特征分布进行建模,从而可以利用最大似然估计高效地估计分布的参数,并计算期望 contrastive loss 的解析解。
由于对比学习的特征是分布在单位超球面上的,因此一个可行的方案是选择球面上的 von Mises-Fisher (vMF) 分布作为特征的分布(该分布类似于球面上的正态分布)。vMF 分布参数的最大似然估计有近似解析解且仅依赖于特征的一阶矩统计量,因此可以高效地估计分布的参数,并且严格推导出 contrastive loss 的期望,从而实现无限数量 contrastive pairs 的对比学习。
图 1 ProCo 算法根据不同 batch 的特征来估计样本的分布,通过采样无限数量的样本,可以得到期望 contrastive loss 的解析解,有效地消除了监督对比学习对 batch size (memory bank) 大小的固有依赖。
方法详述
接下来将从分布假设、参数估计、优化目标和理论分析四个方面详细介绍 ProCo 方法。
分布假设
如前所述,对比学习中的特征被约束在单位超球面上。因此,可以假设这些特征服从的分布为 von Mises-Fisher (vMF) 分布,其概率密度函数为:
其中 z 是 p 维特征的单位向量,I 是第一类修正贝塞尔函数,
μ 是分布的均值方向,κ 是集中参数,控制分布的集中程度,当 κ 越大时,样本聚集在均值附近的程度越高;当 κ =0 时,vMF 分布退化为球面上的均匀分布。
参数估计
基于上述分布假设,数据特征的总体分布为混合 vMF 分布,其中每个类别对应一个 vMF 分布。
其中参数
表示每个类别的先验概率,对应于训练集中类别 y 的频率。特征分布的均值向量
和集中参数
通过最大似然估计来估计。
假设从类别 y 的 vMF 分布中采样 N 个独立的单位向量,则均值方向和集中参数的最大似然估计 (近似)[4] 满足以下方程:
其中
是样本均值,
是样本均值的模长。此外,为了利用历史上的样本,ProCo 采用了在线估计的方法,能够有效地对尾部类别的参数进行估计。
优化目标
基于估计的参数,一种直接的方法是从混合 vMF 分布中采样以构建 contrastive pairs . 然而在每次训练迭代中从 vMF 分布中采样大量的样本是低效的。因此,该研究在理论上将样本数量扩展到无穷大,并严格推导出期望对比损失函数的解析解直接作为优化目标。
通过在训练过程中引入一个额外的特征分支 (基于该优化目标进行 representation learning),该分支可以与分类分支一起训练,并且由于在推理过程中只需要分类分支,因此不会增加额外的计算成本。两个分支 loss 的加权和作为最终的优化目标,
在实验中均设置 α=1. 最终,ProCo 算法的整体流程如下:
理论分析
为了进一步从理论上验证 ProCo 方法的有效性,研究者们对其进行了泛化误差界和超额风险界的分析。为了简化分析,这里假设只有两个类别,即 y∈ {-1,+1}.
分析表明,泛化误差界主要由训练样本数量和数据分布的方差控制,这一发现与相关工作的理论分析 [6][7] 一致,保证了 ProCo loss 没有引入额外因素,也没有增大泛化误差界,从理论上保证了该方法的有效性。
此外,该方法依赖于关于特征分布和参数估计的某些假设。为了评估这些参数对模型性能的影响,研究者们还分析了 ProCo loss 的超额风险界,其衡量了使用估计参数的期望风险与贝叶斯最优风险之间的偏差,后者是在真实分布参数下的期望风险。
这表明 ProCo loss 的超额风险主要受参数估计误差的一阶项控制。
实验结果
作为核心 motivation 的验证,研究者们首先与不同对比学习方法在不同 batch size 下的性能进行了比较。Baseline 包括同样基于 SCL 在长尾识别任务上的改进方法 Balanced Contrastive Learning [5](BCL)。具体的实验 setting 遵循 Supervised Contrastive Learning (SCL) 的两阶段训练策略,即首先只用 contrastive loss 进行 representation learning 的训练,然后在 freeze backbone 的情况下训练一个 linear classifier 进行测试。
下图展示了在 CIFAR100-LT (IF100) 数据集上的实验结果,BCL 和 SupCon 的性能明显受限于 batch size,但 ProCo 通过引入每个类别的特征分布,有效消除了 SupCon 对 batch size 的依赖,从而在不同的 batch size 下都取得了最佳性能。
此外,研究者们还在长尾识别任务,长尾半监督学习,长尾目标检测和平衡数据集上进行了实验。这里主要展示了在大规模长尾数据集 Imagenet-LT 和 iNaturalist2018 上的实验结果。首先在 90 epochs 的训练 schedule 下,相比于同类改进对比学习的方法,ProCo 在两个数据集和两个 backbone 上都有至少 1% 的性能提升。
下面的结果进一步表明了 ProCo 也能够从更长的训练 schedule 中受益,在 400 epochs schedule 下,ProCo 在 iNaturalist2018 数据集上取得了 SOTA 的性能,并且还验证了其能够与其它非对比学习方法相结合,包括 distillation (NCL) 等方法。
#Rule Based Rewards for Language Model Safety
RLHF不够用了,OpenAI设计出了新的奖励机制
OpenAI 的新奖励机制,让大模型更听话了。
自大模型兴起以来,使用强化学习从人类反馈(RLHF)中微调语言模型一直是确保 AI 准确遵循指令的首选方法。
为了确保 AI 系统安全运行并与人类价值观保持一致,我们需要定义期望行为并收集人类反馈来训练「奖励模型」。这种模型通过发出期望的动作来指导 AI。但是,收集这些常规和重复任务的人类反馈通常效率不高。此外,如果安全政策发生变化,已经收集的反馈可能会过时,需要新的数据。
我们能否构建一种新的机制来完成这些任务?近日,OpenAI 公布了一种教导 AI 模型遵守安全政策的新方法,称为基于规则的奖励(Rule-Based Rewards,RBR)。
- 论文标题:Rule Based Rewards for Language Model Safety
- 论文地址:https://cdn.openai.com/rule-based-rewards-for-language-model-safety.pdf
- 代码链接:https://github.com/openai/safety-rbr-code-and-data
论文作者之一、OpenAI 安全系统负责人 Lilian Weng 表示,「RBR 可以自动执行一些模型微调。传统上, 我们依赖于来自人类反馈的强化学习作为默认的对齐训练方法来训练模型,这确实有效。然而在实践中,我们面临的挑战是,我们花了很多时间讨论政策的细节,而到最后,政策可能已经发生了变化。」
RBR 根据一组安全规则提供 RL 信号,使其更容易适应不断变化的安全政策,而无需严重依赖人类数据。此外,借助 RBR,研究者能够以更统一的视角看待安全性和模型能力,因为更强大的分级模型可以提供更高质量的 RL 信号。
OpenAI 表示自 GPT-4 发布以来,他们一直将 RBR 用作安全堆栈的一部分,包括 GPT-4o mini,并计划在未来的模型中实施它。
为什么要提出 RBR?
随着大型语言模型(LLM)功能的增强和普及,确保其安全性和对齐变得越来越重要。最近的许多工作都集中在使用人类偏好数据来调整模型上,例如基于人类反馈的强化学习(RLHF)。
然而,仅使用人类反馈来实现目标安全规范还面临许多挑战。为模型安全性收集和维护人类数据通常既费钱又费时,而且随着模型能力的提高或用户行为的改变,安全准则也会发生变化,这些数据可能会过时。即使要求相对稳定,也很难向注释者传达。安全方面的情况尤其如此,因为所需的模型响应非常复杂,需要对是否响应以及如何响应请求做出细微差别。如果说明不够明确,注释者可能不得不依赖个人偏见,从而导致超出预期的模型行为,如变得过于谨慎,或以不理想的风格(如评判)做出响应。
例如,在 OpenAI 的一次实验中,一些注释者在对用户有关自残请求的可能回复进行排序时,偏向于将用户转到美国自杀热线,而这对美国以外的用户没有帮助。要解决这些问题,往往需要重新标注或收集新数据,这既昂贵又耗时。
为了解决这些问题,使用 AI 反馈的方法最近越来越受欢迎,其中最突出的是宪法 AI(Constitutional AI)。这些方法利用 AI 反馈合成训练数据,与人类数据相结合,用于监督微调(SFT)和奖励模型(RM)训练步骤。不过,在宪法 AI 和其他方法中,「宪法」涉及「选择危害较小的响应」等一般性指导原则,AI 模型有很大的自由裁量权来决定什么是有害的。在现实世界的部署中,我们需要执行更详细的政策,规定应该拒绝哪些提示,以及拒绝的方式是什么。
因此,在这篇论文中,OpenAI 的研究者提出了一种新的 AI 反馈方法 ——RBR,它允许人类详细说明所需的模型响应,类似于给人类注释者的指示。
RBR 的工作原理是怎样的?
实施 RBR 的方法包括定义一组命题 —— 关于模型响应中期望或不期望方面的简单陈述,例如「带有评判性」、「包含不允许的内容」、「提及安全政策」、「免责声明」等。然后,这些命题被用来形成规则,这些规则被精心设计以捕捉在各种场景中安全和适当响应的细微差别。
例如,在面对不安全请求时,拒绝(如「抱歉,我无法帮你」)是一种期望的模型响应。相关规则将规定,拒绝应「包含简短的道歉」并且「应说明无法遵从」。
研究团队设计了三类期望的模型行为,用于处理有害或敏感的话题。根据安全政策,不同的请求对应不同的模型响应类型。
图中内容由 AI 工具翻译,仅供参考。
以下是一些命题的简化示例,以及它们如何映射理想行为或非理想行为到不同响应类型的。
图中内容由 AI 工具翻译,仅供参考。
研究者在下表中提供了一些在实验中训练模型所完成的示例。
图中内容由 AI 工具翻译,仅供参考。
评估器是一个固定的语言模型,根据响应遵循规则的程度对其进行评分,从而使 RBR 方法能够灵活适应新规则和安全政策。
RBR 使用这些评分来拟合一个线性模型,该模型的权重参数是从一个已知理想响应类型的小数据集,以及对应的期望做法和不期望做法中学习的。
这些 RBR 奖励随后与来自「仅提供帮助」的奖励模型的奖励结合起来,作为 PPO 算法的额外信号,以鼓励模型遵循安全行为策略。
该方法允许研究者对模型的行为进行精细控制,确保其不仅避免有害内容,而且以一种既表示尊重又有帮助的方式进行。
强化学习过程中 RBR 与传统奖励模型的集成。
RBR 好用吗?
实验显示,经过 RBR 训练的模型表现出与经过人类反馈训练的模型相当的安全性能。前者还减少了错误地拒绝安全请求(即过度拒绝)的情况。
此外,RBR 还显著减少了对大量人工数据的需求,使训练过程更快、更具成本效益。
随着模型能力和安全准则的发展,RBR 可以通过修改或添加新规则快速更新,而无需进行大量重新训练。
该图显示了有用性(以模型正确遵循安全提示的百分比来衡量)与安全性(以模型正确拒绝不安全提示的百分比来衡量)之间的权衡。对于这两个指标,值越高越好。右上角标记了有用性和安全性之间的完美平衡。有用性基线不使用安全性 RBR,往往更有用但安全性较低。人类基线是在仅有帮助和人工注释的安全性数据上进行训练的,往往非常安全但有用性较低。借助 RBR,OpenAI 的目标是使模型既安全又有用。
RBR 有哪些局限?
尽管规则基础的系统(RBR)在有明确、直观规则的任务中表现良好,但在更主观的任务中(如撰写高质量的文章),应用 RBR 可能会有些棘手。然而,RBR 可以与人类反馈结合起来,以平衡这些挑战。例如,RBR 可以强制执行特定的准则(如「不要使用俚语」或模型规范中的规则),而人类反馈可以帮助处理更细微的方面(如整体连贯性)。RBR 的强度被优化为既能正确执行安全偏好,又不会过度影响最终的奖励评分 —— 这样,RLHF 奖励模型仍然可以在如写作风格等方面提供强有力的信号。
伦理考量:将安全检查从人类转移到 AI 上可能会减少对 AI 安全的人工监督,并且如果使用有偏见的模型提供 RBR 奖励,还可能放大潜在的偏见。为了解决这个问题,研究人员应该仔细设计 RBR,以确保其公平和准确,并考虑结合使用 RBR 和人类反馈,以最大限度地减少风险。
OpenAI 表示,RBR 不仅限于安全训练,它们可以适应各种任务,其中明确的规则可以定义所需的行为,例如为特定应用程序定制模型响应的个性或格式。下一步,OpenAI 还计划进行更广泛的消融研究,以更全面地了解不同的 RBR 组件、使用合成数据进行规则开发以及人工评估,以验证 RBR 在包括安全以外的其他领域的各种应用中的有效性。
参考内容:
https://openai.com/index/improving-model-safety-behavior-with-rule-based-rewards/
#KnowledgeSpread
只需两步,让大模型智能体社区相信你是秦始皇
- 论文地址:https://arxiv.org/pdf/2407.07791
- 代码:https://github.com/Jometeorie/KnowledgeSpread
研究背景
就在去年,由斯坦福大学和谷歌的研究团队开发的“AI小镇”一举引爆了人工智能社区,成为各大媒体争相报道的热点。他们让多个基于大语言模型(LLMs)的智能体扮演不同的身份和角色在虚拟小镇上工作和生活,将《西部世界》中的科幻场景照进了现实中。在这之后,各种基于LLM的多智能体系统迅速涌现,从医疗诊断到软件开发,智能体之间的协作和知识共享展现了巨大的潜力。一些平台开始允许让第三方用户部署个性化的智能体来丰富社区,例如微软推出的Azure机器人服务。
然而,尽管平台本身是安全的,即不存在恶意操纵系统提示的可能,但部署智能体的第三方用户的目的却是多样化的。如果存在恶意攻击者向智能体中植入操控性知识,智能体社区能否抵御这一安全威胁,并坚信自己正确的知识认知呢?例如,图一展示了一个多智能体联合会诊的场景。如果攻击者篡改了某个智能体中与任务相关的参数知识并将其部署到多智能体社区中,那么它就有可能在社区中散播编造的知识,使其它智能体相信它的观点,最终导致联合会诊的失败。
图1 基于LLM的多智能体社区中的编造知识传播引起的风险
研究内容
为了系统性地分析这一场景潜在的风险程度,本文构建了一个系统性的模拟环境用于模拟由不同的第三方用户部署的多智能体系统。该仿真环境精确反映了现实世界中多智能体系统在一个可信平台上的部署情况,每个智能体由不同的第三方用户引入,并被分配了具体的角色和属性,以确保交互的多样性和真实性。
本文的攻击目标如图2所示,攻击者通过操纵某个智能体的中间参数,使其在没有显式提示的情况下能够自主在社区中传播被操纵的知识,又能表现得与良性智能体无异。此外,社区中的一些良性智能体可能会用新兴的检索增强生成(RAG)工具编码智能体间的聊天记录来提升自身的能力,这些被植入编造知识的RAG工具有可能影响到调用它的其它智能体,造成更广泛的传播和危害。
图2 攻击者操纵知识传播的场景和方法
本文首先针对LLM处理世界知识固有缺陷的直觉认识,提出了攻击方法的设计假设。对于良性智能体,过度的对齐机制使得它们更倾向于相信别人的看法,尤其是当他人的对话中包含了大量与某一知识相关的看似合理的证据,即使这些证据都是编造的;而对于受攻击者操纵的智能体,它们又具备足够的能力为任何知识生成各种看似合理的证据来说服别人,即使这些证据是通过幻觉生成的。这些对世界知识认知的脆弱性使得智能体间自主地传播操纵的知识成为了可能。
基于以上对LLM直觉上的认知所提出的假设,本文设计了一种两阶段的攻击方式用于实现操纵知识的自主传播。第一阶段为说服性植入,本文使用直接偏好优化(DPO)算法来调整智能体的回复倾向,使其更倾向于生成包含详细证据的说服性回答,即使这些证据是捏造的。具体流程如图3所示,攻击者要求智能体针对各种问题给出两种不同偏好的答案,一种是包含大量详细证据的回答,另一种是尽可能简单的回答。通过选择包含详细证据的回答作为偏好的输出,构建训练数据集进行说服性植入训练。此外,本文使用低秩自适应(LoRA)进行高效微调,从而在不影响智能体基本能力的情况下显著增强其说服力。
图3 第一阶段攻击:说服性植入的基本流程
第二阶段为编造知识植入(如图4所示)。这一阶段的目标是通过修改智能体模型中的特定参数,使其对特定的知识产生误解,并在后续的交互中无意识地传播这些篡改后的知识。具体来说,攻击者采用秩一模型编辑(ROME)算法实现操纵知识的植入。该方法将智能体Transformer模型的双层前馈神经网络(FFN)层视为三元组知识的主体和客体间的键值映射,通过修改这些键值映射来篡改智能体的参数知识。这种编辑方法可以在无外部提示的基础上改变智能体对特定知识的认知,甚至于被操纵的智能体本身都无法意识到自己对特定知识的认知被“篡改”了,这使得它们能够更好地利用自身的幻觉生成各种看似合理的证据来说服社区中的良性智能体。
图4 第二阶段攻击:编造知识植入的基本流程
实验分析
为了研究基于大语言模型的多智能体社区对编造知识传播的抵御能力,同时验证本文提出的两阶段攻击方法的有效性,本文在两个流行的反事实知识编辑数据集(CounterFact,zsRE)中分别随机抽取1000个实例进行实验。此外,本文还利用GPT-4构造了两个对应的毒性知识版本(Toxic CounterFact,Toxic zsRE),它们编造的知识具有更深的歧视性和危害性,可能对社区造成更严重的危害。
本文首先在单智能体场景下对提出的直觉假设进行验证(如表1所示)。可以发现,如果直接提供编造知识的答案,智能体往往不会轻易相信,攻击成功率也很低。但如果要求GPT-4或者对应的智能体提供捏造性的证据,那么智能体相信编造知识的成功率会显著提升。这证明了良性智能体会很大程度地受看似合理的虚假证据的影响,此外,由这些智能体本身生成的证据同样能够误导良性智能体,说明了其作为散播知识的攻击者的可能性。
表1 直觉假设验证实验
接着本文分别在两个反事实数据集和毒性数据集上进行了主体实验,我们要求5个智能体针对特定话题有序交互3个轮次,其中包含1个由攻击者操纵并部署的智能体,对反事实知识和毒性知识的实验结果分别如表2和表3所示,接着本文分别在两个反事实数据集和毒性数据集上进行了主体实验,我们要求5个智能体针对特定话题有序交互3个轮次,其中包含1个由攻击者操纵并部署的智能体。
对反事实知识和毒性知识的实验结果分别如表2和表3所示,其中,acc表示智能体回答知识编辑提示的准确率,用于衡量主体传播实验的结果;rephrase表示智能体回答语义上与知识编辑提示相同问题的准确率,用于评估传播的鲁棒性;locality表示智能体回答与编辑知识无关的邻域知识时的准确率,用于评估编辑和传播的副作用。
可以发现,对于反事实知识,本文提出的两阶段传播策略具有很高的传播成功率,除了LLaMA 3以外均达到了40%以上的成功率,这证明这一场景潜在的威胁性。而对于毒性知识,尽管传播性能略有下降,但仍有10%-20%的良性智能体受到影响,并改变了对特定知识的看法。
表2 反事实知识传播结果
表3 毒性知识传播结果
接着本文分析了传播成功率随交互轮数的变化(如图5,图6所示)。结果表明,良性智能体对编造知识的错误认知会随着交互轮数逐步加深。
图5 反事实知识传播成功率随交互轮数的变化
图6 毒性知识的传播成功率随交互轮数的变化
对于副作用测试,本文测试了植入两阶段攻击策略前后的智能体在MMLU标杆上的性能。相比于原始智能体,无论是第一阶段植入还是第二阶段植入,对智能体基础语言能力的影响都可以忽略不计。这是因为在第一阶段,采用的偏好数据集正负样本均是由智能体自己生成的回答;而在第二阶段,采用的方法仅对局部少量参数进行了编辑,因此不会损害智能体性能。这进一步说明了我们方法的隐蔽性。
表4 智能体植入两阶段攻击策略前后的MMLU指标
最后,本文考虑了一种更具持久性的传播场景,即部分良性智能体会将聊天记录存储到RAG工具中,用于后续的调用。这使得编造的知识在脱离上下文聊天记录后仍然能够传播,并进一步影响到其他智能体。这种情况下,传播成功需要满足两个条件:首先攻击者操纵的智能体需要能够成功误导社区中的其他智能体,使它们也输出与编造后的知识相关的回答;接着这些编造后的知识存储进RAG后需要被调用它的智能体检索应用后改变它们的认知。本文根据每个智能体在每轮对话中的聊天内容对上下文进行切片,将1000条知识存储进RAG中,结果如表5所示。对于反事实知识,这种二阶段的链式传播依旧能够维持很高的攻击成功率;而对于毒性知识,同样有10%-20%的攻击成功率。
表5 编造知识被植入RAG系统后的传播成功率
对于消融实验,除了在上文中涉及的对不同攻击阶段的测试、对话轮数对结果的影响外,本文还分析了智能体数量对传播结果的影响(表6)以及被操纵的智能体的发言顺序对传播结果的影响(表7)。可以发现,更大型的多智能体社区相对具有更强的鲁棒性,但仍然会受到操纵知识的影响;且在随机发言的场景下,知识传播的攻击成功率会更高。
表6 Vicuna 7B的知识传播成功率随智能体数量的变化
表7 被操纵智能体的发言顺序对知识传播成功率的影响
总结和展望
本文探讨了新颖的基于LLM的多智能体框架中潜在的知识传播风险。为此,本文针对LLM对世界知识认知的脆弱性提出了一种两阶段的攻击框架,通过说服性植入和编造知识植入,使得被操纵的智能体在没有外部提示的情况下能够自主在社区中传播知识,并改变其他智能体对特定知识的认知。这些发现揭露了当前基于LLM的多智能体社区对不可信知识的传播缺乏有效的防御机制。未来的工作可以从预防和检测两个阶段入手,利用提示工程或事实检测工具辅助智能体对不可信知识的真实性进行检测,从而提升多智能体社区的鲁棒性和安全性。
#AI训练AI,越训越离谱
训练数据是用 GPT-4o 生成的?那质量不好说了。
我们知道,大模型面临的三大挑战是算法、算力和数据。前两者靠优化升级,后者靠积累。随着技术的不断发展,高质量数据已经逐渐成为最大的瓶颈。
在很多新模型上,人们为了提升模型能力,都采用了使用 AI 生成数据来训练的方式。人们普遍认为,使用合成数据可以显著提升模型质量。
不过,最新的研究认为,使用 AI 生成的数据并不是什么好办法,反而可能会让模型陷入崩溃。
今天发表在学术顶刊《自然》杂志的封面研究认为,如果放任大模型用自动生成的数据训练自己,AI 可能会自我退化,在短短几代内将原始内容迭代成无法挽回的胡言乱语。
这篇由牛津大学等机构提交的研究,强调了由于自我训练导致人工智能模型崩溃(Model Collapse)的风险,论证了原始数据源和仔细数据过滤的必要性。
论文链接:https://www.nature.com/articles/s41586-024-07566-y
哪种模型容易崩溃?
研究认为,当人工智能模型在生成的数据上进行过度训练时,就会发生不可逆转的模型崩溃。
「模型崩溃是指由于对合成数据进行不加区分的训练而导致模型崩溃的现象」,牛津大学研究员、该论文的主要作者 Ilia Shumailov 表示。
根据论文所述,大型语言模型等生成式 AI 工具可能会忽略训练数据集的某些部分,导致模型只对部分数据进行训练。
众所周知,大语言模型(LLM)需要巨量数据进行训练,从而使自身获得解释其中信息并应用于各种用例的能力。LLM 通常是为了理解和生成文本而构建的,但研究小组发现,如果忽略它据称正在阅读并纳入其知识库的大量文本,可能会很快地使 LLM 沦为空壳。
「在模型崩溃的早期阶段,模型首先会失去方差,在少数数据上的表现下降,在模型崩溃的后期阶段,模型则会完全崩溃」,Shumailov 说道。因此,随着模型继续在模型本身生成的越来越不准确和相关的文本上进行训练,这种递归循环会导致模型退化。
模型崩溃,到底是什么
在该论文中,作者发现的模型崩溃效应是一种退化过程,模型生成的数据会污染下一代模型的训练集。模型接受受污染数据的训练,会错误地感知现实,如下图 (a) 所示。
模型崩溃可以分为早期和后期阶段,早期模型会在少数数据上表现下降,后期模型会收敛到一种与原始分布几乎没有相似之处的分布,并且方差通常大大减少。
模型崩溃发生主要是因为下述三个特定误差源在几代模型中复合,并导致与原始模型出现较大偏差:
- 统计近似误差。这是由于样本数量有限而产生的主要误差,并且随着样本数量趋于无穷大而消失。发生这种情况是因为重采样的每一步都可能丢失信息。
- 函数表达误差。这是第二种类型的误差,是由于函数逼近器表达能力有限而产生的。特别是,神经网络只是通用逼近器,无法完美地逼近任何分布。神经网络可以在原始分布之外引入非零似然,或者在原始分布内引入零似然。函数表达误差的一个简单例子是,如果我们尝试用单个高斯拟合两个高斯的混合。即使我们有关于数据分布的完美信息(即无限数量的样本),模型误差也将是不可避免的。然而,在没有其他两种类型的误差的情况下,这种情况只能发生在第一代模型。
- 函数逼近误差。这是次要类型的误差,主要源于学习过程的局限性,例如随机梯度下降的结构偏差。
上述每一项都可能导致模型崩溃变得更糟或更好。更高的逼近能力甚至可以是一把双刃剑,更好的表达能力可以抵消统计噪声,从而很好地逼近真实分布,但它同样会加剧噪声。这通常会产生级联效应,其中个体的不准确性结合起来会导致整体误差增加。
例如,过度拟合密度模型会导致模型错误推断,将高密度区域分配给训练集未覆盖的低密度区域。
值得注意的是,还存在其他类型的误差。例如,计算机在实践中的精度有限。
语言模型中的模型崩溃
作者在文中还评估了模型崩溃对语言模型的影响。模型崩溃在各种机器学习模型中普遍存在。然而,与通常从零开始训练的小模型(如 GMMs 和 VAEs)不同,LLM 需要巨大的成本从头开始训练,因此通常使用预训练模型(如 BERT、RoBERTa 或 GPT-2)初始化,这些模型是在大型文本语料库上训练的。随后,这些模型被微调以适应各种下游任务。
在这篇论文中,作者探讨了当语言模型使用由其他模型生成的数据进行连续微调时会发生什么。本文中涉及的所有实验可以在非微调设置下用更大的语言模型轻松复制。鉴于训练一个中等规模的模型需要的算力也非常可观,作者选择不进行这样的实验,而是专注于更现实的概念验证设置。
需要注意的是,本文描述的语言实验即使在这种情况下也需要几周时间才能完成。作者评估了训练语言模型的最常见设置 —— 微调设置,其中每个训练周期都从一个具有最新数据的预训练模型开始。这里的数据来自另一个经过微调的预训练模型。由于训练被限制在生成与原始预训练模型非常相似的模型,并且这些模型生成的数据点通常只会产生非常小的梯度,因此预期在微调后,模型只会发生适度的变化。作者使用 Meta 通过 Hugging Face 提供的 OPT-125m 因果语言模型进行了微调。
案例研究:教堂和长耳大野兔
研究人员在论文中提供了一个使用文本生成模型 OPT-125m 的示例(使用 wikitext2 数据集微调),该模型的性能与 ChatGPT 的 GPT-3 类似,但需要的算力较少。
研究人员将有关设计 14 世纪教堂塔楼的文本输入到模型中。在第一代文本输出中,该模型主要讨论了在不同教皇统治下建造的建筑物。但到了第九代文本输出,该模型主要讨论了大量的黑尾、白尾、蓝尾、红尾和黄尾长耳大野兔。我们应该注意到的是,其中大多数并不是真正存在的长耳大野兔物种。
大模型输出的内容:从教堂到 100 多种语言,再到野兔。
实验结果表明,即使原数据一直保留,但模型崩溃的现象仍然会发生。随着不断迭代,模型开始忘记真实数据中的信息,并且生成的内容中包含越来越多重复的短语。
网络充斥 AI 内容,「数据源」早已被污染
看到这里你可能会问了:那还不简单,不使用合成数据训练 AI 不就完事了?但实际上,现在能从互联网上获取的「数据」,里面已经不知道有多少是 AI 生成的了,而且我们经常无法把它们和正常内容区分开来。
互联网上充斥着各种内容,这并不是新鲜事。正如研究人员在论文中指出的那样,早在大规模语言模型(LLM)成为公众熟知的话题之前,恶意网站就已经在制造内容,以欺骗搜索算法优先显示他们的网站以获取点击量。随着 OpenAI 的 GPT 系列大模型问世,生成式 AI 已经并将会极大地改变文本和图像内容的生态。
AI 生成文本可比人类说废话快得多,这引发了更大规模的担忧。杜克大学专门研究隐私与安全的计算机科学家艾米丽 - 温格 Emily Wenger 曾在文章中写到相关内容:「尽管 AI 生成的互联网对人类的影响还有待观察,但 Shumailov 等人报告称,在线上大量涌现的 AI 生成内容可能对这些模型本身造成毁灭性的影响。」
「模型崩溃带来的问题之一是对生成式 AI 的公平性构成挑战。崩溃的模型会忽略训练数据中的一些不常见元素,从而无法反映世界的复杂性和细微差别,」Wenger 补充道,「这可能导致少数群体或观点的代表性减少,甚至可能被抹去。」
大型科技公司正在采取一些措施,以减少普通网络用户看到的 AI 生成内容的数量。3 月份,谷歌宣布将调整其算法,把那些看起来是为搜索引擎而非人类搜索者设计的页面的优先级进行降低。然而,这一声明是在 404 Media 关于谷歌新闻推广 AI 生成文章的报道之后发布的。
《自然》杂志封面的这项研究强调,访问原始数据源并在递归训练的模型中仔细过滤数据,有助于保持模型的准确性。
该研究还建议,创建大型语言模型(LLM)的 AI 社区可以协调合作,追踪输入到模型中的信息来源。「否则,随着这种技术的广泛应用,如果无法获得在技术普及之前从互联网上爬取的数据或大量人类生成的数据,训练新的 LLM 版本可能会变得越来越困难」,研究团队总结道。
参考内容:
https://www.nature.com/articles/d41586-024-02355-z
#clasi
字节大模型同传智能体,一出手就是媲美人类的同声传译水平
无论是语速超快、发音复杂的绕口令,还是精妙绝伦的文言文,又或是充满即兴和灵感的随意聊天,模型都能流畅自然地给出准确而地道的翻译结果。
近年来,人工智能(Aritificial Intelligence, AI),尤其是以大语言模型(Large Language Models, LLMs)为代表的 AI 正以惊人的速度发展,这些模型在多种自然语言处理任务中展现了卓越的能力。然而,尽管在许多领域取得了突破,代表着人类顶尖语言水平的同声传译(Simultaneous Interpretation, SI)依然是一个未被完全攻克的难题。
市面上传统的同声传译软件通常采用级联模型(cascaded model)的方法,即先进行自动语音识别(Automatic Speech Recognition, ASR),然后再进行机器翻译(Machine Translation, MT)。这种方法存在一个显著的问题 —— 错误传播。ASR 过程中的错误会直接影响到后续的翻译质量,导致严重的误差累积。此外,传统的同声传译系统由于受限于低延时的要求,通常只使用了性能较差的小模型,这在应对复杂多变的实际应用场景时存在瓶颈。
来自字节跳动 ByteDance Research 团队的研究人员推出了端到端同声传译智能体:Cross Language Agent - Simultaneous Interpretation, CLASI,其效果已接近专业人工水平的同声传译,展示了巨大的潜力和先进的技术能力。CLASI 采用了端到端的架构,规避了级联模型中错误传播的问题,依托于豆包基座大模型和豆包大模型语音组的语音理解能力,同时具备了从外部获取知识的能力,最终形成了足以媲美人类水平的同声传译系统。
- 论文地址:https://byteresearchcla.github.io/clasi/technical_report.pdf
- 展示页面:https://byteresearchcla.github.io/clasi/
效果展示
视频 Demo:首先用几则即兴视频来感受一下 CLASI 的效果,所有字幕均为实时录屏输出。我们可以看到,无论是语速超快、发音复杂的绕口令,还是精妙绝伦的文言文,又或是充满即兴和灵感的随意聊天,模型都能流畅自然地给出准确而地道的翻译结果。更不用说,CLASI 在其老本行 —— 会议场景翻译中表现得尤为出色。
即兴对话-星座
朗读-赤壁赋
绕口令
更多视频可点击「阅读原文」进行查看
定量对比:研究人员分别在中英、英中翻译语向上,针对 4 个不同领域邀请专业的同传译员进行了人工评测,使用了与人工同传一致的评价指标:有效信息占比(百分制)。图中可以看到,CLASI 系统大幅领先所有商业系统和开源 SOTA 系统,并且在某些测试集上甚至达到或超过了人类同传水平(一般认为人类同传平均水平大概在 80%)。
系统架构
系统架构上,CLASI 采用了基于 LLM 智能体的架构(下图左),将同声传译定义为一系列简单且协调的操作,包括读入音频流,检索(可选),读取记忆体,更新记忆体,输出等。整个流程由大语言模型自主控制,从而在实时性和翻译质量之间达到了高效的平衡。该系统能够根据实际需求灵活调整各个环节的处理策略,确保在高效传递信息的同时,保持翻译内容的准确性和连贯性。CLASI 底层模型是一个 Encoder-conditioned LLM,在海量的无监督和有监督数据上进行了预训练。CLASI 模型的系统架构如下图所示。
图 1:图示展示了 CLASI 的整体操作流程。在步骤 1 中,CLASI 处理当前输入的音频数据。接下来检索器会被激活(可选),从用户自定义的知识库中获取相关信息。在这个示例中,使用知识库中的翻译对 “伊辛模型: Ising model” 能够帮助模型输出正确的译文。在步骤 3 中,CLASI 从上一轮的记忆体中加载转写(可选)和翻译。接下来(步骤 4 和步骤 5),CLASI 可能会启用思维链(CoT)来输出转写(可选)和翻译结果,然后更新其记忆体。最后,返回步骤 1 以处理下一轮的语音。
图 2:CLASI 的结构图。在第 r 轮中,CLASI 将当前音频流、前序的记忆体(r-1)和检索到的知识(如果有)作为输入。CLASI 根据给定的指令输出响应,然后更新记忆体。同时,CLASI 还会输出截止当前,最后一个语义片段的截止时间戳。对于给定的示例,短语 “就在” 之前的内容被认为是完整的语义片段,所以截止时间戳就在此短语之前。
实验结果
表 1:人工评测有效字段占比(Valid Information Proportion, VIP)中,CLASI 系统显著超过了其他所有竞品,并且在两个语向上均达到了 78% 以上的准确性。一般而言,可以认为人类同传的准确性在 70% 以上,理想情况下可以达到 95%,研究人员以 80% 的准确性作为高水平人类译员的平均标准。
示例分析
中翻英:
英翻中:
可以看到在多个方面,CLASI 的翻译均显著优于商用系统。
总结
来自字节跳动 ByteDance Research 团队的研究人员提出了基于豆包大模型的同传智能体:CLASI。得益于大规模预训练和模仿学习,在人工评估中,CLASI 的表现显著优于现有的自动同声传译系统的性能,几乎达到人类同传水平。
1. 研究人员提出了一种通过模仿专业人类译员的、数据驱动的读写策略。该策略无需复杂的人类预设计,即可轻松平衡翻译质量和延迟。与大多数商业系统在翻译过程中频繁重写输出以提高质量不同,该策略保证所有输出在保持高质量的同时是确定性的。
2. 人类译员一般需要预先准备同传内容,受此启发,研究人员引入了一种多模态检索增强生成(MM-RAG)过程,使 LLM 实时地具有领域特定的知识。所提出的模块在推理过程中以最小的计算开销进一步提高了翻译质量。
3. 研究人员与专业人类同传译员密切合作,制定了新的人工评估策略 “有效信息占比”(VIP),并公开了详细的指南。同时也发布了一个更接近现实场景的长语音翻译的多领域人工标注测试集。
#大模型AI智能体发现了代码漏洞
谷歌内部项目
开源数据库引擎 SQLite 有 bug,还是智能体检测出来的!
通常,软件开发团队会在软件发布之前发现软件中的漏洞,让攻击者没有破坏的余地。模糊测试 (Fuzzing)是一种常见的软件测试方法,其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常。
尽管模糊测试大有帮助,但有些漏洞难以甚至不可能通过模糊测试发现。
谷歌内部有一个名为 Project Zero 的软件安全研究团队,他们发现随着大型语言模型 (LLM) 的代码理解和一般推理能力的提高,LLM 将能够在识别和展示安全漏洞时重现人类安全研究人员的系统方法,最终弥补当前自动漏洞发现方法的一些盲点。
Project Zero 在 6 月介绍了 LLM 辅助漏洞研究框架 ——Naptime 架构,之后 Naptime 演变成了 Big Sleep 智能体,由 Google Project Zero 和 Google DeepMind 合作完成。
Naptime 架构
研究团队认为:与开放式漏洞研究相比,变体分析任务更适合当前的 LLM。通过提供一个起点(例如之前修复的漏洞的详细信息),可以消除漏洞研究中的很多歧义:「这是一个以前的错误;某个地方可能还有另一个类似的错误。」
现在,Big Sleep 智能体发现了第一个现实软件漏洞:SQLite 中可利用堆栈缓冲区下溢。
研究团队收集了 SQLite 存储库中最近的一些提交,手动删除了琐碎的和仅用于文档的更改,然后调整了 prompt,为智能体提供提交消息(commit message)和更改的差异,要求智能体检查当前存储库是否存在可能尚未修复的相关问题。
简单来说,SQLite 这个漏洞是在索引类型字段 iColumn 中使用了特殊的 sentinel 值 -1:
7476: struct sqlite3_index_constraint {
7477: int iColumn; /* Column constrained. -1 for ROWID */
7478: unsigned char op; /* Constraint operator */
7479: unsigned char usable; /* True if this constraint is usable */
7480: int iTermOffset; /* Used internally - xBestIndex should ignore */
7481: } *aConstraint; /* Table of WHERE clause constraints */
这创建了一个潜在的边缘情况,而函数 seriesBestIndex 无法正确处理这种边缘情况,导致在处理对 rowid 列有约束的查询时,将负索引写入堆栈缓冲区。在研究团队提供给智能体的构建中,启用了调试断言(debug assertion),并且此条件由第 706 行的断言检查:
619 static int seriesBestIndex(
620 sqlite3_vtab *pVTab,
621 sqlite3_index_info *pIdxInfo
622 ){
...
630 int aIdx[7]; /* Constraints on start, stop, step, LIMIT, OFFSET,
631 ** and value. aIdx[5] covers value=, value>=, and
632 ** value>, aIdx[6] covers value<= and value< */
633 const struct sqlite3_index_constraint *pConstraint;
...
642 for(i=0; i<pIdxInfo->nConstraint; i++, pConstraint++){
643 int iCol; /* 0 for start, 1 for stop, 2 for step */
644 int iMask; /* bitmask for those column */
645 int op = pConstraint->op;
...
705 iCol = pConstraint->iColumn - SERIES_COLUMN_START;
706 assert( iCol>=0 && iCol<=2 );
707 iMask = 1 << iCol;
...
713 if( pConstraint->usable==0 ){
714 unusableMask |= iMask;
715 continue;
716 }else if( op==SQLITE_INDEX_CONSTRAINT_EQ ){
717 idxNum |= iMask;
718 aIdx[iCol] = i;
719 }
720 }
然而,实际上这个断言并不存在,因此该漏洞可能会被恶意利用。幸运的是,该团队在正式版本出现之前就发现了这个问题,因此 SQLite 用户没有受到影响。
毫无疑问的是,智能体在这次漏洞查找中起了关键作用,这也表明智能体在软件安全方面具备很大的应用潜力。
参考链接:
https://googleprojectzero.blogspot.com/2024/10/from-naptime-to-big-sleep.html
#SELA
MetaGPT开源SELA,用AI设计AI,效果超越OpenAI使用的AIDE
SELA 由 MetaGPT 开源社区合著,作者分别来自 DeepWisdom、UC Berkeley、港科广、UCSD、华师、Stanford、港中深、Montreal & MILA 等机构。共同一作池一舟与林义章分别任职 DeepWisdom 实习研究员与研究员,他们均毕业于 UC Berkeley,林义章也是 Data Interpreter 的共同一作。共同通讯作者为 DeepWisdom 创始人兼 CEO 吴承霖(MetaGPT 代码作者、论文通讯作者)和蒙特利尔大学与 MILA 实验室的助理教授刘邦。
AI 智能体可以设计 AI 吗?
当然可以!
SELA 用 MCTS 设计 AI 效果在 20 个数据集上达到了 SoTA。它可以自己从历史设计与实验中学习,设计出比之前更好的 AI,并且完全开源。
- arxiv:https://arxiv.org/abs/2410.17238
- 代码:https://github.com/geekan/MetaGPT/tree/main/metagpt/ext/sela
过去,AI 模型的设计和优化依赖大量专业知识和人力,过程耗时,易受个人经验影响。尽管 AutoML 技术有所进展,但现有系统只会对预定义的搜索空间进行组合搜索,与人类行为不一致。人类会提出动态搜索空间并求解。随着大模型技术的发展,我们看到了大模型能自主设计和调优 AI 模型的希望。然而,实现这一目标面临自主设计和持续调优两大挑战。
过去几个月,MetaGPT 团队开源的 Data Interpreter 能够自主完成多项机器学习任务,通过增强任务规划、工具集成和推理能力,提升了成功率,但缺乏持续性调优。weco.ai 团队的 AIDE 引入了结果反馈,在 OpenAI 发布的 MLE-bench 中表现优异,但由于采用贪婪搜索,往往只收敛到次优结果。
SELA 由 MetaGPT 团队联合多所顶尖机构推出,是一个可以进行自动实验的智能体。它全面超越了 AIDE 和 Data Interpreter ,在多项机器学习测试中表现卓越,展现出自动化设计与优化 AI 模型的巨大潜力。
相比于传统 AutoML 框架和基于 LLM 的自动机器学习系统,SELA 可以动态地构造搜索空间,而不是基于一个固定的搜索空间进行搜索,在动态流水线构造表现出了显著优势。
同时,就像 AlphaGo 会根据棋局中对手的动作不断提升,SELA 也会逐渐在多步中完成机器学习代码,解决了 AIDE 只能进行一步优化的问题。
下方动图展示了 SELA 在医疗数据集(smoker-status)上的搜索过程,我们可以清晰地看到 SELA 在机器学习任务的各个阶段进行了多次深入探索。随着探索轮次的增加,节点的颜色逐渐加深,这象征着得分的持续提升。
,时长00:20
具体来看,SELA 从最初的解决方案 94.3(根节点)出发,通过探索性数据分析,敏锐地捕捉到数据集中潜藏的异常值,并通过数据预处理环节,移除了这些异常值,将得分提升至 96.3。随后,SELA 在另一次实验中,通过相关性分析,精准地剔除了冗余特征并降低了数据维度,使得得分跃升至 97.2。
SELA 是如何实现这样的效果的?
SELA 通过将问题描述和数据集信息输入 LLM,生成潜在解决方案的搜索空间,并由 Monte Carlo Tree Search(MCTS)进行探索。LLM Agent 进一步规划、编码和执行实验,利用模拟反馈优化搜索,形成迭代过程,最终产生优化的实验管道。这种方法模拟了人类专家的迭代和反馈驱动过程,提升了机器学习任务的性能和适应性。
在上面的流程中,研究者们提出了三个重要组件,分别是 1)基于 LLM 的 Insight Proposer;2)基于 MCTS 的搜索策略;3)执行实验方案的 LLM Agent,下面我们会详细展开组件设计:
基于 LLM 的 Insight Proposer
Insight Proposer 负责接收问题描述和数据集信息,将机器学习过程细分为探索性数据分析、数据预处理、特征工程、模型训练和模型评估五个关键阶段。并利用大型语言模型为每个阶段生成多样化的 Insight。这些 Insight 被汇集在见解池中,构建起 SELA 的搜索空间。
基于 MCTS 的搜索策略
在 SELA 框架中,研究者们将解决机器学习问题的搜索空间看作一棵树,每条从根到目标节点的路径都表示一个由 Insight 组成的实验配置。因此,寻找最佳解决方案的任务可以被视为在树中搜索最优路径。
SELA 采用蒙特卡洛树搜索(MCTS)作为核心决策引擎,通过选择、扩展、模拟和反向传播四个关键步骤,高效地探索和优化解决方案。
- 选择
在每次迭代中,SELA 使用 UCT 算法的修改版本 UCT-DP ,从搜索树中选择一个节点。与传统的 MCTS 不同,SELA 面临的挑战在于模型训练等过程引入的大量计算时间,因此高效的节点探索至关重要。SELA 通过尽早优先探索更深入的节点,减少了探索每个未访问节点的需要,允许在更少的迭代中到达更深的节点,使该方法更适合大规模机器学习实验。
- 扩展
在扩展阶段,将从所选节点实例化一组子节点以进行模拟,子节点继承了父节点的所有属性,并在此基础上增加了新的洞察,以进一步探索和优化解决方案。
- 模拟
扩展结束后,SELA 将从扩展的子节点中随机采样一个节点进行模拟,SELA 将首先获取这条路径对应的配置。这些配置随后被交给负责实验的 Agent 执行,产生模拟分数,该分数作为反向传播的反馈。
- 反向传播
在模拟结束后,SELA 会收集性能分数(例如,基于验证集的分数),并通过树结构进行反向传播。这些分数从模拟节点传递到根节点,更新每个父节点的值和访问计数,从而在未来的搜索中优先考虑那些代表更有前途解决方案的节点。同时,解决方案代码也会反向传播到树中,并在更新期间根据父节点进行处理,保存为阶段代码。
执行实验方案的 LLM Agent
SELA 设计了一个 LLM Agent 用于执行实验方案,通过自然语言需求构建实用的 pipeline。Agent 首先将搜索模块提供的 Insight 转化为详细计划,然后根据计划编写并执行代码,生成最终的 Pipeline 和执行分数。为提升效率,SELA 在阶段级别进行代码缓存,实现精细的代码重用,避免重复劳动,并应对 LLM 的非确定性问题,确保实验的一致性和可预测性。
实验
基准测试
SELA 选取了 AutoML 的 13 个分类任务和 7 个回归任务,以及 Kaggle 竞赛的 20 个数据集进行评估。
所有数据集按相同比例切分,确保各框架接受相同数据。基于 LLM 的框架(SELA、Data Interpreter 和 AIDE)采用相同配置和迭代次数。AutoGluon 和 AutoSklearn 均使用默认设置。由于 AutoGluon 结果是确定性所以只运行一次,其余实验均运行三次。我们对每个数据集上不同框架的全部运行结果进行排名,以比较优劣。
图中展示了多个自动机器学习框架在不同数据集上的预测表现,横轴为与 SELA 最佳性能相比的标准化得分(NS)。结果显示,SELA 在大多数数据集中表现优异,其他框架如 AutoSklearn、AIDE、AutoGluon 和 Data Interpreter 在某些数据集上有竞争力,但整体上 SELA 展现出更为一致的高性能和适应性。
SELA 在所有框架中取得了最高的平均标准化分数和最佳排名,证明了其在多种数据类型和任务上的稳健性和卓越表现。
消融实验
研究者们设计了三个消融实验,用来验证 SELA 性能和策略的有效性。首先,是对探索次数的消融。实验结果显示,随着探索次数的增加,SELA 有效利用了更多的探索机会,使平均性能显著提升。
其次,LLM 的消融研究对比了 GPT-4o、Claude-3.5-Sonnet 和 DeepSeek-V2.5,结果表明 Claude-3.5-Sonnet 和 GPT-4o 表现稳定且适应性强,而 DeepSeek-V2.5 在某些数据集上略逊色,但在 Click prediction 和 boston 数据集上表现相近,充分说明 SELA 在不同模型上均有出色表现。
此外,研究者们进一步验证了 SELA 所采用的 MCTS(蒙特卡洛树搜索)策略的卓越有效性。相较于 DataInterpreter(无搜索)和随机搜索,MCTS 策略展现出了显著的优势,这证明 SELA 最终采用的搜索策略是必要且有效的。
结语
SELA 提出了一种让 AI 自主设计和持续优化自身的方法,并全面地展示了其取得的不俗效果。研究者们认为,该工作表明了 AI 在这一方向的潜力,将为未来的相关研究提供有价值的参考。
#BELM
浙大 & 微信 & 清华:彻底解决扩散模型反演问题
本篇论文已经被NeurIPS 2024接收。第一作者王方懿康是微信视觉团队实习生,同时也是浙江大学一年级硕士研究生。共同一作是微信高级研究员Hubery。通讯作者是浙江大学助理教授张超。其他作者包括来自清华大学的董玥江,来自浙江大学的朱胡旻昊,赵涵斌助理教授和钱徽教授,以及微信基础视觉和视觉生成技术负责人李琛。
随着扩散生成模型的发展,人工智能步入了属于 AIGC 的新纪元。扩散生成模型可以对初始高斯噪声进行逐步去噪而得到高质量的采样。当前,许多应用都涉及扩散模型的反演,即找到一个生成样本对应的初始噪声。当前的采样器不能兼顾反演的准确性和采样的质量。
为彻底解决这一问题,微信视觉团队与浙江大学和清华大学联手提出了基于双向显式线性多步法的扩散模型精确反演采样器(BELM)这一通用算法,并通过截断误差分析确定了最优的 BELM 采样器系数。此方法在确保精确反演的同时还提升了生成样本的质量,在图像与视频的编辑、插值等下游任务中有广泛的应用前景。这一研究成果已被 NeurIPS 2024 会议接收。
当前,扩散模型在图像生成、文字生成、音频生成等多个领域得到了广泛应用,表现出了卓越的性能。扩散模型的反演操作,即找到一个生成样本对应的初始噪声,对若干下游任务起到关键的作用。传统的 DDIM 反演会造成严重的不一致问题,即原始图片加噪再去噪的结果与原图相差甚远。
近期,研究者们提出了多种启发式的精确反演采样器来解决 DDIM 反演的不一致问题。然而,这些启发式的精确反演采样器的理论特性尚不明确,且采样质量常常不尽如人意,这在一定程度上限制了它们的应用。
为此,本研究引入了一种通用的精确反演采样器范式 —— 双向显式线性多步(BELM)采样器,该范式包含了上文提到的启发式精确反演采样器。该团队在 BELM 范式内系统地研究了局部截断误差(LTE),发现现有的精确反演采样器的 LTE 并非最优。
因此,研究团队通过 LTE 最小化方法提出了最优的 BELM(Optimal-BELM,O-BELM)采样器。实验表明,O-BELM 采样器在实现精确反演的同时,也提升了采样的质量。
论文题目:BELM: Bidirectional Explicit Linear Multi-step Sampler for Exact Inversion in Diffusion Models
论文链接:https://arxiv.org/abs/2410.07273
项目地址:https://github.com/zituitui/BELM
背景:DDIM 反演造成的不一致问题
由于 DDIM 的正向过程和反演过程使用的迭代式并不相同,所以 DDIM 的反演重构样本与初始的样本存在较大差别。
实际使用中,DDIM 的反演有显著的不一致问题:
现有精确反演方法
Null-text-inversion
以 Null-tex-inversion 为代表的方法对 unconditional 占位符进行 fine-tune,以达到精确反演。
问题:这类方法局限于 text-classifier-free-guidance 场景下的扩散模型;需要额外训练,低效。
EDICT
EDICT 是基于 DDIM 的启发式算法,借鉴了可逆网络的做法,有两个相互糅合的采样链。
其逆过程如下,精确可逆:
问题:需要两倍计算量;超参数 p 不鲁棒,导致采样质量不可控。
BDIA
BDIA 改进了 EDICT,使用 x_i 的速度,x_i 和 x_{i+1} 的位置,通过下述公式实现精确可逆:
问题:超参数 gamma 不鲁棒,导致采样质量不佳。
EDICT 和 BDIA 参数的不鲁棒:
EDICT 和 BDIA 超参数的意义不明,没有理论指导如何调整,导致不同情形下超参数的选择差别巨大。使用起来极为不便。
双向显式线性多步法(BELM)框架
思路起源:DDIM 的正向过程(由蓝线表示)与反演过程(由红线表示)是两种不同的关系,这导致了 DDIM 的反演不准确。如果强制正过程与反过程使用相同关系,又会引入隐式方法,大大增加计算复杂度。如果多引入一个点,不用隐式方法也可逆(由绿线表示)。
该论文中的算法,正向和反演过程都服从相同的关系,因此能够精确反演。具体来说,为了系统地设计这种采样器,首先要将扩散模型的采样过程建模为一个 IVP(Initial Value Problem,初值问题):
以下是 IVP 的一般形式,这实际上是一个变步长变公式线性多步方法(VSVFM):
为了避免隐式方法的复杂计算,上式需要在正向和反向都是显式的,该团队称这一性质为双向显性(bidirectional explicit)。
代入双向显性条件,可以得到一般的 k 步 BELM 采样器:
最简单的形式是 k=2,称为 2-BELM,其表达式如下:
据此很容易证明,一个满足双向显性性质的线性多步法采样器拥有精确反演性质:
研究团队还发现,前文提到的 EDICT 和 BDIA 都是 BELM 框架的特例:
这也解释了 EDICT 和 BDIA 能够精确反演的原因。
最优双向显式线性多步(O-BELM)采样器
研究团队在推导 BELM 框架暂时没有给出具体的系数选择,而启发式的系数选择(如 EDICT 和 BDIA)会造成采样质量的退化。因此,他们提出使用局部截断误差(LTE)来获取最优系数。
首先分析 BELM 的局部截断误差:
通过对局部截断误差的最小化,我们得到了最优的 BELM 系数,我们称此系数下的 BELM 采样器为最优 BELM(O-BELM):
O-BELM 的正向过程表达式如下:
O-BELM 的反演过程表达式如下:
此外,研究团队还证明了 O-BELM 满足稳定性和全局收敛性:
至此,可以对比几种不同反演采样器的性质:
可见,O-BELM 是第一种在严格的理论保证下兼顾精确反演性质和采样质量的采样器。
实验
重建实验(验证 O-BELM 精确反演性质)
latent 空间上的 O-BELM 的重建误差为 0,这表明 O-BELM 具有精确反演的性质:
采样实验(验证 O-BELM 的高质量采样性质)
不论在无条件生成还是条件生成中,O-BELM 都表现出了高于 DDIM,EDICT 和 BDIA 的采样质量:
下游任务 —— 图像编辑
图像编辑实验体现了:
1. 由于 DDIM 不具有精确反演性质,编辑的结果中存在不一致问题(红色框);
2. 由于 EDICT 和 BDIA 具有较大的采样误差,编辑的结果出现了不真实区域(黄色框);
3.O-BELM 在保持图像一致的条件下完成了高质量的编辑。
由于 O-BELM 是一个采样方法,因此可以无缝地与 controlNet 结合,编辑效果也优于其他方法:
下游任务 —— 图像插值
由于 O-BELM 精确地建立了噪声和生成样本的对应关系,这个关系是 probability flow ODE 的近似,因此 O-BELM 也使得图像插值更符合人的直觉:
结语
本研究提出的双向显式线性多步法采样器从理论上分析并彻底解决了现有扩散生成模型中的反演问题,进一步拓宽了扩散模型在计算机视觉领域的能力边界。在图像和视频的编辑任务上有巨大的应用前景。
#谷歌Agent首次发现真实世界代码漏洞
抢救全球数亿设备,或挽回数十亿美元损失?
AI首次发现真实世界中的重大安全漏洞?SQLite中的一个漏洞,幸运地被谷歌研究者的AI Agent发现了,修复后并未造成任何损失。莫非AI再进化一番,微软的全球蓝屏事故就可以永久避免了?这个可能性令人激动不已。
LLM居然在真实世界的代码中,发现了一个漏洞?
想象一下,AI正在默默地守护着我们日常使用的软件。忽然,它发现了一个你我可能从未察觉的安全隐患,并且悄无声息地把它修复了!
就在刚刚,谷歌的Big Sleep项目揭示了一个惊人的成果:一个真实世界的安全漏洞,出现在全球广泛使用的SQLite数据库中,而这个漏洞竟然被AI成功识别出来了?在真实世界的危机扩散之前,它及时挽回了局面。
隶属于谷歌Project Zero和Google DeepMind的团队声称,这是AI Agent在广泛使用的现实软件中,发现未知可利用内存安全问题的第一个公开示例。
要知道,这不仅仅是一个崩溃的测试用例,它是AI首次在真实世界的软件中找到未知的、可利用的内存漏洞。
此前,网络安全巨头CrowdStrike闹出的一个由「C-00000291*.sys」配置文件触发的系统逻辑错误,瞬间就破坏掉全世界约10亿台计算机,直接导致微软蓝屏、全球停摆。
如果未来某一天,AI能帮我们解决所有技术领域的单点瞬时故障,不知会帮人类节省下多少财富?
用LLM在真实世界中「捉虫」
随着LLM代码理解和一般推理能力的提高,谷歌研究者一直在探索这些模型如何在识别和演示安全漏洞时,重新人类安全研究人员的方法。
在《Project Naptime:评估大型语言模型的攻防能力》中,Big Sleep团队介绍了一个利用LLM辅助的漏洞研究框架,并通过在Meta的CyberSecEval2基准测试上提升了最新的性能,展示了这种方法的潜力。
从那时起,Naptime就变成「Big Sleep」,成为了Google Project Zero与Google DeepMind的合作项目。
就在刚刚,谷歌研究者激动地表示,Big Sleep Agent发现了首个真实世界漏洞:一个存在于SQLite中的可利用栈缓冲区下溢漏洞。
SQLite是一款被广泛使用的开源数据库引擎。
在十月初,Agent发现了了这个漏洞,于是谷歌研究者立刻将其报告给了开发者,他们在同一天进行了修复。
幸运的是,AI在这个问题出现在官方发布版本之前,就发现了它,因此SQLite的用户未受影响。
要知道,SQLite作为轻量级嵌入式数据库,广泛应用于智能手机、浏览器、嵌入式系统、IoT设备等多种环境,涵盖了许多用户和敏感信息。
如果攻击者利用该漏洞进行数据泄露、系统入侵或破坏,潜在损失金额可能少则几百万,多则数十亿美元!
谷歌研究者表示,这是AI Agent首次在广泛使用的真实世界软件中发现未知的、可利用的内存安全问题的公开案例。
之所以会有这次尝试,是因为今年早些时候,在DARPA的AIxCC活动中,亚特兰大团队在SQLite中发现了一个空指针取消引用的漏洞,这就给了谷歌研究者启发——
是否可以使用SQLite进行测试,看看能否找到更严重的漏洞呢?
果然,AI Agent真的找出了一个漏洞。
这项工作,无疑具有巨大的潜力。
在软件尚未发布前就发现漏洞,就意味着攻击者没有机会利用:漏洞在他们有机会使用之前,就已被修复。
虽然模糊测试也能带来显著的帮助,但我们更需要的是一种方法,帮助防御者找到那些很难通过模糊测试发现的漏洞。
现在,AI有望缩小这一差距!
谷歌研究者表示,这是一条有希望的道路,能为防御者带来不对称的优势。
因为这个漏洞相当有趣,而且SQLite的现有测试基础设施(包括OSS-Fuzz和项目自身的测试)并没有发现它,因此谷歌研究者进行了深入调查。
方法架构
Naptime和Big Sleep项目的关键驱动因素,就是已经发现并修补的漏洞变种,仍在现实中不断被发现。
显而易见,fuzzing(模糊测试)并不能成功捕获此类变种漏洞,而对攻击者而言,手动变种分析的方法仍然性价比很高。
谷歌研究者认为,相比更为宽泛的开放式漏洞研究问题,这种变种分析任务更适合当前的LLM。
通过提供一个具体的起点——比如此前修复的漏洞的详细信息——我们就可以降低漏洞研究中的不确定性, 并且还能从一个明确的、有理论支撑的假设出发:「这里曾经存在一个漏洞,很可能在某处还存在类似的问题」。
目前,他们的项目仍处于研究阶段,正在使用带有已知漏洞的小型程序来评估研究进展。
最近,他们决定通过在SQLite上开展首次大规模的真实环境变种分析实验,来测试他们的模型和工具链。
他们收集了SQLite repository近期的一系列提交,手动筛除了无关紧要的改动和纯文档更新。
随后,他们调整了prompt,为AI Agent同时提供了提交信息和代码变更,并要求它审查当前代码库(在HEAD位置)中可能仍未修复的相关问题。
Project Naptime
Naptime采用了一种专门的架构来增强大语言模型进行漏洞研究的能力,其核心是AI Agent与目标代码库之间的交互。
系统架构
为了让AI Agent可以模仿人类安全研究员的工作流程,研究团队开发了一系列专用的工具:
- 代码浏览工具(Code Browser)使AI Agent能够浏览目标代码库,这与工程师使用Chromium Code Search的方式类似。它提供了查看特定实体(如函数、变量等)源代码的功能,并能识别函数或实体被引用的位置。
- Python工具让AI Agent能够在隔离的沙盒(Sandbox)环境中运行Python脚本,用于执行中间计算并生成精确而复杂的目标程序输入。
- 调试器工具(Debugger)为AI Agent提供了程序交互能力,可以观察程序在不同输入下的行为表现。它支持断点设置并能在断点处评估表达式,从而实现动态分析。
- 报告工具(Reporter)为AI Agent提供了一个结构化的进度通报机制。AI Agent可以发送任务完成信号,触发控制器验证是否达成成功条件(通常表现为程序崩溃)。当无法取得进一步进展时,它还允许AI Agent主动中止任务,避免陷入停滞状态。
发现漏洞
这个漏洞非常有趣,比如在一个通常为索引类型的字段iColumn中,使用了一个特殊的哨兵值-1:
7476: struct sqlite3_index_constraint {
7477: int iColumn; /* Column constrained. -1 for ROWID */
7478: unsigned char op; /* Constraint operator */
7479: unsigned char usable; /* True if this constraint is usable */
7480: int iTermOffset; /* Used internally - xBestIndex should ignore */
7481: } *aConstraint; /* Table of WHERE clause constraints */
这种模式产生了一个边缘案例,所有使用该字段的代码都需要正确处理这种情况,因为按照常规预期,有效的列索引值应该是非负的。
seriesBestIndex函数在处理这个edge case时存在缺陷,当处理包含rowid列约束的查询时,导致写入了带有负索引的堆栈缓冲区。
在研究者提供给AI Agent的编译版本中,debug assertion功能已启用,这种异常情况会被第706行的断言检查所捕获:
619 static int seriesBestIndex(
620 sqlite3_vtab *pVTab,
621 sqlite3_index_info *pIdxInfo
622 ){
...
630 int aIdx[7]; /* Constraints on start, stop, step, LIMIT, OFFSET,
631 ** and value. aIdx[5] covers value=, value>=, and
632 ** value>, aIdx[6] covers value<= and value< */
633 const struct sqlite3_index_constraint *pConstraint;
...
642 for(i=0; i<pIdxInfo->nConstraint; i++, pConstraint++){
643 int iCol; /* 0 for start, 1 for stop, 2 for step */
644 int iMask; /* bitmask for those column */
645 int op = pConstraint->op;
...
705 iCol = pConstraint->iColumn - SERIES_COLUMN_START;
706 assert( iCol>=0 && iCol<=2 );
707 iMask = 1 << iCol;
...
713 if( pConstraint->usable==0 ){
714 unusableMask |= iMask;
715 continue;
716 }else if( op==SQLITE_INDEX_CONSTRAINT_EQ ){
717 idxNum |= iMask;
718 aIdx[iCol] = i;
719 }
720 }
然而,在发布版本中,这个断言检查并不存在。
在研究者的测试环境中(具体表现会因编译器和优化级别而异),第718行的后续写入操作会越界写入aIdx缓冲区下方的内存区域,导致pConstraint指针的最低有效32位被破坏。
当这个被破坏的指针在循环的下一次迭代中被取消引用时,就会产生潜在的可利用漏洞条件。
不过,即使有了这样的漏洞说明,对于人类研究员来说,要精确理解如何触发这个漏洞仍然不易。
虽然针对ROWID列设置约束显然是个不错的切入点,但要完全理解,还需要深入研读代码。
而 AI 智能体似乎已经掌握了比人类研究员更多的SQLite相关知识,这使它能够更高效地定位问题!
这种情况的一个典型例子,就是LLM在生成测试用例时会直接使用generate_series虚拟表。
(虽然研究者也观察到模型会先研究可用的虚拟表的情况,但很明显,它能够在这里直接运用已有的知识)。
执行过程重点分析
在这次基于Gemini 1.5 Pro的成功测试中,seed commit为 [1976c3f7],这是一个规模较大、复杂的代码变更。
而研究者的AI Agent发现的漏洞,与该seed commit中的变更仅存在松散关联——这种情况在手动变种分析中较为常见,因为在理解代码库中的某个漏洞时,研究人员往往会由此发现其他潜在问题。
以下是关键节点摘要,其中,所有ASSISTANT块中的内容均直接来自AI Agent。
AI Agent对差异中的变化进行了合理的评估,并以此作为研究的切入点:
ASSISTANT
通过引入termFromWhereClause函数,CL改进了在虚拟表查询中处理OR分支共享的WHERE条件的方式。该函数在考虑嵌套子句的情况下,从WhereClause中检索特定的条件。
在此更改之前,由于条件索引映射不正确,共享的条件可能未被正确处理,可能导致低效的查询计划或错误的结果。
最可能出现的问题涉及在allocateIndexInfo和whereLoopAddVirtualOne函数中不正确地处理WHERE子句约束,其中 CL 修改了如何使用新的辅助函数来处理约束偏移量。
我将首先检查allocateIndexInfo函数。
在经过数个步骤探索相关代码后,AI Agent形成了一个更明确的测试假设——它试图通过运行patch中测试用例的修改版本来验证这个假设,但未能成功。
原因在于patch中的测试用例依赖于一个在当前配置环境中未启用的扩展模块:
TOOL(debugger_run )
程序在未崩溃或命中断点的情况下退出。退出代码为1。
STDERR输出为:
Runtime error near line 2: no such module: tcl
Parse error near line 3: no such table: x1
ASSISTANT
程序终止是因为TCL模块不可用。测试依赖于TCL虚拟表模块,需要在编译SQLite时启用该模块。提供的程序的输入基于bestindexC.test文件,它使用TCL模块来测试虚拟表的最佳索引选择。
为了解决这个问题,需要更改程序输入,使用不需要TCL模块的其他虚拟表。然而,该漏洞与虚拟表的查询计划有关,所以我们仍然需要一个虚拟表来触发此问题。
我将使用code_browser_source工具来检索SQLite中的内置虚拟表示例。然后,我将调整输入,使用其中一个虚拟表,并重新在whereLoopAddVirtualOne中设置断点。
AI Agent很好地应对了这个问题,准确识别出了修复测试用例所需的各个步骤,并在后续几个步骤中成功收集到了所有构建测试用例所需的信息,最终实现了触达whereLoopAddVirtualOne的目标:
ASSISTANT
sqlite3_create_module函数用于注册虚拟表模块。shell.c文件包含了多个这样的实例,包括generate_series、fsdir、completion和expert模块。其中json表的实现也很值得关注。
我首先关注的是generate_series,然后构造出一个使用该模块的查询,从而触发错误的约束处理。
需要注意的是,在最初发现和复现该漏洞时,AI Agent对于它试图触发的「不正确约束处理」的描述相当模糊。
在这种情况下,完整的执行轨迹读起来颇似人类研究员的思维过程——从一个想法开始,在调查过程中产生其他几个想法,最终生成了一个可以复现略有不同漏洞的测试用例。
在本例中,当whereLoopAddVirtualOne在generate_series表上被调用时,执行流程最终会进入seriesBestIndex,在那里约束确实被错误处理了。
特别有趣的是,一旦程序崩溃,模型会在解释问题时表现得更为出色——在生成根因分析(root-cause analysis)和完整崩溃报告时,我们可以看到AI Agent清晰地构造了一个测试用例来触发特定的已识别边缘案例:
ASSISTANT
相关的字段是sqlite3_index_constraint结构体中的iColumn。该字段表示约束的列编号。要导致断言失败,我们需要对索引大于3或小于-1的列设置约束。
让我们构建一个涉及这些列约束的SQL查询。generate_series表有名为value、start、step和stop的列。它们的索引是:
- value: 0
- start: 1
- step: 2
- stop:3
要触发此漏洞,我们可以对ROWID施加一个约束,并对ROWID的约束使用iColumn = -1。
示例查询如下:
SELECT * FROM generate_series(1,10,1) WHERE ROWID = 1;
该查询将导致seriesBestIndex函数崩溃。
最终,得到了一个清晰准确的问题总结,几乎可以直接用于漏洞报告!
TOOL(debugger_run)
程序崩溃:SIGABRT at :0
STDERR输出为:
sqlite3: src/shell.c:6816: int seriesBestIndex(sqlite3_vtab *, sqlite3_index_info *): Assertion `iCol>=0 && iCol<=2' failed.
ASSISTANT(report_success)
程序在执行SELECT * FROM generate_series(1,10,1) WHERE ROWID = 1;时因seriesBestIndex函数中的断言失败而崩溃。
断言assert(iCol>=0 && iCol<=2)失败的原因是sqlite3_index_info结构体中的iColumn字段可能包含超出列索引有效范围的值,例如在约束涉及ROWID时为-1。
这导致iCol被计算为-2,从而导致断言失败。
关于模糊测试
一个显而易见的问题是:为什么传统的模糊测试没有更早发现这个漏洞?
答案就在模糊测试工具链的配置上。
OSS-Fuzz使用的工具并没有启用generate_series扩展,而替代的fuzzingshell.c工具包含的是旧版本的seriesBestIndex函数,未受此漏洞影响。
虽然SQLite AFL仓库中包含一个针对研究者提供给Big Sleep智能体的、相同CLI二进制文件的模糊测试配置,但似乎并未被广泛使用。
这个漏洞是否真的容易发现?
为此,研究者尝试通过模糊测试重新发现它。
他们遵循SQLite文档中的模糊测试说明,并使用CLI目标。在启动AFL运行之前,他们还验证了模糊测试语料库中包含所需的generate_series和rowid关键字。
然而,经过150个CPU小时的模糊测试,问题仍未被发现。
随后,他们尝试通过将必要的关键字添加到AFL的SQL字典中,来简化模糊测试的任务。
然而,似乎只有当语料库包含与导致崩溃的输入非常接近的示例时,漏洞才能被快速发现,因为代码覆盖率对这个特定问题并不是可靠的指标。
诚然,AFL并不是针对像SQL这种基于文本的格式最适合的工具,大多数输入在语法上无效,会被解析器拒绝。
然而,如果将这一结果与Michal Zalewski在2015年关于模糊测试SQLite的博客文章进行比较,会发现十分有趣的事。
那时,AFL在发现SQLite漏洞方面相当有效;经过多年的模糊测试,该工具似乎已经达到自然的饱和点。
虽然研究者迄今为止的结果与AFL发布时带来的显著效果相比显得微不足道,但它有自己的优势——有概率能够有效地发现一组不同的漏洞。
结论
对于团队来说,这个项目无疑成功了。
在广泛使用且模糊化的开源项目中找到漏洞,非常一个令人兴奋!
这也就意味着:当提供正确的工具时,当前的LLMs可以进行漏洞研究。
不过,研究者想重申,这些都是高度实验性的结果。
Big Sleep 团队表示:目前,在发现漏洞方面,针对特定目标的模糊器可能至少同样有效。
研究者希望,未来这项工作将为防御者带来显著优势——
不仅有可能找到导致崩溃的测试用例,还能提供高质量的根本原因分析,使得问题的分类和修复变得更便宜且更有效。
谷歌研究者表示,会继续分享自己的研究成果,尽可能缩小公共技术前沿和私有技术前沿之间的差距。
Big Sleep团队也会将继续努力,推进零日计划的使命,让0-day变得更加困难。
团队介绍
团队中唯一的华人Dan Zheng是谷歌DeepMind的研究工程师,从事代码和软件工程的机器学习,以及编程语言的研究。
此前,他曾参与Swift for TensorFlow的工作,专注于Swift中的可微分编程。
他在普渡大学获得了计算机科学专业的学士学位。毕业后,他做了多年的学生研究员,期间研究成果颇丰。
参考资料:
https://googleprojectzero.blogspot.com/2024/10/from-naptime-to-big-sleep.html
#Vision-Language-Latent-Action (ViLLA)
稚晖君的「好东西」揭晓!首个通用具身基座模型,机器人告别「看得懂做不来」
上周五,稚晖君在微博上预告,「下周有好东西发布」。
还没进入「下周」多久,智元机器人的「好东西」揭晓了,还是双重惊喜:Vision-Language-Latent-Action (ViLLA) 架构和通用具身基座大模型 GO-1。
,时长03:45
机器人训练,苦数据难久矣。一方面是认知维度的数据:互联网上海量的文本和图片数据,帮助机器人建立基础认知,理解世界是什么样的。
另一方面是动作维度的数据,主要来源有人类的操作视频、跨本体示范视频、在虚拟场景中练习的仿真数据,还有机器人在实际环境中实操得来的真机示教数据。
智元机器人将机器人的训练数据划分为四个层次
然而现有的 VLA(Vision-Language-Action)架构,主要依赖真机和合成数据。
我们每天刷的短视频有很多可供机器人学习的操作,但不能直接用,需要「翻译」成机器人能理解的语言。
因此,机器人很难做到看完人类的视频教程,脑子学会了,手学会了,直接上手做好了。
没有充分激活人类 / 跨本体操作视频数据这个宝贵的数据来源,机器人迭代的成本更高,进化的速度也更慢了。
那么,怎样的架构才能充分利用好这些数据呢?
智元提出了全新的 Vision-Language-Latent-Action (ViLLA) 架构。
与 VLA 架构相比,ViLLA 通过预测 Latent Action Tokens(隐式动作标记),让机器人能够将人类动作视频转化为自己可执行的动作序列。这样,机器人就能同时获得认知和动作两个维度的训练,既知其然,也知其所以然。
这样一来,机器人也能有效利用高质量的 AgiBot World 数据集以及互联网上广泛的视频数据,增强策略的泛化能力。
基于 ViLLA 架构,智元打造了通用具身基座大模型 ——GO-1。它由 VLM (语言视觉模型) 和 MoE (专家混合模型) 组成。它整合了视觉、语言、动作、触觉等多模态输入,规划具体动作,直接输出机器人的动作执行序列。
举个例子来说,你告诉机器人去挂衣服,GO-1 会指导机器人理解任务要求,分解动作步骤,适应具体环境,最终执行操作。
但在更深的技术面,这是因为 GO-1 大模型融会贯通了机器人训练数据的四个层次:
在训练阶段,学习了互联网的大规模纯文本和图文数据,所以能理解「挂衣服」在此情此景下的含义和要求。
学习过人类操作视频和其他机器人的各种操作视频,所以能知道挂衣服通常包括哪些环节。
学习过仿真的不同衣服、不同衣柜、不同房间,模拟过挂衣服的操作,所以能理解环节中对应的物体和环境并打通整个任务过程。
又因为学习过真机的示教数据,所以机器人能精准完成任务。
这样一来,GO-1 大模型可以帮助机器人完成全面的「基础教育」和「职业教育」,让机器人具备强大的迁移学习能力。面对新场景时,机器人既有基本常识,又能根据多种多样的环境和物体,快速上手新操作。
- 论文链接:https://agibot-world.com/blog/agibot_go1.pdf
GO-1:VLA 进化到 ViLLA
与 Vision-Language-Action (VLA) 架构相比,ViLLA 通过预测 Latent Action Tokens (隐式动作标记),弥合图像 - 文本输入与机器人执行动作之间的鸿沟。在真实世界的灵巧操作和长时任务方面表现卓越,远远超过了已有的开源 SOTA 模型。
ViLLA 架构是由 VLM (多模态大模型) + MoE (混合专家) 组成,其中 VLM 借助海量互联网图文数据获得通用场景感知和语言理解能力,MoE 中的 Latent Planner (隐式规划器) 借助大量跨本体和人类操作数据获得通用的动作理解能力,MoE 中的 Action Expert (动作专家) 借助百万真机数据获得精细的动作执行能力。
在推理时,VLM、Latent Planner 和 Action Expert 三者协同工作:
- VLM 采用 InternVL-2B,接收多视角视觉图片、力觉信号、语言输入等多模态信息,进行通用的场景感知和指令理解
- Latent Planner 是 MoE 中的一组专家,基于 VLM 的中间层输出预测 Latent Action Tokens 作为 CoP (Chain of Planning,规划链),进行通用的动作理解和规划
- Action Expert 是 MoE 中的另外一组专家,基于 VLM 的中间层输出以及 Latent Action Tokens,生成最终的精细动作序列
Latent Planner 和 Action Expert 是这个 MoE 框架里的 2 个关键构成:
Latent Planner(隐式规划器)
尽管 AgiBot World 数据集已经是全球最大的机器人真机示教数据集,但这样高质量带动作标签的真机数据量仍然有限,远少于互联网规模的数据集。
为此,智元采用 Latent Actions(隐式动作)来建模当前帧和历史帧之间的隐式变化,然后通过 Latent Planner 预测这些 Latent Actions,从而将异构数据源中真实世界的动作知识转移到通用操作任务中。
- Latent Action Model(LAM,隐式动作模型)主要用于获取当前帧和历史帧之间 Latent Actions 的 Groundtruth(真值),它由编码器和解码器组成。其中
- 编码器采用 Spatial-temporal Transformer,并使用 Causal Temporal Masks(时序因果掩码)。
- 解码器采用 Spatial Transformer,以初始帧和离散化的 Latent Action Tokens 作为输入。
- Latent Action Tokens 通过 VQ-VAE 的方式进行量化处理。
- Latent Planner 负责预测这些离散的 Latent Action Tokens,它与 VLM 主干网络共享相同的 Transformer 结构,但使用了两套独立的 FFN (前馈神经网络) 和 Q/K/V/O (查询、键、值、输出) 投影矩阵。Latent Planner 这组专家会逐层结合 VLM 输出的中间信息,通过 Cross Entropy Loss(交叉熵损失)进行监督训练。
Action Expert(动作专家)
为了实现 High-frequency(高频率)且 Dexterous(灵活)的操控,智元引入了 Action Expert,其采用 Diffusion Model 作为目标函数来建模低层级动作的连续分布。
- Action Expert 结构设计上与 Latent Planner 类似,也是与 VLM 主干网络共享相同的 Transformer 结构,但使用两套独立的 FFN 和 Q/K/V/O 投影矩阵,它通过 Denoising Process(去噪过程)逐步回归动作序列。
- Action Expert 与 VLM、Latent Planner 分层结合,确保信息流的一致性与协同优化。
GO-1 首个通用具身基座模型
而 GO-1 基于 ViLLA架构。具体来说,VLM 作为通用具身基座大模型的主干网络,继承开源多模态大模型 InternVL2.5-2B 的权重,利用互联网大规模纯文本和图文数据,让 GO-1 大模型具备了通用的场景感知和理解能力。
隐动作专家模型作为第一个专家模型,是 GO-1 大模型中隐式的规划器,它利用到了大规模人类操作和跨本体操作视频,让模型具备动作的理解能力。
GO-1 大模型的最后是作为动作预测器的动作专家模型,它利用高质量的仿真数据、真机数据,让模型具备了动作的精细执行能力。
作为通用具身基座大模型,GO-1 实现了四项突破:
- 人类视频学习:GO-1 大模型可以结合互联网视频和真实人类示范进行学习,增强模型对人类行为的理解,更好地为人类服务。
- 小样本快速泛化:GO-1 大模型具有强大的泛化能力,能够在极少数据甚至零样本下泛化到新场景、新任务,降低了具身模型的使用门槛,使得后训练成本非常低。
- 一脑多形:GO-1 大模型是通用机器人策略模型,能够在不同机器人形态之间迁移,快速适配到不同本体,群体升智。
- 持续进化:GO-1 大模型搭配智元一整套数据回流系统,可以从实际执行遇到的问题数据中持续进化学习,越用越聪明。
实验结果
通过 Vision-Language-Latent-Action (ViLLA) 创新性架构,研究团队在五种不同复杂度任务上测试 GO-1。
相比已有的最优模型,GO-1 成功率大幅领先,平均成功率提高了 32%(46%→78%)。其中 GO-1 在倒水(Pour Water)、清理桌面(Table Bussing) 和补充饮料( Restock Beverage) 任务表现尤为突出。
此外,他们还对 Latent Planner 进行了消融实验,可以看到增加 Latent Planner 可以提升 12% 的成功率 (66%→78%)。
在破解机器人训练的数据难题上,智元始终秉持开源精神,推动业界共享。
去年 12 月,智元面向全球开源了 AgiBot World 数据集大规模训练数据集,这是首个基于真实场景和全栈硬件的平台所采集的百万级机器人数据集。今年 2 月,智元开源了 AgiBot Digital World 仿真数据集,还可以提供多元化的专家轨迹生成策略。
如今,随着 ViLLA 架构与 GO-1 大模型的重磅发布,机器人不仅拥有了海量真实和仿真数据,更具备了快速学习的迁移能力,让机器在拓展了运动能力之外,更加具备了 AI 的能力,作业能力,是让机器具备了真正的价值。
相信机器人将能更好地适应千变万化的现实环境,向着具备通用智能的自主体发展,在商业、工业、家居等多个领域大展身手。
#AppAgentX
DeepSeek的最佳用法?西湖大学发布可以自主进化的手机智能体
1. 背景介绍
近年来,大语言模型(LLM) 的快速发展正推动人工智能迈向新的高度。像 DeepSeek-R1 这样的模型因其强大的理解和生成能力,已经在 对话生成、代码编写、知识问答 等任务中展现出了卓越的表现。如今,LLM 的应用范围正进一步拓展,催生了一类新的智能体 —— 基于 LLM 的 GUI 智能体(GUI Agents),它们能够像人类一样,直接通过鼠标、键盘与计算机或手机进行交互。
这类智能体不再依赖传统 RPA(机器人流程自动化) 方式,即基于预定义的规则和脚本执行任务,而是能够通过自然语言理解用户指令,自主完成操作。例如,它们可以打开应用、编辑文档、浏览网页,甚至执行跨软件的复杂任务,而无需开发者手动编写繁琐的自动化脚本。相比 RPA,这类智能体的优势在于灵活性和泛化能力,能够适应不同任务场景。
这一趋势让人们对 AI 助手的想象逐渐成为现实。科幻电影中的 贾维斯(Jarvis),能够理解自然语言并自主操作计算机,而今天的 LLM 智能体正在向这一方向迈进。企业中也正在推广 数字员工(Digital Workers),他们可以自动完成数据录入、报表生成、邮件回复等重复性任务,从而提高生产力。此外,智能体还被应用于 自动化软件测试、远程控制、智能办公助手 等场景,使人们能够自然地用语言指令控制计算机甚至整个企业 IT 系统。
然而,目前的 LLM 智能体在实际应用中仍然存在效率问题。现有方法依赖 逐步推理,即每执行一个操作前,模型都要 “思考” 下一步该做什么。例如,在执行简单的搜索任务时,智能体需要分别推理 “点击搜索框” → “输入关键词” → “点击搜索按钮”,即便是简单的步骤,也需要耗费额外的计算资源。这种模式虽然提高了通用性,但在应对大量 重复性任务 时,效率却远不如传统的 RPA。
因此,一个关键问题是:是否可以让智能智能体既保留推理能力,能够灵活应对新任务,同时又能像 RPA 一样高效执行常见任务?
为了解决这一问题,西湖大学 AGI 实验室 提出了一种可进化的 GUI 智能体框架 ——AppAgent X。这是 GUI 智能体先驱工作 AppAgent 的最新版本,它让 LLM 驱动的智能体能够从自身的操作经验中学习,不断进化更高效的行为模式。简单来说,AppAgent X 让智能体能够在任务执行过程中识别 重复性操作模式,并将一系列低层级的操作自动归纳为更高级的 “一键” 操作。例如,智能体可以学习到 “搜索” 这一任务模式,并自动将其抽象为一个高层级操作,而无需每次都推理具体步骤。这意味着,智能体在使用过程中会变得越来越高效,越用越聪明。
- 论文标题:AppAgentX: Evolving GUI Agents as Proficient Smartphone Users
- 项目地址:https://appagentx.github.io/
- Github 地址:https://github.com/Westlake-AGI-Lab/AppAgentX
- Arxiv 地址:https://arxiv.org/abs/2503.02268
论文的第一作者是来自西湖大学的研究人员蒋文嘉,指导老师为西湖大学 AGI 实验室的负责人张驰助理教授。实验室的研究方向聚焦于生成式人工智能和多模态机器学习。
AppAgent X的功能示意图
2. AppAgent 的解决方案
在大语言模型与屏幕进行交互的时候,主流工作例如 AppAgent 定义了一系列模拟人类的动作,例如点击、滑动、输入。这些操作共同定义了一个基本的、与应用程序无关的操作空间,用于模拟人类与智能手机界面的典型交互。
在不断的屏幕感知与动作执行的循环中,直到任务的完成。
3. 挑战:智能与效率的平衡
在大模型驱动的 GUI 智能体中,一个关键问题是如何在智能决策与执行效率之间取得良好平衡。现有方法虽然能借助大模型的强大推理能力理解界面,并逐步规划点击、输入、滑动等交互操作,但这种逐步推理的方式往往导致较高的计算成本和执行延迟。例如,在完成一个简单的搜索任务时,智能体可能需要针对 “点击搜索框、输入关键词、点击搜索按钮” 三个步骤逐一推理,而这种方式虽然保证了决策的准确性,却牺牲了执行速度。
相较之下,传统的机器人流程自动化(RPA)工具虽然缺乏灵活性,但基于固定脚本的执行策略允许其在预定义任务上实现极高的执行效率。对比二者,大模型智能体的优势在于适应性强,能够在复杂或未知界面中推理最优交互方式,而 RPA 的优势则在于执行速度快,能够高效完成固定任务。如何在大模型智能体的智能性与执行效率之间找到最佳结合点,成为推动该技术落地的重要挑战。
4. 进化机制下的 AppAgentX
AppAgentX 提出了一种可进化的 GUI 智能体框架,使得智能体不仅能像人类一样自主探索和理解界面,还能通过学习自身的历史交互模式,逐渐优化执行过程,实现智能与效率的最佳结合。
通过引入链式存储机制和动态匹配执行机制,使得智能体能够高效记忆、归纳并优化自身的操作轨迹,从而在后续任务中复用高效的执行策略,减少重复推理,提高整体任务完成速度。
4.1 基于链式的存储机制
研究者为智能体设计了一种链式知识存储机制,用于记录每次任务执行时的完整交互流程。具体来说,智能体的每次操作都会被存储形成一个 “链”,其中包括:
- 页面节点:记录界面的详细描述与可交互组件,帮助智能体回忆不同界面的功能。
- 元素节点:针对界面上的按钮、输入框等交互元素,存储其视觉特征及历史操作方式。
- 捷径节点:对过去的操作步骤进行归纳,使智能体能够复用已有的成功经验。
在此基础上,研究者利用大模型从历史操作路径中提取任务逻辑,并自动总结出页面和交互元素的功能描述。例如,智能体可以总结出 “搜索框 + 确认按钮” 这一模式,并将其作为高层级的语义单元记录下来。这样,在未来遇到类似界面时,智能体便无需从零开始推理,而是可以直接调用已学习到的高效解决方案。
4.2 动态匹配的执行机制
基于存储的交互链,AppAgentX 能够通过进化机制自动提炼出高效的执行方式。当智能体识别到某些操作模式具有固定的执行顺序时(例如点击搜索框 → 输入内容 → 提交搜索),它将动态创建一个捷径节点(shortcut node) ,将多个底层操作整合为一个更高级的动作,从而减少不必要的推理和执行时间。
在后续任务中,智能体会优先匹配当前界面与已有的链式存储记录,并判断是否可以直接调用高级操作节点。如果匹配成功,智能体便无需逐步推理所有低层操作,而是直接执行已经优化的快捷路径,提高任务执行效率。此外,对于未匹配到的任务,智能体仍能够基于基础动作空间进行动态推理,确保智能性和灵活性不受影响。
这一机制的优势在于,它使得智能体的推理能力与执行效率可以动态调节:
- 对于复杂任务,智能体依然可以依靠大模型的推理能力逐步探索执行路径;
- 对于重复性任务,智能体能高效调用历史优化的快捷操作,提高执行速度;
- 自适应进化,智能体能够不断优化自身的决策,使其在长期运行中表现越来越高效。
5. 结论与展望
随着大语言模型(LLM)的快速发展,智能体正逐步从简单的文本交互进化到能够直接操作操作系统和 GUI 界面的自主智能体。然而,现有方法在效率和执行智能化之间存在权衡,导致 LLM 智能体在面对重复性任务时表现低效。AppAgent X 提出了一种可进化的 GUI 智能体框架,使智能体能够从自身的任务执行经验中学习,逐步形成更高效的操作策略。通过这一方法,AppAgent X 兼顾了 LLM 智能体的灵活性和 RPA 智能体的执行效率,实现了高效、智能、无需后端访问的 GUI 操作。
在实验中,AppAgent X 在多个 GUI 交互任务上展现出了显著的效率提升,并优于现有 SOTA 方法。它的进化能力使得智能体能够不断优化自身的操作流程,为未来的智能化人机交互奠定了新的基础。
展望未来,GUI 智能体的进化将是 LLM 智能体发展的关键方向之一。我们相信,随着 LLM 在推理能力上的持续进步,智能体可以进一步拓展至更复杂的应用场景。
#LightTrans
优于o1预览版,推理阶段KV缓存缩减一半,LightTransfer降本还能增效
LLM 在生成 long CoT 方面展现出惊人的能力,例如 o1 已能生成长度高达 100K tokens 的序列。然而,这也给 KV cache 的存储带来了严峻挑战。为应对这一难题,“hybrid model” 成为了一条备受关注的可行路径:它在标准 transformer 的部分层中引入更高效的注意力机制(如 RNN 或 sliding window attention),以替代原有的注意力层。近期的研究(如 minimax-01、gemma2 等)已经充分验证了这种混合模型的有效性,但目前依然需要从头训练,尚未出现可以直接轻量级迁移已经训练好的 dense transformer 模型到 hybrid model 的方案。
我们希望提出一种简洁高效的方法,将已经预训练完成的 dense transformer 模型顺利转换为 hybrid models。为此,我们提出了 LightTransfer,这一思路源于一个关键观察:现有模型中存在大量呈现 “lazy” 特性的冗余层 [1]。因此,一个直观的想法就是将这些冗余层替换为仅需常数大小 KV cache 的 streaming attention,从而无需维护完整的 KV cache,将 dense Transformer 转变为更高效的 hybrid model。
图片来源:https://arxiv.org/pdf/2309.17453
- 项目主页:https://sites.google.com/view/lighttransfer
- Huggingface 模型:cxdu/QwQ-32B-LightTransfer
- github 代码:https://github.com/sail-sg/LightTrans
LightTransfer-Train
1) 方法
LightTransfer 的方法非常直接:我们先在训练集上跑一遍 benchmark,识别出最 “lazy”,也就是 lazy ratio 最高的 50% attention 层,然后将这些层替换为 streaming attention。lazy ratio 用来衡量模型在第 (i) 层的注意力分配:它统计了来自 Query 对初始和最近 key 的注意力权重之和,数值越高就代表该层的注意力越集中在这些 key 上,也就越 lazy。lazy ratio 的具体定义如下:
其中:
-
- 表示最后一部分的查询(query)集合;
-
- 分别表示初始与最近部分的键(key)集合;
-
- 为在第 i 层从查询 q 到键 k 的注意力权重。
当
值越高,说明第 i 层对这些键的关注度越集中,也就越“lazy”。
QwQ 中每层的 lazy ratio 分布如下:
2) 实验结果
我们的主要实验对象是 o1 类的长 CoT 生成模型。由于 QwQ 并未公开其训练数据,我们遵循 STILL [2] 的方案,使用与其完全相同的训练设置(包括数据集、训练参数以及以 Qwen2.5-32B-Instruct 作为起点),唯一的差别在于,我们将 50% 的层换成 streaming attention。这样就能在推理阶段显著缩减近一半的 KV cache。
从表中可以看出,LightTransfer 在 AIME24 & 25 以及 MathOAI 上的表现优于 QwQ-STILL 和 o1-preview。
LightTransfer-Test
1) Motivation
对于另外一种更为主流的长上下文理解(long context understanding)任务而言,输入文本本身就非常冗长,因此在测试阶段可以对模型进行即时(on-the-fly) 转换。
2) 方法
基于这一点,我们提出了 LightTransfer-Test,使得模型在推理环节仅依赖 prefilling 的结果就能完成识别和转换。然而,在实际操作中,我们也面临了两个问题:
问题 1:与 Flash Attention 的不兼容
当前,Flash Attention 已成为标配,但它并不会显式计算并存储注意力权重 (attention weights);因此,如果我们想要获得用于衡量 lazy ratio 的注意力信息,就必须重新计算注意力权重,这会带来不可忽视的额外开销。
解决方案:为避免重复计算,我们借鉴了 online softmax 的思路,利用 Flash Attention 在计算过程中生成的 LSE(log-sum-exp)作为 lazy ratio 的分母。更值得注意的是,我们惊喜地发现分子的计算复杂度仅为 O (1),而若重新计算则需要 O (seq_len),因此这种方法有效地避免了大规模的重复开销。具体算法如下:
问题 2:prefilling 阶段的峰值内存
若等到 prefilling 结束后才根据各层的 lazy ratio 进行识别和转换,那么整个 prefilling 阶段所需的内存峰值并没有减少。
解决方案:为了解决这个问题,我们设计了一种基于优先队列的策略,保证在 prefilling 阶段,所需的内存峰值不会超过设定阈值(即 50% 的 full KV + 50% 的 streaming KV)。具体地说,我们维护一个以 lazy ratio 为优先级的队列:在 prefilling 过程中,一旦队列中排队的层数超出预先设定的阈值(例如 50% 的网络层),我们会从队列中移除 lazy ratio 最高的层,并将其 KV cache 切换为 streaming 版本。这样就无需像 SqueezeAttention [3] 那样等到 prefilling 完成后才压缩 KV cache,从而有效避免了 prefilling 阶段峰值内存居高不下的问题。LightTransfer 具体做法如下图:
3) 实验结果
从表中可以看出,LightTransfer-Test 在 LongBench 上相较于其他层间 KV cache 压缩方法(如 MiniCache 和 SqueezeAttention)具有更好的表现。它在将近一半的 KV cache 被削减的情况下,四个模型的平均性能仅下降了 1.5%; 尤其是在拥有更多层数的 LlaMa 3-70B 上。
[1] Xiao et al. Efficient streaming language models with attention sinks. ICLR 2024.
[2] Min ei tal. Imitate, explore, and self-improve: A reproduction report on slow-thinking reasoning systems. arXiv 2024.
[3] Wang ei al. Squeezeattention: 2d management of kv-cache in llm inference via layer-wise optimal budget. ICLR 2025.
#顶尖博士为什么偏爱去字节实习
专为我开了一个新课题
在字节跳动,有这样一群实习生,他们的另一重身份,都是来自顶尖高校的技术博士。
实习第 100 天,团队为了清华博士云飞专门开了一个全新课题。北大博士瑞晨曾经不得已搁置的想法,也在这里实现了大规模验证。
在字节跳动的实习经历,几乎贯穿了北大博士天亮和中科院博士露阳的整个博士生涯。天亮从一个 “束手束脚” 的实习生成长为一名独当一面的技术大牛。曾抱着 “试一试” 心态的露阳,也在 “一件又一件有挑战的事” 中拿下了 5 篇顶会和 3 项专利,他决定长期留在这里……
天亮、露阳、云飞、瑞晨…… 他们是众多正在或曾在字节跳动实习的技术博士故事的缩影。对于仍在校园象牙塔的年轻人而言,职场仿佛是个很遥远的地方。但加入字节跳动后,他们就像一颗颗种子,在这片自由、创新的土壤扎下了根,并不断实现突破、成长……
从左至右:露阳、云飞、天亮、瑞晨
“去那里能真的学到东西”
天亮常说,自己是在字节跳动读了个博士,因为 “博士期间的成果基本上都是在公司做的”。
2018 年 10 月 22 日,入职那天,也是天亮的生日。到达盈都那排 “矮楼” 时,恰逢上班高峰,穿过 “旋转门” 进入工区的人络绎不绝,他回忆说,“当时最直接的感受就是:好多人,好挤啊。”
“挤” 的背后,是这家企业正在快速发展。天亮回忆说,“其实字节参与视频编码标准制定还没多久,但在外界看来,这家公司科研实力很强,有一种异军突起的感觉。”
之所以会产生这样的认知,一方面是字节跳动在短时间内密集发布成果,另一方面则是汇聚了一批 “优秀的人”。
“很多行业享有盛名资深大佬都在字节,” 天亮说,“我导师经常在实验室讲,你们的大师兄、大师姐又在字节做出了什么成果。”
盈都大厦一角
入职前参与的一次提案会,更加深了他的这种印象。那次会上,围绕 H.266 国际标准框架,字节跳动提出了一条全新的技术方案,剩下的五六家厂商,都是对手阵营。
“会议室有两个话筒,我在字节的那位大师姐站在一个话筒前,剩下的厂商站在对面轮番挑战。那种感觉,就像是华山论剑里的高手过招。” 天亮对那次会议记忆犹新,“我之前对她是只闻其名不见其人。直到那次,我才真的意识到,这个人真厉害。”
最终,字节跳动在那场会议上赢得了胜利,提案顺利通过。所以,当导师推荐他到 “大师姐” 的部门实习时,天亮非常激动,“我的想法很简单:有那么多大佬在,去那里肯定能学到真东西。”
因为想 “学到真东西”,而来字节跳动实习的技术博士,并不只有天亮一个。
2020 年的暑假,在清华直博的云飞确定了自己的课题方向 —— 通用智能机器人。导师告诉她,字节跳动有一个相关领域的团队,建议她去 “看一看”。
“我导师读书时也曾在字节实习过好几次,他觉得在这里能学到不少东西。” 云飞说,在导师的亲身经历 “背书” 下,尽管还有其他实习机会,但她还是来到了这里。
云飞在校园
同样是在那个夏天,中科院博二在读的露阳也发现,自己 “需要一个更大、更好的发展平台”。
“在网络领域,传统软件协议栈处理的方式已经到达瓶颈,软硬件协同设计下的高性能传输协议正在成为重点。” 露阳回忆说,“所以我当时很想往数据中心网络领域发展。”
在导师的引荐下,露阳和字节跳动弹性加速部门的负责人聊了几次,发现对方 “做事的态度和科研的能力都很好”。知道露阳在硬件领域比较薄弱,那位负责人(也就是露阳后来的 Leader)还专门为他整理了一套技术文档。
入职第一天下午 1v1 时,露阳回忆说,Leader 给他买了一堆零食和饮料, “他直接说想把我留的时间更长,和我一起做很多更 Exciting 的事。” 原本只是想来 “看一看” 的露阳在当时并没想到,这次实习会持续四年多。
他正式的职业生涯,也将在这里开始。
“专门为实习生开了一个课题”
现在回想起来,云飞会说自己刚开始实习时,做的都是些 “很愚蠢、无聊的事”。“我当时对机器人的认知并不够,没想好具体要做什么,” 她说,“只是模糊的想到把强化学习和机械臂控制做结合,让机械臂把积木块从 A 点抓到 B 点。”
三个月多后,Leader 看她已经 “慢慢进入了状态”,就建议她 “做点更有趣、更性感的事。” 在 Leader 和同事们的帮助下,云飞开始思考,“既然机械臂可以挪动积木块了,那能不能把它们组合成更有趣的形状?”
于是,她开启了自己的实习 2.0 阶段 ——“搭桥”。听起来简单,但对当时的单臂机器人来说,却是从 “简单任务” 到 “复杂任务” 质的飞跃。
“涉及到的材料很多,且形状、长短不一,这种长流程任务对强化学习本身就是一个挑战。” 云飞解释说,“强化学习是一个不停摸索的过程,发现一些有用的信号后,才会朝着这个方向迭代。一开始我们引入了一些外部激励函数,去强行拖着算法走,但都没有取得很好的效果。”
那段时间,让云飞感到 “非常难受”。在与 Leader 和同事们讨论后,她决定另辟蹊径。
“算法之所以探索不到有用的信号,是因为每次都从零开始,碰了钉子就又回到了零的状态,哪怕做出了一些好的结果也作废了。” 云飞说,“后来我们想到,可以让算法记录下自己的历史状态,遇到好的结果就继续沿用。” 本质上,这是一个算法自我学习、自我探索、自我奖励的过程。
“当然这个方法并不是我们的首创,但当时在国内受到的关注还比较小,主要是在学术界大家在鼓捣着玩。” 云飞说,“我在的组之前并没有人做,相当于是单独为我这个实习生新开了个课题。”
国际智能机器人与系统大会 IROS 2021 上,云飞参与设计的机械臂展示如何 “搭桥”
不只是云飞,类似的故事,几乎每天都在字节跳动发生。
研究量子蒙特卡罗领域的北大博士瑞晨回忆说,自己刚入职时做的事情也很基础,“就是用各种标准网络结构解方程、计算分子性质。”
但不久后,他就发现已有的网络结构开销非常大,计算速度面临着瓶颈。“要得到一个双苯环 84 电子的计算结果,可能需要用一万多的 GPU 卡时。” 瑞晨回忆说,“在这样大的一个消耗下,我们的迭代速度会非常缓慢。”
“我们当时是沿着业界的标准做法,直接计算神经网络的二阶导数,这极大限制了计算速度。” 瑞晨回忆说,“但当时二阶导数在神经网络领域的研究非常少,我就在想,能不能有一种新的方法,去加速二阶导数的计算?”
虽然有严格的理论支撑,但并没人尝试过。当瑞晨拿着初期的验证结果找到 Leader,对方直接鼓励他,“去干吧”。于是,瑞晨就成了这个课题项目的实际负责人,那时距离他入职实习,也只过去了三个多月。
最终结果得到验证的时刻是个冬天,“我当时正在电话亭里和同事开会,顺便把代码跑一跑,结果发现真的成了。” 他回忆说,“那一刻真的是头皮发麻,激动得浑身冒汗。”
在瑞晨和同事们的努力下,最初的那个小想法沉淀成了一套二阶导数计算的自动微分程序,“在这套程序的帮助下,在保证标准网络结构计算精度的同时,计算速度也提升了 10 倍以上。”
这项成果也成为了该领域内里程碑式的研究工作,并发表在了自然子刊《Nature Machine Intelligence》上。去年八月,DeepMind 发表于《Science》上的成果也受益于这项成果。
“这也许会让你大吃一惊,” DeepMind 研究员 David Pfau 在社交媒体上评论道,“但我们依靠微软基于北京字节跳动团队研究的开源包来快速完成这些计算。”
DeepMind 科学家 David Pfau 的个人社交媒体
从 0 经验到推动技术实现行业领先
事实上,这个想法的雏形在瑞晨来字节跳动之前就形成了,但当时的他只能搁置下来。背后的原因,主要是计算资源的欠缺。
到了字节跳动之后,曾经的难题迎刃而解。“正是因为有着充足的计算资源,我才想到原来的那个 idea 能不能再试一试。” 瑞晨说,自己的课题也是组内消耗资源最多的项目,“即便是有前期试验结果,在大规模验证之前,没人能预料到最终的结果,我的部门其实是在陪我一起冒险。”
筋斗云 (字节跳动面向优秀校园技术人才推出的人才专项)Open Day 上,瑞晨在参与破冰游戏
“不怕你试错,就怕你不试嘛。” 天亮到字节跳动实习后,慢慢变得更敢放手干了,他感觉自己 “从没打过这么富裕的仗”。
“在字节跳动,我可能一两天就拿到计算结果了,这给了我更多试错空间。搞研究嘛,没有试错怎么进步?” 他说,“但是在学校实验室,用到的时间就比较长,拿到结果时甚至可能都忘记为什么要做这个实验了。”
云飞对此也深有体会。“在机器人这个语境下,如果脱离了基础设施,再好的想法也是空中楼阁。” 她说,在实验室里要做一项分布式训练是不可想象的,但到了字节跳动,“有专门的团队在做基础设施,你的训练任务可以得到非常稳定的保障,想实现一些想法也会更加容易。”
露阳正是字节跳动技术基础设施建设者中的一员。
入职第一年,露阳就独立构建了基于 Python 的硬件仿真框架 (Cocotb),并面向 ByteFPGA 平台开发了 driver、monitor、function coverage 等多类基础组件和基于 HBM 的行为模型,为字节跳动多项业务的顺利开展打下了基础。
后来,他开始走出软件仿真的 “舒适区”,逐渐迈向硬件设计这个的陌生领域。
弹性加速部门的工作涉及到众多真实业务,可谓牵一发而动全身。“我在硬件领域的经验不足,没能力去独立负责一个很大的功能模块。” 他回忆称,自己正是从一个个子功能模块开始做起,“每当我提出一种设计方案,Mentor 和其他同事都会帮逐个分析细节,并一起修正错误。”
随着一个个子功能模块的完善,露阳也越走越远。实习第三年,在字节跳动自研网卡项目中,他已经可以独立负责 “超大规模组网拥塞控制测试和优化” 这个关键任务了。自研网卡分为单卡设计、测试和大规模组网测试、优化,在某种程度上,露阳成为了整个项目的 “守门员”。
露阳和陪伴他 4 年多的工位
正当他准备大干一场时,却发现自己掉进了一个又一个 “坑”。“我接手一段时间后,发现到某一个版本后突然间性能就上不去了,网络抖动特别厉害,延迟也很高。” 露阳最开始采用排除法,“哪个组件出现了问题,我就让它回退一个版本,迭代更新之后再重新测试”。
但经过数次迭代,“距离理想的性能还是有很大的差距”。在 “每两周就要更新一个版本” 的上线压力下,他每天一睁眼就开始思考。“整个人进入了一种疯狂的状态”,露阳回忆说,“当时 Mentor 让我每天都把问题汇总起来,并拉上各组件的负责同事一起排除卡点、解决问题。”
就这样,曾经看上去不可逾越一道道关卡,就在一次次群策群力中消失不见。最终,露阳参与自研的高性能可扩展的 ByteRDMA(字节自研高性能传输层协议),成功解决了大规模组网下网卡吞吐波动、吞吐下降和不公平等多类难题,令组网链路带宽利用率从 65% 提升到了 98%,实现了业界领先。
“不知不觉就爱上了这里”
一件又一件 “有挑战的事”、一个又一个落地成果,串联起了露阳在字节跳动实习的 1600 多天。在此期间,他参与为字节跳动众多技术和业务,以及数以万计的技术、科研同事,筑起了牢固的技术基础设施,并取得了 3 项专利和 5 篇顶会。
曾经对职场充满 “西装革履、等级森严” 这类想象的他,也逐渐改变了自己的想法。
作为新人小白时有人手把手带教,“哪怕是不同的部门,但同事们会把之前的经验毫无保留地分享出来。他们真的想帮我,我们有时候会就我遇到的一问题讨论到晚上 9、10 点。” 露阳说,“你的创新想法不会受到层层审批,不用靠关系,你纯粹可以靠能力去实现价值。”
时隔多年以后,瑞晨已经很难再回忆起自己当初究竟是在哪一刻说服同事跟自己一起 “冒险” 了,“可能是在一次闲聊中?或者是一起去食堂吃饭的路上。” 他说,“我们从来没有什么边界,随时随地都在交流想法。”
尽管中间曾短暂离开过字节跳动一段时间,但云飞始终对那种自由、创新的氛围念念不忘,“这里既有成熟组织完善的基础设施,又有创业公司的灵活性。” 去年,露阳、瑞晨、云飞,也都通过了 “筋斗云人才计划”,并拿到了字节跳动的正式 Offer。
“这是一片创新的土壤。” 天亮说,这种认知在他入职的第一天就形成了。那时,他刚到工位就看到一个同事在那里 “叭叭”——“一会儿聊聊技术、一会儿唠唠家常。” 天亮回忆说,“看到我来,她非常开心,说‘小鲜肉来了’,并告诉我无论有什么问题都可以找她。”
天亮依旧是那个阳光开朗大男孩
“这里跟学校的实验室没什么区别,无论部门 Leader 还是行业大佬都没有架子,” 天亮说,“和他们讨论某个问题,就像是跟师兄师姐交流一样,你的每一个想法都会得到充分尊重。”
实习 1600 多天后,天亮从一个 “束手束脚” 的实习生,成长为一名独当一面的技术大牛。实习期间拿下的 5 个提案、5 篇顶会和 1 篇重要期刊,也构成了天亮博士论文的基本内容。
2023 年,天亮在字节跳动成功转正,并从视频编码标准部门换到了离线编码技术部门。但他最开始感受到的那种活跃的氛围却从没有消失。入职第一天开心叫他 “小鲜肉” 的那位同事,也依然坐在他的旁边。
如今,天亮已经升级做了 “奶爸”,他没想到在职场 “混迹” 六年多之后,他还依然是那个 “阳光开朗大男孩”。有时候带着带着娃,或玩着玩着游戏,天亮也会抽空跑一跑自己的代码。妻子经常开玩笑说,“你是真的爱自己的工作啊。”
“就像谈恋爱一样,你很难回忆是在具体哪一刻爱上了对方。” 露阳说,“但通过很多日常中的小事,你会不知不觉爱上这里。你心里明白,你愿意和它一起走下去,因为它,你也会成为一个更好的人。”
据编者了解,3 月 6 日,字节跳动启动了筋斗云人才计划实习生专项招聘,在大模型应用、搜索、推荐、广告、计算机体系结构与系统优化、安全、AI Safety、硬件、AI Coding、视频架构、AIGC、AI for Science、机器人等 10 大技术领域开设了 44 个课题,旨在全球范围内吸引和招募一批有志于用技术创造突破性价值的顶尖博士(2025 年 9 月及以后毕业)。
#Chain of Draft
全新CoD颠覆推理范式,准确率接近但token消耗成倍降低
随着推理模型 Deepseek R1 的爆火,Zoom 研究团队将认知科学中的思维链注入进 AI 推理领域,开创性地提出 Chain of Draft(CoD)技术框架,重塑大语言模型推理范式。
如今,OpenAI o1 和 DeepSeek R1 等推理模型的发展,显著提升了思维链 (CoT) 之类的技术在大语言模型 (LLM) 推理任务上的表现。这种范式鼓励模型将问题分解为逐步探索,模仿人类的结构化推理过程。虽然这种方法有效,但它在推理时需要更多的计算资源,导致输出冗长且延迟更高。
这种冗长与人类通常解决问题的方式形成了鲜明的对比:我们依靠简洁的草稿或速记笔记来捕捉基本见解,而无需不必要的繁琐。
受这种差异的启发,来自美国 Zoom 视频通讯公司的研究团队提出了 Chain of Draft(CoD),这是一种新颖的提示策略,通过优先考虑效率和极简主义,更接近人类推理。
具体来讲,CoD 鼓励 LLM 在每个步骤生成简洁、信息密集的输出,而不是过度强调中间步骤。这种方法在不牺牲准确性的情况下减少了延迟和计算成本,使 LLM 更适合效率至上的实际应用。
- 论文标题:Chain of Draft: Thinking Faster by Writing Less
- 论文地址:https://arxiv.org/pdf/2502.18600
针对大语言模型传统推理范式中的效率瓶颈,该研究捕捉到了人类思维中「关键信息快照」的本质特征,提出了 CoD。为了评估 CoD 的有效性,研究团队在数学推理、常识推理和符号推理等需要多步推理的基准上进行了实验。
结果显示,在符号推理任务中,CoD 的信息密度达到标准 CoT 输出的 14.7 倍,同时显著减少了 token 的使用和延迟。
本文的研究贡献包括:
- 设计稀疏的推理草稿,仅需 7.6% 的 token 量即可完成等效推理深度,开创了认知启发的模型压缩新路径;
- 端到端推理延迟压缩与部署成本的降低,推理延迟从 0.9 秒压缩至 0.7 秒,实现「降本增效」的双重突破;
- 提出了新的大模型重构推理架构,为金融高频交易、自动驾驶决策等时延敏感型应用提供了可行性验证,标志着 LLM 从实验室模型向工业引擎的实质性跨越。
方法概述
该研究创新性地提出了 CoD。CoD 提示将推理过程浓缩为最小的抽象表示。推理过程被提炼为一个简洁的方程式,仅关注得出解决方案所需的基本数学运算。通过抽象出不相关的上下文细节,CoD 显著减少了 token 数量,同时保持了透明度和正确性。
CoD 基于认知科学中人类思维模式,其信息密度是传统 CoT 的 13.2 倍,在开发过程中,研究团队通过跨学科迭代:
- 首先基于思路链的结构化提示,构建端到端、简化认知等特征的思维稿;
- 继而设计思维稿对大模型驱动推理赋能,在 Claude 3.5 Sonnet 上实现算术推理 token 消耗从 189.4 骤降至 14.3(节省 92.4%);
- 最终通过并行稀疏注意力框架(吞吐量 + 3.8 倍)和动态批处理技术(批次弹性扩展 1-128)完成工业级优化,实测端到端延迟从 3.1 秒压缩至 1.6 秒(降幅 48.4%),为高频金融交易等场景提供亚秒级(<0.5s)高效推理支持。
下图展示了 CoT 与 CoD 提示的区别:
实验结果
研究中较为全面、科学地评估其有效性和性能,设置了一系列严谨且针对性强的实验:基准测试实验、效率验证实验和成本效益实验。
- 基准测试实验选取了多个要求多步推理的基准测试,涵盖了数学推理、常识推理和符号推理等领域。
- 效率验证实验包括 token 消耗评估和推理延迟测试,其中 token 消耗评估包括精确测量 CoD 在各个基准测试任务中所使用的 token 数量,并与 CoT 进行对比;推理延迟测试通过 CoD 在不同任务中的端到端推理延迟,并与 CoT 进行比较。
- 成本效益实验基于 token 消耗和推理延迟等因素,计算 CoD 和 CoT 的单位推理成本。
推理试验数据集考虑以下五个数学应用题基准,(1) 数学应用题的 GSM8K 数据集,(2) 结构各异的数学应用题的 SVAMP 数据集,(3) 各种数学应用题的 ASDiv 数据集,(4) 代数应用题的 AQuA 数据集,以及 (5) MAWPS 基准。
研究中所提出的模型方法在 GSM8K 这一数学推理任务中,在 GPT-4o 下,CoD 的准确率达到了 91.1%,CoT 的准确率为 95.4%,CoT 的准确率略高于 CoD。但 Token 消耗方面,CoD 仅需 14.3 个 Token,相比传统模型的 161.2 个 Token。推理延迟也从传统模型的 4.2 秒大幅压缩至 1.0 秒,降低了 76.2%。
对于 Claude 3.5 Sonnet,CoD 和 CoT 的准确率表现相近。在 Token 消耗方面,CoD 相较于 CoT 下降了 79.1%,推理速度提升至 1.6 秒,延迟降低了 48.4%。这表明 CoD 在保证较高准确率的同时,极大地提升了推理效率,减少了计算资源的消耗。
对于常识推理任务(下表 2 日期理解),在 GPT-4o 下,CoD 的准确率为 88.1%,低于 CoT 的 90.2%。Token 消耗上,CoD 为 30.2 个 Token,CoT 则达到 75.7 个 Token,节省了 60.1% 的 Token,时间也从 1.7 秒降低到 1.3 秒。
对于 Claude 3.5 Sonnet,CoD 的准确率高达 89.7%,高于 CoT 的 87.0%,而 token 消耗相较于 CoT 下降了 82.0%,推理时间从 3.2 秒减少到 1.4 秒。CoD 在常识推理任务中同样展现出高效性和准确性,能够更快速且精准地处理常识性问题。
在原始 CoT 研究论文中提出的硬币翻转推理任务框架下,研究者要求大语言模型(LLM)根据一系列抛硬币操作序列预测最终硬币的正反面状态。由于该研究的原始实验数据集尚未开源,本研究严格遵循其方法论复现了包含 250 个测试样本的基准数据集。研究人员按照相同的设计合成了一个包含 250 个示例的测试集,基于 NameDataset 数据集,从美国地区排名前 1000 的名字中随机选择 4 个,并随机决定是否对每个名字抛硬币。评估数据的示例如下所示。
GPT-4o 和 Claude 3.5 Sonnet 的测试结果如表 4 所示。在标准提示方式下,这两个模型的准确率分别为 73.2% 和 85.2%。不过当采用 CoT和 CoD提示策略时,两个模型均达到了 100% 的完美准确率。通过与 CoT 相比, CoD 显著减少了 token 使用量,对于 GPT-4o 减少了 68%,对于 Claude 3.5 Sonnet 则减少了 86%。
更多实验结果请参阅原论文。
#Manus被破解了?
曝出系统提示词和背后大模型,CTO也回复了
最近几天,一个叫「Manus」的通用 AI Agent 产品刷屏网络。
它能完成复杂的文件处理、数据分析、代码编写等多种任务。刚上线不久,大家纷纷在线求购邀请码,都想亲自上手一试这个突然火起来的智能体。
还在苦苦等待邀请码的小伙伴,可以转向开源复刻版本的体验了。例如,MetaGPT 团队开发的开源复刻版 OpenManus,完全免费且无需邀请码,支持本地运行。此外,CAMEL-AI 团队也推出了 Manus 的开源复刻版本 OWL。这些开源项目都可以作为 Manus 平替。
除了产品性能,大家比较好奇的还有 Manus 背后到底用到了哪些技术。
就在几个小时前,X 用户 jian 对 Manus AI 系统进行了破解,只用一句话,就让 Manus 全盘拖出运行代码。
具体来说,jian 只是简单的要求 Manus 输出「/opt/.manus/」目录下的文件。Manus 就「吐」出了一些重要信息以及沙盒运行时代码。
Manus链接:https://manus.im/share/lLR5uWIR5Im3k9FCktVu0k?replay=1
,时长00:15
Manus 正在输出一些信息
从 jian 发布的内容我们可以得出:
- Manus 并不是一个独立的模型,基于 Claude Sonnet 构建;
- Manus 配备了 29 种工具来辅助完成各种任务,如数据分析;
- 没有配备多智能体功能;
- 使用了 browser_use 这个开源项目,但这部分代码可能被混淆了。
Manus 工具和系统提示词也一起被破解了:
Manus 工具和系统提示词地址:
https://gist.github.com/jlia0/db0a9695b3ca7609c9b1a08dcbf872c9
官方回应了
对此,Manus AI 联合创始人&首席科学家季逸超表示:实际上并没有那么复杂——每个用户都可以直接访问沙盒(见截图中的方法)。
具体来说:
- 每个会话都有自己的沙盒,与其他会话完全隔离。用户可以通过 Manus 的界面直接进入沙盒。
- 沙盒中的代码仅用于接收智能体的命令,因此只是轻度混淆。
- 工具的设计并不是秘密——Manus 智能体的动作空间设计与常见的学术方法并没有太大区别。由于 RAG 机制,通过越狱获取的工具描述会在不同任务中有所变化。
- 多智能体实现是Manus的关键功能之一。与 Manus 交流时,你只与执行智能体进行通信,而该智能体本身并不了解知识智能体、规划智能体或其他智能体的细节。这确实有助于控制上下文长度。这也是为什么通过越狱获取的提示大多是幻觉。
- Manus确实使用了 @browser_use 的开源代码。实际上,他们使用了许多不同的开源技术,这也是为什么 Manus 在发布视频中特别提到,没有开源社区,Manus 就不存在。
- Manus 团队一直有开源传统,并且也一直在 HuggingFace 上分享后训练模型。他们将在不久的将来开源许多东西。
当被问到 Manus 基本模型是Claude 还是其他模型时。季逸超表示:
他们使用了 Claude 和不同的 Qwen 微调版本。在 Manus 开发初期,他们只获得了 Claude 3.5 Sonnet v1 版本(不支持长思维链,即推理 token),因此需要很多辅助模型来补充这部分功能。现在,Claude 3.7 看起来非常有潜力,他们正在内部测试,并会及时更新
网友评论
对于上文提到的 Manus 使用了browser_use 开源代码,「Browser Use」官方评价道:「事实证明,Manus 只是另一个 Browser Use 包装器。」
不过,也有人质疑 jian 的发现,该网友表示自己已经拿到了 Manus 的邀请码,并让 Manus 输出 /opt/.manus 目录内容为一个 zip 文件。但遗憾的是,该网友没有看到任何提示模版。不过从 Manus 官方回应来看,现在公布的越狱内容还是可信的。
不管结果如何,有 Manus 使用权限的小伙伴可以前去验证一番。不过,Manus 这次被「越狱」也提醒我们,在加强 AI 功能的同时,安全性也是一个不容忽略的问题。
参考链接:
https://x.com/op7418/status/1898938027063558154
https://x.com/peakji/status/1898994802194346408
#HAMSTER
机器人泛化能力大幅提升:层次化方法和VLA尺度轨迹预测,显著提升开放世界任务成功率
近年来,人工智能在视觉和自然语言处理方面取得了惊人的泛化能力,但在机器人操作领域,端到端方法往往需要大量昂贵的本域数据,且难以在不同硬件平台与开放场景下推广。为此,HAMSTER(Hierarchical Action Models with Separated Path Representations)通过层次化架构,在高层利用域外数据微调的大模型(VLM)生成二维路径,中间表示解耦了任务规划与具体执行,让低层控制模块专注于实际动作控制。实验表明,HAMSTER 在多种操作任务中都体现出更高的任务成功率与更好的跨平台泛化性能,并显著降低了对昂贵机器人演示数据的依赖。
- 论文标题:HAMSTER: Hierarchical Action Models for Open-World Robot Manipulation
- 论文主页:https://hamster-robot.github.io/
- 论文链接:https://arxiv.org/abs/2502.05485
- Demo: http://hamster.a.pinggy.link
,时长00:09
HAMSTER 这一研究成果获得了业界专家的高度评价。谷歌 DeepMind 高级研究科学家 Ted Xiao 在社交媒体上表示:「在构建机器人基础模型时,超越简单的自然语言具有巨大的潜力。轨迹是一种很好的实现方式,而HAMSTER已经将轨迹条件策略扩展到了VLA模型的规模!祝贺整个HAMSTER团队。」
1. 背景与挑战
在机器人操作中,收集真实环境下的演示数据成本往往极高,且对环境设置和硬件平台有很强依赖性。因此,若要实现开箱即用、跨平台的机器人操作能力,仅仅依靠本域数据远远不够。另一方面,近年快速发展的多模态大模型(VLM)在视觉与语言理解方面已展现较好泛化能力,可通过微调来适应机器人任务。然而,若让大模型直接输出低层动作信号,通常仍需海量且昂贵的机器人数据,并且在实时控制与不同硬件迁移上存在诸多难点。
HAMSTER 针对上述问题提出了一种层次化思路:让大模型只负责高层语义推断与大体轨迹生成,而将精细的动作控制交给低层模块来完成。这不仅能充分利用外部(域外)数据的丰富性,也能在跨平台环境下保持较强的可迁移性。
2. HAMSTER 的层次化方法
2.1 高层规划:VLM 生成二维路径
,时长00:12
HAMSTER 的高层使用一个视觉 - 语言模型(VLM)来理解环境图像和语言指令,并输出 “二维路径” 这一中间表示。具体来说,二维路径记录了末端执行器在图像平面上的运动轨迹以及抓取器的开合状态。由于该表示与机器人具体关节、动力学特性无关,因而具备以下优势:
- 低歧义性、易标注:可以从视频、仿真或其他数据源中自动提取手部或末端执行器在图像中的运动轨迹。
- 跨平台适用性:二维路径不涉及具体硬件细节,高层模型在不同机械臂或移动平台上都能保持一致的输出形式。
- 丰富表达能力:二维路径不仅适用于简单的pick and place任务,还能扩展到诸如擦桌子、开抽屉、折毛巾、避障等更复杂的操作场景。
高层模型通过在大量 “域外” 数据上进行微调,学会将视觉与语言信息转化为合理的操作轨迹。域外数据包括可从互联网上获取的视频、仿真环境里机器人演示、以及其他机器人平台的历史数据等。这样一来,系统对真实机器人数据的需求量显著减少,却能在新环境和新任务中保持较好的泛化能力。
2.2 低层执行:基于路径的精细控制
,时长00:12
得到高层输出的二维路径后,低层控制模块才会将其转化为实际的动作命令,包括抓取、放置等操作。低层通常结合少量本域机器人数据进行训练,学习如何在真实环境中根据三维信息实时调整,让执行轨迹与高层给出的二维路径对齐并完成任务目标。
这种 “高层规划 + 低层执行” 的分工,避免了端到端方案对昂贵数据的极度依赖,也利用了大模型的强泛化能力来处理更抽象和复杂的视觉与语言推理问题。
3. 实验设计与主要结果
,时长00:07
研究团队在模拟环境与真实机器人平台上对 HAMSTER 进行了多组测试,涵盖多种类型的操作任务(如抓取、放置、推、按压等),并在不同的视觉和指令变化条件下,验证其泛化性能。
- 泛化能力:由于二维路径与硬件无关,同一高层 VLM 可以直接迁移到新的环境和硬件设置上,仅需对低层控制做少量适配;在视觉背景、光照条件以及语言指令多样化的测试中,HAMSTER 依然能够输出合理的路径规划。由于低层控制只需跟随高层 VLM 输出的二维轨迹,所以能将技能泛化到新的任务,对于各类环境变化的鲁棒性也更强。
- 数据效率:高层在海量域外数据上完成微调,而低层只需少量真实机器人演示数据,即可学到足够的执行能力,显著降低了对昂贵本域数据的需求。
- 任务成功率提升:与端到端大模型或传统模仿学习方法相比,HAMSTER 在多个复杂操作任务上的成功率平均提升约 20%~30%。在一些高难度场景如涉及新物体时,传统端到端模型成功率不到 20%,HAMSTER 可达 80% 左右。
- 推理速度与灵活度:高层只需在任务开始时或关键节点调用一次大模型来生成路径,避免了在每一步动作都调用大模型所带来的计算开销。在不牺牲精度的前提下,显著提升了系统执行效率和灵活性。
4. 未来展望
,时长00:07
HAMSTER 在泛化能力和执行效率上展现出显著优势,但仍有进一步优化的空间,以提升其在复杂环境中的适应性和任务执行能力:
1. 增强轨迹表示与高低层交互
目前的二维路径难以表达深度、速度、力控制和旋转角度等信息,低层模型需依赖额外推断。未来可探索更丰富的轨迹表示,同时优化高低层交互方式,提高信息传递的精度与效率。
2. 实现动态路径更新
现有高层模型通常在任务开始时生成路径,缺乏对环境变化(如障碍物、目标位置偏移等)的实时调整能力。未来可引入在线重规划机制,使系统具备更强的自适应性与鲁棒性。
3. 利用大规模人类视频数据
当前高层模型训练主要依赖机器人数据,而人类演示数据涵盖更丰富的操作模式和任务类型。未来可探索直接从大规模人类视频训练 VLM,以提升其对多样化任务的理解与泛化能力。
随着机器人基础模型的发展,HAMSTER 的持续优化将进一步提升其在开放世界任务中的泛化能力,并增强跨环境、跨任务的稳定性和扩展性。
5. 结语
HAMSTER 通过引入一种易标注且跨平台友好的二维路径作为中间表示,成功地将大模型的高层语义推理与底层的精细控制解耦开来,不仅减轻了对昂贵机器人操作数据的依赖,也在开放环境中展现了更强的泛化能力。实验结果证实,HAMSTER 在任务成功率、数据效率和跨平台适用性方面都具有显著优势。
随着多模态数据与模型能力的进一步提升,类似 HAMSTER 的层次化架构有望成为未来机器人系统的关键思路,在更多真实场景中实现跨平台、跨任务的通用操作。通过让高层专注于对任务语义和大致轨迹的推理,而低层则关注具体的运动与执行细节,机器人在可解释性、可扩展性与可靠性上都将迈出坚实一步,为迈向真正的开放世界机器人操作奠定基础。