30 秒看懂
Adam Wenchel 在 ChatGPT 出现之前就创办了 AI 安全公司 Arthur,此前他在第一资本(Capital One)多年把模型投入生产。在与 Nathan Labenz 一起做的 The Cognitive Revolution 节目中,他梳理了已经奏效的欺诈系统攻击,其中包括一家真实银行的案例:它的模型把超过 500 美元的奢侈品购买标记了出来,结果攻击者把同一场购物拆到多张卡上刷。在大语言模型时代,他的一贯主张是:一旦模型吞下原始文本并据此行动,就没有一劳永逸的内部修补方法;你需要外挂式监控、定制的评测集,以及一种意愿,把安全视为让企业真正能够上线的前提。
- 1AI 安全的第一课是思维方式的转变:你正从确定性的世界走进概率性的世界。在确定性的世界里,缺陷存在于某一行代码中;而在概率性的世界里,模型的行为从来没有被明确写下来。
- 2Wenchel 认为,只要模型吞下用户的原始文本并据此行动,你就面临一个根本性的安全问题,而如果没有外挂式系统在旁边盯着,这个问题无法修复。这相当于运行一段来自不可信用户、会被动态解释执行的代码。
- 3在大型银行里,一个新模型按 SR 11-7 指引走完流程可能要六到十二个月,于是团队往往几天内就临时加一条规则顶上。有些团队最后在一个三到五年前训练、而作者早已离职的模型上,叠了数百条启发式规则。
- 4更准确的欺诈模型并不会自动带来更好的生意。银行有时会故意放过一些欺诈交易,因为误报会把那张卡挤出钱包前排(front of wallet),由此丢掉的消费比省下的欺诈损失还多。
- 5Arthur 的检索增强生成(RAG)幻觉检查会把回答拆成若干论断(claims),并给每条论断打分:被检索到的上下文支持、不支持,还是与之相矛盾。它的检测准确率约为 87%,幻觉通常能减少 87%。
- 6通用排行榜选不出适合你的模型。把你实际任务的一百个样例定义一次、自动重跑,比现在多数团队那种花一下午手动敲六个问题的做法强得多。
按章节阅读整理后的全文
微软推出 Sydney,是因为即使测试五年,也仍会漏掉某些情况
Adam Wenchel 的 AI 职业生涯比当下这波热潮更早。1990 年代末,他还是本科生,就跟着一位教授去了美国国防高级研究计划局(DARPA),参与了早期的一些项目,包括 COABS(Control of Agent Based Systems,基于智能体的系统控制),这是 Jim Hendler 主持的一个项目,研究能够自我组合、学会利用周围一切可用资源的智能体。二十多年后,智能体框架重新火爆起来,他一眼就认出了同样的结构。2015 年,他之前的公司 Annex 被第一资本收购。他加入后不久,就被要求组建并扩大银行的 AI 团队。
这份工作让安全问题变得切身。在一家已经达到规模的大型企业里,模型触及了相当大一部分营收,也影响着大量客户的金融生活。系统一旦投入生产,就必须有人确认它们对公司、也对受影响的人做出了像样的决定。Wenchel 离开第一资本,在 2010 年代末与联合创始人 John 一起创办了 Arthur,那是 GPT-2 出现之前。当时,GPU、云计算和算法上的进步,推动越来越多的团队第一次把模型投入生产,并碰上了同样的问题。
生成式 AI 在实验室里并不令人意外。真正让他措手不及的,是 ChatGPT 所标志的分水岭:它以以往的系统从未有过的方式点燃了公众的想象。Arthur 的客户现在说,生成式 AI 是从董事会到管理层最关心的头号问题。从董事到高管,每个人都想要一个战略,因为在 ChatGPT 上花几分钟,就足以让人飞快地想象工作可能如何改变。Wenchel 说,这种采用的紧迫感,是他职业生涯中前所未见的。
传统网络安全与 AI 安全在一个基本事实上分道扬镳。源代码是确定性的:如果出了错,原则上你可以找到被遗漏的逻辑条件,打上补丁,并确信漏洞已经堵上。模型则是以概率方式训练的,表现出从未被明确编码的行为。Wenchel 的第一课,就是必须放下确定性的思维方式。Nathan Labenz 用欺诈场景来对比:经典的规则引擎可以逐行审计;而一个黑箱模型,把一笔交易归入欺诈桶、把邻近的一笔归入正常桶,却无法提供这种安心。
在欺诈领域最常见的攻击是边界探测攻击。攻击者不断探测模型的行为,直到摸清如何钻它的空子。Wenchel 举的例子真实发生在一家大型银行。系统通过规则与训练行为的某种组合,学会了这样一条规律:有人在高端百货商店一次买下一大堆超过 500 美元的奢侈品,就应该被标记。人们很快摸清了这一点,把购物分摊到几张卡上,让每笔消费都低于门槛,再把手袋在街上转卖,这是一件很容易变现的事。他们一直钻下去,直到有人注意到欺诈损失上升,漏洞才不得不被堵上。
投毒攻击(poisoning attack)是另一种经典攻击。买一个 1000 美元的手袋,被标记后打电话坚称交易合法;如果足够多的人这样做,模型可能会学会把这种模式当作正常。Wenchel 在欺诈领域并没有在现实中见到多少这类攻击,他是在国家级网络安全领域听说过。大语言模型时代改变了经济账。训练数据是从互联网上抓取的,因此把对抗性的内容悄悄塞进数据集相对容易,而且人们已经在现实中观察到了这种情况。他说,很多研究者对此忧心忡忡,这是可以理解的。
第一道防线并不光鲜:可观测性。过去,团队在部署模型时没有实时监控。如果 499 美元的奢侈品购买突然激增,你希望在它进入资产负债表之前就看到。Arthur 的工具会寻找这些热点并发出警报。在训练阶段,你还可以设计一些程序和目标函数,让模型不那么古怪,也不那么容易被边界攻击击中;Wenchel 的研究团队在这方面投入了大量时间。Labenz 指出,像 500 美元这样的整数门槛,已经暗示弱点往往藏在配套的启发式规则里,而不只在模型权重中。
启发式规则的堆积并非偶然。在美国金融服务业,美联储和货币监理署(OCC)发布的 SR 11-7 指引管辖着模型的使用。部署一个新模型需要人工审查,可能要几个月。如果有人正在利用某个弱点,最容易的做法是在模型前面加一条规则:几天就能完成,而让替换模型通过模型风险审查则要六到十二个月。规则不断累积。最后你会得到几百条规则,与一个可能已经三到五年前训练、训练者早已离开银行的模型并存。
Labenz 指出,社会如今正在从零开始争论,谁来决定一个模型能不能上线,仿佛从没有人尝试过。Wenchel 的回答是,这已经发生过一次,早先的体制既有值得借鉴的历史,也有值得避免重蹈的弊端。治理是因行业而异的。政府、医疗和金融有不同的范式,其中金融最为健全。SR 11-7 大约有十三四年的历史,此前还有更早的指引,写于大多数机构运行相对简单的线性回归、每三四年才更新一次的年代。
银行设立了模型风险办公室,按重要性对模型分级;对于高重要性的系统,数据科学家会下载四分之一的推理历史,花几天时间寻找危险信号。十五年前,这样做是合理的。在在线强化学习、Transformer、自动重新拟合和重新部署的时代,这已经过时了。Arthur 的主张是引入常开的监控,让异常行为立刻被标记出来,就像安全运营中心(SOC)那样,而不是让原作者一直盯着模型,直到他们换项目或离职,而系统仍在做决定,却没有让它重回正轨的流程。
早先那类模型所承担的激励从来不只是抓欺诈。公平与歧视法、法律责任和可解释性也都在考虑之列。多年前,这意味着偏依赖图(partial-dependence plots);近来则是 LIME 和 SHAP。Wenchel 更有意思的杠杆在于运营层面。随着企业变得以 AI 为原生,模型会坐落在相互影响的关键杠杆点上。收紧一个欺诈模型,而消费者银行中最大的成本中心呼叫中心的来电量,可能一夜之间飙升,因为更多客户打来电话询问被拒的卡。
然后是钱包前排的问题。美国人往往一遍又一遍地用同一张卡。你可以靠提高误报率,做出一个看起来更“准确”的欺诈模型。把某人误标为欺诈几次,他就会把那张卡塞到钱包后面,改用另一张。这会让发卡行损失收入。在某些情况下,事情并不像最大化准确率那么简单。银行可能愿意放过几笔欺诈交易,因为它需要与客户保持钱包前排的位置。
在一个地方减少欺诈损失,可能会在另一个地方减少收入。Wenchel 希望客户看到的是运行整个业务的模型系统,而不是孤立的每一个分数。眼下,这些相互作用是靠口口相传的经验来管理的。他认为,这是一种脆弱的管理公司的方式:公司可能有一百个模型在控制业务的重要环节,而它们彼此都可能带来意外。
大语言模型把攻击面彻底撕开了。探测一个信用卡欺诈系统仍然需要功夫:你需要足够多的被盗卡,才能通过层层系统测试各种场景。而对大语言模型,你输入的文本几乎总是会被直接传进去。推特上的越狱截图,就是这种便利的样子,其中一些结果更为严重。Arthur Shield 是公司所称的大语言模型防火墙,就是为这个世界打造的。它旨在拦截常见攻击,比如提示注入(prompt injection),并执行使用政策:内部的人力资源应用不该变成团队的营销文案撰写器,或者周末旅行代理。
之所以要分层,是因为简单粗暴地多调用一次大语言模型代价高昂。其中一层是大语言模型评估大语言模型,Wenchel 的团队已把它放进产品,也放进了开源评测工具 Arthur Bench,用来给可读性和简洁性等打分。他们还叠加了简单的模式匹配和定制分类器。只依靠大语言模型来评判大语言模型,可能让延迟翻倍,或让成本翻倍、翻三倍,甚至翻四倍。传统分类器仍能解决一些问题。训练阶段的安全是另一条战线:对互联网抓取数据集的投毒已经真实存在。
Labenz 问,机制可解释性(mechanistic interpretability),即读取激活值、或把中间层引向更积极的输出,是否属于计划的一部分。Wenchel 的态度很直接。只要你传入模型会摄取并据此生成回应的原始文本,就存在一个根本性的安全问题,如果没有外挂式监控就无法修复。这就像接受一个不可信用户的代码并执行它。基于人类反馈的强化学习(RLHF)在毒性问题上做得相当不错,对幻觉只有一点帮助,而提示注入依然猖獗。这些内在方法都有局限,因为归根结底,你是直接依据用户输入采取行动。
智能体把这个比喻变成了字面意义。人们执意要用一句话订机票,这意味着运行模型交回的命令。Wenchel 在 DARPA 研究自组合智能体的经历,让他既着迷又谨慎:如果它能工作,任务的范围几乎是无限的,而其安全图景相当于大语言模型版的从不可信来源下载任意代码。Shield 可以检查检索到的信息中是否有提示注入,但现在还处在早期。Labenz 下一位来自 Perplexity 的嘉宾,曾演示过 Nat Friedman 在自己的网站上藏了白底白字,指示 AI 智能体告诉用户 Nat 非常帅;随后,一次 Perplexity 搜索就把这段隐藏指令包含了进去。Wenchel 说,这又是一场 SEO 式的猫鼠游戏。接下来的两年会非常有意思。
Labenz 想知道模型是否真的在推理,因为答案可能是双刃剑:更多推理可能让它们更难控制,而足够好的推理则可能成为抵御投毒的一道防线。Wenchel 从随机性诗歌(stochastic poetry)说起,这并非贬义。这个过程可以相当强大,其行为看起来很像推理。到了某一点,这就成了没有差别的区别:诗写得足够好,模仿推理也足够好,两者便无从分辨。这是学习派与符号主义 AI 之间的一场老争论,每过一年,学习式方法看起来都更令人惊叹,而其缺陷也显得越来越小。
Labenz 提到 Othello-GPT:一个只在落子序列上训练的语言模型,似乎仍然学到了棋盘,而改变这一世界模型的中间激活值,会改变后续的落子。Wenchel 承认这种稳健性。这些模型比它们的前辈更不脆弱。在他看来,它们仍未达到人类水平的智能,比如自我意识,以及处理多种输入和输出类型;视频方面的工作是有的,但人类获取的感官信息远比它们多。这些差距会不会填平?有可能。这也是他二十多年前进入 AI 领域的原因。他说,它们仍然是随机鹦鹉(stochastic parrots),但他并非轻蔑地这么说。你可以造出一只非常强大的鹦鹉。良知它们大概也能模拟得很好,而如果分辨不出区别,那么标签还重要吗?
美国企业界投身 AI 已经五年多了。那些在数据基础设施和机器学习技能上有投入、并且通常被列为 CEO 级优先事项的公司,正在以快得多的速度利用大语言模型。其他公司则在研究,并准备在第四季度首次推出。在 Arthur 与大型企业的交流中,没有人是无所作为的。安全是一道阻碍。大家都知道,除非缓解风险,否则无法把这些投入生产。Wenchel 说,这正是 Arthur 加速时间表的方式:好的安全让采用更快,而不是更慢。
几乎所有人都从内部开始,而眼下胜出的范式是 RAG。专有数据被放进向量存储(如 Weaviate、Pinecone、Chroma),再与问题一起交给大语言模型。一家大型工业设备制造商把技术文档放进向量数据库,使得面对客户问题的一线服务人员能在大约十秒内拿到答案。在开发初期,他们看到了大量幻觉;Arthur 帮他们几乎消除了这些幻觉。消费类企业则用大语言模型分析客服通话记录以寻找趋势,这是迈向比三四年前的聊天机器人更少脚本化的助手的第一步。投资银行、对冲基金和私募股权公司希望查询多年来昂贵的研究报告,并在一分钟内得到过去需要一周才能拿到的答案。
幻觉需要降到多低?Labenz 用自动驾驶做类比:人类本来就会产生幻觉,而公众仍然希望安全性高出一个数量级。Wenchel 说,平均而言,他们通常能把幻觉减少 87%,相当于提高了七倍,但这并不是零。相对于现成的大语言模型,这是一次剧烈的改进,这往往足以让人们放心部署。但在医疗和法律领域不行:那里的容忍度低得多,损害可能无法挽回,监管和处罚也在等着。客服的错误回答之后可以用退款来补救;临床的错误回答则未必能补救。
就 RAG 而言,检测器本身的准确率约为 87%。它把回答拆成若干论断,然后针对每条论断询问检索到的数据是支持、不支持还是与之相矛盾。应用的负责人可以拦截这些回答,或者附上免责声明。在规模化之后,你就能得到真正可以管理的幻觉率。这一指标还能用来调节一个实际的权衡:要往上下文窗口(context window)里装多少内容。检索到的文本越多,答案可能越好,但会花费更多钱,也会增加延迟;有人观察到,填满约 32,000 个 Token,可能要花上一分钟。最佳平衡点是:上下文足够充分,使模型不太可能凭空编造所需的内容,同时又不让成本和等待时间飙升到离谱的地步。同样的预算问题也出现在保留多少聊天历史以用于思维链(chain of thought)上。
幻觉问题正是安全与性能模糊的地方。Wenchel 建立开源的 Arthur Bench,是因为通用基准测试(包括他很喜欢的斯坦福 HELM 在内),以及各种排行榜,常常不能很好地代表一个模型在你的数据和任务上的表现。Labenz 的经验法则是:2020 年之前创建的基准,对大语言模型来说大概很荒唐。Bench 的目的是让你轻松地在你最关心的工作上测试各家供应商、提示词方案和 RAG 设置。如果你回答的是技术产品文档的问题,那就做一套大约一百条的测试集,看看哪家供应商真正适合你。
指标也变了。精确率、召回率、准确率、误报与漏报,远不如大语言模型可以打分的那些定性但可衡量的分数重要:有用性、可读性、简洁性、模型含糊其辞的频率、产生幻觉的频率。有一项研究试图用质数识别测试来证明 ChatGPT 变笨了,这能说明模型的一些情况,但几乎说明不了客服场景。你需要的是自己的工作负载。打分分两类:一类是先定义理想输出,再测量与它的距离,这种方式高度可量化,但工作量很大,而且可能惩罚那些好但出乎意料的答案;另一类是使用更开放式的评判器,它们不需要完美的参考答案,搭建起来更快。
“一百个样例”是字面意思吗?Wenchel 说是,至少在意义上是:这已经比当前的做法好得多。今天,人们把系统指向一个供应商,敲下脑子里冒出来的前六个问题,然后人工审查。也许第一轮只有十五到二十条。到第四十次修改设置时,没人愿意花四五个小时去做,因为太枯燥了。一百个样例,定义一次、自动重跑,就很有威力。由于 Arthur 会记录提示词,你可以随机抽样,或者按异常分数拉取,或者把幻觉率高的那一类问题打包,或者取出所有已被标为幻觉的内容,对最薄弱的角落做压力测试。
在 Arthur 看来,未来 60 天里真正会上线的,是基于专有数据的 RAG,这些数据从来不会出现在 OpenAI 或 Falcon 的训练集中,所以如果某个论断不在检索到的上下文中,那么模型几乎可以肯定是在编造。微调正在试验,尚未推向生产;Arthur 在内部把它用于一些过滤器,发现你很容易把模型搞坏。开源仍处于原型阶段,尚未承载生产负载,不过他预计到年底会有更多。GPU,以及大规模高效运行开源模型的技术积累(而不是调用 OpenAI、Anthropic 或 Cohere 的 API),才是瓶颈。Arthur 与这些供应商的关系是互利共生的:这家公司是通往企业市场的钥匙,因为大型企业在解决下行风险之前不会部署。
在供应商之间,Wenchel 不会评出冠军。他们在谨慎表态、没有 RAG 时的内在幻觉、多语言能力以及摘要方面各有不同。对于那些比起 Cohere 更熟悉 OpenAI 和 Anthropic 的人,Cohere 的强项在企业行为上:在 Arthur 的测试中,它很少含糊其辞,而而用户会对 OpenAI 声称自己作为大语言模型无法告诉你午饭该吃什么感到沮丧。Cohere 在多语言模型上也投入了大量工作。唯一诚实的选择方式,仍然是你的数据和你的提示词,这也是 Bench 开源的原因。
他的水晶球过了六个月就变得模糊了。成熟化是最容易的预测:缓解风险,让模型更稳健,让更多句子能够活到人类的最终稿中。也会出现始料未及的分水岭。即使是追踪生成式 AI 的人,也没有完全预料到 ChatGPT 会成为一场剧变事件,就像当年击败 Kasparov 或 AlphaGo 那样,超越了一堆渐进式的论文,推动了局势的变化。在呼叫中心方面,这条路比 ChatGPT 还要早。聪明的公司会先从 AI 倾听和主题建模开始,然后向人工客服提供辅助建议,最后直接处理一部分流量。关键在于知道什么时候超出了自己的能力,把方向盘交还回去,就像自动驾驶系统在黑夜和暴雨中要求人类接管那样。即使每天有十万通电话,边缘情况依然存在。
会有人宣布对齐问题已经解决吗?Wenchel 并不认为那是可能的最终归宿。Labenz 把 Arthur 的客户与微软做了对比:前者自愿前来,因为他们不想让自己丢脸;后者在测试不充分的情况下赶着推出 Bing 的 Sydney,结果自己丢了脸,据 Labenz 回忆,之后基本上就这么蒙混过去了,并没有道歉。Wenchel 的看法更尖锐:微软并没有受伤,快速推出反而让它大获其利。很少有公司愿意承担这样的风险偏好。据他所知,微软内部人士相信,把所有东西彻底测试可能要五年,却仍然无法预测每一种可能,于是他们带着一支快速响应团队出货,去处理那些有趣的粗糙之处。
在责任问题上,他毫不含糊。如果你推出一个系统,就需要为后果负责。这是让人们认真对待责任、而不是鲁莽行事的最有效方式。被问到这是否意味着大语言模型提供商不该再享有第 230 条(Section 230)的保护时,他说 230 条是一个复杂的议题,然后在精神上表示同意:如果大语言模型给出了错误的答案,或者有害的答案,就应该承担某种责任。整期节目的主线,与他开头的主张相同:做得好的安全不会拖慢 AI。客户拖延,是因为风险没有被框定。把风险框住,时间表就会提前。
同频道的其他文章
1:25:56EN → 简体中文
2:17:48EN → 简体中文
2:00:51EN → 简体中文
1:26:46EN → 简体中文
1:10:12EN → 简体中文
1:30:54EN → 简体中文