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