下一步是什麼?十二項資訊科技研究目標

Jim Gray

June 1999

Technical Report MS-TR-99-50

Microsoft Research Advanced Technology Division Microsoft Corporation One Microsoft Way Redmond, WA 98052

Jim Gray Microsoft Research 301 Howard St. SF, CA 94105, USA

摘要: Charles Babbage 對計算的願景已大部分實現。我們即將實現 Vannevar Bush 的 Memex 願景。但是,我們距離通過 Turing Test 仍有一段距離。這三個願景及其相關問題為我們許多人提供了長期的研究目標。例如,可擴展性問題困擾我幾十年了。本次演講定義了一系列基礎研究問題,這些問題擴展了 Babbage、Bush 和 Turing 的願景。它們將 Babbage 的計算目標擴展到包括高度安全、高度可用、自我程式設計、自我管理和自我複製的系統。它們將 Bush 的 Memex 願景擴展到包括一個能像人類一樣自動組織、索引、消化、評估和總結資訊(如人類一樣)的系統。另一組問題將 Turing 關於智能機器的願景擴展到包括視覺假體、語音、聽力和其他感官。每個問題都以簡單的方式陳述,並且每個問題都彼此獨立,儘管它們共享一些共同的核心技術。

引言

本次演講首先論證了長期研究的社會效益,既能創造新思想,又能培養出能創造更好思想並將這些思想轉化為產品的人才。教育成分是許多研究應在大學環境中進行的原因。這論證了政府對大學長期研究的支持。演講的第二部分概述了一些長期資訊系統研究目標的範例。

首先,我想感謝 ACM Awards 委員會選擇我作為 1998 年 ACM Turing Award 的獲獎者。同時感謝 Lucent Technologies 提供的豐厚獎金。

最重要的是,我想感謝我的導師和同事們。在過去的 40 年裡,我從許多傑出的人那裡學習。我在此期間所做的一切都是團隊合作。當我想到任何專案時,都是 Mike 和 Jim,或者 Don 和 Jim,或者 Franco 和 Jim,或者 Irv 和 Jim,或者 Andrea 和 Jim,或者 Andreas 和 Jim,Dina 和 Jim,或者 Tom 和 Jim,或者 Robert 和 Jim,等等直到現在。在每一個案例中,我都很難指出我個人做了什麼:一切都是協作努力。與這些人合作是一種樂趣,他們是我最親密的朋友之一。

更廣泛地說,有一個龐大的社群致力於開發自動化和可靠的資料儲存和交易處理系統。我很榮幸能成為這項工作的一部分,也很榮幸被選為整個社群的代表。感謝大家!

¹ The Association of Computing Machinery selected me as the 1998 A.M. Turing Award recipient. This is approximately the text of the talk I gave in receipt of that award. The slides for that talk are at http://research.microsoft.com/~Gray/Talks/Turing2.ppt

指數增長意味著不斷的根本性變化

在過去 100 年裡,指數增長一直在推動著資訊產業。Moore’s law 預測每 18 個月翻一番。這意味著在接下來的 18 個月裡,將有與所有已建造儲存量一樣多的新儲存,以及與所有已建造處理器一樣多的新處理器。接下來 18 個月曲線下的面積等於人類所有歷史曲線下的面積。

1995 年,George Glider 預測已部署的頻寬每年會翻三倍,意味著每 8 個月翻一番。到目前為止,他的預測是悲觀的:已部署的頻寬似乎增長得更快!

這種翻倍僅適用於基礎技術,我們領域的科學產出增長得慢得多。文獻每年增長約 15%,每五年翻一番。

指數增長不可能永遠持續下去。大腸桿菌(你胃裡的細菌)每 20 分鐘翻一番。最終會有事情限制其增長。但是,在過去 100 年裡,資訊產業成功地通過發明來規避每一個後續的瓶頸,從而維持了這種翻倍。實際上,進步似乎正在加速(見圖 1)。有些人認為這種加速會繼續下去,而另一些人則認為它可能很快就會停止——當然,如果我們停止創新,它明天就會停止。

這種快速的技術翻倍意味著資訊技術必須不斷地重新定義自己:許多在十年前難以置信的困難事情,現在相對容易了。現在的權衡有所不同,十年後會非常不同。

圖 1: 圖表繪製了效能/價格隨時間的變化,其中效能 = (每秒運算次數) x (每次運算的位元) / 系統三年價格。效能/價格的提升似乎正在加速。似乎存在三條增長曲線:(1) 在晶體管出現之前 (1890-1960),效能/價格約每七年翻一番。(2) 使用分立電子元件時,1955 年至 1985 年間效能/價格約每 2.3 年翻一番。(3) 自 1985 年以來,隨著 VLSI 的發展,效能/價格每年翻一番。資料來源:Hans Moravec、Larry Roberts 和 Gordon Bell [1]。

賽博空間是一個新世界

思考資訊科技革命的一種方式是將賽博空間視為一個新大陸——相當於 500 年前美洲的發現。賽博空間正在以新的商品和服務改造著舊世界。它正在改變我們學習、工作和娛樂的方式。它已經是一個每年產值萬億美元的產業,自 1993 年以來創造了萬億美元的財富。經濟學家認為,美國經濟增長的 30% 來自 IT 產業。這些是高薪、高出口的產業,被認為促成了長期的繁榮——自這場繁榮開始以來,美國經濟已經跳過了兩次衰退。

如此龐大的資金流動催生了一種淘金熱的心態,大家都在圈地。有初創公司在佔地為王,充滿了樂觀情緒。總的來說,這是一件非常好的事情。

這個新世界需要探險家、開拓者和定居者

有些人忽略了這樣一個事實:我們現在正在利用的大部分賽博空間疆域最初是幾十年前由 IT 先驅們探索的。那些原型現在正在轉化為產品。

淘金熱的心態導致許多研究科學家專注於可能讓他們致富的短期專案,而不是採取更長遠的視角。如果所有探險家都去了初創公司,下一代的原型從何而來?如果教職員工離開大學去了業界,下一代學生從何而來?

許多人認為現在是時候開始 Lewis and Clark 式的賽博空間探險了:由大學進行重大的研究努力,探索遙遠的想法,並培養下一代研究科學家。回想當年 Tomas Jefferson 從法國手中購買 Louisiana Territories 時,他因其愚蠢而被嘲笑。當時,Jefferson 預測這些領土將在 2000 年前被定居。為了加速這一進程,他派出了 Lewis & Clark 探險隊去探索這些領土。那支探險隊帶回了地圖、社會學研究,以及一支領導向西密西西比移民浪潮的探險家隊伍 [6]。

我們今天也有類似的機會:我們可以投資於這樣的探險,為 2020 年的 IT 產業創造知識和人才的種子。政府、工業界和私人慈善機構有責任為我們的孩子進行這項投資,就像我們的父母為我們進行這項投資一樣。

開拓性研究會帶來長遠回報

為了說明我的意思,我建議您閱讀 NRC Brooks Southerland 的報告《發展高性能計算和通訊倡議以支持國家資訊基礎設施》[2] 或最近的《資助革命》[3]。圖 2 基於這兩份報告中的一個圖表。它顯示了政府和產業資助的分時研究如何在十年後變成一個價值十億美元的產業。圖形、網路、使用者介面以及許多其他領域的研究也發生了類似的情況。

圖 2: 政府資助的 IT 研究,在五到十年後,許多研究成果會轉化為產品,再過五到十年則成為價值十億美元的產業。基於 [2]。Internet 和 World-Wide Web 是最近的例子,它們在報告撰寫後成為巨大的產業。

順便說一句,這項研究大部分符合 Pasteur 的象限 [5],IT 研究通常關注基本問題,但其結果對社會產生了巨大的影響和效益。

更接近我自己的領域,關係資料庫在成為產品之前,有將近十年的研究。這些產品中的許多都需要更多的研究才能實現其可用性、可靠性和效能承諾。事實上,對這些問題的積極研究至今仍在繼續,新的研究思路不斷為產品提供養分。同時,研究人員開始探索可以搜尋巨大資料庫的並行和分散式資料庫系統,並探索可以快速總結資料並在資料中找到有趣模式、趨勢或異常的資料探勘技術。這些研究思想現在正在創造另一個每年價值十億美元的產業。

研究思想通常需要十年的孕育期才能轉化為產品。由於淘金熱,這個時間差正在縮短。研究思想仍然需要時間成熟和發展,然後才能成為產品。

長期研究是一種公共財

如果賺了這麼多錢,為什麼政府要資助一個每年產值萬億美元的產業的研究呢?畢竟,這些公司財富雄厚且增長迅速,為什麼不自己做研究呢?

答案是:「他們中的大多數確實如此。」領先的 IT 公司 (IBM, Intel, Lucent, Hewlett Packard, Microsoft, Sun, Cisco, AOL, Amazon,...) 將其營收的 5% 到 15% 用於研發。其中約 10% 的研發不是產品開發。我估計其中的 10%(總額的 1%)是與任何近期產品無關的純粹長期研究(大部分研發中的「研」實際上是高級開發,旨在改進現有產品)。因此,我估計 IT 產業在長期研究上花費超過 5 億美元,這筆資金資助了約 2,500 名研究人員。這是一個保守估計,其他人估計數字是兩到三倍。按照這個保守的衡量標準,工業界的長期 IT 研究規模與美國大學計算機科學系的終身教職員工數量相當。

大多數 IT 產業確實資助長期 IT 研究;但是,為了保持競爭力,一些公司無法做到。MCI-WorldCom 的年度報告中沒有研發項目,諮詢公司 EDS 也沒有。Dell computer 的研發預算很小。總的來說,服務公司和系統整合商的研發預算非常小。

其中一個原因是,長期研究是一種社會公益,不一定是公司的利益。AT&T 發明了晶體管、UNIX 以及 C 和 C++ 語言。Xerox 發明了 Ethernet、位圖列印、圖標介面和 WYSIWYG 編輯。其他公司如 Intel、Sun、3Com、HP、Apple 和 Microsoft 從這些研究中獲得了主要的商業利益。社會獲得了更好的產品和服務——這就是為什麼研究是公共財。

既然長期研究是公共財,就需要將其作為公共財來資助:讓所有的船一起上升。這就是為什麼資金應部分來自社會:工業界通過進行長期研究來繳稅;但是,其利益如此巨大,以至於社會可能希望增加投入,資助大學研究。資助大學研究還有額外的好處,即培養下一代研究人員和 IT 工作者。我不提倡政府資助工業研究實驗室或沒有強大教學成分的政府實驗室。

有人可能會爭辯說,美國政府資助的長期研究對世界上所有人都有益。那麼為什麼美國要資助長期研究呢?畢竟,這是一種社會公益,而美國在全球所佔比例不到 10%。如果這項研究對歐洲人、亞洲人和非洲人有幫助,聯合國應該資助長期研究。

這裡的論點要麼是利他主義的,要麼是沙文主義的。利他主義的論點是,長期研究是對未來全球各代人的投資。沙文主義的論點是,美國在 IT 產業中處於領先地位。美國工業界在將研究思想轉化為產品方面非常出色——比任何其他國家都要好得多。

為了保持 IT 的領先地位,美國需要人才(來自大學的學生),也需要新的商業化思想。但是,需要明確的是,這是一個高度競爭的行業,賽博空間是全球性的,工作人員是國際性的。如果美國變得自滿,IT 領先地位將轉移到其他國家。

PITAC 報告及其建議

我對這個主題的大部分看法源於總統資訊科技諮詢委員會 (PITAC) 為期兩年的研究 http://www.ccic.gov/ac/report/ [4]。該報告建議政府資助 Lewis and Clark 式的 21 世紀探險,建議政府將大學 IT 研究資金翻倍,並建議資助機構將重點轉向長期研究。通過提供更大、更長期的撥款,我們希望大學研究人員能夠解決更大、更具雄心的問題。

報告還建議我們通過便利技術專家的移民來解決近期的員工問題。國會在去年根據這一建議採取了行動:為技術專家額外增加了 115,000 個 H1 簽證。整個配額在 6 個月內用完:最後一批 FY99 的 H1 簽證在 6 月初簽發。

長期 IT 系統研究目標

在為資助長期研究進行了懇求之後。我們究竟在談論什麼?我們心目中的長期研究目標有哪些例子?我將提出十二個長期系統研究專案的例子。其他的 Turing 演講已經提出了理論計算機科學的研究議程。我的清單補充了那些議程。

什麼構成一個好的長期研究目標?

在提出我的清單之前,重要的是描述一個好目標的屬性。一個好的長期目標應該具備五個關鍵屬性:

  • 易於理解: 目標應該簡單明瞭。一句話,或者最多一個段落,就足以向聰明人解釋這個目標。清晰的陳述有助於招募同事和獲得支持。能夠告訴你的朋友和家人你究竟在做什麼也很重要。
  • 具有挑戰性: 如何實現這個目標不應該顯而易見。實際上,這個目標通常已經存在很長時間了。我將要描述的大多數目標在很多年裡都是明確或隱含的目標。通常,有一派人認為這個目標是不可能實現的。
  • 有用: 如果目標實現了,由此產生的系統應該對許多人顯然有用——我指的不是僅僅是計算機科學家,而是廣大人民。
  • 可測試: 目標的解決方案應該有一個簡單的測試,以便衡量進展並知道目標何時達成。
  • 漸進式: 非常希望目標能有中間里程碑,以便衡量一路上的進展。這些小步驟是讓研究人員繼續前進的動力。

可擴展性:一個範例目標

舉一個具體的例子,我的大部分工作都受到 John Cocke 向我描述的可擴展性目標的啟發。目標是設計一種可以無限擴展的軟體和硬體架構。現在,必須有一些限制:數十億美元,或者吉瓦級的功率,或者只是空間。因此,更現實的目標是能夠從一個節點擴展到一百萬個節點,所有節點都在解決同一個問題。

  1. 可擴展性: 設計一種軟體和硬體架構,使其能夠擴展 10⁶ 倍。也就是說,透過單純增加更多資源,應用程式的儲存和處理能力可以自動增長一百萬倍,更快地完成工作 (10⁶ 倍加速),或者在相同的時間內完成 10⁶ 倍大的工作 (10⁶ 倍擴展)。

解決可擴展性問題會導致對大型計算機系統各個方面的研究。系統通過添加模組來增長,每個模組執行整體任務的一小部分。隨著系統的增長,資料和計算必須遷移到新的模組。當一個模組失敗時,其他模組必須掩蓋這種失敗並繼續提供服務。自動管理、容錯和負載分配仍然是具有挑戰性的問題。

這個願景的好處在於它提出了問題和解決方案的計畫。可以從研究自動並行和負載平衡開始。然後研究容錯或自動管理。可以從研究 10 倍的擴展問題開始,同時關注更大的問題。

我個人的研究重點是構建高度並行的資料庫系統,能夠每秒處理數千個事務。我們開發了一個簡單的模型來描述事務何時可以並行運行,並展示瞭如何自動提供這種並行性。這項工作導致了對計算機為何失敗以及如何提高計算機可用性的研究。

最近,我一直在探索非常大的資料庫應用程式,例如 http://terraserver.microsoft.com/http://www.sdss.org/。

回到可擴展性目標,這些年來在可擴展性方面的工作取得了怎樣的成功?進展令人驚嘆,原因有二。

  1. 工作量很大。
  2. 其中許多進展來自意想不到的方向—— Internet。

Internet 是一個世界級的計算機系統,讓我們所有人都感到驚訝。一個擁有 1 億個節點的計算機系統,而且現在每年規模僅翻一番。它可能會增長得更大。PITAC 擔心我們不知道如何擴展網路和伺服器。我也有這種擔憂,認為需要在協定和網路工程方面進行更多的研究。

另一方面,我們確實知道如何構建大型伺服器。公司已經展示了單個系統,可以每天處理十億個事務。這與美國一天內所有的現金交易量相當。這與 AOL 一天內所有的互動量相當。這是很大的量。

此外,這些系統處理一個事務的成本約為微美分。也就是說,它們非常便宜。正是這些便宜的事務使得 Internet 資料伺服器可以免費訪問。實質上,訪問可以通過廣告付費。

通過硬體(每年提升 60%)和軟體(每年提升 40%)的結合,效能和價格效能自 1985 年以來每年翻一番。這種進步在未來幾年內仍可預見(見圖 1 和圖 3)。

不過,我們還有一些非常棘手的問題。計算機科學家尚未能使並行程式設計變得容易。大多數可擴展系統,如資料庫、檔案伺服器和線上事務處理,都是“尷尬並行(embarrassingly parallel)”的。並行性來自應用程式本身。我們只是學會了如何保留它,而不是自動創建它。

圖 3: 上圖:LANL 擁有的 6,000 個節點計算機的照片。下圖:計算機系統在簡單的資料排序任務上的可擴展性。排序速度和排序價格效能過去 15 年來每年翻一番。這部分歸功於硬體,部分歸功於軟體。

當涉及到在高度並行的計算機上運行大型單一任務時,進展平平。能夠自動提供並行性並更快给出答案的並行資料庫系統非常成功。要求程式設計師明確編寫並行程式的並行程式設計系統只作為最後的手段才被接受。最好的例子是由科學家用來獲得非常便宜的超級計算機的 Beowulf 集群 (http://www.beowulf.org/),以及由數千個處理器組成的巨大 ASCI 機器(見圖 3 的頂部)。這兩個群體都報告了驚人的效能,但也報告了相當大的痛苦。

管理這些大型集群也是一個嚴重的問題。可擴展系統所需的自動化只有部分實現。幾乎所有大型集群都有一個客製化的管理系統。我們稍後會回到這個問題。

在接下來的十年裡,可擴展性問題將變得更加緊迫。新的計算機架構似乎將在單個晶片上有多個執行流:因此每個處理器晶片都將是一個 SMP(對稱多處理器)。其他人正在研究嵌入在記憶體、磁碟和網路介面卡中的處理器(例如 http://iram.cs.berkeley.edu/istore/)。另一個趨勢是處理器向微機電系統 (MEMS) 的遷移。每個 10 美元的 MEMS 都將擁有感測器、執行器和板載處理能力。程式設計一個由一百萬個 MEMS 系統組成的集合是一項挑戰 [7]。

因此,可擴展性問題仍然是一個有趣的長期目標。但是,在本次演講中,我想描述一系列廣泛的系統研究目標。

長期 IT 系統研究目標

在尋找剩下的十一個長期研究問題時,我閱讀了之前的 Turing 演講,諮詢了許多人,最終決定在我們領域的三位開創性 visionary 的背景下組織這些問題。在 1870 年代,Charles Babbage 提出了可程式設計計算機的願景,這些計算機可以儲存資訊並比人類更快地計算。在 1940 年代,Vannevar Bush 闡述了他關於儲存人類所有知識的機器的願景。1950 年,Alan Turing 提出機器最終會變得智能。

我選擇的問題是系統問題。之前的 Turing 演講在闡述 IT 理論研究議程方面做得非常出色。這裡的一些問題必然帶有「並證明它」的條款。這些問題提出了具有挑戰性的理論問題。在選擇問題時,我盡量避免特定的應用程式——而是努力專注於對所有應用程式來說似乎通用的資訊技術核心問題。

我希望有更多討論的一個領域是普適計算的話題。Alan Newell 首先闡述了智能宇宙的願景,在這個宇宙中,我們環境的每個部分都是智能且網路化的 [8]。這裡提到的許多研究問題都與這個普適計算願景有關,但我尚未能清晰地陳述一個對此獨特的具體長期研究目標。

Turing 關於機器智能的願景

首先,回想 Alan Turing 在 1950 年發表的著名論文「Computing Machinery and Intelligence」[9]。Turing 認為在 50 年內,計算機將會變得智能。

在那個時代,這是一個非常激進的想法。當時激烈的辯論今天很大程度上仍在迴響:計算機將會是工具,還是會是具有身份、意志和自由意識的實體?Turing 是一個務實主義者。他只是在尋找智能,而不是試圖定義或評估自由意志。他提出了一個測試,現在稱為 Turing Test,對他來說這是一個智能的試金石。

The Turing Test

Turing Test 基於模仿遊戲(Imitation Game),由三個人玩。在模仿遊戲中,一男一女在一個房間,一個評判者在另一個房間。三人無法看到彼此,因此通過 Email 交流。評判者向他們提問五分鐘,試圖找出誰是男,誰是女。這應該很容易,除非男方撒謊並假扮成女方。女方試圖幫助評判者找到真相。如果男方是一個非常好的模仿者,他可能有一半時間能騙過評判者。實際上,評判者大約有 70% 的時間判斷正確。

現在,Turing Test 用一個假扮成女人的計算機取代了男人。如果計算機能騙過評判者 30% 的時間,它就通過了 Turing Test。

  1. The Turing Test: 建構一個計算機系統,使其在模仿遊戲中至少贏得 30% 的時間。

Turing 在這方面的原文值得重讀。他是這麼說的:

「我相信,大約五十年後,將有可能程式設計具有約 10⁹ 儲存容量的計算機,使其在模仿遊戲中表現得如此出色,以至於一般詢問者在提問五分鐘後,判斷正確的可能性不會超過 70%。最初的問題『機器能否思考?』我認為毫無意義,不值得討論。然而,我相信到本世紀末,詞彙的使用和普遍的受教育者觀點將會改變很多,以至於人們可以說機器在思考而不會被反駁。」

從後見之明來看,Turing 的預測非常準確。他的技術預測令人驚訝地準確,儘管略顯悲觀。典型的計算機具有所需的容量,並且功能相當。Turing 估計人類記憶容量在 10¹² 到 10¹⁵ 位元組之間,這個估計的上限至今仍適用。

另一方面,他對機器智能的預測是樂觀的。很少有人將計算機描述為智能。您可以在 Internet 上採訪 ChatterBots (http://www.loebner.net/Prizef/loebner-prize.html),並自行判斷。我認為它們離通過 Turing Test 還很遠。但是,在過去的 50 年裡,取得了巨大的進展,我預計最終機器確實會通過 Turing Test。更具體地說,我認為這將在接下來的 50 年內發生,因為我相信我們正接近與簡單大腦的儲存和計算能力持平的論點。

到目前為止,機器智能更多地是與科學家的合作:一種共生關係。舉幾個令人驚嘆的機器智能進步的例子,計算機幫助證明了幾個定理(四色問題是最著名的例子 [9]),並解決了數學領域的一些開放問題。IBM 的 Deep Blue 擊敗了世界國際象棋冠軍,這成為頭版新聞。現在,計算機幾乎幫助設計一切——它們用於概念化、模擬、製造、測試和評估。

在所有這些角色中,計算機充當工具和協作者,而不是智能機器。Vernor Vinge 將此稱為 IA(智能放大),而非 AI [11]。這些計算機並未形成新的概念。它們通常執行很少適應或學習的靜態程式。在最好的情況下,存在一個預先建立的結構,其中參數會自動收斂到此環境的最佳設定。這是一種適應,但它不像兒童甚至蜘蛛那樣學習新事物。

儘管取得了這些進步,但人們對機器智能和人工智慧 (AI) 普遍感到悲觀。我們仍然處於 AI 冬季。AI 社群承諾了突破,但未能實現。許多人在 Turing Test 上遇到了麻煩,這催生了「Turing Tar Pit」(「一切皆有可能,但沒有什麼是容易的」)的說法。AI complete 是比 NP complete 更難的簡稱。這在某種程度上是對 Turing 最著名的貢獻的雙關語:證明非常簡單的計算機可以計算任何可計算的東西。

矛盾的是,今天研究機器智能要容易得多,因為機器速度更快,成本更低。這是 Turing 使用的「計數論證」。桌面機器應該像蜘蛛或青蛙一樣智能,超級計算機應該接近人類智能。

論點如下。各種實驗和測量表明,人腦最多儲存 10¹⁴ 位元組(100 TB)。神經元和突觸結構每秒可以執行約 100 萬億次運算。這比當今最大的計算機強大約 30 倍。因此,我們應該隨時在這些超級計算機中看到智能(只是開玩笑)。個人計算機比這慢一百萬倍,小一萬倍。

這類似於人類基因組約有十億個鹼基對的論點。其中 90% 是垃圾,剩餘部分的 90% 與黑猩猩共有,而其中 90% 與所有人共有。因此,每個人只有一百萬個獨特的鹼基對(並且可以裝在軟碟上)。

這兩個論點似乎都為真。但兩者都表明我們遺漏了一些非常基礎的東西。這裡發生的事情比我們看到的更多。顯然,嬰兒之間的差異不止一 MB。顯然,我們用於超級計算機的軟體和資料庫並非朝著在未來十年內通過 Turing Test 的方向發展。需要完全不同的方法。需要跳脫思維框架、激進的思考。

我們得到了一個謎題:基因組和大腦可以工作。但我們不知道解決方案是什麼。理解答案是一個美妙的長期研究目標。

另外三個 Turing Test:聽覺、語音和視覺假體

Turing Test 中隱含了兩個本身就相當艱鉅的子挑戰:(1)像人類一樣閱讀和理解,以及(2)像人類一樣思考和寫作。這兩個挑戰似乎都與 Turing Test 本身一樣困難。

有趣的是,還有另外三個看起來更容易,但仍然非常困難的問題:

在計算機聽覺和識別自然語言、音樂和其他聲音方面取得了巨大進展。語音轉文字系統現在已經相當實用。當然,它們受益於更快更便宜的計算機,但演算法也受益於更深層次的語言理解,使用詞典、優秀的自然語言解析器和語義網路。這個領域的進展穩定,錯誤率每年下降約 10%。目前,對於經過訓練的說話者和良好的麥克風,無限詞彙、連續語音的識別率約為 95%。我開玩笑說,計算機比大多數人更能理解英語(請注意:大多數人根本不理解英語)。拋開玩笑不談,許多盲人、聽障人士和殘疾人士使用語音轉文字和文字轉語音系統進行閱讀、聽力或打字。

根據準備好的文本像人一樣說話,這方面受到的關注比語音識別問題要少,但這是機器與人交流的重要方式。

在 1950 年代,語言翻譯曾是一個主要的推動方向,但這個主題已經失寵。當然,現在存在簡單的語言翻譯系統。一個能在英語中通過 Turing Test 的系統,很可能會有一個非常豐富的內部表示。如果教這樣的系統第二種語言,例如普通話,那麼計算機很可能會有類似的內部表示用於該語言的資訊。這為語言間的忠實翻譯開啟了可能性。可能存在更直接的良好語言翻譯途徑,但到目前為止尚不明顯。Bablefish (http://babelfish.altavista.com/) 是當前技術水平的一個不錯例子。它可以翻譯英語與法語、德語、義大利語、葡萄牙語和西班牙語之間的無上下文句子。它將句子「Please pass the Turing Test」翻譯為「Veuillez passer l'essai de Turing」,再翻譯回來就是「Please pass the test of Turing」。

第三個領域是視覺識別:建構一個系統,能夠識別場景中的物體並識別動態的物體行為(馬奔跑、人微笑、身體姿勢等)。

視覺渲染是計算機已經超越我們大多數人的領域。這也是人機共生,但 Lucasfilm 和 Pixar 的「特效」和角色令人驚嘆。然而,挑戰仍然存在,要讓兒童和成人能夠輕鬆地即時創造這種錯覺,用於娛樂或交流想法。

Turing Test 也暗示了記憶假體,但我將把這個留到 Bush 的部分討論。因此,另外三個 Turing Test 是:

  1. 語音轉文字: 像母語使用者一樣聽。
  2. 文字轉語音: 像母語使用者一樣說。
  3. 像人一樣看: 識別物體和行為。

儘管我們在這三個領域的進展有限,但這對殘疾人士和某些工業場合來說仍然是個福音。光學字符識別用於掃描文本,而語音合成器則讀出文本。語音識別系統被聾人用於聽電話,也被腕隧道綜合症和其他殘疾人士用於輸入文本和指令。實際上,一些程式設計師使用語音輸入進行程式設計。

對於大多數聾人來說,直接連接到聽覺神經的設備可以將聲音轉換為神經衝動,從而取代耳膜和耳蝸。不幸的是,目前還沒有人理解身體使用的編碼方式。但是,這個問題似乎遲早會得到解決。

從長遠來看,這些假體將幫助更多人群。它們將徹底改變計算機與人之間的介面。當計算機能夠看見和聽見時,與它們溝通應該變得更容易、更不具侵擾性。它們還將幫助我們更好地看見、更好地聽見、更好地記憶。

我希望您同意這四個測試符合我為一個好目標設定的標準,它們易於理解、具有挑戰性、有用、可測試,並且每個都有漸進的步驟。

Bush 的 Memex

Vannevar Bush 是一位早期的資訊技術專家:他在 MIT 建造了模擬計算機。第二次世界大戰期間,他負責管理科學研究與發展辦公室。戰爭結束時,他為政府寫了一篇精彩的文章,名為《無盡的前沿》(Endless Frontier)[13][14],這篇文章定義了美國過去五十年的科學政策。

1945 年,Bush 在《The Atlantic Monthly》上發表了一篇具有遠見的文章《As We May Think》,http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm [14]。在該文章中,他描述了 Memex,一張桌子,可以儲存「十億本書」、報紙、小冊子、期刊和其他文獻,所有這些都通過超連結連接在一起。此外,Bush 提出了一副帶有內建相機的眼鏡,可以按需拍照,以及一個可以錄音的 Dictaphone。所有這些資訊也輸入到 Memex 中。

Memex 可以通過查找文檔或從一個文檔跳轉到另一個文檔來搜尋資訊。此外,任何人都可以為文檔添加連結註釋,並且這些註釋文檔可以在使用者之間共享。Bush 意識到在 Memex 中查找資訊將是一項挑戰,因此他提出了「關聯搜尋」(association search),即查找符合某些相似性標準的文檔。

Bush 提出機器應該能識別語音命令,並能在人們對其說話時進行打字。而且,如果這還不夠,他隨意提到「直接連接到人類神經系統的電路」可能是詢問和獲取答案更有效的方式。

好了,50 年後,Memex 幾乎實現了。大多數科學文獻都在線上。科學文獻每 8 年翻一番,過去 15 年的大部分文獻都在線上。Turing 的大部分工作和 Bush 的文章都在線上。大部分文學作品也都在線上,但受版權保護,因此網路上不可見。

國會圖書館已上線,每天訪問網頁的人數比實際到訪者還多:儘管圖書館只有極少部分在線上。同樣,ACM97 會議被記錄下來並轉換為網站。一個月後,訪問網站的人數是實際參會人數的五倍。18 個月後,有 100,000 人總共花費了 50,000 小時觀看網站上的演示文稿。這比實際活動的參會人數和時間都要多得多。現在,該網站平均每週有 200 名訪問者和 100 小時的使用時間。

這一切都很棒,但任何使用過網路的人都知道它的局限性:(1)在網路上很難找到東西,以及(2)許多你想要的東西還沒有上網。儘管如此,網路還是非常令人印象深刻,並且非常接近 Bush 的願景。這是我尋找資訊的第一個地方。資訊越來越多地遷移到賽博空間中。大多數新資訊都在線上創建。今天,將 100 封信件(1 MB)儲存在磁碟上的成本約為儲存在檔案櫃中的五十分之一(一角錢對比五美元)。同樣,在線儲存照片的成本約為列印照片並將其儲存在鞋盒中的五分之一。每年,賽博空間的成本都在下降,而真實空間的成本卻在上升。

將資訊遷移到賽博空間的第二個原因是它可以被機器人搜尋。程式可以掃描大量的文檔集合,並找到符合某個謂詞的文檔。這比人工搜尋文檔更快、更便宜、更容易且更可靠。這些搜尋也可以在任何地方進行——英國的文檔可以輕鬆地被澳大利亞的人訪問。

那麼,為什麼不是所有的東西都在賽博空間呢?簡單的答案是,大部分資訊是有價值的財產,而目前,賽博空間對財產權的尊重不足。實際上,賽博空間的文化是所有資訊都應該免費提供給任何人、任何時間。也許資訊會夾雜著廣告,但除此之外應該是免費的。因此,網路上的大部分資訊實際上是以某種形式存在的廣告。

保護知識產權存在一些重大的技術問題,但真正棘手的問題圍繞著法律(例如,考慮到賽博空間是跨國的,每一方在法律下有什麼保護?)以及商業問題(例如,這種變化對經濟有什麼影響?)。後兩個問題阻礙了「高價值」內容向 Internet 的遷移,並阻止圖書館提供對其館藏的 Internet 訪問。通常,客戶必須來到實體圖書館才能瀏覽電子資產。

保護知識產權的幾種技術解決方案正在考慮中。它們都允許財產所有人根據每次查看、訂閱或時間基礎獲得財產使用費。它們也允許觀看者和聽眾輕鬆且匿名地使用該財產。但是,在法律和商業問題得到解決之前,這些技術解決方案幾乎沒有用處。

或許會設計出更好的方案來保護知識產權,但同時作為科學家,我們必須努力將我們的科學文獻上網並免費提供。其中大部分是由納稅人或企業支付的,因此不應被出版商的版權鎖定。值得稱讚的是,我們的技術學會 ACM 在網路出版方面採取了非常進步的態度。您的 ACM 技術文章可以發布在您的網站上、您系的網站上以及計算機科學在線研究存儲庫 (CoRR) 上。我希望其他學會能效仿 ACM 的做法。

個人 Memex

回到研究挑戰,第六個問題是建構一個個人 Memex。一個記錄你看到、聽到或讀到的一切的盒子。當然,它必須附帶一些保護措施,以便只有你能從中獲取資訊。但是,它應該在命令下,找到相關的事件並顯示給你。這個 Memex 的關鍵點是它不進行任何數據分析或總結,它只是返回它看到和聽到的東西。

  1. 個人 Memex: 記錄一個人看到和聽到的一切,並在請求時快速檢索任何項目。

因為它只記錄你看到和聽到的東西,所以個人 Memex 似乎不違反任何版權問題 [15]。它仍然引發一些棘手的倫理問題。如果你和我進行私人對話,你的 Memex 是否有權將我們的對話透露給他人?你可以在未經我允許的情況下出售對話嗎?但是,如果採取非常保守的方法:只在允許的情況下記錄,並將一切設為私有,那麼 Memex 似乎在法律範圍內。但設計者必須警惕這些隱私問題。

Memex 目前似乎除了視訊之外,對其他一切都可行。一個記錄你讀過的一切的個人記錄大約為 25 GB。記錄你聽到的一切大約為幾 TB。一個個人 Memex 每年將增長 250 MB(MB)來儲存你讀到的東西,每年增長 100 GB(GB)來儲存你聽到的東西。這只是一盤現代磁帶或 2 張現代磁碟的容量。三年內,它應該降至每年一張磁碟或磁帶。所以,如果你現在開始記錄,你應該能夠用一兩盤磁帶記錄你餘生的一切。

視訊 Memex 似乎超出我們今天的技術能力,但在幾十年內,它很可能變得經濟可行。高視覺品質會是目前的數百倍——每年 80 TB(TB)。這是大量的儲存空間,一生需要 8 PB(PB)。對大多數個人來說,這仍然是負擔不起的。當然,人們可能想要非常高清晰度和立體影像來記錄他們所見。所以,這 8 PB 的容量很容易增加十倍。另一方面,識別物體的技術可能會帶來巨大的影像壓縮。以目前的壓縮技術,為了將速率保持在每年 1 TB,我們能提供的最好品質大約是每秒十幀電視品質的畫面。每十年,品質將至少提高 100 倍。捕捉、儲存、組織和呈現這些資訊是一個引人入勝的長期研究目標。

全球 Memex

那 Bush 關於將所有專業製作的資訊放入 Memex 的願景呢?有趣的是,一本書的文字內容不到 1 MB,所有書籍和其他印刷文獻在 Unicode 中大約為 1 PB。大約有 500,000 部電影(大多數非常短)。如果以 DVD 品質錄製,大約為 1 PB。如果掃描國會圖書館的所有書籍和其他文獻,圖像將達到幾 PB。有 350 萬份聲音記錄(大多數很短),這又增加了幾 PB。因此,國會圖書館的消費者品質數位化內容總計幾 PB。希望保留圖像和聲音的圖書館員希望錄製和掃描圖像時的保真度提高 100 倍,從而達到 EB 級別。記錄所有電視和廣播廣播(各地)每年將增加 100 PB。

Michael Lesk 對「世界上有多少資訊?」這個問題做了一個很好的分析。他得出結論,記錄的資訊(不包括個人和監控錄影帶)有 10 或 20 EB [16]。一個有趣的事實是,儲存行業在 1999 年出貨了 EB 級別的磁碟儲存和約 100 EB 級別的磁帶儲存。近線(磁帶)和在線(磁碟)儲存成本在每 TB 10 k$ 到 100 k$ 之間。價格下降速度比 Moore’s law 快——儲存很可能在十年內便宜一百倍。因此,我們正接近可以非常便宜地記錄大部分現有資訊的時代。例如,您最喜歡的 1 MB 研究報告或家庭照片的終身賽博空間墓地費用約為 25 美分。今年 10 美分,明年 5 美分,之後每年 5 美分,以及 5 美分的保險費。

這會引導我們走向何方?如果所有東西都將在賽博空間中,我們如何找到任何東西?任何使用過網路搜尋引擎的人都知道喜悅與沮喪:有時它們非常出色,能找到你想要的東西。它們會做一些摘要,提供標題和前幾句話。但它們很少進行真正的分析或摘要。

因此,在只返回你所見、未經消化內容的個人 Memex 之後的下一個挑戰,是能夠分析大量資料並以便利的方式呈現給你的 Memex。Raj Reddy 描述了一個可以閱讀教科書並像一個(好的)大學生一樣回答課後問題的系統 [17]。一個更具挑戰性的任務是接收一個文本語料庫,例如 Internet 或計算機科學期刊,或 Encyclopedia Britannica,並能夠像該領域的人類專家一樣精確快速地回答關於文本的總結性問題。

一旦我們掌握了文本,下一個顯而易見的步驟是建構一個類似的系統,可以消化聲音庫(演講、對話、音樂等)。第三個挑戰是建構一個系統,可以吸收和總結圖像、電影和其他圖像集合。國會圖書館有 1.15 億件文本和圖像項目,Smithsonian 有 1.4 億件 3D 項目(例如 Wright Brothers 飛機)。將這些項目遷移到賽博空間是一項有趣的挑戰。The visible humans (http://www.nlm.nih.gov/research/visible/visible_human.html),兩個屍體的毫米切片版本,可以讓我們了解這可能走向何方。另一個令人興奮的專案是將 Leonardo DeVinci 的一些作品複製到賽博空間。

  1. 全球 Memex: 建構一個系統,給定一個文本語料庫,能夠像該領域的人類專家一樣精確快速地回答關於文本的問題並總結文本。對音樂、圖像、藝術和電影做同樣的事情。

在每種情況下,挑戰在於自動解析和組織資訊。然後當有人提問時,可以使用結合語言、手勢、圖形和表單介面的自然介面來提問。系統應該根據使用者的水平給出適當的回應。

這是一項艱鉅的任務。它可能是一個 AI Complete 問題,但這是一個極好的目標,可能比建造一個像人類一樣玩模仿遊戲的電腦更簡單、更有用。

臨場感通訊 (Telepresence)

能夠記錄一切的一個有趣方面是,其他人可以觀察事件,無論是即時的還是回溯的。我現在經常收聽在另一個研究機構記錄的講座。有時這些是「現場」的,但通常是按需點播的。這極為便利——事實上,我們許多人發現這種時間平移比空間平移更有價值。但是,這從根本上講只是按需點播的電視;或者如果只是音頻,只是按需點播的廣播——把 Internet 變成了世界上最昂貴的 VCR。

通過使用計算機和虛擬實境,可以獲得更高品質的體驗。通過從多個角度以高保真度記錄事件,計算機可以從任何視角以高保真度重建場景。這允許觀看者坐在空間中的任何位置,或者在空間中漫遊。對於體育賽事,觀眾可以在場地上近距離觀看比賽。對於商務會議,參與者可以坐在會議中並環顧四周,觀察會議進程中的面部表情和肢體語言。

挑戰在於記錄事件,然後根據需求創建一個虛擬環境,讓觀察者能像實際身臨其境一樣體驗事件。這稱為 Tele-Observer,因為它實際上是針對事件的被動觀察者——要麼因為它是過去的事件,要麼因為觀察者太多以至於他們必須是被動的(他們只是觀看,不互動)。今天的電視和廣播提供了這種體驗的低品質版本,但它們完全是被動的。

下一個挑戰是讓參與者能夠與事件中的其他成員互動,即成為 Tele-Present。Tele-presence 已以電話、電話會議和聊天室的形式存在。但是,那裡的體驗比實際在場的品質要低得多。實際上,人們經常長途旅行只是為了獲得改進的體驗。Telepresence 的操作測試是:一群參加遠端臨場課程的學生分數與實際在教室裡與講師在場的學生一樣好。並且講師與遠端臨場學生的關係與他與實際在場學生的關係一樣好。

  1. TelePresence: 作為觀察者追溯模擬在其他地方(TeleOberserver):聽和看都如同實際在場一樣,並作為參與者模擬在其他地方(TelePresent):與他人和環境互動,如同你實際身臨其境一樣。

人們對允許遠端臨場者通過機器人與物理世界互動非常感興趣。機器人是機電工程,系統的其餘部分是資訊技術。這就是為什麼我沒有提及機器人。正如 Dave Huffman 所說:「計算機科學擁有位元組和演算法的專利。EE 擁有電子,物理學擁有能量和物質。」

Charles Babbage 的計算機

Turing 和 Bush 的願景令人振奮:機器智能、記錄一切、遠端臨場。現在是時候考慮傳統計算機的長期研究問題了。Charles Babbage (1791-1871) 有兩種計算機設計:一台善於進行數值計算的差分機,以及一台具有打孔卡程式、三地址指令集和記憶體用於儲存變數的完全可程式設計分析機。Babbage 熱愛計算事物,並一直在尋找趨勢和模式。他希望這些機器能幫助他進行計算。

到 1955 年,Babbage 的計算機願景已經實現了。具有他所想像能力的計算機正在生成數字表格、進行記帳,並普遍地執行計算機的功能。當然,在 Babbage 的願景方面還有更多工作要做。我們需要更好的計算演算法以及更好更快的機器。

但我更想關注 Babbage 計算機的另一個方面。當計算機變得免費、無限快、無限儲存、無限頻寬時會發生什麼?現在,這不太可能很快發生。但是,自 1950 年以來,計算成本已經便宜了 1000 萬倍,自 1899 年以來便宜了一萬億倍(見圖 1)。實際上,在過去十年中,它們已經便宜了一千倍。因此,從 1950 年的角度來看,今天的計算機幾乎是免費的,並且擁有幾乎無限的速度、儲存和頻寬。

圖 1 描繪了自 Babbage 時代以來的變化。它衡量了這些系統的價格效能。Larry Roberts 提出了一個效能/價格的衡量標準:

     Operations Per Second x Bits Per Operation
Performance/Price = ---------------------------------
           System Price

這衡量了每美元處理的位元。1969 年,Roberts 觀察到這個衡量標準大約每 18 個月翻一番。這與 Gordon Moore 關於每個矽晶片上的門數量翻倍的觀察同時發生,但這是根據系統層面測量的。利用 Hans Moravec 網站上的數據 (http://www.frc.ri.cmu.edu/~hpm/book98/),以及 Gordon Bell 的一些修正,我們繪製了從 Herman Hollerith 以來的數據。在 1890 年到 1945 年之間,系統是機械或機電的。它們的效能大約每七年翻一番。在 1950 年代,計算轉向了電子管和晶體管,翻倍時間降至 2.3 年。1985 年,微處理器和 VLSI 出現了。通過系統價格降低和機器速度大大加快的結合,翻倍時間降至一年。

這種效能/價格的加速令人驚嘆,並且改變了規則。類似的圖表也適用於儲存和頻寬的成本。

這是真正的通貨緊縮。當處理、儲存和傳輸的成本只有微美分時,真正的價值只在於資料及其組織。但我們計算機科學家有一些棘手的問題:我們「最好」的程式碼通常每千行就有一個錯誤,而且我們「免費」的計算機每年至少需要數千美元的維護費用,這被稱為系統管理。

如今,計算機用戶為其支付的費用相對較少。掌上電腦或桌上型電腦數百美元,工作站數千美元,伺服器可能數萬美元。這些用戶不希望為管理其系統支付大量維護人員的費用。相反,他們希望一個自我組織、自我管理的系統。對於手持設備等簡單系統,客戶只希望系統能夠工作。永遠正常運行,永遠儲存數據,永不丟失數據。當系統需要維修時,它應該「呼叫回家」並安排維修。要麼替換系統通過郵件送達,要麼替換模組通過郵件送達——並且沒有任何資訊丟失。如果是軟體或數據問題,軟體或數據只需從「天空中的伺服器」重新整理。如果你買一個新設備,只需插入它,它就會從「天空中的伺服器」重新整理(就像舊設備壞了一樣)。

這就是大多數伺服器公司在建造資訊設備時所追求的願景。你可以通過查看 WebTV 或你的網路瀏覽器來看到它的原型。

無故障系統

那麼,誰來管理「天空中的伺服器」呢?伺服器系統更複雜。它們有一些半客製化的應用程式,負載更重,並且經常提供手持設備、設備和桌面系統所依賴的服務。在某種程度上,複雜性並沒有消失,只是轉移了。

擁有伺服器的人不介意管理伺服器的內容,那是他們的業務。但是,他們不想成為系統管理專家。因此,伺服器系統應該是自我管理的。人類系統管理員應該設定目標、策略和預算。系統應該完成其餘工作。它應該在伺服器之間分配工作。當新模塊到來時,它們應該在插入時自動添加到集群中。當伺服器發生故障時,其儲存應該已經在其他地方複製,以便儲存和計算可以移動到這些新位置。當某些硬體損壞時,系統應該自行診斷並訂購替換模塊,這些模塊會通過快遞送達。硬體和軟體升級應該是自動的。

這就提出了第一個 Babbage 目標:無故障系統。

  1. 無故障系統: 建構一個每天被數百萬人使用,但僅由一位兼職人員管理和維護的系統。

這項操作測試是該系統每天為數百萬人提供服務,但只需不到一個人的工作量來完成所有管理任務。目前,這樣的系統需要大量的工作人員提供全天候支援,並需要具備升級、維護、系統擴展、資料庫管理、備份、網路管理等方面的專業知識。

可靠系統

前述需求中隱藏著兩個值得特別關注的問題。最近發生了一系列安全問題:Melissa、Chernobyl,以及現在對 RSA 的數學攻擊,使得 512 位元的金鑰看起來危險地小。

如果這種趨勢繼續下去,我們就無法將我們的資產託付給賽博空間。系統設計師面臨的一個主要挑戰是開發一個只為授權用戶提供服務的系統。服務不能被拒絕。攻擊者不能破壞數據,也不能迫使系統拒絕向授權用戶提供服務。此外,除非獲得授權,否則用戶無法看到數據。

這裡額外的一個問題是,大多數系統是通過竊取密碼並以授權用戶身份進入而被侵入的。任何基於密碼或其他憑證的身份驗證似乎都不夠安全。我相信我們必須訴諸生理測量手段,如視網膜掃描或其他無法偽造的認證方式——並且所有軟體都必須以無法偽造的方式簽名。

這項研究目標的操作測試是「老虎隊」無法滲透系統。不幸的是,這個測試並不能真正證明安全性。所以這是安全系統必須依賴於證明其安全性,並且所有威脅都已知並已防範的實例之一。

第二個屬性是系統應該始終可用。我們從 1950 年代的 90% 可用性提高到今天管理良好的系統的 99.99% 可用性。由於網絡的脆弱性、其協議以及目前對上市時間的重視,網絡使用者的可用性約為 99%。

然而,我們在 45 年內增加了三個 9,或者說大約每 15 年可用性提高一個數量級。我們應該爭取再增加五個 9:預期一個世紀內只有一次停機時間不到一秒鐘。這是一個極端的目標,但如果硬體非常便宜且頻寬非常高,這似乎是可實現的。可以將服務複製到許多地方,使用事務來管理數據一致性,使用設計多樣性來避免共同模式故障,並在節點故障時迅速修復它們。同樣,這不是你可以測試的東西:所以實現這個目標需要仔細的分析和證明。

  1. 安全系統: 確保問題 9 的系統僅服務授權用戶,服務不能被未授權用戶拒絕,且資訊不能被竊取(並證明之)。
  2. AlwaysUp: 確保系統在一百年內停機時間少於一秒——達到 8 個 9 的可用性(並證明之)。

自動程式設計

這就帶來了最後一個問題:軟體開發成本昂貴。它是賽博空間中唯一變得越來越貴且越來越不可靠的東西。個別軟體並不一定變得不可靠,只是經過測試和再測試後,典型程式每千行程式碼仍有一個錯誤。典型的軟體產品增長迅速,因此隨著增長會增加錯誤。

你可能會問程式怎麼會這麼昂貴?很簡單:設計、創建和文檔化一個程式的成本約為每行 20 美元。測試程式碼的成本約為這個數字的 150%。然後一旦程式碼發貨,在其生命週期內支援和維護程式碼的成本又是這個數字。

這是一個嚴峻的消息。隨著計算機變得越來越便宜,程式會越來越多,這個負擔也會越來越重。

到目前為止的解決方案是通過轉向高層次非過程性語言來減少程式碼行數。這方面取得了一些巨大的成功。從 SAP、PeopleSoft 等公司實現的程式碼複用為大型公司建構半客製化應用程式節省了巨大的成本。這些公司仍然編寫大量程式碼,但與原本相比只佔一小部分。許多資料庫應用程式和許多網路應用程式的使用者編寫的程式碼量非常小。這些領域的工具非常出色。它們通常基於像 JavaScript 這樣的腳本語言和一組預建對象。這也是軟體複用的一個例子。終端使用者能夠使用這些工具創建令人印象深刻的網站和應用程式。

如果你的問題符合這些預建的範例之一,那麼你就很幸運。如果不符合,你就得回到用 C++ 或 Java 進行程式設計,每天編寫 5 到 50 行程式碼,每行程式碼成本 100 美元。

那麼,解決方案是什麼?我們如何擺脫這種困境?自動程式設計在過去 45 年裡一直是程式設計語言和系統的「聖杯」。遺憾的是,進展相對較小——生產力可能提高了一個數量級,但肯定沒有提高 1,000 倍,除非你的問題符合前面提到的應用程式生成器範例之一。

也許系統化的軟體工程方法最終會結出碩果,但我感到悲觀。我相信需要一種全新的方法。也許現在還為時過早,因為這是一個 Turing Tar Pit。我相信我們必須 (1) 擁有一種高層次規範語言,它比目前的語言容易使用和強大 1,000 倍;(2) 計算機應該能夠編譯這種語言;以及 (3) 這種語言應該足夠強大,能夠描述所有應用程式。

我們今天有能夠完成這三件事中的任意兩件的系統,但沒有一個能夠完成所有三件。實質上,這就是程式設計師團隊的模仿遊戲。客戶來到程式設計師團隊,描述應用程式。團隊回饋一個提議的設計。經過討論,建立原型並進行更多討論。最終,建構出所需的應用程式。

  1. 自動程式設計師: 設計一種規範語言或使用者介面,該介面:

    (a) 使人們易於表達設計 (1,000 倍更容易), (b) 電腦可以編譯,並且 (c) 可以描述所有應用程式 (是完整的)。

該系統應該能夠對應用程式進行推理,詢問關於例外情況和不完整規範的問題。但使用起來不應該繁瑣。

操作測試是用計算機取代程式設計團隊,並產生一個比與普通人工團隊打交道更好且所需時間不長的結果。是的,要等到我們擁有這樣的系統還需要一段時間,但如果 Alan Turing 對機器智能的看法是正確的,那只是時間問題。

總結

這些是十二個非常有趣的研究問題。每一個都是一個長期的研究問題。現在你可以理解為什麼我希望政府投資於長期研究了。我懷疑在 50 年後,未來的計算機科學家們將在這些問題中的每一個上都取得實質性進展。矛盾的是,這十二個問題中有許多(5 個)似乎需要 Alan Turing 所設想的機器智能。

這些問題可分為三大類:Turing 的智能機器,用於改進人機介面;Bush 的 Memex,用於記錄、分析和總結所有發生的事情;以及 Babbage 的計算機,它們最終將變得「文明」,能夠自我程式設計、永不故障且安全。

無論結果如何,我確信這都將非常令人興奮。正如我開頭所說,進步似乎正在加速:如果在 Moore’s law 成立的情況下,未來 18 個月的基礎技術進步將等於之前所有的總和。而且之後還會有很多次翻倍。

十二項長期系統研究問題

  1. 可擴展性: 設計一種軟體和硬體架構,使其能夠擴展 10⁶ 倍。也就是說,透過單純增加更多資源,應用程式的儲存和處理能力可以自動增長一百萬倍,更快地完成工作 (10⁶ 倍加速),或者在相同的時間內完成 10⁶ 倍大的工作 (10⁶ 倍擴展)。
  2. The Turing Test: 建構一個計算機系統,使其在模仿遊戲中至少贏得 30% 的時間。
  3. 語音轉文字: 像母語使用者一樣聽。
  4. 文字轉語音: 像母語使用者一樣說。
  5. 像人一樣看: 識別物體和運動。
  6. 個人 Memex: 記錄一個人看到和聽到的一切,並在請求時快速檢索任何項目。
  7. 全球 Memex: 建構一個系統,給定一個文本語料庫,能夠像該領域的人類專家一樣精確快速地回答關於文本的問題並總結文本。對音樂、圖像、藝術和電影做同樣的事情。
  8. TelePresence: 作為觀察者追溯模擬在其他地方(TeleOberserver):聽和看都如同實際在場一樣,並作為參與者模擬在其他地方(TelePresent):與他人和環境互動,如同你實際身臨其境一樣。
  9. 無故障系統: 建構一個每天被數百萬人使用,但僅由一位兼職人員管理和維護的系統。
  10. 安全系統: 確保問題 9 的系統僅服務授權用戶,服務不能被未授權用戶拒絕,且資訊不能被竊取(並證明之)。
  11. AlwaysUp: 確保系統在一百年內停機時間少於一秒——達到 8 個 9 的可用性(並證明之)。
  12. 自動程式設計師: 設計一種規範語言或使用者介面,該介面: (a) 使人們易於表達設計 (1,000 倍更容易), (b) 電腦可以編譯,並且 (c) 可以描述所有應用程式 (是完整的)。 該系統應該能夠對應用程式進行推理,詢問關於例外情況和不完整規範的問題。但使用起來不應該繁瑣。

參考文獻

[1] 圖表基於 Hans P. Moravec 的著作《Robot, Mere Machines to Transcendent Mind》,Oxford,1999,ISBN 0-19-511630-5 (http://www.frc.ri.cmu.edu/~hpm/book98/) 中的數據,與 Larry Roberts 的個人交流(他在 1969 年開發了該衡量標準),以及與 Gordon Bell 的個人交流(他幫助分析了數據並修正了一些錯誤)。 [2] CSTB–NRC,《Evolving the High-Performance Computing and Communications Initiative to Support the Nation’s Information Infrastructure》,National Academy Press,Washington DC,1995。 [3] CSTB–NRC 《Funding a Revolution, Government Support for Computing Research》,National Academy Press,Washington DC,1999。ISBN 0-309-6278-0。 [4] 《Information Technology Research: Investing in Our Future》,總統資訊科技諮詢委員會,提交給總統的報告,1999 年 2 月。National Coordination Office for Computing, Information, and Communications,Arlington VA。 [5] Donald E. Stokes,《Pasteur’s Quadrant: Basic Science and Technological Innovation》,Brookings,1997,ISBN 0-8157-8178-4。 [6] Stephen E. Ambrose,《Undaunted Courage: Meriwether Lewis, Thomas Jefferson, and the Opening of the American West》,Simon & Schuster,NY,1996,ISBN: 0684811073。 [7] “From Micro-device to Smart Dust”,《Science News》,6/26/97,Vol. 152(4),pp 62-63。 [8] Alan Newell,“Fairy Tales”,收錄於 R. Kruzweil 編輯的《The Age of Intelligent Machines》,MIT Press,1990,ISBN: 0262610795,pp 420-423。 [9] Alan M. Turing,“Computing Machinery and Intelligence”,《Mind》,Vol. LIX. 433-460,1950)。網路上許多網站也有。K. Appel 和 W. Haken,“The solution of the four-color-map problem”,《Scientific American》,1977 年 10 月,108-121。http://www.math.gatech.edu/~thomas/FC/fourcolor.html (1995) 有一份「手工」證明。 [11] Vernor Vinge,“Technological Singularity”。VISION-21 Symposium 由 NASA Lewis Research Center 和 Ohio Aerospace Institute 贊助,1993 年 3 月。也可在 http://www.frc.ri.cmu.edu/~hpm/book98/com.ch1/vinge.singularity.html。 [12] 《Endless Frontier: Vannevar Bush, Engineer of the American Century》,G. Pascal Zachary,Free Press,1997,ISBN: 0-684-82821-9。 [13] Vannevar Bush,《Science-The Endless Frontier》,附錄 3,“Report of the Committee on Science and the Public Welfare”,Washington, D.C.: U.S. Government Printing Office, 1945。作為 National Science Foundation Report 1990 重印,線上 http://rits.stanford.edu/siliconhistory/Bush/Bush_text.html。 [14] Vannevar Bush “As We May Think” 《The Atlantic Monthly》,1945 年 7 月,http://www.theatlantic.com/unbound/flashbks/computer/bushf.htm。 [15] Anne Wells-Branscomb,《Who Owns Information?: From Privacy to Public Access》,Basic Books,1995,ISBN: 046509144X。 [16] Micheal Lesk,“How much information is there in the world?” http://www.lesk.com/mlesk/ksg97/ksg.html。 [17] Raj Reddy,“To Dream The Possible Dream”,《CACM》,1996 年 5 月,Vol. 39, No. 5 pp106-112。