文本是通用界面
英文原文:https://scale.com/blog/text-universal-interface
發(fā)表時(shí)間:2022年9月8日
推薦理由:譯者認(rèn)識(shí)到在深度學(xué)習(xí)的世界中,文本具有根本的重要性,是打開(kāi)深度學(xué)習(xí)知識(shí)寶庫(kù)的鑰匙,因此需要借鑒對(duì)此更深刻的見(jiàn)解,以看清前路。
“這就是 Unix 哲學(xué):編寫(xiě)程序,只做一件事并把它做好。編寫(xiě)程序,使其協(xié)同工作。編寫(xiě)程序,處理文本流,因?yàn)槟鞘峭ㄓ媒涌凇!?/strong> ——Doug McIlroy?
計(jì)算機(jī)軟件在 1960 年代后期走向成熟。當(dāng)時(shí)大多數(shù)程序都是整體編寫(xiě)的,多數(shù)是從頭開(kāi)始,專為樓棟大小的大型機(jī)構(gòu)建,但一些先驅(qū)者開(kāi)始標(biāo)準(zhǔn)化一種新的思維方式。其中一些程序具有熟悉的名稱(例如 grep、diff),作為計(jì)算機(jī)程序員的工具集流傳至今,它們的起源尚不清楚,但實(shí)用性毋庸置疑。其持續(xù)成功是 UNIX 哲學(xué)持續(xù)成功的一個(gè)縮影,UNIX 哲學(xué)是由計(jì)算機(jī)軟件巨頭 Doug McIlroy 和 Ken Thompson 在 70 年代初期創(chuàng)立的。他們注意到了操作和修改文本流之可組合工具的力量。
文本流程序自動(dòng)易于協(xié)作和組織:個(gè)人可以更改不同程序的內(nèi)部結(jié)構(gòu),而不必?fù)?dān)心破壞他人的工作。畢竟,接口是標(biāo)準(zhǔn)的。文本流程序還具有免費(fèi)內(nèi)置的可擴(kuò)展性。當(dāng) I/O 的基本數(shù)據(jù)格式永遠(yuǎn)不會(huì)改變時(shí),可以將長(zhǎng)序列的嵌套 shell 調(diào)用串在一起,通過(guò)將簡(jiǎn)單的程序連接在一起修改彼此行為以構(gòu)建華麗的軟件大教堂。文本成為人類使用計(jì)算機(jī)執(zhí)行命令的最常用杠桿。?
幾十年后,研究人員開(kāi)始齊心協(xié)力攻克許多以前無(wú)法解決的語(yǔ)言和文本任務(wù)。 2019 年 2 月,一位名叫亞歷克·拉德福德 (Alec Radford) 的人工智能領(lǐng)域早熟的新秀發(fā)表了一篇關(guān)于語(yǔ)言建模的開(kāi)創(chuàng)性論文,這使他及其合著者不僅在人工智能社區(qū),而且在廣大技術(shù)專家中立即成為傳奇人物。他們的贊助機(jī)構(gòu) OpenAI 認(rèn)為,以該論文創(chuàng)建的強(qiáng)大模型軟件是第一個(gè)可能太危險(xiǎn)而不能輕易擴(kuò)散的人工智能,因?yàn)閾?dān)心有人可能會(huì)用它做壞事。隨著這個(gè)模型 GPT-2 緩慢地最終發(fā)布,我們迎來(lái)了稱為大語(yǔ)言模型 (LLM) 時(shí)代。?
在機(jī)器學(xué)習(xí)范式的前一次迭代中,研究人員癡迷于清洗數(shù)據(jù)集,以確保其模型看到的每條數(shù)據(jù)都是原始的、黃金標(biāo)準(zhǔn)的,不會(huì)干擾數(shù)十億參數(shù)在模型空間的脆弱學(xué)習(xí)過(guò)程中找到其歸宿。然后許多人開(kāi)始意識(shí)到數(shù)據(jù)規(guī)模重要性超過(guò)深度學(xué)習(xí)世界中其他大多數(shù)優(yōu)先事項(xiàng);允許模型隨著數(shù)據(jù)的復(fù)雜性同步擴(kuò)展的通用方法更加優(yōu)越?,F(xiàn)在,在大語(yǔ)言模型時(shí)代,研究人員傾向于將未經(jīng)過(guò)濾、未經(jīng)編輯的大山一樣的互聯(lián)網(wǎng)碎片傾倒進(jìn)饑餓模型熱切的胃里。

由此產(chǎn)生的模型表現(xiàn)出一般智能的跡象令人驚異——它能夠執(zhí)行多種可用文本表示的任務(wù)!因?yàn)?,例如,?guó)際象棋游戲通常被序列化為描述棋盤歷史的標(biāo)準(zhǔn)格式并被爬蟲(chóng)抓取,事實(shí)證明大語(yǔ)言模型可以下國(guó)際象棋。注意到這些奇怪的涌現(xiàn)行為,其他研究人員已將這種文本處理的通用能力推向極限:最近的一篇論文利用大語(yǔ)言模型的常識(shí)推理能力來(lái)幫助機(jī)器人做出決策。他們只需將潛在動(dòng)作列表作為文本流提交,并獲得 AI 的批準(zhǔn)或不批準(zhǔn)。例如,文本模型知道在洗碗前找到海綿比反過(guò)來(lái)更合理,并以此命令機(jī)器人。看到這些截然不同的任務(wù)在一個(gè)不太可能的屋檐下被馴服,我們不得不問(wèn)——還有哪些困難問(wèn)題可以輕易轉(zhuǎn)錄成文本并詢問(wèn)一個(gè)神諭智能軟件?麥克羅伊一定在什么地方微笑。?
一些人正在沿著這條知性之路冒險(xiǎn),本著 UNIX 先驅(qū)的精神,詢問(wèn)大語(yǔ)言模型的通用智能是否可以成為各種他們軟件程序和業(yè)務(wù)的核心模塊化認(rèn)知引擎。這些勇敢的企業(yè)家和工程師要求世界上最好的人工智能以某種方式行事,以便為其用戶找到價(jià)值,這正在催生全新的提示工程學(xué)(prompt engineering)。 mem.ai 的創(chuàng)始人丹尼斯·徐 (Dennis Xu) 就是這樣一位未來(lái)之門的開(kāi)拓者:他的公司開(kāi)發(fā)了一款自組織筆記應(yīng)用程序,該應(yīng)用程序可作為智能的知識(shí)存儲(chǔ),其 AI 可以管理、標(biāo)記、并連接不同的筆記。
Dennis 的團(tuán)隊(duì)知道訓(xùn)練自己的模型來(lái)解決核心認(rèn)知任務(wù)沒(méi)有任何產(chǎn)品意義。試圖從頭開(kāi)始理解人類知識(shí)的廣度以編寫(xiě)筆記摘要和標(biāo)記主題標(biāo)簽是荒謬的。相反,為什么不使用通過(guò) API 隨時(shí)向公眾開(kāi)放的人類最強(qiáng)大的機(jī)器思維之一?為下游應(yīng)用程序(如筆記應(yīng)用程序)收集自己的數(shù)據(jù)集需要大量預(yù)先存在的用戶群,GPT-3(代號(hào):“davinci”)可能是世界上最著名的語(yǔ)言模型,已經(jīng)存在并在 5000 億個(gè)詞上進(jìn)行了訓(xùn)練,這些詞編碼了常識(shí)推理和語(yǔ)言任務(wù)理解的廣度。我們可以簡(jiǎn)單地要求它執(zhí)行諸如“總結(jié)本文檔”、“列出本筆記涵蓋的主題”等任務(wù)。當(dāng)然,事情并非如此簡(jiǎn)單。我們必須提供一些筆記示例及其相應(yīng)的摘要或主題標(biāo)簽,以確保模型在正確的方向上思考。提示的基礎(chǔ)通常包括號(hào)召性用語(yǔ)和一些定義任務(wù)空間的示例,但這幾乎沒(méi)有觸及表面。
對(duì)于任何親身工作與這些模型人來(lái)說(shuō),很明顯,創(chuàng)造這些技術(shù)巨獸的龐大而全面的訓(xùn)練過(guò)程中嵌入了一些困難的行為。雖然示例材料的廣度催生了能夠處理大量文本任務(wù)的具有廣泛智能的數(shù)字生物,但可能需要大量的刺激、哄騙和懇求才能讓這些模型進(jìn)入適合手頭特定任務(wù)的正確情緒。在 GPT-3 發(fā)布后的早期,許多人就注意到,如果你以“這是人類與極其智能的人工智能之間的對(duì)話”修飾補(bǔ)全提示,模型結(jié)果會(huì)變得更有說(shuō)服力。有時(shí),GPT 似乎為了它正在扮演的角色而隱藏了它真正的智力深度。 給 GPT 的提示甚至決定它能否解決算術(shù)難題。在語(yǔ)言建模的另一個(gè)瘋狂怪癖中,如果你指定它來(lái)自“虛幻引擎”(以其逼真的風(fēng)格而聞名),文本到圖像模型似乎可以創(chuàng)造更高質(zhì)量的藝術(shù)作品。由于文檔分布的廣度和在它所收集的 5000 萬(wàn)億互聯(lián)網(wǎng)上抓取的詞中看到(通過(guò)訓(xùn)練時(shí)認(rèn)真觀察)的令人眼花繚亂的寫(xiě)作風(fēng)格,自監(jiān)督語(yǔ)言模型可以被看做是許多模型的龐大集合,這些模型扮演了許多具有不同個(gè)性的角色。

用戶向大型基礎(chǔ)模型輸入的每個(gè)提示都會(huì)實(shí)例化一個(gè)新模型,一個(gè)范圍更有限的模型:它進(jìn)入不同的條件概率分布,或者換句話說(shuō),不同的情緒。語(yǔ)言模型的情緒催生了一種新的可組合模塊化軟件,它接收一個(gè)文本標(biāo)記流并返回另一個(gè)作為輸出。 UNIX 風(fēng)格軟件的優(yōu)雅功能來(lái)自簡(jiǎn)單但功能強(qiáng)大的原語(yǔ),即管道。它將一個(gè)程序的輸出轉(zhuǎn)換為另一個(gè)程序的輸入或修飾符。一個(gè)提示查詢的輸出(請(qǐng)求筆記的摘要)可以很容易地聚合并發(fā)送到另一個(gè)提示模型,該模型要求按給定搜索主題的相關(guān)性對(duì)摘要進(jìn)行排序。

模塊化軟件創(chuàng)建的純粹能量在提示工程作戰(zhàn)室中嗡嗡作響,以大大減少的努力將人類意志轉(zhuǎn)化為可重復(fù)的程序:找到提示,而不是編寫(xiě)程序。丹尼斯及其團(tuán)隊(duì)努力尋找正確的咒語(yǔ)來(lái)哄 GPT-3 進(jìn)入正確的心情來(lái)執(zhí)行手頭的任務(wù)。與大多數(shù)工程一樣,這是一個(gè)持續(xù)的優(yōu)化過(guò)程。 OpenAI 定價(jià)模型的結(jié)構(gòu)要求最終用戶必須注意使用盡可能少的標(biāo)記作為提示,因?yàn)檫@是 GPT-3 API 中的基本成本單位。僅使用 100 個(gè)字符讓 GPT-3 做正確事情的提示優(yōu)于需要 400 個(gè)字符的提示。提示工程師必須玩一個(gè)微妙的游戲,讓模型在縮短咒語(yǔ)的同時(shí)好好思考。?
這些足智多謀的工程師正在將機(jī)器學(xué)習(xí)世界的一些方法應(yīng)用到提示工程世界:新抽象層下的舊技巧包。例如,他們創(chuàng)建工具來(lái)存儲(chǔ)困難任務(wù)示例的“測(cè)試集”,以評(píng)估新提示(或模型更改后的舊提示)的質(zhì)量。假設(shè)提示工程師有一個(gè)可以縮短向機(jī)器詢問(wèn)文檔摘要文本提示的主意。它每月可能節(jié)省數(shù)千美元的 API 費(fèi)用。她在 20 個(gè)例子(“測(cè)試集”)上進(jìn)行了嘗試,團(tuán)隊(duì)認(rèn)為這些例子很有趣,并適當(dāng)?shù)卣f(shuō)明了模型的性能。在檢查所有 20 個(gè)示例都產(chǎn)生了成功的結(jié)果(或者至少性能不比以前差)之后,她可以以自動(dòng)化的方式將她的更改推廣到產(chǎn)品中。 mem.ai 團(tuán)隊(duì)使用這些方法來(lái)確保安全并加快實(shí)驗(yàn)速度,不斷創(chuàng)造此類創(chuàng)新。他們甚至可以巧妙地在同一個(gè)查詢中組合多個(gè)任務(wù)(多任務(wù)推理?。?,進(jìn)一步降低成本。所有輸入都是文本,因此有幾種明顯的方法可以將查詢重新組合并重新路由到不同的提示中。所有輸出都是文本,因此人工審閱者可以快速檢查測(cè)試示例并檢查正確性和性能。
在新范式的開(kāi)始階段很容易不如以前:哥白尼宇宙學(xué)日心模型最初對(duì)觀察到軌道的預(yù)測(cè)不如競(jìng)爭(zhēng)對(duì)手復(fù)雜的循環(huán)地心說(shuō)。人們很容易試用一個(gè)大語(yǔ)言模型,看到它犯一些令人沮喪的錯(cuò)誤,然后放棄 LLM 范式。但深度學(xué)習(xí)模型無(wú)情的規(guī)模法則對(duì)其有利。由于集中在幾家硅谷公司的杰出人工智能研究人員和工程師不懈努力,使模型和數(shù)據(jù)集都變得更大,語(yǔ)言模型變得像發(fā)條一樣更加智能。 OpenAI 的 Beta 版新模型(代號(hào):davinci2)比兩年前推出的舊模型要智能得多。就像一個(gè)早熟的孩子,一個(gè)更聰明的模型需要更少的提示來(lái)更好地完成同樣的工作。隨著時(shí)間的推移,提示工程師可以事半功倍。很快,提示可能根本不像“工程”,而是與機(jī)器的簡(jiǎn)單對(duì)話。我們看到梯度指向正確的方向:提示變得更容易,語(yǔ)言模型變得更智能,新的通用計(jì)算接口看起來(lái)不可避免。?
有時(shí),盡管盡了最大的努力,還是必須離開(kāi)文本的領(lǐng)域。在其他媒體上運(yùn)行的計(jì)算形式無(wú)窮無(wú)盡——現(xiàn)有的大部分?jǐn)?shù)字內(nèi)容是照片、視頻和圖形界面,用戶喜歡這些。我們已經(jīng)看到,自然語(yǔ)言的力量也被用來(lái)運(yùn)用和操縱這些內(nèi)容。名為 DALL-E 和 Stable Diffusion 的快速發(fā)展的模型系列正在互聯(lián)網(wǎng)上擴(kuò)散,引發(fā)了關(guān)于 AI 藝術(shù)的出現(xiàn)及其對(duì)人類意味著什么的社交媒體熱議。這些工具使我們能夠捕捉自己的想象力,僅通過(guò)文本的多功能界面進(jìn)行交流,并命令強(qiáng)大的智能將這種愿景具象化為像素。這項(xiàng)技術(shù)是非凡的——甚至古人也設(shè)想了一種可以拍攝心靈照片的禮物,現(xiàn)在任何會(huì)打字的人都可以使用它。
其他人正在尋求更大膽的努力來(lái)控制文本下的其他模式。 Adept.AI 的團(tuán)隊(duì)包括撰寫(xiě)所有現(xiàn)代語(yǔ)言模型中使用的 Transformer 架構(gòu)的開(kāi)創(chuàng)性論文的傳奇作者,他們指出,LLM 就其所有廣義智能而言,無(wú)法在圖形界面世界中采取無(wú)縫行動(dòng),其目標(biāo)是盡快修復(fù)這種差異。他們的博客中列出了一個(gè)示例:你以文本形式告訴計(jì)算機(jī)“生成月度合規(guī)報(bào)告”,然后看著你的意愿在屏幕上展開(kāi),同時(shí)計(jì)算機(jī)將文本轉(zhuǎn)換為 Excel 或 Word 界面上的操作。在這個(gè)范例中,藝術(shù)、圖形和 GUI 本身將在文本模式下被指揮。
緩慢但肯定地,我們可以看到 UNIX 信條的新擴(kuò)展正在誕生。那些真正理解大語(yǔ)言模型、提示工程和文本作為通用界面的承諾的人正在重新訓(xùn)練自己以新的方式思考。他們從如何將任何新的業(yè)務(wù)流程或工程問(wèn)題表示為文本流的問(wèn)題開(kāi)始。輸入是什么?輸出是什么?我們必須運(yùn)行哪一系列提示才能到達(dá)那里?也許我們注意到,公司 Twitter 帳戶的負(fù)責(zé)人每周都在煞費(fèi)苦心地將 GitHub 變更日志轉(zhuǎn)換為推文線程。在某個(gè)地方有一個(gè)提示可以解決這個(gè)業(yè)務(wù)挑戰(zhàn)以及與之對(duì)應(yīng)的語(yǔ)言模型情緒。有了足夠聰明的模型和足夠好的提示,這可能適用于每一個(gè)業(yè)務(wù)挑戰(zhàn)。在單獨(dú)的文本輸出確實(shí)不夠的情況下,我們訓(xùn)練了一個(gè)聯(lián)合嵌入模型,例如 DALL-E,它將文本輸入轉(zhuǎn)換為其他域。
世界上最復(fù)雜的推理程序可以定義為生活在某些技術(shù)公司服務(wù)器上的巨獸的文本 I/O 流。工程師可以致力于提高這些程序的質(zhì)量和成本。它們可以是模塊化的、可重組的,并且與典型的 UNIX shell 程序不同,它們能夠從用戶錯(cuò)誤中恢復(fù)。就像 shell 程序經(jīng)久不衰并隨著底層硬件變得越來(lái)越強(qiáng)大而變得越來(lái)越強(qiáng)大一樣,隨著底層語(yǔ)言模型變得越來(lái)越智能,提示模型也變得越來(lái)越智能并且可以執(zhí)行更多任務(wù)。在不久的將來(lái),所有需要定制協(xié)商的計(jì)算機(jī)界面都有可能向大型語(yǔ)言模型的看門人支付少量稅款,因?yàn)樗鼮椴僮鲉T提供了純粹的杠桿作用:一輛新的思維自行車。即使在今天,我們中的許多人也發(fā)現(xiàn)自己已經(jīng)依賴 GitHub Copilot 這樣的工具來(lái)閱讀、建議和修改文本,以創(chuàng)建更傳統(tǒng)的軟件程序,盡管它們是最近發(fā)明的。數(shù)以千計(jì)或數(shù)以百萬(wàn)計(jì)精心設(shè)計(jì)的語(yǔ)言模型情緒將激增、相互關(guān)聯(lián),每一個(gè)都處理人類文明織錦中的一個(gè)小認(rèn)知任務(wù)。
“語(yǔ)言模型適用于文本。語(yǔ)言模型仍然是我用過(guò)的最好的界面。它對(duì)用戶友好、可組合且隨處可用。它易于自動(dòng)化且易于擴(kuò)展。”