编程的终结:经典计算机科学的末日即将来临
【本文作者Matt Welsh (mdw@mdw.la)是一家最近成立的初创公司Fixie.ai(致力于开发人工智能功能来支持软件开发团队)的首席执行官和联合创始人。他曾是哈佛大学计算机科学教授、谷歌的工程总监、苹果的工程主管,以及OctoML的工程高级副总裁。他在加州大学伯克利分校获得博士学位的时候,人工智能还不太会下国际象棋。】
本文The End of Programming 发表于 JANUARY 2023 | VOL. 66 | NO. 1 | COMMUNICATIONS OF THE ACM(《美国计算机协会通讯》),本文只代表着其中一种观点,但由权威刊出,说明这种观点值得关注。
(创造出令人惊艳的图像, https://openai.com/dall-e-2/)
未来的工程师只需敲击几下键盘,就能启动一个包含400亿亿个参数(four-quintillion-parameter)的模型实例,这个模型已经对人类知识的全部范围(包括子集)进行了编码,并随时准备执行机器要求的任何任务。让机器做我们想做的事情的大部分脑力工作将是提出正确的示例、正确的训练数据和正确的方法来评估训练过程。像基于小样本学习(few-shot learning)且能泛化的、这样强大的模型只需要执行任务的几个好的示例。在大多数情况下,大规模的、人工管理的数据集将不再是必要的,大多数人“训练”一个AI模型将不会在PyTorch中运行梯度下降循环( gradient descent loops )或类似的东西。他们只是教模型几个示例,机器将完成其余的工作。
在这门新的计算机科学中——如果我们还称之为计算机科学的话——机器将如此强大,并且已经知道如何做很多事情,这一领域将看起来不像一个工程领域,而更像一个教育领域。也就是说,如何最好地教育机器,就像如何最好地教育学校里的孩子一样。不过,与(人类)孩子不同的是,这些人工智能系统将驾驶我们的飞机、运行我们的电网,甚至可能统治整个国家。我认为,当我们的注意力转向教授智能机器而不是直接编程时,绝大多数经典CS就变得无关紧要了。传统意义上的编程实际上将会消亡。
我认为CS作为一个领域正在经历一场相当大的剧变,我们中很少有人真正做好了准备。
这一切将如何改变我们对计算机科学领域的看法?新的原子计算单元不再是处理器、内存和I/O系统,而是一个大规模的、预先训练过的、高度自适应的AI模型。这对我们思考计算的方式来说是一个巨大的转变——不再是一个可预测的、静态的、受指令集、类型系统和可判定性概念支配的过程。基于人工智能的计算早已跨越了静态分析和形式证明的界限。我们正在迅速走向这样一个世界,在这个世界里,计算的基本构件是有气质的、神秘的、自适应的代理。
没有人真正了解大型人工智能模型是如何工作的,这一事实突显了这种转变。人们发表的研究论文实际上发现了现有大型模型的新行为,即使这些系统是由人类“设计”出来的。大型人工智能模型能够做一些它们没有受过明确训练的事情,这应该会把Nick Bostrom[2]和其他担心超级智能人工智能横行的人吓得魂飞魄灭(这是正确的)。除了实证研究,我们目前没有办法确定当前人工智能系统的局限性。至于未来更大更复杂的人工智能模型——祝我们好运!
对于任何读过现代机器学习论文的人来说,焦点从程序到模型的转变应该是显而易见的。这些论文几乎没有提到创新背后的代码或系统:人工智能系统的构建模块是更高层次的抽象,如注意力层(attention layers)、标记器(tokenizers)和数据集。即使是20年前的时间旅行者,也很难理解GPT-3论文[3](描述为该模型构建的实际软件)的三句话(three sentences):
“我们使用与GPT-2相同的模型和架构,包括其中描述的修改后的初始化、预归一化和可逆标记化,除了我们在Transformer Layer中使用交替的密集和局部稀疏注意力模式,类似于 稀疏矩阵(Sparse Transformer)。为了研究ML性能对模型大小的依赖关系,我们训练了8种不同大小的模型,从1.25亿个参数到1750亿个参数,范围超过三个数量级,最后一个是我们称之为GPT-3的模型。先前的工作表明,在足够的训练数据下,验证损失的缩放应该近似于一个平滑幂律(power law)作为规模的函数。许多不同规模的训练模型允许我们测试这个假设的验证损失(validation loss )和下游语言任务。”
计算基础定义的这种转变带来了巨大的机遇,也带来了巨大的风险。然而,我认为现在是时候接受这是一个很有可能的未来,并相应地发展我们的思想,而不是只是坐在这里等待流星撞击。
参考文献:
Berger, E. Coping with copilot. SIGPLAN PL Perspectives Blog, 2022; https://bit.ly/3XbJv5J
Bostrom, N. Superintelligence: Paths, Dangers, Strategies. Oxford University Press, 2014.
Brown, T. et al. Language models are few-shot learners. 2020; https://bit.ly/3Eh1DT5
Kojima, T. et al. Large language models are zero-shot reasoners. 2022; https://bit.ly/3Ohmlqo
Nye, M. et al. Show your work: Scratchpads for intermediate computation with language models. 2021; https://bit.ly/3TLnfMY