历史 · 文章
从机器码到ChatGPT:八十年来编程如何改变
发布:

要点
软件编程始于工程师手工设置原始二进制指令,然后发展经历了为人类设计的编程语言——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,这是计算机首次在标准比赛条件下击败现任世界国际象棋冠军。
在人类历史上,我第一次看到了类似人工智能的东西。
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账户,该服务在五天内达到了一百万用户,在大约两个月内达到了大约一亿月度用户,该账户将其描述为当时创下的最快消费应用采用记录。
| 年份 | 里程碑 | 源确认的细节 |
|---|---|---|
| 1956 | 达特茅斯夏季研究项目 | John McCarthy的研讨会提案将机器智能定位为研究问题,根据达特茅斯学院 |
| 1957 | Fortran商业发布 | IBM的Backus领导的团队将需要约1000条机器码指令的程序削减到仅47行 |
| 1972 | 在贝尔实验室开发的C | 成为了包括JavaScript、PHP和Python在内的后续语言的结构基础,根据IEEE |
| 1997 | 深蓝击败Garry Kasparov | 计算机在标准比赛中首次击败现任世界国际象棋冠军,根据IBM |
| 2017 | Transformer架构发布 | 纯注意力设计随后成为GPT和BERT的基础,根据原始arXiv论文 |
| 2022 | OpenAI发布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报道,它在五天内达到一百万用户,在大约两个月内达到约一亿月度用户。
来源
本文由人工智能撰写,发布前已通过自动来源核查。如发现错误,请申请更正。 申请更正或回应 · 我们如何制作
相关文章
历史指南
如何研究你的家族历史:分步骤家谱指南
来自美国国家档案馆、FamilySearch和史密森尼图书馆的家谱研究指南建议,首先采取时间敏感的步骤——采访健在的亲属并保存旧照片和文件——然后再搜索人口普查、军事、移民和土地档案等历史记录。这三个机构都强调保持研究日志、引用原始资料和建立时间线来跟踪进度。DNA测试可以补充但不能替代基于文件的研究。
历史文章
从物物交换到数字货币:货币如何在各文明中演变
货币从直接的物物交换发展到牲畜货币和贝壳货币,随后演变为金属硬币、纸币,再到今天的电子支付和中央银行数字货币。根据英格兰银行和国际货币基金组织的观点,每一次转变都解决了信任、便携性或规模方面的实际问题。

历史新闻
探险队到达尼库马罗搜寻阿梅莉亚·埃尔哈特失落飞机
由考古遗产研究所和普渡大学领导的一支16至17人的探险队正在接近太平洋偏远环礁尼库马罗,以检查一个被称为"塔拉伊亚物体"的声纳/卫星异常现象。研究人员表示这可能是阿梅莉亚·埃尔哈特驾驶的洛克希德伊莱克特拉10-E飞机的残骸。该队于2026年10月7日离开基里巴斯塔拉瓦,预计将在当地时间10月12日中午左右到达环礁,之后将计划进行约五天的潜水、疏浚和遥感工作。

历史文章
文艺复兴:艺术与科学如何改变欧洲,14-17世纪
文艺复兴是一场文化和智力运动,始于14世纪的佛罗伦萨,到17世纪传遍欧洲,复兴了古典学问并改造了艺术、科学和教育。通过人文主义、线性透视等新的艺术技巧以及日心说等科学突破,它在中世纪和现代世界之间架起了一座桥梁。