译作:AI不是软件
我认为AI不是软件这个想法在技术圈已经被广泛理解。我试图更清晰地向普通受众传达这一观点。
我们在2024年所称的AI并不是软件。将其归入与其他在计算机上运行的东西同一类别是很自然的,但把LLM、图像生成或深度伪造当作软件来思考是有误导性的,并且会混淆大多数伦理、政治和技术讨论。这对许多用户来说似乎并不明显,但随着AI变得更加普及,理解我们使用AI时在使用什么变得尤为重要。
软件是我们让计算机工作的方式。在创建软件时,人类决定他们想要计算机做什么,思考什么能让计算机做到这一点,然后用某种编程语言编写一套可理解的指令。计算机接收这些指令,并将其解释或编译成程序。当该程序运行时,计算机将遵循软件中的指令,如果程序编写正确,就会产生预期的输出。
软件能工作吗?并非总是如此,但如果不能,它失败的方式完全由人类的指令决定。如果软件开发得当,有明确的方法来检查程序的每个部分。例如,编写单元测试来验证软件在不同情况下是否按预期工作。这些测试用例是基于程序员对软件应该做什么的预期而预先指定的。如果它未通过任何一个单元测试,软件就是错误的,应该被修复。当需要更改时,有源代码访问权限的人可以更改它,并基于新代码重新创建软件。
鉴于这种高层次的描述,似乎在计算机上运行的一切都必须是软件。从某种意义上说,确实如此,但将计算机上所做的一切都当作软件来思考是无益的或具有误导性的。这篇文章是在计算机上使用软件编写的,但它本身不是软件。在AI以外的情况下,在计算机上所做的事情与我们用软件告诉计算机做的事情之间的区别是显而易见的。一旦我们思考计算机做什么,以及什么是软件,我们就不应该将"在计算机上"与软件混淆。
例如,婚礼或假期的照片不是软件,即使它们是使用软件创建、编辑和存储的。当照片不好时,我们会责怪摄影师,而不是相机上运行的软件。我们不会通过重新运行软件或构建单元测试来检查摄影或照片编辑是否正常工作。当照片被编辑或制作成相册时,是编辑在做这项工作。如果做得不好,是编辑选择了错误的软件,或者使用不当——通常不是软件故障。如果我们丢失了照片,这几乎从来不是软件问题。如果我们想要新的照片,我们通常就没办法了——这不是修复软件的问题。没有源代码可以重新运行。举办第二次婚礼可能不应该是解决糟糕或丢失照片的答案。再度一次假可能很好,但它不会给你第一次度假的照片。
同样,视频会议在计算机上运行,但会议本身不是软件——软件是让它运行的东西。会议可能进行得顺利或糟糕,这取决于与会者的准备或行为。(这不是软件的错!)会议不是由编程语言指定的,不会编译成字节码,通常也没有单元测试来检查会议是否进行得顺利。当我们想要改变会议的结果时,我们需要重新召集人们并试图说服他们,而不是简单地改变输入并重新运行。
既然应该清楚不是所有在计算机上运行的东西都是程序,为什么我们不应该把生成式AI当作软件来思考?
首先,我们可以谈谈它是如何创建的。开发人员选择一个模型结构和数据,然后数学算法使用该结构和训练数据来"生长"出一个非常复杂的不同响应的概率模型。构建模型的算法和代码绝对是软件。但模型本身,就像计算机存储的任何东西一样,只是一组数字——就像软件、图像和视频会议一样。AI模型本身,即生长出来的概率模型,是基于一组巨大的、没有人类直接选择或甚至见过的数字来生成输出的。它不是人类编写的指令。
其次,当我们运行模型时,它接受我们给它的输入并用模型执行"推理"。这当然是在计算机上运行的,但程序并不是在执行产生输出的代码,而是在使用生长出来并存储为一堆数字的复杂概率模型。模型通过使用概率模型估计不同响应的概率来响应输入,以输出类似于输入数据所做的东西——但它常常以意想不到或未预料到的方式这样做。根据它学习的模型类型和训练数据的类型,它会找出不同输出的概率。有些人将这种生成模型的行为称为"随机鹦鹉",这解释了它不是在运行程序,而是在复制训练数据展示给它的做法。另一方面,这只鹦鹉能够为律师资格考试的问题撰写可信的答案,创作新的艺术作品,写诗,解释复杂的想法,或者几乎完美地模仿某人的声音或他们说话的视频。
第三,如果它没有按我们预期的那样做,我们该怎么办?首先,系统能做什么或不能做什么并不总是事先就能理解。新模型没有被请求和实现的功能集,因此没有关于它应该做什么或不应该做什么的规范。模型本身不会被审查以检查它是否编写正确,也不会预先编写单元测试来检查模型是否输出正确的答案。相反,生成式AI系统通常会根据用于人类的基准进行测试,或者启发式地评估输出。如果它表现得相当好,就会受到赞扬,但预期它会出错一些事情,并且经常做设计者从未预料到的事情。当需要更改时,不会参考或修改最接近源代码的东西——即用于生成系统的训练数据和训练算法。相反,通过进一步的训练(通常称为"微调")或通过"提示工程"改变系统的使用方式来改变其行为。
最后,我们可以谈谈它是如何被使用的——这可能是最小的区别。谷歌运行程序来查找并显示你搜索内容的库存照片,与Dall-E 3生成库存照片之间的区别可能看起来很小。但一个是存在事物的照片,另一个不是。向谷歌询问答案和向ChatGPT询问之间的区别也可能不明显——但一个是检索信息,另一个是生成信息。同样,通过视频会议与人交谈和与深度伪造交谈之间的区别可能不明显,但人类和AI系统之间的区别是关键的,AI系统和传统软件之间的区别也是如此。
重申一下,AI不是软件。它使用软件运行,用软件创建,但它是不同类型的东西。鉴于它很容易混淆,我们可能需要发展关于它是什么类型东西的新直觉。
感谢Mikhail Samin和Diane Manheim对早期草稿的有益评论。
原文链接:
https://www.lesswrong.com/posts/iknSNTbb8deJwQuLJ/ai-is-not-software