公众普遍将传统软件漏洞的理解(即错误可以被定位和修复)错误地套用在现代AI系统上。这种认知存在巨大误区,因为AI的“漏洞”通常源于其庞大的训练数据而非代码错误,这使得问题难以被精确追踪和修复。AI的行为具有不确定性和不可预测性,导致传统的“打补丁”修复模式在AI安全问题上不再适用,我们无法简单地在出问题时“关掉它”或“修复它”。
专家与公众的认知鸿沟
许多人基于对传统软件的经验,对AI抱有看似合理但完全错误的假设。当专家谈论AI风险时,他们基于一套与公众完全不同的底层认知,这导致了沟通的困难。
- 公众的疑问: “如果AI出错了,工程师难道不能像修复代码一样找到问题并解决吗?”
- 专家的困境: 专家认为AI与传统软件的根本区别是显而易见的,因此懒得解释;而新手则不知道这种区别的存在,无法理解自己的困惑源于何处。
这种认知差异导致双方都感到沮丧,因为他们的讨论建立在完全不同的、未言明的假设之上。
关于AI的几个典型误解
以下是一些适用于传统软件,但套用在现代AI上则会产生危害的错误观念。
误解一:漏洞源于代码错误
- 传统软件: 漏洞确实是由代码中的错误引起的。代码量相对可控,可以进行审查。
- 现代AI: 绝大多数不良行为或“漏洞”源于训练数据中的问题。现代AI的训练数据量动辄数万亿词,其规模之大,导致没有任何人或团队能够完全审查。问题并非由某个单一的坏数据造成,而是由数据集中相当一部分内容的综合效应所引发。
误解二:仔细分析代码就能找到漏洞
- 传统软件: 聪明的工程师可以通过仔细阅读和分析代码,从逻辑上找出错误的根源。
- 现代AI: 当AI出现不当行为时,几乎不可能通过反向分析,精确找出是哪部分训练数据导致了该行为。研究人员通常只能用更多的数据来重新训练AI,以期“冲淡”不良影响,或者干脆从头开始筛选数据。
我们能够精确地指出传统软件的错误步骤,并从逻辑上理解错误原因。但当AI犯错时,我们并不理解导致这些错误的具体步骤。即使是AI的创造者也不明白它们为什么会犯错。
误解三:修复过的漏洞不会再出现
- 传统软件: 一旦一个漏洞被定位和修复,它就不会再以同样的方式出现。这使得软件的可靠性可以随时间推移而逐步提高。
- 现代AI: “修复”AI的漏洞几乎是不可能的。即使通过再训练让AI在某些测试中不再表现出怪异行为,你也无法保证该行为已彻底消失。它很可能在某个你没想到的新提示下再次出现。
误解四:同样的代码,运行结果总是一样
- 传统软件: 相同的输入总会产生相同的输出,行为是可预测和可重复的。
- 现代AI: 理论上如此,但实践中并非如此。对输入的极其微小的改动(如增删一个标点符号或改变大小写)都可能导致输出发生巨大变化。此外,许多AI公司会故意让模型的响应带有些许随机性,使其看起来不那么“机械”。
误解五:AI可以按预设要求被精确构建
- 传统软件: 开发者可以根据明确的需求规格来编写代码,并有信心让软件达成预定目标。
- 现代AI: 这基本是错误的。AI的创造者对其最终行为的控制力非常有限。我们知道如何让AI掌握“说英语”等宽泛能力,但无法确保它能精确达到某个特定测试分数,或保证它“绝不教唆用户犯罪”。
这意味着在训练完成之前,我们并不知道AI将具备何种能力。AI发布数月后,被普通用户发现其创造者都不知道的隐藏能力,这种情况非常普遍。
虽然目前发现的隐藏能力大多是无害的(如下棋、模仿画风),但没有理由认为这些隐藏能力永远是积极的。完全有可能,某种危险的能力正潜伏在AI中,只是还没人找到触发它的正确提示。
我们该何去何从
公众对软件漏洞的了解是一项来之不易的常识,但将它错误地应用于AI会产生误导。AI安全是一个复杂微妙的议题,我们必须确保讨论建立在共同的认知基础上。
最关键的一点是,需要让更多人理解:AI在架构上与传统软件根本不同。如果一切开始失控,我们不能指望像过去一样,简单地“打个补丁”来解决问题。