好代碼既要腳踏實地,又得凸顯個人風格。代碼要提供一切必要的信息,但又不存在多余的細節(jié)。低效、錯誤絕對不能容忍??偠灾玫拇a準確、簡潔、不證自明,適合人類閱讀和理解。
但到上世紀六十年代末,計算能力的發(fā)展已經超越了程序員的技術水平。當時不少計算機科學家在創(chuàng)建程序時,并沒有關注設計問題。他們編寫出的算法冗長且不夠連貫,里頭充斥著大量“goto”語句——簡單來講,如果滿足特定條件,機器就會跳轉至程序中的指定位置。早期編程人員大量使用這類語句以避免代碼產生難以預料的結果,但同時也導致程序難以閱讀、無法預測甚至引發(fā)風險。糟糕的軟件最終令人們付出了生命的代價——Therac-25計算機控制下的放射機,向癌癥患者釋放出了過量輻射。
在這樣的背景下,Barbara Liskov于1968年在斯坦福大學獲得了計算機科學博士學位。當時她對電氣工程師充滿崇敬,因為他們能夠用神奇的雙手通過電線把硬件連接起來。這樣的架構特征,自然培養(yǎng)起工程師們分解問題并將其歸類為不同模塊的思維方式。如此一來,他們將擁有更充分的控制權,從而有針對性地對個別組件進行功能推理。
但計算機科學家面對的是代碼,Liskov面前沒有任何可以操作的物理對象。她更像是小說家或者詩人,只有一片空白等著她去填滿。
▲ Barbara Liskov率先采用現(xiàn)代方法編寫代碼。她認為,單憑良好的設計無法克服當今計算機科學面臨的實際挑戰(zhàn)。
Liskov曾在加州大學伯克利分校攻讀數學專業(yè),在她看來程序設計不能算是技術問題,而更像是數學問題——可以通過邏輯原理與自然的美感進行推斷引導。她希望組織代碼以便控制軟件,同時借此理解軟件的復雜性。
在麻省理工學院任教授的青蔥歲月里,她領導的團隊開發(fā)出第一種不依賴goto語句的編程語言。CLU語言(即集群cluster的縮寫)利用她發(fā)明的數據抽象方法將代碼組織成多個模塊。從這層意義上講,目前我們使用的每一種重要編程語言,包括Java、C++以及C#,都可以算是CLU的后繼者。
Liskov表示:“入行早的一大優(yōu)勢,在于行業(yè)還存在著不少嚴重的問題。大問題就在那,你要做的就是著手解決。”2008年,Liskov憑借著“對編程語言及系統(tǒng)設計實踐與理論基礎做出的卓越貢獻,特別是與數據抽象、容錯以及分布式計算相關的貢獻”獲得了圖靈獎(被稱為計算機領域的諾貝爾獎)。
在海德堡獲獎者論壇(由獲得計算機領域內各大重量級獎項的計算機科學家與數學家參與的內部邀請會議)之后,《Quanta Magazine》采訪了Liskov,以下是經過編輯梳理的采訪內容:
問:您經歷了整個人工智能技術的發(fā)展周期,而且一直以專業(yè)角色參與其中。在您的職業(yè)生涯中,對于AI與機器學習的思考是否出現(xiàn)過變化?
Liskov:我在讀博期間的合作伙伴就是AI方向的John McCarthy。我編寫過一個程序,用來解國際象棋殘局。John之所以提出這個課題,是因為我本身并不會下國際象棋。我讀了下棋教程,并把算法翻譯成計算機能夠理解的形式。那時候,人們總覺得最明智的作法是保證程序能夠按人們的意愿行事。但現(xiàn)在情況完全不同了。
如今,機器學習程序在不少領域都擁有良好的表現(xiàn),但有時候也會掉鏈子。而人們既解釋不了它們?yōu)槭裁醋嘈?,也解釋不了它們?yōu)槭裁吹翩溩印H绻掖蛩阊芯磕硞€問題,而且需要確切了解算法的工作原理,那我肯定不會使用機器學習技術。另一方面,我的一位同事正在利用機器學習對胸部X光片進行分析,希望找到更早診斷出乳腺癌的方法。
AI是一種應用方式,而非核心學科??梢钥吹?,人們總是要用AI解決某些問題。
問:您是否曾將AI視為一門核心學科并投身其中?
Liskov:坦率地講,我當初搞科研的時候,AI能做的事情還不多,所以我對基礎工作更感興趣。“我們該如何組織軟件?”這是個非常有趣的問題。在設計過程中,我們需要考慮怎樣實現(xiàn)程序的既定功能。我們需要把代碼分成幾個部分并加以管理。數據抽象在這方面發(fā)揮著重要作用。這有點像在證明一個定理,我們不可能一口氣完成;相反,我們得先把問題分解開來,然后找到能夠證明這些子問題的輔助定理。
要說我個人對計算思維的理解,我構想出的是一臺僅包含所需數據類型與運算功能的抽象機。如果存在這樣一臺機器,我就可以編寫出需要的程序。但事實并非如此;相反,我們引入了大量子問題——例如數據類型與運算,而且需要弄清楚如何將它們逐一實現(xiàn)。我會一遍又一遍地重復這個過程,直到開發(fā)出真正的機器或者真正的編程語言。這就是所謂設計的藝術。
了解其中的方法論,并不代表我們就已經精通了設計。有些人能做設計工作,有些人不能。身為老師,我一直不相信自己能教會所有學生如何設計。我可以向他們展示設計、解釋設計、討論數據抽象,并告訴他們什么是好的、什么是壞的。如果因素太多,那么流程就變得太過復雜;但如果因素太少,效率則會受到影響。設計出足夠強大的功能,就是這樣一門藝術。
問:如果您獲得了一種神奇的法力,能夠指導計算機科學的發(fā)展,那您會選擇怎么做?
Liskov:我最關注的是互聯(lián)網這個方向。目前出現(xiàn)了很多問題,包括假新聞和安全問題。我也擔心互聯(lián)網上關于人文的部分,例如夫妻離婚之后一方對于另一方的無端指責甚至是誹謗,包括可能公開對方的住所信息等等。那時候,我們有15所大學和幾處政府實驗室率先一步接入了互聯(lián)網,能夠訪問網絡的成員都是合作伙伴。我們認為,網站不需要對內容負責,因為這會扼殺網站的發(fā)展空間。一直到現(xiàn)在,互聯(lián)網領域仍然有這樣的立場存在。
問:您覺得這種立場是對學術自由的延伸嗎?
Liskov:不,我覺得這是一種實用主義,畢竟我們無法預料可能出現(xiàn)的結果。如果想要靠互聯(lián)網來維持治安,相關人員就必須得考慮其中存在的棘手難題。但當時人們就是那樣直接接入網絡,沒有增設任何保障機制。解決當前問題所需要的不僅僅是技術,我們更需要利用法律約束人們的不當行為,特別是與隱私以及安全性相關的問題。當然,其中一部分也有技術性元素。例如,F(xiàn)acebook就利用一種算法進行信息傳播,包括通過這種算法來限制某些信息的傳播速度,或者識別出哪些信息不應該傳播??傊鐣τ谛律挛锏南芰偸遣粔驈?。我們當然希望能夠加快成熟的速度。如果我有這樣一種法力,我會先把互聯(lián)網帶來的問題給解決掉。
問:作為女性,您能談談在計算機科學領域的個人經歷嗎?
Liskov:我在學校里倒是一直在得到積極的反饋。母親沒怎么鼓勵我,但也沒有表達“哦不,女孩子別學這個”這類強烈的反對意見。但我學完了全部數學和理科課程,社會上對于女生學數理學科還是不太鼓勵的。在伯克利大學,班上的100名同學只有那么零星幾個女生。沒人過來問我,“嘿,你學得挺好,要不咱們一起弄個項目?”我不知道現(xiàn)在情況還是不是這樣。后來我去了斯坦福大學的研究生院。在畢業(yè)的時候,也沒有公司邀請我入職。我當時注意到,我的朋友Raj Reddy和其他不少男同學都被招進了學術項目組,但確實沒人來問我。
那時候,會有專門的人才顧問與全國各個部門接洽,安排高校里的畢業(yè)生。
但沒人幫我找工作。上世紀九十年代,我回到斯坦福大學參加院系慶典活動。一群老教授又聚在一起搞自己的人脈圈子,他們說“嘿,那邊有個朋友告訴我,我這有個學生挺適合你們的項目。”事情就是這樣,他們根本沒覺得有什么問題。事實上,他們打算推薦的是一位女生,而她能得到推薦完全是因為她嫁給了其中一名教授。真的讓人很無語……還有位同事在自己的辦公室里貼了張美女海報,我問他,“那張海報上是誰?”但他并不知道。
我申請加入麻省理工學院,但他們也不打算讓我擔任教職。出了這種狀況,我們總會覺得是因為自己不夠優(yōu)秀。不過我的想法是,計算機科學應該是個開放的學科。我在MITRE得到了一個不錯的研究崗位,編程方法的研究也是從這里開始。研究結果很好,我的論文得了一等獎。后來在1971年,我做了一次演講,接下來Corby(Fernando Corbató)邀請我加入麻省理工學院,同時在伯克利任教的申請也有了回信??磥砬闆r正在慢慢變好。
問:即使如此,您當初加入麻省理工學院時,全校1000名教職員工中只有10位是女性。這是真的嗎?
Liskov:我記得確實是這樣。
女性當然不會被明確拒絕,但壓力確實會更大。麻省理工學院院長Jerry Wiesner也在為此努力??梢愿杏X到,這種壓力來自上層,而絕對不會是基層。麻省理工學院有很多杰出的女性一直拿不到正式職稱。過了不久,突然有幾位女性加入進來。但數學系一直沒有好轉,數學系真的無可救藥了。
我的感覺是,當時各個科學領域都沒有意識到,女性已經做出了不少重大的基礎性貢獻。
在我擔任麻省理工學院計算機科學系主任的十年之前,整個系只發(fā)現(xiàn)了一名有資格加入的女性。但等到我出任系主任時(2001年至2004年),我先后雇用了七名女性。這跟性別無關,我選定的三位年輕女性都很出色。但在很長一段時間里,院系從來就沒考慮到女性這個群體。
問:在您獲得圖靈獎之后,網上有一條評論提到,“她為什么能得這個獎?她做過的事我們都聽說了。”當然,這條評論可能與您的性別有關,也可能無關。
Liskov:我敢打賭肯定有性別的因素。還有另一條我之前沒說起過的評論,里面提到“這項工作不是她做的,而是某某(另一位男同事)做的。”我不怎么關注網上的評論,但我丈夫看見了,又說給我聽。我有時候會在對女性抱有敵意的地區(qū)做演講,所以必須為此做好準備。一方面是因為我的女性身份,另一方面也是因為人總有種表現(xiàn)自己的欲望,所以還是得考慮到種種尷尬的情況。
問:您是說,有人會當面質疑圖靈獎得主?
Liskov:沒錯!而且到這時候,我才感受到院系里同事們對我的支持。在到處演講的時候,我已經有了一點名氣,那時候人們總愛提這樣一個問題:為什么有些女人更有韌勁?
問:您對新生代女科學家怎么看?女性有什么辦法能防止這種廣泛的歧視嗎?
Liskov:這一點確實非常重要。我在麻省理工學院工作了一段時間之后,才慢慢適應公開場合出現(xiàn)的這些刻薄問題。建立這種自信,確實要花上不短的時間。
問:有所轉變真的太好了。您的故事,大概可以總結成“隱忍不發(fā),直到有能力獨立自主。”
Liskov:沒錯,這可能也正是我自己的策略。當然,好在我也沒遇到很多常見的麻煩,比如要求女性參加應酬之類。
在這方面,我的建議是:用不著取悅他人。
要知道,現(xiàn)在的情況并不比那時候好多少。我可能比較幸運,如果我大學一畢業(yè)就結婚了,那接下來的生活恐怕會完全不同。
問:您真這么認為嗎?畢竟您有能力做出改變整個計算機行業(yè)乃至社會的貢獻。
Liskov:畢竟生活軌跡都不同了,那后面的事情誰又說得準呢?
好文章,需要你的鼓勵
浙江大學團隊提出動態(tài)專家搜索方法,讓AI能根據不同問題靈活調整內部專家配置。該方法在數學、編程等任務上顯著提升推理準確率,且不增加計算成本。研究發(fā)現(xiàn)不同類型問題偏愛不同專家配置,為AI推理優(yōu)化開辟新路徑。
清華大學研究團隊提出SIRI方法,通過"壓縮-擴張"交替訓練策略,成功解決了大型推理模型"話多且準確率低"的問題。實驗顯示,該方法在數學競賽題上將模型準確率提升43.2%的同時,輸出長度減少46.9%,真正實現(xiàn)了效率與性能的雙重優(yōu)化,為AI模型訓練提供了新思路。
南洋理工大學與騰訊聯(lián)合研究團隊開發(fā)出Rolling Forcing技術,實現(xiàn)AI視頻實時流式生成的重大突破。該技術通過滾動窗口聯(lián)合去噪、注意力錨點機制和高效訓練算法三項創(chuàng)新,解決了長視頻生成中的錯誤累積問題,可在單GPU上以16fps速度生成多分鐘高質量視頻,延遲僅0.76秒,質量漂移指標從傳統(tǒng)方法的1.66降至0.01,為交互式媒體和內容創(chuàng)作開辟新可能。
華中科技大學研究團隊發(fā)現(xiàn),通過讓AI模型學習解決幾何問題,能夠顯著提升其空間理解能力。他們構建了包含約30000個幾何題目的Euclid30K數據集,使用強化學習方法訓練多個AI模型。實驗結果顯示,幾何訓練在四個空間智能測試基準上都帶來顯著提升,其中最佳模型達到49.6%準確率,超越此前最好成績。這項研究揭示了基礎幾何知識對培養(yǎng)AI空間智能的重要價值。