两个同时成立的事实
你已经把 [[artificial-intelligence|AI]] 作为一个领域认识了一遍,走过了它的历史,也见识了机器从数据中学习的那几种主要方式。现在,最重要、也最常被滥用的问题来了:今天的系统到底能做什么,又会在哪里崩掉?把这一点想清楚,你就既不容易被吹捧忽悠,也不容易被恐慌吓住。
有两个事实同时成立,而初学者往往只抓住其中一个。第一:现代 AI 的能力是真真切切、令人瞠目的。它能写出流畅的文章,能在几乎没怎么训练过的语言之间互译,能发现放射科医生漏看的肿瘤,能把围棋下得比任何在世的人都好。这些都不是花招。第二:恰恰是同一批系统,会自信满满地犯下连一个细心的孩子都不会犯的荒唐错误——而且常常无法告诉你它其实没把握。
模式匹配不等于理解
下面这一个观念,能解释 AI 大多数古怪行为。一个训练好的模型,归根结底是一台异常丰富的模式匹配器。它见过浩如烟海的例子,学会了它们的统计形状——哪些像素往往意味着「猫」,哪些词往往接在哪些词后面。当你的问题落在它学到的那个形状之内,答案就显得近乎神奇;一旦落到了形状之外,神奇便烟消云散。
这正是为什么一个 [[large-language-model|大语言模型]] 能给你写出十四行诗,却又坚称 9.11 比 9.9 大。它并不是像你那样在推理数量的大小,而是在预测下一个看起来合理的词元。那段文字之所以*看上去*像理解,是因为它本就是被塑造来产出流畅语言的。真正的理解——一个关于世界如何运转的稳定内在模型——则是一件被宣称的远多于被证明的东西。
哲学家们为的正是这件事争论了几十年——中文房间论证追问的是:按规则摆弄符号,无论摆弄得多么以假乱真,是否真的等于*理解*了它们的含义。你不需要去裁决这场辩论。你只需要那个实用的结论:一个能出色匹配模式的系统,可能因为错误的理由而答对,而这正是它的错误如此难以预料的原因。
三种经典的失效方式
如果说模式匹配是病因,那么有三种失效就是你会一再遇到的症状。记住它们的名字,你就会开始处处认出它们——在新闻里,在演示中,在你自己的实验里。
脆弱性。 一个在测试集上拿到 99% 的模型,面对在我们看来差别微不足道的输入,却可能彻底崩盘。在图像上做几个肉眼看不见的像素改动,一个自信的「熊猫」就会变成一个自信的「长臂猿」——这种精心构造的把戏,叫做 对抗样本。更常见的是,一个用干净的白天照片训练出来的模型,到了黄昏可能就手足无措。这种在条件变化下的脆弱,技术上叫做 稳健性差,它正是一个光鲜演示与一个能在真实世界活下来的部署系统之间的鸿沟。
偏见。 模型学到的,是它被展示的那个世界,连同其中的瑕疵一并照单全收。如果训练里「医生」的照片大多是男性,模型就会悄悄学到这种相关性,并把它再现出来。这种 算法偏见并不是机器在使坏——而是机器忠实于有缺陷的数据,这反而更糟,因为它把缺陷成倍放大,又藏在一层「客观」的外衣之下。
幻觉。 一个生成式模型会满怀自信地编造出一条根本不存在的引文、判例或 API。这就是 幻觉,它直接源于模型的工作方式:它被造来产出流畅、貌似合理的文本,而「貌似合理」并不等于「真实」。模型内部没有事实核查器;它并不知道自己有哪些不知道。这也正是为什么应对之道,是把它接在真实来源上,并始终保留一个人在环路之中。
狭窄的高超,而非通用的智能
今天部署出来的几乎一切,都是 [[narrow-ai|窄人工智能]]:在一项任务上极其出色,离开这项任务一步就束手无策的系统。那个把特级大师碾压得溃不成军的国际象棋引擎,连给你冲杯咖啡都做不到,甚至理解不了这个请求。今天的聊天机器人之所以感觉更宽,是因为语言无所不及——但话题的宽并不等于*能力*的宽。往边缘上一推,狭窄就露了出来。
那个能像人一样灵活胜任任何任务的单一系统之梦——通用人工智能——今天并不存在,也没有人能诚实地告诉你它何时、乃至是否会到来。当一个自信的演示被人悄悄外推成一句「通用智能即将到来」的宏大断言时,你尤其要提高警惕。亮眼的狭窄成果是真的;而跨向通用能力的那一跃,是一个假设,而非一个事实。
一个有用的本能反应:每当你看到一个惊艳的成果,就问一句「这条沟槽有多窄?」一个在实验室里命中 95% 准确率的模型,一旦真实世界不再像它的训练数据,就可能泛化得很差——这种偏移,业内称为分布漂移。幻灯片上那个数字,并不是对你处境的承诺。
建立经得起检验的预期
那么,要怎样建立起不会一接触现实就破碎的预期呢?办法不是去背诵 AI 能做什么、不能做什么——那份清单每隔几个月就会变——而是对任何一个说法都问出正确的问题。下面这张清单,你可以带进每一场演示、每一条头条里。
- 任务有多窄?一个在世界某一小块上得到验证的模型,很少能干净地迁移到另一块。问问它到底是用什么训练、又是在什么上测试的。
- 它出错时会怎样?一个错误的电影推荐无伤大雅;一个错误的医疗或法律答案则不然。让你的信任程度,去匹配失败的代价。
- 系统能告诉你它没把握吗?大多数都不能,而自信的语气并不是正确的证据。把流畅当成一种风格,而不是一种证明。
- 还有人在环路里吗?对任何要紧的事,可靠的模式都是机器起草、人来拍板——而不是机器独自下结论。
第四步里的那个模式,有一个值得记住的名字:人在环路。今天最成功的真实世界 AI,很少彻底取代一个人。它接手那大批量、例行的部分——这是一种 自动化——而由人来掌管那些需要判断的抉择、那些边缘情形,以及那份责任。围绕这种分工去做设计,通常比把整个任务都押在模型身上要明智得多。
answer = model.generate(question)
if answer.is_high_stakes or answer.confidence_is_unverifiable:
answer = human_reviews(answer) # don't ship raw model output
act_on(answer)同时握住两个真相
吹捧与末日,是两个容易掉进去的误区,而它们其实是彼此的镜像:两者都把 AI 想象得比实际更统一、更自主。诚实的立场更难,却也有用得多——同时握住两个真相。这些系统既真正强大,又真正受限,常常就在同一口气里同时成立;那个能把你的邮件起草得无懈可击的模型,下一行就可能编出一个事实。
至此,「基础」这一阶就算走完了。你现在知道了 AI 是什么、从何而来、机器如何学习、它们学习的主要方式,以及——最重要的——如何以清醒的眼光去掂量任何一个关于 AI 的说法。从这里往上,阶梯将开始揭开引擎盖:先是支撑学习的那一小撮数学,接着是数据,再接着是算法本身。你会把那个最宝贵的习惯一路带进去——那个不只问「它能不能?」,更要问「它会在哪里崩掉?」的本能。