此語言為機器翻譯,尚未經過人工審閱。

歷史 · 文章

從機器碼到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架構的AI系統開始自動生成代碼和文本。本文透過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將之前需要大約1,000條機器碼指令的程序減少到短短47行,使科學家和工程師能夠編寫類似代數的命令如'DO'和'GO TO',而不是直接對硬體編碼。根據IBM的說法,到1960年代中期,Fortran已成為國家計算標準。

IEEE計算機學會的時間線列出Algol和Lisp在1958年出現,為商業計算設計的Cobol在1959年出現。1972年,Dennis Ritchie在Bell Labs的團隊開發了C,同一IEEE時間線將其列為後來包括JavaScript、PHP和Python等語言的結構基礎。面向對象編程隨後在1983年伴隨C++出現。IEEE的記述還記錄了Python在1991年的首次亮相,Java、JavaScript和PHP在1995年,Google的Go在2009年,以及Apple的Swift在2014年。

並行路徑:教機器推理

在高級語言普及的同時,一條獨立的研究線提出機器是否能模擬智能而非簡單遵循指令。達特茅斯學院自身的記述描述了1956年達特茅斯夏季研究項目,由數學家John McCarthy組織,其提議旨在測試所謂的'猜想,即學習的每一方面或智能的任何其他特徵原則上都可以被如此精確地描述,以至於機器可以被製造出來模擬它'。達特茅斯將該研討會認定為人工智能作為確定研究領域的起點。

數十年後,這項研究產生了廣為關注的公開測試。IBM關於其Deep Blue國際象棋計算機的歷史指出,該機器在1996年2月於費城對世界冠軍Garry Kasparov的首場比賽中以4–2落敗,隨後在1997年5月於紐約的復賽中以3.5–2.5的比分獲勝——根據IBM的說法,這是計算機首次在標準賽事條件下擊敗現任世界國際象棋冠軍。

在人類歷史上,我第一次看到了類似人工智能的東西。

— Garry Kasparov,引自IBM官方歷史頁面,來自1997年Deep Blue比賽後

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。根據History.com的記述引用OpenAI聯合創始人Sam Altman的說法,該服務在五天內達到一百萬用戶,在約兩個月內達到大約一億月活用戶,該記述將其描述為當時有史以來最快的消費級應用採用記錄。

編程和AI歷史的六個重要里程碑(按日期)
年份里程碑確認來源的詳情
1956達特茅斯夏季研究項目John McCarthy的研討會提議將機器智能框架化為研究問題,根據達特茅斯學院
1957Fortran商業發佈IBM由Backus領導的團隊將需要大約1,000條機器碼指令的程序減少到短短47行
1972Bell Labs開發C成為後來包括JavaScript、PHP和Python等語言的結構基礎,根據IEEE
1997Deep Blue擊敗Garry Kasparov首次計算機在標準賽事中擊敗現任世界國際象棋冠軍,根據IBM
2017Transformer架構發佈後來支撐GPT和BERT的純注意力設計,根據原始arXiv論文
2022OpenAI發佈ChatGPT在約兩個月內達到大約一億月活用戶,根據OpenAI數據引自History.com

在近八十年的時間裡,上面追踪的每一步都減少了一個人必須手工編寫的硬體特定細節的數量——從Zuse的Plankalkul和手動設置的二進制指令,通過Fortran的類似代數的命令,到現在能夠從自然語言提示生成代碼和文本的基於注意力的模型。

常見問題

什麼是第一種高級編程語言?
Fortran,由John Backus領導的團隊從1954年開始開發,並由IBM在1957年商業發佈,根據IBM自身的項目歷史。
C編程語言為什麼重要?
C在1972年於Bell Labs開發,成為後來廣泛使用的語言(包括JavaScript、PHP和Python)的結構基礎,根據IEEE計算機學會的時間線。
人工智能何時成為確定的研究領域?
在1956年達特茅斯夏季研究項目中,由John McCarthy組織,達特茅斯學院自身的記述將其認定為該領域的起點。
2017年的'Attention Is All You Need'論文改變了什麼?
八位研究人員引入了Transformer,一種完全基於注意力機制而非遞迴或卷積網絡的架構;它後來支撐了GPT和BERT等模型,根據原始arXiv論文。
ChatGPT何時發佈以及增長有多快?
OpenAI在2022年11月30日發佈了ChatGPT;根據History.com報告的OpenAI聯合創始人Sam Altman的說法,它在五天內達到一百萬用戶,在約兩個月內達到大約一億月活用戶。

來源

  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

本文由人工智慧撰寫,發布前已通過自動來源查核。如發現錯誤,請申請更正。 申請更正或回應 · 我們如何製作

相關文章