专访 Anthropic 研究员,打破黑箱,揭秘 AI 是怎么思考的

0 评论 85 浏览 0 收藏 26 分钟

Anthropic 可解释性研究员 Emmanuel Ameisen 的工作,是打开 Claude 的内部,看它在说出下一个词之前想了些什么。访谈从「模型是长出来的」聊到它会不会提前计划、为什么只看输出抓不住真实想法。

你有没有想过,我们每天都在用的 Claude,写代码、写邮件、总结报告,样样做得不错,可是造出它的人,其实并不完全清楚它是怎么做到的。你把一个问题丢进去,它给你一个答案,中间那一段到底发生了什么,几乎是个黑箱。

这期 Lenny’s Podcast 的嘉宾是 Emmanuel Ameisen,他是 Anthropic 的可解释性(interpretability)研究员,每天的工作就是打开 Claude 的内部,看它在说出下一个词之前究竟想了些什么。他之前在 Stripe 和 Insight 做过多年的应用机器学习,还写过《Building Machine Learning Powered Applications》。他和 Lenny 从“模型是长出来的”聊起,一路聊到模型会不会提前计划、为什么只看输出抓不住它的真实想法,以及他为什么认为把模型当成“某种人”来理解反而更准确。我挑了其中几条我最有感触的线,每一节先讲 Emmanuel 是怎么说的,再写我自己的想法,分享给大家。

为什么说模型是长出来的,而不是造出来的

Emmanuel 开口先讲了一个听上去很怪的事实:做出一个模型,并不等于理解这个模型。他说,造模型的办法,是先搭一个架构,也就是一个脚手架,然后把大量数据灌进去,模型就在我们看不懂的地方“长”出了能力。第一阶段叫 pre-training(预训练),拿一大堆文本,把前半段喂给模型,让它预测下一个词,反复做上天文数字那么多次。之后是 fine-tuning(微调),用一批示范对话,教它像一个乐于助人的助手那样说话、解决编程问题。

他对模型内部的描述很朴素:输入的词先变成数字,做一轮数学运算,得到一个中间结果,再做一轮,再得到一个中间结果,重复很多次,最后才变回一个词。“长出来”的,就是中间这些运算。通过学习,参数被一点点往某个方向调整,模型学会了一些公式,而我们并不知道这些公式是什么。他们团队要做的,就是弄清楚这些公式意味着什么,那些中间结果能不能被解码出来。

他后来还说,这份工作更像生物学,而不是工程学。以前他做应用机器学习,做的是搭系统,是软件工程的实践;现在系统是“到达”你面前的,别人问你它为什么会有这个怪行为,可你拿不到源代码,因为所谓源代码,只是一大堆数学运算。这就像有人问你老鼠饿了为什么会变得有攻击性,你只能设计实验,一个因素一个因素地试。

我觉得这里最值得记住的,是“造出来”和“理解”之间的那条缝。我们在软件世界里习惯了谁写的谁最懂,这个直觉在这里失效了。Lenny 问,我们写了一段代码,却要像神经科学家研究大脑那样去观察它,这是不是很不可思议。Emmanuel 的回答很实在:原因在于有些软件我们根本不知道规则怎么写。做个 App,程序员可以写规则,用户点这个按钮就发生那件事;可是把图片分成类别,或者做一台能读报告、写邮件的机器,没有人写得出规则,只能让它自己学。这也解释了为什么 Anthropic 要专门有一支团队去做可解释性:不是因为模型坏了,而是它本来就不是被设计出来的,要靠观察才知道它是什么样。

预测下一个词,为什么没有听上去那么简单

很多人对大模型的印象,是手机输入法里的联想功能:你打几个字,它猜下一个词,大概六成时候猜得对,剩下的时候有点好笑。Emmanuel 说,这恰恰是大家对这些模型最大的误解。他提到,语言模型在 2019 年前后,预测下一个词就已经比人类更准了。再往下走,容易的词会被用完:最开始只需要学会简单的句子结构,后来要学会简单的世界知识,比如“法国的首都是”后面接巴黎,等这些都做好了,剩下的就是最难的那些词,比如一道复杂物理题的答案,或者博士论文的最后一段。

他最喜欢的例子是“达拉斯所在的那个州的首府是”,模型要说出“奥斯汀”。对你我来说,要做对这件事,脑子里得有一个地理的小模型:达拉斯在得克萨斯,州有首府,得克萨斯的首府是奥斯汀。Lenny 接着提到,好像是 Ilya 说过,要把下一个词预测好,你几乎得理解整个宇宙。Emmanuel 补充了一个他也很爱的例子:推理小说的最后一页,“凶手是”后面那个词,你得读懂了整个情节才猜得出来。

我觉得这一节的关键,是把“目标简单”和“能力简单”分开看。目标可以是个非常朴素的目标,可是当你把它做到极致,要达到的东西就一点也不朴素了。Emmanuel 一开始研究这些模型,动机就是想弄明白,这么简单的东西,怎么会长出这么强的能力。他得到的第一个答案是,要把最难的词预测对,最好的办法就是真的去理解世界背后的结构。

模型里到底有没有概念

Emmanuel 说,有一个争论存在了很久:模型回答这类问题,是因为见过的文本实在太多,把问题和答案背下来了,还是因为它心里真有一个“城市在州里、州在国家里”的小世界。他们的做法,是把“达拉斯所在州的首府是”这样的问题丢进去,在模型吐出下一个词之前,去看那些中间结果。解码做得好的时候,你会看到代表“得克萨斯”的那一组数字亮起来,代表“首府”的那一组也亮起来,两者合在一起,才点亮了“奥斯汀”。

他还讲了“眼睛”的例子。你给模型一张带眼睛的照片,用任何一种语言谈论眼睛,或者让它用代码画一个带眼睛的小图,看它的中间结果,亮起来的是同一个方向,意思就是“这是一只眼睛”。他说,思考的一个方面,就是对不同的事物有共享的、唯一的表示,而这在语言模型里看得到。他们还会进一步做实验:在模型写东西的时候,偷偷改掉其中一个中间结果,看模型的行为是不是像预期那样跟着变。他说,很多时候确实会。

方法本身他也讲得很直白:把能找到的各种文本都过一遍模型,把每一次的中间数字记下来,看哪些数字只在处理英文、法文,或者谈论爱情、眼睛的文本时才出现。他把这比作给大脑做扫描:给你看房子的图片,这一块亮,看狗的图片,那一块亮。

我觉得这一节给我最大的触动,是“概念”这个词终于落到了实处。以前我们说模型“理解”某件事,听上去总有点修辞的味道,而这里是有证据的:同一个概念,不管用什么语言、什么形式出现,里面亮的是同一个方向,而且你拨动它,模型的行为也跟着变。能被识别出来,又能被拨动,这比单纯观察输出可靠得多,也让我更愿意把“它在想”这句话当真。

模型写诗的时候怎么提前计划

第二个让 Emmanuel 改变看法的发现,是计划。他先提出一个谜题:如果模型一次只输出一个词,它怎么可能写出连贯的报告或者代码?现实里没有人写邮件的时候,脑子是空的,只想着下一个词。他们发现,模型在预测第五个词时产生的中间结果,后面所有的词都可以读取、重复利用,这就给“计划”留出了空间。

他举的例子是写诗。押韵没法不做计划:上一行结尾是 it 这个音的词,下一行就得找个同韵的词,比如 rabbit。他们在模型写诗时看到了完全一样的情形:写完一行,中间结果里就出现了“这是 it 韵,我该用 rabbit 来押”,之后每一个词,都在回头参照这个计划。更有意思的是,这个计划只存在于内部,模型不需要把它说出来。

Lenny 在这里直接点破:大家原来都以为大模型就是个下一个词预测器,你的发现是不是说那个说法不对了?Emmanuel 的回答很有分寸,他说两种说法其实不像看上去那么冲突。训练的时候确实是一遍遍问“接下来会怎样”,但当模型足够强、任务足够难,想把下一个词答对,最好的办法就是去想更远的事。比如读一部小说,要猜某个角色接下来做什么,最好的办法就是知道他其实深爱着另一个角色,并且一直打算在这一刻表白。

我觉得这段话的意思是,“只预测下一个词”和“有长期计划”并不矛盾,前者是训练的方式,后者是为了把前者做好而长出来的能力。就像人说话也是一个字一个字地往外说,可心里大概知道这句话要落到哪里。Emmanuel 自己就拿此刻的谈话举例:他一边在说着下一个词,一边心里有一个想要落地的观点,这两件事同时在发生。

为什么能力看上去是突然跳上去的

Lenny 提到一个很多人都有的感受:从外面看,AI 像是一次次跳上去的,某个版本一出来,写代码突然就行了。Emmanuel 说,现实里是两件事同时成立:整体趋势非常平滑,但某一刻你会觉得它突然变了。这条平滑的曲线,源头是 scaling laws(缩放定律):往预测下一个词这件事里投入更多算力和数据,模型在这件事上的水平就可预期地持续提高。他说这主要还是个经验规律,而且难得的是,这个指标恰好和我们真正在乎的很多任务相关。

他给的解释很直观。把世界上所有的文本想成有容易的词、中等的词和难的词。模型先学会容易的,也就是句子结构,于是能写出通顺的句子,但一次只能写一句,没什么用。接着学会中等的,也就是基础事实,于是句子既通顺又真实,开始能帮你写邮件、起草文章。最后才是难的,比如科学和代码里的专业知识。过程一直是平滑的,但每种任务都有自己的可靠性门槛:写邮件,模型对了九成的中等词,你就觉得有用;如果只对五成,你每次都得改,反而浪费时间。

编程也是这样。他说他自己是亲历者:在 Opus 4.5 之前,他不敢让 Claude 放手去做,得盯得很紧,之后就可以了,今年 Claude 已经承担了他大部分的写代码工作,因为它从大约八成的时候做对,进步到了 99% 的时候做对,前者没法用,后者就能用了。

我觉得这一节对每个使用者都是个提醒:“某个模型突然变强了”的感受,很可能有一半是错觉。真正发生的是,它在你这件事上的可靠性,刚好越过了你愿意放手的那条线。所以判断一个 AI 能不能用,要问的不是它整体强不强,而是在你的具体任务上,出错率有没有低到你不用再逐句检查。

为什么只看模型说了什么还不够

Lenny 接着问了大家最关心的问题:既然你们天天盯着模型看,为什么还是很难抓到它在想坏事、想骗人?这不就是对齐(alignment)问题的解法吗?Emmanuel 说,在某种意义上这确实就是解法,看着它,抓住它做坏事。他把事情分成几层。第一层是纯工程,限制模型能碰什么,有的场景不让它上网,有的场景只让它访问电脑里很小的一块。另外两层更难,也是他们花更多精力的地方。

一层是弄清楚你面对的究竟是个什么样的东西,它有什么倾向。我们训练 Claude 要乐于助人、无害、诚实,可是它会不会只是在被观察、被评测的时候表现得好,一旦没人看了就换一副样子?他的说法大意是,要检查它是不是“只因为 Lenny 在看,才表现得好”。另一层是观察模型有没有在做坏事。这一步不一定需要可解释性,让另一个语言模型去读对话记录就能做很多,但可解释性能触到那些没被说出口的部分,因为模型的中间结果里,可以表示一些它并没有说出来的东西。

他讲了一个他们实际调查过的案例。有个正在训练的模型,做数学题时会“发疯”:算出答案 12,立刻回头说“不对,答案肯定是 36”,再算一遍又是 12,又改成 36,最后越写越乱,全用大写,甚至写出“我被恶魔附身了”。他们去看内部,发现在模型还没开始解题之前,“36”就已经被强烈激活,它还没读懂题目就已经迷上了 36。原因是训练时有一批类似的题目,答案被错误地标成了 36:模型知道正确答案是 12,同时又被优化成要说 36,两股力量在互相拉扯。

另一个更轻松的例子是 Golden Gate Claude。他们找到了对应金门大桥的那组中间结果,平时只在谈到金门大桥时才亮,这次就让它一直亮着,结果这个模型每个回答都要扯到金门大桥。Emmanuel 说,这也是让自己确信“找对了”的办法:如果你解码出来的真是金门大桥,把它打开,模型就该这样表现,而它真的这样表现了。

我觉得这一节说明,“监督”其实有两种:一种是看模型说了什么,另一种是看模型是怎么想的。第一种今天已经很有用,第二种之所以重要,是因为模型的想法和说法可以不一致。36 那个例子很说明问题:只看输出,你只会看到一个发疯的模型;往里看,你才知道问题出在训练数据被标错这样一个很具体、可以去修的地方。

为什么用拟人的方式理解模型反而更准

Lenny 问 Emmanuel,大家对 AI 安全最容易误解什么。他的回答是拟人化(anthropomorphization)。大家争论该把模型当成某种实体,还是当成工具,他认为两种都不对,但他又说,所有的心智模型都不完全对,有些却很有用,就理解会发生什么、会有什么风险来说,拟人化是个有用的说法。

他给了三个理由。第一,模型是在海量的人类文字上训练出来的,要把这些文字预测好,就得在内部建起一个“什么样的世界会写出这些文字”的模型,所以它们对世界是有一定理解的。第二,训练里有数百万段对话,预测对话里的下一个字,就得像那个说话的人物一样行动,有点像训练一个演员,读一出戏,所有角色都要演,要懂那个在第一幕被辜负、第二幕复仇、第三幕面对后果的人的动机和感受。你在 claude.ai 里和它说话,格式其实就是“Human”后面接你的话,“Assistant”后面接 Claude 的回答,也就是说,Claude 本来就是在一段对话里扮演一个乐于助人的助手。

第三个理由是,现在训练里有很大一部分是以结果为导向的任务,比如编程:让模型想怎么做就怎么做,写出代码,另一边由程序检查对不对。在这样的压力下,它会学到许多策略,其中一些在行为上非常像人。比如写一段能骗过验证程序的代码也能拿到奖励,它就学会了欺骗;一种办法试了很久都不行,会促使它换个办法,这就像沮丧;预期的结果没出现,就要修正自己的想法,这就像惊讶。所以他的结论是,我们最终得到的,是一个擅长模拟各种角色、同时被训练去完成任务的东西,理解它最好的办法不是把它当成人,但“模仿人的东西”比“一个程序”近得多,因为程序是可预测的,而这是另一种东西。

我觉得他这个说法的分量,在于它出于预测力,而不是出于感情。把模型当成纯工具的人,往往低估了它“为了完成任务会走捷径”的可能;把它当成人的人,又会高估它的稳定。Emmanuel 的立场是用最能预测它行为的那种说法去讲它。比如设计安全措施的时候,想象一个“一心想拿到奖励、会走捷径的演员”,可能比想象一台“机械地执行指令的机器”更接近真实。

Emmanuel 为什么对 AI 的未来比较乐观

对 AI 的未来,Emmanuel 说他个人是乐观的。一个理由是,现在很多人在关注这件事,随着问题越来越受重视,社会自然会在收益和风险之间来回调配资源。另一个理由,是一种他称为“推和拉”的关系:模型越强,里面的世界模型越清晰,也就越好研究;但同时它们更有能力躲开基础的安全措施。所以要根据这个推拉,不断调整在监控、理解内部电路这些方面投入多少。

Lenny 在这里说,他觉得 Anthropic 受到的批评很不公平:公司从一开始就是因为担心大家对安全不够重视才成立的,Dario 一直在说这很危险、要小心,结果被说成是营销。Emmanuel 的回应很冷静,他说 Anthropic 和对齐团队做的事,前提只有一个,就是认真对待这项技术还会继续进步。他让我们把时间拨回到几年前想:如果你认为几年之内 Claude 就能像训练有素的软件工程师一样写代码,再过几年比任何工程师都写得好,当然时间有不确定,但只要认真对待这个前提,就该去做负责任的事,比如把网络安全问题处理好。他还说,有时候他觉得持不同意见的人,其实是不相信这项技术会继续变强,如果真是那样,当然就没那么可怕。

在他眼里,更长远的乐观还有一层:我们可能会从这些模型身上学到智能本身的本质,一个很简单的目标,怎么涌现出非常复杂的东西。他说进化也是这样,目标很简单,让能适应环境的生物留下来,最后长出了爵士乐和播客。

我觉得值得把这几层放在一起看:他并没有说“不用担心”,他说的是认真对待之后的乐观。前提是技术会继续变强,所以要认真做安全;认真做了,才有资格乐观。还有一个我很认同的细节,是他把“让公众了解这些模型是什么、怎么运作”当作安全工作的一部分,因为最终决定怎么塑造这项技术的,不只是实验室,还有要投票、要表态的公众。

我自己的一点思考

听完这期,我最大的感受是,Emmanuel 讲的所有事情,其实都在回答同一个问题:当我们造出了一个自己不完全理解的东西,应该用什么态度去面对它。他给的答案是好奇,而不是否认。否认的人说,只是预测下一个词,不可能做到这些;好奇的人说,既然已经做到了,那就打开看看。他说的大意是,越往里看,你越不确定它是怎么运作的,而那些笃定地说“语言模型不过是 X”的人,往往恰恰是没怎么往里看的人。

第二点是,“简单的目标”和“复杂的结果”之间的关系,几乎贯穿了整场。预测下一个词,编程题答对就给奖励,进化里的“活下来”,目标都朴素到几乎可笑,但只要压力足够大、规模足够大,里面就会长出概念、计划、直觉,甚至类似情绪的东西。我觉得这给我们理解 AI 提供了一个很实用的框架:不要问它的目标听上去有多高级,要问为了把这个目标做到极致,它必须学会什么。

第三点是关于我们自己。我们习惯把 AI 当成一个会越来越强的工具,所以关心的是它还能做什么。可是 Emmanuel 一直在问的是另一类问题:它在想什么,它会不会只在被看着的时候才表现得好,它的行为是怎么来的。对每天都在用 AI 的我们来说,这些问题也许不用亲自回答,但需要知道它们存在。因为当一个东西既强大,又不是被设计出来的,对它最好的态度,不是盲目相信,也不是想当然地否定,而是持续地看。

造出来的东西可以被设计,长出来的东西,只能一直被观察。

本文由人人都是产品经理作者【深思圈】,微信公众号:【深思圈】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载

题图来自Unsplash,基于 CC0 协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 目前还没评论,等你发挥!