Redis 创始人 antirez 写下了自己 2024 年的第一篇博文,他从一名普通程序员的角度谈了谈对大语言模型的感受,虽然他的成就并不普通。他在文章里犀利评价 Google 引擎已经成为垃圾的海洋,并客观评价了现在的 AIGC 能力:愚蠢但通晓古今。
通过长期使用,他认为现阶段的生成式 AI 只会让已经很强的程序员变得更强。目前大多数编程任务都是在重复工作,根本不需要大模型有太高的推理水平,大模型很适合那些“用完就扔”的程序。我们对 antirez 的博文进行了翻译,并在不改变作者原意基础上进行了一些删减。
自从 ChatGPT 横空出世以来,包括后面以本地方式运行的各种大模型,生成式 AI 已然得到了广泛应用。我个人的目的一方面是想依靠大模型提高编码能力,另外还希望把宝贵的精力从繁琐且价值有限的工作中解放出来。相信很多朋友也像我一样,花费了无数时间搜索没什么启发性的技术文档、被迫学习各种过于复杂的 API、编写过短时间内就沦为垃圾的程序。工作不该是这样的,开发也不该是这样的。现如今,Google 引擎已经成了垃圾的海洋,我们得费尽心思才能在其中找到一点有用的内容。
另外,我本人并不是编程新手。哪怕不借助任何外部资源,我也能够编写代码,甚至可以说具备一定开发水平。只是随着时间推移,我开始越来越多地用大模型协助编写高级代码:Python 代码最多,但在 C 语言中则应用较少。
大语言模型最让我印象深刻的一点,就是我能准确意识到何时可以使用、而哪些情况下盲目使用只会拖慢进度。我还发现,大模型其实很像维基百科和 YouTube 上的各种视频课程:对于有意愿、有能力、更自律的使用者来说效果拔群,但对本就业务能力不足的朋友来说则边际收益递减。所以我很担心,至少在现阶段,生成式 AI 只会让已经很强的程序员变得更强。
下面让我们一步步开始讨论。
大语言模型:全知全能
还是鹦鹉学舌?
机器学习新浪潮中最令人忧心的现象之一,就是 AI 专家对于大模型的认知还相当有限。我们虽然发明了神经网络,但在实质上发明的仅仅是一种自动优化神经网络参数的算法。硬件已经能够训练出越来越大的模型,并使用提取自待处理数据(先验素材)的统计知识,再通过大量迭代试验排除错误、逼近正确答案。必须承认,大模型确实要比以往其他架构效果更好。但总体来讲,神经网络本身仍然极不透明。
由于无法解释大模型为何具备某些新兴能力,预计科学家们的态度将更趋谨慎。但在另一个极端上,也有不少人都严重低估了大语言模型,认为它们只不过是某种更先进的马尔可夫链,最多只能重现在训练集中见到过的有限变化。但大量事实证据表明,这种大模型只是在“鹦鹉学舌”的理论根本站不住脚。
也有不少热心群众觉得大语言模型获得了某种实际上不存在的超自然力量。没那么玄乎,大模型最多只能对自己在训练期间接触过的数据表示空间进行插值,而这并不是什么新鲜成果。而且哪怕单论插值,其能力也相当有限(但足以超出人类预期,甚至带来惊喜)。如果能够更进一步,在接触过的所有代码围成的空间当中进行连续插值,那么大模型哪怕无法创造出真正新奇的事物,也足以取代 99% 的程序员。
好在现实没这么夸张,我们开发者们仍有生存的空间。大语言模型确实能编写出