此语言为机器翻译,尚未经过人工审核。

历史 · 文章

从机器码到ChatGPT:八十年来编程如何改变

发布:

ENIAC (Electronic Numerical Integrator And Computer) in Philadelphia , Pennsylvania . Glen Beck (background) and Betty Snyder (foreground) program the ENIAC in building 328 at the Ballistic Research Laboratory (BRL).
图片: Unknown author Unknown author · Public domain · Wikimedia Commons

要点

软件编程始于工程师手工设置原始二进制指令,然后发展经历了为人类设计的编程语言——Fortran、C、Python——之后,今天基于2017年Transformer架构的人工智能系统开始自动生成代码和文本。本文通过IBM、IEEE计算机学会、达特茅斯学院和原始Transformer研究论文确认的标志性时刻,追踪了这一转变。

此版本是原文(English)的机器翻译。 阅读原文

软件编程并非始于在高级语言中输入命令。最早的电子计算机是通过逐条指令用其硬件可直接读取的原始二进制模式进行配置的——这在今天被称为机器码。从此,编程发展经历了汇编语言,然后是为人类而非处理器设计的高级语言,在过去十年中发展到能生成自己代码和文本的系统。以下日期和数据来自IBM的企业历史、IEEE计算机学会、达特茅斯学院对其1956年研讨会的记述,以及介绍了当今聊天机器人所使用的Transformer架构的2017年研究论文。

从机器码到助记符

根据IEEE计算机学会发布的时间表,最早的编程语言之一是Plankalkul,由德国工程师Konrad Zuse在1940年代开发。到1949年,汇编语言和称为Shortcode的系统已经出现,用短助记码代替了长的二进制数字串——但这些代码仍然必须逐行翻译成处理器能执行的格式。

高级语言:为人类而非处理器编写

这一转变在1957年加速,当时IBM推出了Fortran,是"公式翻译"的缩写。IBM关于该项目的历史记载称,由数学家John Backus领导的团队——其中包括构建编译器算术表达式分析器的Lois Haibt——花费三年开发了这种语言,最初预期需要六个月。IBM表示,Fortran将之前需要大约1000条机器码指令的程序削减到仅47行,让科学家和工程师能够编写类似代数的命令如"DO"和"GO TO",而不是直接编码硬件。根据IBM的说法,到1960年代中期,Fortran已成为国家计算标准。

IEEE计算机学会的时间表列出Algol和Lisp在1958年出现,为商业计算而设计的Cobol在1959年出现。在1972年,Dennis Ritchie在贝尔实验室的团队开发了C,IEEE同一时间表将其称为包括JavaScript、PHP和Python在内的后续语言的结构基础。面向对象编程随后在1983年的C++出现。IEEE的记录还列出了Python在1991年的首次亮相,Java、JavaScript和PHP在1995年出现,Google的Go在2009年出现,Apple的Swift在2014年出现。

平行轨道:教机器推理

在高级语言传播的同时,另一条研究线索探讨机器是否能够模拟智能,而非仅仅遵循指令。达特茅斯学院的记载描述了1956年达特茅斯夏季研究项目,由数学家John McCarthy组织,其提案旨在测试所谓的"一切学习或其他智能特征在原则上都可以如此精确地描述,以至于机器可以被制造来模拟它"的猜想。达特茅斯学院将该研讨会视为人工智能作为明确定义的研究领域的起点。

数十年后,这项研究产生了一场广受关注的公开测试。IBM关于其深蓝国际象棋计算机的历史记载,该机器在1996年2月于费城与世界冠军Garry Kasparov的首场比赛中以4–2的比分落败,然后在1997年5月于纽约的复赛中以3.5–2.5的比分获胜——根据IBM,这是计算机首次在标准比赛条件下击败现任世界国际象棋冠军。

在人类历史上,我第一次看到了类似人工智能的东西。

— Garry Kasparov,1997年深蓝比赛后IBM官方历史页面引述

Transformer与生成式AI时代

当今聊天机器人背后的架构可以追溯到2017年的一篇论文。八名研究人员——Ashish Vaswani、Noam Shazeer、Niki Parmar、Jakob Uszkoreit、Llion Jones、Aidan Gomez、Lukasz Kaiser和Illia Polosukhin——在2017年6月12日将《Attention Is All You Need》发布到arXiv预印本服务器。该论文介绍了Transformer,其摘要将其描述为仅基于注意力机制的网络,去除了早期翻译系统所依赖的递归层和卷积层。作者报告了在英德翻译中得分28.4 BLEU,英法翻译中得分41.8 BLEU,训练速度比之前的模型更快。

该架构支撑了从2018年开始发布的大型语言模型。OpenAI在2022年11月30日推出了ChatGPT。根据引用OpenAI联合创始人Sam Altman的History.com账户,该服务在五天内达到了一百万用户,在大约两个月内达到了大约一亿月度用户,该账户将其描述为当时创下的最快消费应用采用记录。

编程和AI历史中的六个标志性时刻
年份里程碑源确认的细节
1956达特茅斯夏季研究项目John McCarthy的研讨会提案将机器智能定位为研究问题,根据达特茅斯学院
1957Fortran商业发布IBM的Backus领导的团队将需要约1000条机器码指令的程序削减到仅47行
1972在贝尔实验室开发的C成为了包括JavaScript、PHP和Python在内的后续语言的结构基础,根据IEEE
1997深蓝击败Garry Kasparov计算机在标准比赛中首次击败现任世界国际象棋冠军,根据IBM
2017Transformer架构发布纯注意力设计随后成为GPT和BERT的基础,根据原始arXiv论文
2022OpenAI发布ChatGPT在大约两个月内达到约一亿月度用户,根据History.com引用的OpenAI数据

在近八十年间,上述每一步都减少了一个人必须手工编写的硬件特定细节——从Zuse的Plankalkul和手工设置的二进制指令,通过Fortran的类似代数的命令,到现在从自然语言提示生成代码和文本的基于注意力的模型。

常见问题

最早的高级编程语言是什么?
Fortran,由John Backus领导的团队从1954年开始开发,由IBM在1957年商业发布,根据IBM关于该项目的自身历史。
C编程语言为什么很重要?
在1972年于贝尔实验室开发的C成为了后来广泛使用的语言(包括JavaScript、PHP和Python)的结构基础,根据IEEE计算机学会的时间表。
人工智能何时成为确立的研究领域?
在1956年由John McCarthy组织的达特茅斯夏季研究项目,达特茅斯学院的记载将其确认为该领域的起点。
2017年《Attention Is All You Need》论文有什么改变?
八名研究人员介绍了Transformer,这是一种仅基于注意力机制而非递归或卷积网络的架构;根据原始arXiv论文,它后来成为了GPT和BERT等模型的基础。
ChatGPT何时发布,增长速度有多快?
OpenAI在2022年11月30日发布了ChatGPT;根据OpenAI联合创始人Sam Altman按History.com报道,它在五天内达到一百万用户,在大约两个月内达到约一亿月度用户。

来源

  1. IEEE Computer Society — A Timeline of Programming Languages
  2. IBM — History of Fortran
  3. IBM — History of Deep Blue
  4. arXiv — Attention Is All You Need (Vaswani et al., 2017)
  5. Dartmouth College — How the Term 'Artificial Intelligence' Was Coined
  6. History.com — ChatGPT, the Generative AI Chatbot, Is Released

本文由人工智能撰写,发布前已通过自动来源核查。如发现错误,请申请更正。 申请更正或回应 · 我们如何制作

相关文章