我们在2024年称之为 AI 的东西并不是软件。很自然地会把它与其他运行在计算机上的东西归为一类,但是把 LLMs、图像生成或 deepfakes 当作软件来思考是误导性的,这会混淆大多数伦理、政治和技术讨论。这对许多用户来说似乎并不明显,但随着 AI 变得越来越普及,理解我们在使用 AI 时究竟在使用什么变得尤为重要。
鉴于这种高层次的描述,似乎在计算机上运行的所有东西都必须是软件。在某种意义上确实如此,但将通过计算机完成的所有事情都视为软件是无益或误导性的。这篇文章是在计算机上使用软件编写的,但它不是软件。在计算机上做的事情和我们告诉计算机用软件做的事情之间的区别,在除了 AI 之外的情况下是显而易见的。一旦我们思考计算机做什么以及软件是什么,我们就不应该混淆"在计算机上"和软件。
第三,如果它没有按我们预期的那样做,我们该怎么办?首先,系统能做什么或不能做什么并不总是提前就能理解的。新模型没有一套被请求和实现的功能,所以没有它应该或不应该做什么的规范。模型本身不会被审查以检查它是否编写正确,也不会提前编写单元测试来检查模型是否输出正确答案。相反,生成式 AI 系统通常根据用于人类的基准进行测试,或者输出被启发式评估。如果它表现得相当好,就会被赞扬,但预期它会在某些事情上出错,并且经常做设计者从未预期的事情。当需要改变时,不会引用或修改最接近源代码的等价物——即用于产生系统的训练数据和训练算法。相反,使用进一步的训练(通常称为"微调"),或者通过"提示工程"改变系统的使用方式来改变其行为。
最后,我们可以谈论它是如何使用的——这可能是最小的差异。Google 运行程序来查找和显示你搜索的库存照片,与 Dall-E 3 生成库存照片之间的差异可能看起来很小。但一个是存在事物的照片,另一个不是。询问 Google 答案和询问 ChatGPT 之间的差异也可能不明显——但一个是检索信息,另一个是生成信息。同样,通过视频会议与人交谈和与深度伪造交谈之间的差异可能不明显,但人类和 AI 系统之间的差异是关键的,AI 系统和传统软件之间的差异也是如此。
就像一位评论者所说:"AI 系统是软件,就像人类是化学一样:我们的身体确实通过大量协作的化学过程网络运作,但这些过程的效果最好在更高的抽象层次上理解,而这些层次的行为方式并不特别像化学。大多数时候,如果你想理解为什么一个人做某些事情,用化学的方式思考对你帮助不大;大多数时候,如果你想理解为什么 AI 做某些事情,用代码的方式思考对你帮助也不大。"