7 月 8 日,在機(jī)器之心舉辦的 2023 WAIC AI 開發(fā)者論壇上,新浪微博新技術(shù)研發(fā)負(fù)責(zé)人張俊林先生發(fā)表了主題演講《自然語言交互:大語言模型帶來的交互方式變革》。在演講中,他主要介紹了大型語言模型為人機(jī)交互方式帶來的變革,其中的核心觀點是:無論是人機(jī)交互還是 AI 之間的交互,都采用自然語言的方式,由此人操作數(shù)據(jù)的方式將變得更加簡單與統(tǒng)一。而大語言模型處于人機(jī)交互的中心位置,復(fù)雜的中間過程將會隱藏到幕后,由語言模型通過 Planning+Programming 的方式解決。
以下為張俊林先生的演講內(nèi)容,機(jī)器之心進(jìn)行了不改變原意的編輯。
現(xiàn)在國內(nèi)外很多人都在做大模型;而做大模型考慮的核心問題有兩個:
第一是基座大模型。打造功能強(qiáng)大的基座需要大量數(shù)據(jù)、算力和資金。盡管 ChatGPT 出來震驚了世界,但主要原因不在基座模型。強(qiáng)大的基座大模型不是在 ChatGPT 出現(xiàn)時橫空出世的,而是慢慢發(fā)展起來的 —— 從 2020 年開始國外開發(fā)的模型規(guī)模逐步增大,效果也在逐漸變好,ChatGPT 的基座大模型可能相比之前效果有所提升,但并沒有發(fā)生質(zhì)的飛躍。所以 ChatGPT 影響力如此大的主要原因不是基座大模型。
第二是大模型的命令理解能力。如果要考慮 ChatGPT 為什么有這么大的影響力這個問題,主要原因在此。ChatGPT 做到了讓大模型能夠理解人的語言和命令,這個可能是最關(guān)鍵的因素,也是 ChatGPT 比過去大模型更加獨特的地方。
有一句古詩特別適合形容大模型的這兩個關(guān)鍵組件:「舊時王謝堂前燕,飛入尋常百姓家?!?/p>
「堂前燕」就是基座大模型,但是在 ChatGPT 時代之前,主要是研究人員在關(guān)注和改進(jìn)。「飛向?qū)こ0傩占摇故侵?RLHF,也就是 Instruct Learning(指示學(xué)習(xí)),是 RLHF 讓我們所有人都能用自然語言和大模型進(jìn)行交互。這樣一來,每個人都能用它,每個人都能體會到它基座模型的強(qiáng)大能力。我認(rèn)為這是 ChatGPT 可以引起這么大轟動的根本原因。
今天我要分享的主題是「自然語言交互」,我認(rèn)為這可能是 ChatGPT 為主的大型語言模型(LLM)帶給我們的最根本的變革。
傳統(tǒng)人機(jī)交互方式
首先我們看一下傳統(tǒng)的人機(jī)交互方式。
人機(jī)交互的本質(zhì)是人和數(shù)據(jù)的關(guān)系問題。人在環(huán)境中進(jìn)行一些行為,會產(chǎn)生各種類型的數(shù)據(jù),這些數(shù)據(jù)可以分成兩大類:一類是非結(jié)構(gòu)化數(shù)據(jù),如文本、圖片、視頻;另一類是結(jié)構(gòu)化數(shù)據(jù)。企業(yè)可能更關(guān)注結(jié)構(gòu)化數(shù)據(jù),因為企業(yè)的內(nèi)部數(shù)據(jù)很多都是以數(shù)據(jù)庫或表格的形式存在的。人需要處理各種類型的數(shù)據(jù),典型的行為比如創(chuàng)作、增、刪、改、查等。
在大模型出來之前,人和數(shù)據(jù)怎么發(fā)生關(guān)系?人不能直接與數(shù)據(jù)發(fā)生關(guān)系,需要通過一個中介,這個中介就是應(yīng)用軟件。舉個例子,即使你做最簡單的文本編輯,你也需要一個文本編輯器,高級一點的文本處理工具就是 Word;要是做表格就需要 Excel,操作數(shù)據(jù)庫就需要 MySQL,加工圖像就需要 PhotoShop。
從這里可以看到傳統(tǒng)交互方式的一個特點:處理不同類型的數(shù)據(jù)要用不同的應(yīng)用軟件,這是多樣化的一種交互接口。另一個特點是傳統(tǒng)交互方式很復(fù)雜繁瑣,很多數(shù)據(jù)需要專業(yè)人士來處理。以處理圖像為例,即使給你提供了 PhotoShop, 普通人可能也很難很好地處理圖像,因為其中涉及到很復(fù)雜的操作,需要從多級菜單中找到自己想要的功能,只有經(jīng)過訓(xùn)練的專業(yè)人士才能勝任。
總結(jié)起來,在大模型出現(xiàn)之前,我們和數(shù)據(jù)的關(guān)系以及交互方式是復(fù)雜繁瑣且多樣化的。
大模型時代的人機(jī)交互方式
大模型出現(xiàn)之后,情況發(fā)生了什么本質(zhì)的變化呢?
其實關(guān)鍵的變化只有一個:大語言模型站到了人機(jī)交互的中心位置。
過去人是通過某個應(yīng)用軟件與某種數(shù)據(jù)交互,現(xiàn)在變成了人和大模型交互,而且方式很直接、很統(tǒng)一,就是自然語言。也就是說,如果你要做什么事,你就直接跟大模型說就行了。
其實這本質(zhì)上還是人和數(shù)據(jù)的關(guān)系,只是由于大模型的出現(xiàn),應(yīng)用軟件被屏蔽到了幕后。
再看看將來的發(fā)展趨勢。短期來看,對于文本類或非結(jié)構(gòu)化的數(shù)據(jù),LLM 可以替代一些應(yīng)用軟件,比如多模態(tài)大模型對 PhotoShop 的取代。也就是說,LLM 可以自行完成一些常見任務(wù),不再需要幕后應(yīng)用的功能支持。目前來看多數(shù)結(jié)構(gòu)化數(shù)據(jù)還是需要對應(yīng)的管理軟件,只是大模型走到前臺了,管理軟件被隱藏在后臺。而如果把目光放得更長遠(yuǎn)一點,大模型可能會逐步替代各種功能軟件,我們?nèi)舾赡暌院笤倏?,很可能只有中間的大模型了。
這就是有了大模型之后,人和數(shù)據(jù)的交互方式出現(xiàn)的根本性變化。這是非常重要的變化。
大模型時代的人機(jī)交互看起來非常簡單,如果想做什么事,只需要說就行了,剩下的交給 LLM 去做。但背后的事實是怎樣呢?
舉個例子說明一下,蘋果公司做的產(chǎn)品口碑特別好,為什么?是因為他們?yōu)橛脩籼峁┝撕唵蔚綐O致的操作,而把復(fù)雜的部分都隱藏到了幕后。
大模型就和蘋果公司做軟件的思路類似??雌饋?LLM 與人的交互模式很簡單,但其實復(fù)雜的事情都是 LLM 在背后替用戶做了。
LLM 需要做的復(fù)雜事情可分為三大類:
一、理解自然語言。目前大模型的語言理解能力很強(qiáng),即使小規(guī)模的大模型,語言理解能力也非常強(qiáng)。
二、任務(wù)規(guī)劃。對于復(fù)雜的任務(wù),最好的解決方法是把它先拆成若干個簡單任務(wù),然后再逐個解決,一般這樣效果才會好。這就是任務(wù)規(guī)劃要負(fù)責(zé)的工作。
三、形式化語言。盡管人和機(jī)器交互用的是自然語言,但后續(xù)的數(shù)據(jù)處理一般需要用到形式化語言,比如 Programming(程序)、API、SQL、模塊調(diào)用。形式有很多,但歸根結(jié)底都是 Programming,因為 API 本質(zhì)上就是函數(shù)調(diào)用外部工具,SQL 是一種特殊的程序語言,模塊調(diào)用其實就是 API。我相信隨著大模型往后發(fā)展,其內(nèi)部的形式化語言很可能會統(tǒng)一成 Programming 的邏輯。也就是說,復(fù)雜任務(wù)在規(guī)劃成更簡單的子任務(wù)后,每個子任務(wù)解決方案的外在形式往往是 Programming 或 API 調(diào)用這種形式。
下面我們看看針對不同類型的數(shù)據(jù),在大模型時代,人和數(shù)據(jù)是怎么交互的?文本類的就無需多提了,ChatGPT 就是典型。
使用自然語言操作非結(jié)構(gòu)化數(shù)據(jù)
我們從非結(jié)構(gòu)化的數(shù)據(jù)說起,首先是圖片。
如圖所示,這是典型的 Planning+Programming 模式,可以充分說明上面提到大模型在幕后做的三件事。在這個例子中,人通過語言來操作圖片,包括增刪改查等等。這個工作叫 Visual Programming,獲得了 CVPR 2023 的最佳論文獎。
以圖中下方《生活大爆炸》的劇照為例。用戶提交了一張合影照片,并給大模型提出了一個任務(wù):「在圖片上標(biāo)記電視劇《生活大爆炸》中 7 個主角的名字」
LLM 怎么完成這個任務(wù)呢?首先,LLM 將這個任務(wù)映射成程序語句(下面五行)。為什么有五行?這就是 Planning,每一行都是一個子任務(wù),按順序執(zhí)行。
簡單解釋一下每行程序的含義:第一句程序語句的含義是把這張圖片中的人臉識別出來;第二句是讓語言模型發(fā)出一個查詢,找到《生活大爆炸》主角的名字;第三句是讓模型把人臉和人名對應(yīng)起來,這是分類任務(wù);第四句是讓模型把圖片里的人臉框出來,并且打上名字。第五句輸出編輯好的圖片。
可以看到,這個過程中包含 Planning 和 Programming,它們兩位一體,集成在一起,不太容易看到 Planning 這一步,其實是有的。
對于視頻也是類似。給你一段視頻,你可以用自然語句問問題,比如:「這個視頻里面這個人在干嘛?」
當(dāng)然,這個任務(wù)本質(zhì)上是一個多模態(tài)任務(wù)??梢钥吹?,模型首先要對視頻進(jìn)行編碼,圖中上方是編碼文本信息,下方是編碼視覺信息。其中文本來自于語音識別。所以這是集成了文本和圖片的模型,盡管圖里沒有畫出來,但其內(nèi)部同樣會做各種規(guī)劃以及推理。
這里跑題一下,我談?wù)剬Χ嗄B(tài)大模型的看法。現(xiàn)在大家普遍看好多模態(tài)方向,但我個人對多模態(tài)大模型的發(fā)展沒有大多數(shù)人那么樂觀。原因很簡單:雖然現(xiàn)在很多同時處理文本和圖像的模型效果還可以,但究其原因,并不是圖像或視頻技術(shù)獲得了突破,而是文本模型能力太強(qiáng),是它帶著圖像模型在飛。也就是說,從技術(shù)能力上講,文本和圖像模型并不對等,而是文強(qiáng)圖弱,以文補(bǔ)圖。實際上現(xiàn)在圖像和視頻方面還有嚴(yán)重的技術(shù)障礙沒有突破。在圖像處理上方盤旋著一朵 “技術(shù)烏云”,如果無法突破,多模態(tài)就面臨著陰影和極大障礙,在應(yīng)用方面很難取得重大進(jìn)展。
使用自然語言操作結(jié)構(gòu)化數(shù)據(jù)
下面來看結(jié)構(gòu)化數(shù)據(jù),這類數(shù)據(jù)包含三類典型:表格、SQL、知識圖譜。
首先來看表格。我們能夠通過自然語言操作表格數(shù)據(jù),微軟的 Office Copilot 已經(jīng)做到了。問題是怎么做到的?當(dāng)然我們不知道微軟到底是怎么做的,但其他研究者也有類似的研究工作。
這里看個例子。對于一張銷售數(shù)據(jù)表,其中有很多列,列和列之間的數(shù)據(jù)有關(guān)系,比如一列是銷量、一列是單價、一列是銷售額。LLM 能很好地處理表格,因為 LLM 在預(yù)訓(xùn)練模型里面學(xué)到很多知識,比如銷售額 = 單價 × 銷量。LLM 能夠利用學(xué)到的知識來處理表格數(shù)據(jù)。
對于這張銷售數(shù)據(jù)表,用戶可以發(fā)出一個查詢:「把銷售額在 200-500 之間的記錄點亮?!?/p>
LLM(這里是 GPT-4)首先會把這個任務(wù)規(guī)劃成子任務(wù),這里是三個子任務(wù):1)先篩選出銷售額在 200-500 之間的條目;2)把背景點亮成藍(lán)色;3)把點亮的數(shù)據(jù)嵌入回表格。
對于第一步的篩選過程,模型是怎么做的呢?這里簡單介紹一下這個流程。首先是寫 prompt。圖中可以看到,這個 prompt 特別長。
現(xiàn)在寫 prompt 已經(jīng)成為一門學(xué)問。有人說 prompt 就像是念咒語,我認(rèn)為這更像是給大模型做 PUA。我們可以把大模型比作能扮演各種不同類型角色的人,為了讓它做好當(dāng)前的任務(wù),我們需要把它調(diào)整為最適合做這個任務(wù)的角色。為此,我們需要寫 prompt 把這個角色誘導(dǎo)出來:「你是很博學(xué)的,你特別適合干這個事兒,你應(yīng)該干的更專業(yè)點,不要太隨意?!埂VT如此類。
然后再把表格的 schema(即表格每一列的含義)告訴它。GPT-4 就會生成一個 API,這個 API 是一個過濾器,可從所有數(shù)據(jù)中過濾出滿足 200-500 的數(shù)據(jù)。但看標(biāo)紅的地方,模型在生成 API 時參數(shù)寫錯了。這時候怎么辦?我們可以給它一些文檔,讓 GPT-4 學(xué)習(xí),文檔中有很多例子告訴它這種情況應(yīng)該怎么調(diào)用 API 和寫參數(shù)。GPT-4 看完之后,就把 API 改了一下,就改對了。
然后就是執(zhí)行,就篩選出所需數(shù)據(jù)。
另一種結(jié)構(gòu)化數(shù)據(jù)是數(shù)據(jù)庫。我們的目的是用自然語言操作數(shù)據(jù)庫,本質(zhì)上就是將人的自然語言映射成 SQL 語句。
舉個例子,這是谷歌的 SQL-PaLM,基于 PaLM 2。PaLM 2 是谷歌 4 月份重新訓(xùn)練的一個基座大模型,是為了對標(biāo) GPT-4 做的。
SQL-PaLM 操作數(shù)據(jù)庫的方式有兩種。一是在上下文學(xué)習(xí)(in-context learning), 也就是給模型一些例子,包括數(shù)據(jù)庫的 schema、自然語言的問題和對應(yīng)的 SQL 語句,然后再問幾個新問題,要求模型輸出 SQL 語句。另一種方式是微調(diào)(fine-tuning)。
現(xiàn)在這個模型的表現(xiàn)如何呢?在比較復(fù)雜的數(shù)據(jù)庫表上,其準(zhǔn)確率為 78%,已經(jīng)接近實用化水準(zhǔn)了。這意味著隨著技術(shù)的進(jìn)一步快速發(fā)展,很可能 SQL 語句不需要人寫了;未來你說話把要啥說清楚就行,剩下的交給機(jī)器做就可以了。
另一個典型的結(jié)構(gòu)化數(shù)據(jù)是知識圖譜。問題還是一樣:我們怎樣用自然語言操作知識圖譜?
這里用戶提出一個問題:「奧巴馬是哪個國家的?」大語言模型怎么給出答案的?它一樣會進(jìn)行規(guī)劃,把任務(wù)拆成知識圖譜可操作的 API;這會查詢得到兩個子知識,再去做推理,就能輸出正確答案「美國」。
大模型和環(huán)境的關(guān)系
上面講的是人和數(shù)據(jù)的關(guān)系,另外還有大模型和環(huán)境的關(guān)系。最典型的是機(jī)器人,現(xiàn)在一般叫具身智能,也就是說怎么給機(jī)器人以大腦,讓機(jī)器人在世界里游走。
具身智能有五個核心要素:理解語言、任務(wù)規(guī)劃、身體執(zhí)行動作、接受環(huán)境反饋、從反饋中學(xué)習(xí)。
大模型階段的具身智能和之前最大的不同是這五個環(huán)節(jié)的核心現(xiàn)在都可由大模型接管。如果你要指揮機(jī)器人,只需用自然語言發(fā)出需求即可,所有這五個步驟都由大模型去規(guī)劃與控制。大模型可以給機(jī)器人一個強(qiáng)大的大腦,更好理解人類的語言與命令,使用大模型學(xué)到的世界知識指導(dǎo)行為,在這些方面比以前的方法有質(zhì)的提升。
但是有一個問題:很多研究人員并不看好這個方向。原因是什么?如果你要用實體機(jī)器人在現(xiàn)實生活中學(xué)習(xí)鍛煉,會面臨成本高、數(shù)據(jù)獲取效率低的問題,因為實體機(jī)器人非常貴,在真實世界里行動范圍有限,獲取數(shù)據(jù)的效率非常低,學(xué)習(xí)的速度就慢,而且還不能摔倒,因為摔倒意味著很大一筆維修費(fèi)。
更多人的做法是創(chuàng)造一個虛擬環(huán)境,讓機(jī)器人在虛擬環(huán)境中探索。虛擬環(huán)境能緩解成本高、數(shù)據(jù)獲取效率低的問題。《我的世界》就是一個常用的虛擬環(huán)境。這是一個開放世界,類似于荒野求生,游戲角色在里面學(xué)會更好地生存就行了,所以特別適合用來代替機(jī)器人在真實世界的活動。
虛擬環(huán)境的成本非常低,數(shù)據(jù)獲取效率非常高。但也有問題:虛擬世界的復(fù)雜性遠(yuǎn)遠(yuǎn)比不上真實世界。
英偉達(dá)開發(fā)的 Voyager 就是讓機(jī)器人在《我的世界》里對陌生環(huán)境進(jìn)行探索,它背后起到最主要驅(qū)動作用的大模型也是基于 GPT-4,機(jī)器人和 GPT-4 之間也是通過自然語言進(jìn)行交流。圖中左側(cè)可以看到,模型會循序漸進(jìn)、由易到難地學(xué)做各種不同任務(wù)難度的事,從最簡單的伐木到后面做桌子、打僵尸等,一般機(jī)器學(xué)習(xí)語境下,我們把這種 “由易到難、循序漸進(jìn)” 的學(xué)習(xí)模式叫做 “課程學(xué)習(xí)”。而 “課程學(xué)習(xí)” 這些任務(wù)都是由 GPT-4 根據(jù)當(dāng)前狀態(tài)產(chǎn)生的,你只要在 prompt 里 PUA 大模型讓它由易到難地產(chǎn)生下一步任務(wù)就行了。
假設(shè)現(xiàn)在的任務(wù)是打僵尸。面對這個任務(wù),GPT-4 會自動生成能在《我的世界》環(huán)境下運(yùn)行的對應(yīng)的 “打僵尸” 的函數(shù)及程序代碼,在寫這個函數(shù)的時候,可以復(fù)用解決之前比較簡單任務(wù)時形成的工具,比如角色之前學(xué)會制作的石劍和盾牌,此時把這些工具通過 API 函數(shù)調(diào)用來直接使用。形成 “打僵尸” 函數(shù)后,可以執(zhí)行代碼來和環(huán)境交互,如果發(fā)生錯誤,把錯誤信息反饋給 GPT-4,GPT-4 就會進(jìn)一步修正程序。假如程序執(zhí)行成功,那么這些經(jīng)驗就會作為一個新的知識放到工具庫里面,下一次還能用。之后依據(jù) “課程學(xué)習(xí)”,GPT-4 會產(chǎn)生下一個更有難度的任務(wù)。
未來的大模型
上面是從人和數(shù)據(jù)的關(guān)系,以及大模型和環(huán)境的關(guān)系角度,來說明自然語言交互無處不在。接下來,我們看下自然語言交互在 AI 和 AI 交互過程中是如何發(fā)揮作用的。
最近大半年基座大模型方面有什么值得關(guān)注的研究進(jìn)展?除了模型規(guī)模在繼續(xù)變大,總體而言進(jìn)展不太大,大部分新進(jìn)展集中在 instruct 部分,這得益于 Meta 開源的 LLaMA 模型。要說基座模型的進(jìn)展,我認(rèn)為值得關(guān)注的有兩個,一是模型輸入窗口長度的快速增長,這塊技術(shù)進(jìn)展非??欤壳翱撮_源模型 100K 長度甚至更長的輸入很快能夠達(dá)到;二是大模型增強(qiáng)。
我相信未來大模型大概率會是上圖這個模式。之前的大模型是靜態(tài)的單個大模型,將來的應(yīng)該是由多個不同角色的智能體(agent)構(gòu)成的大模型,它們之間通過自然語言進(jìn)行通訊與交流,一起聯(lián)合起來做任務(wù)。智能體還可以通過自然語言接口調(diào)用外部工具解決現(xiàn)有大模型的缺點,比如數(shù)據(jù)過時、幻覺嚴(yán)重、計算能力弱等。
目前大模型使用工具的模式比較統(tǒng)一,如圖所示,可以通過一個 API 管理平臺來管理大量可用的外部工具。用戶給出問題后,模型根據(jù)問題需求,判斷是否應(yīng)該使用工具,如果覺得需要使用工具,則進(jìn)一步?jīng)Q定需要使用哪個工具,并調(diào)用對應(yīng)工具的 API 接口,填寫對應(yīng)的參數(shù),調(diào)用完成后整合工具返回的結(jié)果形成答案,再把答案返回給用戶。
智能體是非常值得關(guān)注的技術(shù),但大模型時代的智能體我們目前對其還沒有統(tǒng)一的定義。你可以認(rèn)為智能體是對大語言模型賦予的不同角色,這些角色通過分工的方式完成任務(wù)。智能體是有悠久歷史的研究方向,幾十年歷史肯定有了,只是在大模型時代,由于 LLM 的能力加持,使得智能體有了完全不同的能力,并蘊(yùn)含著巨大的技術(shù)潛力。另外,關(guān)于其定義,我覺得傳統(tǒng)的智能體定義可能無法滿足新形勢下的情況,大模型時代可能需要重新定義智能體的含義。
上面展示了一個類似游戲沙盒環(huán)境下的模擬人類社會的智能體系統(tǒng),每個智能體有自己的職業(yè)身份,不同智能體可以通過自然語言進(jìn)行交流,并能舉辦各種聚會活動,看上去就是科幻劇《西部世界》的雛形。
如果歸納下 Agent 之間的協(xié)作方式,主要有兩種:競爭型和協(xié)作型。競爭型就是不同 Agent 之間互相質(zhì)疑、爭吵、討論,以此可以得到更好的任務(wù)結(jié)果。協(xié)作型就是通過角色和能力分工,各自承擔(dān)任務(wù)環(huán)節(jié)中的一個,通過互相幫助和協(xié)作來共同完成任務(wù)。
最后我們討論一下自然語言交互的優(yōu)勢和問題。用自然語言進(jìn)行交互的好處是比較自然、比較便捷、比較統(tǒng)一,用戶做事情幾乎不需要學(xué)習(xí)成本;但是自然語言也有模糊性和語言歧義等缺點。
自然語言的模糊性是說有時候你用自然語言不容易講清楚真實的意圖,你以為你說明白了,其實并沒有,但是你未必會意識到你沒說清楚。這也是為什么現(xiàn)在用好大模型對于寫 prompt 的要求比較高,畢竟如果用戶說不清楚自己的意圖,模型也不可能做好。
自然語言的歧義問題是一直存在且普遍存在的。比如「把蘋果拿給我」其實有不同的含義,聽者也可以有不同的理解,你怎么讓大模型知道到底是哪個含義?
考慮到自然語言的模糊性和歧義性,從人機(jī)交互的角度來講,將來大模型應(yīng)該增強(qiáng)交互的主動性,也就是說讓模型主動向用戶發(fā)問。如果模型覺得用戶的話有問題,不確定到底什么意思,它應(yīng)該反問「你到底什么意思」或者「你說的是不是這個意思」。這點是大模型未來應(yīng)該加強(qiáng)的部分。
-
人機(jī)交互
+關(guān)注
關(guān)注
12文章
1192瀏覽量
55184 -
語言模型
+關(guān)注
關(guān)注
0文章
487瀏覽量
10201 -
ChatGPT
+關(guān)注
關(guān)注
28文章
1517瀏覽量
6930
原文標(biāo)題:張俊林:大語言模型帶來的交互方式變革
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論