AI 不是软件

作者:Davidmanheim
发布时间:2024年1月2日
原文链接:LessWrong
认知状态:我认为这个观点在技术圈子里被广泛理解。我正试图更清楚地向普通读者传达这一点。

我们在2024年称之为 AI 的东西并不是软件。很自然地会把它与其他运行在计算机上的东西归为一类,但是把 LLMs、图像生成或 deepfakes 当作软件来思考是误导性的,这会混淆大多数伦理、政治和技术讨论。这对许多用户来说似乎并不明显,但随着 AI 变得越来越普及,理解我们在使用 AI 时究竟在使用什么变得尤为重要。

软件

软件是让计算机工作的方式。在创建软件时,人类决定他们希望计算机做什么,思考什么会让计算机做到这一点,然后用某种编程语言编写一套可理解的指令。计算机获得这些指令,它们被解释或编译成程序。当程序运行时,如果程序编写正确,计算机将遵循软件中的指令并产生预期的输出。

软件总是能工作吗?不总是,但如果不能,它失败的方式完全由人类的指令决定。如果软件开发得当,有明确的方法来检查程序的每个部分。例如,编写单元测试来验证软件在不同情况下是否按预期执行。这些测试用例是事先指定的,基于程序员对软件应该做什么的预期。如果它未能通过单个单元测试,软件就是不正确的,应该被修复。当需要改变时,有权访问源代码的人可以修改它,并基于新代码重新创建软件。

鉴于这种高层次的描述,似乎在计算机上运行的所有东西都必须是软件。在某种意义上确实如此,但将通过计算机完成的所有事情都视为软件是无益或误导性的。这篇文章是在计算机上使用软件编写的,但它不是软件。在计算机上做的事情和我们告诉计算机用软件做的事情之间的区别,在除了 AI 之外的情况下是显而易见的。一旦我们思考计算机做什么以及软件是什么,我们就不应该混淆"在计算机上"和软件。

非软件

例如,婚礼或度假的照片不是软件,即使它们是用软件创建、编辑和存储的。当照片不好时,我们责怪摄影师,而不是相机上运行的软件。我们不通过重新运行软件或构建单元测试来检查摄影或照片编辑是否正常工作。当照片被编辑或放入相册时,是编辑者在做这项工作。如果效果不好,是编辑者选择了错误的软件,或者使用不当——通常不是软件故障。如果我们丢失了照片,几乎从来不是软件问题。如果我们想要新照片,我们通常没有办法——这不是修复软件的问题。没有源代码可以重新运行。举办第二次婚礼可能不应该是解决丢失或糟糕照片的答案。举办第二次度假可能很好,但它不会给你第一次度假的照片。

同样,视频会议在计算机上运行,但会议不是软件——软件是让它运行的东西。会议可能进行得好或差,这取决于会议中人们的准备或行为。(这不是软件的错!)会议不是由编程语言指定的,不会编译成字节码,通常也没有单元测试来检查会议是否进行得顺利。当我们想要改变会议的结果时,我们需要重新召集人们并试图说服他们,我们不只是改变输入并重新运行。

生成式 AI

既然应该清楚不是所有在计算机上运行的东西都是程序,为什么我们不应该把生成式 AI 当作软件来思考呢?

首先,我们可以谈论它是如何创建的。开发者选择模型结构和数据,然后数学算法使用该结构和训练数据来"生长"一个非常复杂的不同响应概率模型。构建模型的算法和代码确实是软件。但模型,就像计算机存储的任何东西一样,只是一组数字——软件、图像和视频会议也是如此。AI 模型本身,这个被生长出来的概率模型,基于一组庞大的没有人类直接选择或甚至见过的数字来生成输出。它不是人类编写的指令。
其次,当我们运行模型时,它接收我们给它的输入并使用模型执行"推理"。这确实在计算机上运行,但程序不是在执行产生输出的代码,它在使用这个复杂的、已经生长的、存储为一堆数字的概率模型。模型通过使用概率模型来估计不同响应的概率来响应输入,以便输出类似于输入数据所做的事情——但它经常以意想不到或未预料的方式这样做。根据它学习的模型类型和训练数据类型,它找到不同输出的概率。有些人称这种生成模型的行为为"随机鹦鹉",这解释了它不是在运行程序,而是在复制训练数据向它展示如何做的事情。另一方面,这只鹦鹉能够对律师资格考试问题给出可信的答案,创作新艺术,写诗,解释复杂的想法,或者几乎完美地模仿某人的声音或他们说话的视频。
第三,如果它没有按我们预期的那样做,我们该怎么办?首先,系统能做什么或不能做什么并不总是提前就能理解的。新模型没有一套被请求和实现的功能,所以没有它应该或不应该做什么的规范。模型本身不会被审查以检查它是否编写正确,也不会提前编写单元测试来检查模型是否输出正确答案。相反,生成式 AI 系统通常根据用于人类的基准进行测试,或者输出被启发式评估。如果它表现得相当好,就会被赞扬,但预期它会在某些事情上出错,并且经常做设计者从未预期的事情。当需要改变时,不会引用或修改最接近源代码的等价物——即用于产生系统的训练数据和训练算法。相反,使用进一步的训练(通常称为"微调"),或者通过"提示工程"改变系统的使用方式来改变其行为。
最后,我们可以谈论它是如何使用的——这可能是最小的差异。Google 运行程序来查找和显示你搜索的库存照片,与 Dall-E 3 生成库存照片之间的差异可能看起来很小。但一个是存在事物的照片,另一个不是。询问 Google 答案和询问 ChatGPT 之间的差异也可能不明显——但一个是检索信息,另一个是生成信息。同样,通过视频会议与人交谈和与深度伪造交谈之间的差异可能不明显,但人类和 AI 系统之间的差异是关键的,AI 系统和传统软件之间的差异也是如此。
重申一下,AI 不是软件。它使用软件运行,用软件创建,但它是一种不同类型的东西。鉴于它容易混淆,我们可能需要发展关于它是什么类型事物的新直觉。
就像一位评论者所说:"AI 系统是软件,就像人类是化学一样:我们的身体确实通过大量协作的化学过程网络运作,但这些过程的效果最好在更高的抽象层次上理解,而这些层次的行为方式并不特别像化学。大多数时候,如果你想理解为什么一个人做某些事情,用化学的方式思考对你帮助不大;大多数时候,如果你想理解为什么 AI 做某些事情,用代码的方式思考对你帮助也不大。"

感谢 Mikhail Samin 和 Diane Manheim 对早期草稿的有益评论。

原文

LessWrong 原文

相关链接

相关讨论:深度学习的本质