连续创业者的洞见,编程的终结到来|前哨
计算机科学是一个高速发展的领域,很难预测未来的科技发展和变革。但是,我们可以看到一些趋势和信号,以描绘未来可能的面貌。
马特·威尔士(Matt Welsh),在谷歌、苹果都有任职的一位资深计算机科学家、创业者,他最近分享了自己在人工智能创业中的一些思考,提出了AI可能会为编程、软件生态带来的变革。
在他看来,AI技术让传统编程的时代走向终结,未来大部分计算机科学从业者,将不再需要学习二叉树、C++等具体的技术,那时的计算单元也不再是处理器。
新的计算机科学,底层是一个大规模的、预先训练的、高度适应的人工智能模型,我们即将迅速走进一个新的计算机科学时代。
这个变化将带来巨大的机会,也会带来更多的未知。
今天,我们编译了这篇文章,和你一起看看专业程序员、创业者看见的未来是什么样。
1.经典编程时代
马特·威尔士在20世纪80年代就接触到了个人电脑,他上大学时学习了计算机科学,并最终在伯克利获得博士学位,掌握了编程、算法、数据结构等知识,这些概念现在被他称之为“古典”计算机科学。
马特认为古典计算机科学,最终目标是将一个想法归纳为人类编写的程序——用诸如Java、C++或Python之类的语言编写成源代码。
古典计算机科学中的每个想法,都可以被表达为人类可读、可理解的程序。
当他在90年代初上大学时,计算机产业还处于上一轮AI技术寒冬之中。当时,AI技术同样被古典算法主导,1995年他曾参与到康奈尔大学Dan Huttenlocher,也就是现任MIT计算机学院院长的计算机视觉研究中,那个时候根本就没有深度学习、神经网络的概念。
当时的人工智能使用的是边缘检测之类的信号技术,结合上程序自动化的分类处理,实现类似智能的效果。
当然,这是30年前的事,很多事情今天已经发生了变化,但有一件事并没有真正改变,那就是计算机科学作为一门学科的核心是数据结构、算法和编程。
站在今天这个时点,马特认为如果10年后我们仍然以这种方式理解计算机科学,他会感到非常惊讶,因为AI技术正在完全颠覆这一切。
2.编程走向终结
未来,除了一些非常专业的应用外,大部分软件将由AI系统“训练”生成,而非人工手动“编程”。
他认为这个想法并不疯狂,回顾计算机科学的历史就能看出一二。
最早的计算机先驱者们,都需要学习半导体硬件原理、二进制算法,微处理器设计,详细掌握这些硬件底层技术才能搞懂当时的编程是什么。
但今天呢,99%的程序员都不知道CPU怎么运行,更不用说微处理器设计背后的物理原理。
因此,他相信未来的计算机科学家也会出现相似的情况,他们在AI的加持下,会远离“软件”的经典定义,甚至没有人搞得懂快速排序、指针技术这些东西。
CoPilot这样的AI编程工具只是这个变革的开始,因为它还是编程的副手,程序员仍然是主导者。
未来的编程将更像今天的AI绘画,使用DALL-E的人并不明白该如何绘画,更不明白如何实现那些复杂的效果,但他们能监督AI去做这些事情。
这在几个月前看还是科幻小说里的故事,但今天已经成为现实,马特相信未来的编程也是类似的情况。
未来计算机科学的学生都要掌握AI,就像工程师需要掌握测量工具一样,计算机程序员要做的是懂得如何与上万亿参数的模型互动,让它能完成各种各样的任务。
让AI完成任务的工作,需要的技能将是如何提供正确的示范,如何交付训练数据,如何评估训练结果,今天很多AI训练的知识也不会是必须。
这个新的计算机科学领域,与其说是工程学,可能会更像教育学,我们需要做的,是与AI以正确的方式互动,教会它们更好的完成任务,这时传统的编程,就成了一个维护性的工作,走向了终结。
3.新的计算机观念即将建立
新的计算机科学中,计算单位不再是CPU、内存等等今天的硬件指标,而是AI大模型。
这会是对「计算」概念的一次重大范式转变,计算不再由指令集、命令系统等概念主导。
基于人工智能的计算将跨越数学理论的边界,需要我们重新去理解。
目前,还没有人真正理解大型人工智能模型是如何工作的,对于AI功能的研究与其说是原理性质的,更像是对已有经验的总结。
通过测试,我们能知道AI可以干什么,不能干什么,但我们并不知道它还能干什么,未来当人工智能的复杂度进一步提高,每个人都必须严肃对待这个问题,还有什么意想不到的情况,会从AI的成长中出现。
从程序到模型的转变已经出现到我们眼前,它背后的原理还难以琢磨,但它带来的变化绝对会超出我们的想象。
比如GPT-3论文中对模型的描述,今天的专业人士看起来非常简单,但放到20年前,马特认为没有一个计算机研究者能够看懂。
我们使用与GPT-2 相同的模型和架构,包括其中描述的修改初始化、预规范化和可逆标记化,但在Transformer的层中使用交替密集和局部带状稀疏的注意力模式,类似于Sparse Transformer 。为了研究ML性能对模型大小的依赖性,我们训练了8种不同大小的模型,从1.25亿个参数到1750亿个参数,最后一个模型称为GPT-3。以前的工作表明,有足够的训练数据,验证损失的缩放应该是大小平滑的幂律函数;训练许多不同大小的模型使我们能够测试这个假设,无论是对于验证损失还是对下游语言任务。
未来的计算技术变化,也会是类似的情况,这种转变带来了很多风险,也带来了巨大的机会。
微信扫码关注该文公众号作者