ChatGPT的發(fā)布是語言大模型(LLM)發(fā)展史的轉(zhuǎn)折點,它讓人們意識到LLM的潛力,并引發(fā)了“AI競賽”,世界上主要人工智能實驗室和初創(chuàng)公司都參與其中。在這之后,基于LLM的聊天機器人層出不窮。
ChatGPT及相關(guān)LLM模型讓我們共同見證了AI的歷史性變革,很多人好奇,LLM和它們的運作方式究竟是怎樣的?它們是如何被構(gòu)建的?未來又將走向何方?本文對此進行了深入探討。
本文作者Etienne Bernard是人工智能和機器學(xué)習(xí)專家,NuMind的聯(lián)合創(chuàng)始人兼CEO,該企業(yè)創(chuàng)建由LLM提供支持的自定義NLP模型。Etienne曾在Wolfram Research工作八年,主要擔任機器學(xué)習(xí)負責(zé)人,并領(lǐng)導(dǎo)了自動學(xué)習(xí)工具、用戶友好的深度學(xué)習(xí)框架以及各種機器學(xué)習(xí)應(yīng)用程序的開發(fā)。
1?語言模型
簡單來說,語言模型能夠以某種方式生成文本。它的應(yīng)用十分廣泛,例如,可以用語言模型進行情感分析、標記有害內(nèi)容、回答問題、概述文檔等等。但理論上,語言模型的潛力遠超以上常見任務(wù)。
想象你有一個完備的語言模型,可生成任意類型的文本,并且人們還無法辨別這些內(nèi)容是否由計算機生成,那么我們就可以使其完成很多事,例如生成具有代表性的內(nèi)容,如電子郵件、新聞稿、書籍和電影劇本等。再進一步來看,還可以用其生成計算機程序,甚至構(gòu)建整個軟件。只要愿意,我們還可以讓它生成科學(xué)論文。如果語言模型真正“完備”,那么它們生成的論文將能夠以假亂真,與真實論文沒有區(qū)別,這意味著必須對語言模型展開實質(zhì)性研究!
當然,就目前而言,完備的語言模型還無法實現(xiàn),不過也展示出了這些系統(tǒng)的潛力。語言模型不僅僅能“預(yù)測文本”,它們的潛力可能遠超想象。
現(xiàn)在我們回顧一下語言模型的發(fā)展歷程,從最初的樸素語言模型到目前基于Transformer的LLM(語言大模型)。
2?樸素語言模型
語言模型是機器學(xué)習(xí)模型,因此它們會學(xué)習(xí)如何生成文本。教授它們的方法(即訓(xùn)練階段)是提供一個大規(guī)模文本語料庫,它們將從中學(xué)習(xí)如何模仿生成這些文本的過程。
也許這聽起來有些抽象,但創(chuàng)建一個樸素語言模型實際上非常簡單。你可以將文本語料庫分成一定大小的字符串塊,并測量它們的頻率。下面是我使用大小為2的字符串得到的結(jié)果:
圖源:《機器學(xué)習(xí)導(dǎo)論》
這些字符串塊被稱為n-gram(其中n表示字符串的大小,因此此處n=2)。通過這些n-gram,你可以像玩多米諾骨牌一樣生成文本。從一個初始的n-gram開始,例如“th”,然后根據(jù)測量的頻率隨機選擇一個以初始n-gram結(jié)尾的n-gram 。在這個例子中,如果選擇“hi”,就會形成“th” + “hi” = “thi”。然后再繼續(xù)添加以“i”開頭的 n-gram,以此類推,生成整段文本。不過正如你所想,這些n-gram模型并不能生成足夠連貫的文本。以下是我繼續(xù)執(zhí)行這一過程時得到的結(jié)果:
說實話,這一結(jié)果并不太理想!但也說得通,因為該模型的記憶能力很有限,只通過前一個字符來預(yù)測下一個字符。如果我們使用n=4的字符串,結(jié)果會稍微好一些:
“complaine building thing Lakers inter blous of try sure camp Fican chips always and to New Semested and the to have being severy undiscussion to can you better is early shoot on”
現(xiàn)在出現(xiàn)了一些拼寫正確的單詞,但結(jié)果仍不夠理想!理論上,進一步增加n的值,輸出結(jié)果會得到改善,但在實踐中,我們無法顯著增加n值,因為這需要一個龐大的數(shù)據(jù)集來訓(xùn)練模型。最后,我們可以嘗試將單詞而不是字符作為基本單位(在自然語言處理術(shù)語中稱為“詞元(token)”)。這會改善輸出結(jié)果,但因為n<6,生成的文本仍然缺乏連貫性。
這些樸素語言模型的記憶能力始終有限,因此無法生成超過一定長度的連貫文本。盡管如此,它們?nèi)跃邆湟欢ㄓ猛尽啄昵埃瑯闼卣Z言模型被廣泛用于文本分類和語音識別,且如今仍被用于語言識別等任務(wù)。然而,對于更高級的文本理解和文本生成任務(wù)來說,樸素語言模型就捉襟見肘了。因此需要神經(jīng)網(wǎng)絡(luò)。
3 基于神經(jīng)網(wǎng)絡(luò)的語言模型
現(xiàn)代語言模型基于(人工)神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)是受人腦啟發(fā)開發(fā)出的計算機,能夠通過任務(wù)示例學(xué)習(xí)如何執(zhí)行任務(wù)。這種機器學(xué)習(xí)形式也被稱為深度學(xué)習(xí),因為其中的網(wǎng)絡(luò)由多個計算層組成(因此被稱為“深度”網(wǎng)絡(luò))。在神經(jīng)網(wǎng)絡(luò)中,通過遍歷任務(wù)示例并迭代修改網(wǎng)絡(luò)參數(shù)以優(yōu)化任務(wù)目標,從而實現(xiàn)學(xué)習(xí)。你可以將這些參數(shù)想象成一組旋鈕(knob),通過左右旋動以改進目標,但區(qū)別是計算機為你進行改進,并且知道如何同時正確地朝著改進方向進行調(diào)整(得益于著名的反向傳播算法)。因此,網(wǎng)絡(luò)會遍歷任務(wù)示例(通常以幾百個示例為一批),并在這一過程中優(yōu)化目標。以下是一個正在被優(yōu)化的目標示例(稱為成本函數(shù),數(shù)值越小越好):
成本函數(shù)隨訓(xùn)練迭代次數(shù)的變化。圖源:《機器學(xué)習(xí)導(dǎo)論》
隨著模型的訓(xùn)練,成本函數(shù)值會逐漸下降,意味著模型在任務(wù)處理上變得更加優(yōu)秀。
在該案例中,我們想要生成文本。目前,標準的方法是訓(xùn)練一個模型,通過前面的單詞預(yù)測后面的單詞。由于下一個單詞有多種可能性,模型會學(xué)習(xí)為每個可能的單詞關(guān)聯(lián)一個概率。以下是對“the cat sat on the”之后可能出現(xiàn)單詞的概率分布可視化圖像:
?
改編自《機器學(xué)習(xí)導(dǎo)論》
一旦擁有這樣的預(yù)測模型,就可以從預(yù)測概率中抽樣來生成下一個單詞,然后將該單詞重新輸入到網(wǎng)絡(luò),再抽樣一個新的單詞,以此類推,從而生成文本。這一生成過程被稱為自回歸,因為網(wǎng)絡(luò)利用自己的預(yù)測結(jié)果來生成新的預(yù)測。雖然有人對此提出了異議,認為這并非最佳方法,但目前而言,這就是最實際的操作方式,且效果也出奇地好!
曾經(jīng)用于建模語言的第一類神經(jīng)網(wǎng)絡(luò)是RNN(循環(huán)神經(jīng)網(wǎng)絡(luò)),尤其是LSTM(長短期記憶網(wǎng)絡(luò))架構(gòu)。RNN就像一個逐個閱讀單詞的小型機器,在這一過程中,它會更新思維狀態(tài)(mental state)。這種思維狀態(tài)如同記憶,使它們在生成文本時能大概記住一段時間的信息。相比n-gram模型,RNN模型能夠獲得更為優(yōu)越的性能。
RNN創(chuàng)建之初,神經(jīng)對話模型(Neural Conversational Model)給我留下了深刻印象。該模型是Google于2015年基于電影字幕訓(xùn)練的一個特殊LSTM模型,當時這個模型已經(jīng)算得上是LLM了(也可能是首個LLM):擁有3億參數(shù),并在約10億詞的數(shù)據(jù)上進行訓(xùn)練。由于電影字幕是對話形式,因此可直接將該模型用作聊天機器人。以下是不同人類輸入對應(yīng)的回答示例:
人類:你叫什么名字?
機器:我叫朱莉婭。
人類:你是什么時候出生的?
機器:7月20日。
人類:我的名字是大衛(wèi)。我的名字是什么?
機器:大衛(wèi)。
人類:天行者是誰?
機器:他是一個英雄。
人類:天空是什么顏色?
機器:藍色。
人類:血液是什么顏色?
機器:和黑眼圈的顏色相同。
如你所見,該模型能夠閑聊,同時也對世界有一定了解,這些知識完全是通過學(xué)習(xí)如何預(yù)測文本獲得的!我記得自己曾對這一事實很感興趣:學(xué)習(xí)預(yù)測文本迫使你理解世界(但并不意味著這個過程很容易)。然而,該模型也有一些明顯的短板:它經(jīng)常出錯,并且與類似基于LSTM的模型一樣,無法生成長篇連貫的文本。理論上,循環(huán)神經(jīng)網(wǎng)絡(luò)可以長時間記憶事物,但在實踐中,它們卻往往很快就忘記了:經(jīng)過幾十到一百個詞之后,它們就會開始偏離主題,不再連貫。
2017年,人們針對短期記憶問題提出一種解決方案——Transformer。Transformer是一種基于注意力機制的新型神經(jīng)網(wǎng)絡(luò)架構(gòu)(本質(zhì)上是一種選擇操作),下圖來自介紹Transformer的論文,用以說明其在翻譯任務(wù)中的工作原理:
Transformer架構(gòu)。來源:https://arxiv.org/abs/1706.03762
Transformer在各個方面都可圈可點,但最值得一提的是,該架構(gòu)在文本建模方面表現(xiàn)非常出色,并且很適合在GPU上運行,從而處理(和學(xué)習(xí))大量數(shù)據(jù)。正是有了Transformer這種架構(gòu),才使得現(xiàn)代LLM得以興起(或至少起到了很強的促進作用)。
4 現(xiàn)代語言大模型
Transformer的發(fā)明標志著現(xiàn)代LLM時代的開始。自2018年以來,AI實驗室開始訓(xùn)練規(guī)模越來越大的模型。令眾人驚訝的是,這些模型的質(zhì)量也在不斷提高!下圖對這些模型進行了可視化,我們將重點介紹其中值得關(guān)注的模型:
LLM進化樹。來源:https://github.com/Mooler0410/LLMsPracticalGuide
這些語言模型主要分為三類。一是“僅編碼器(encoder-only)”組(上圖中的粉色部分),該類語言模型擅長文本理解,因為它們允許信息在文本的兩個方向上流動。二是“僅解碼器(decoder-only)”組(上圖中的藍色部分),該類語言模型擅長文本生成,因為信息只能從文本的左側(cè)向右側(cè)流動,以自回歸方式有效生成新詞匯。三是“編碼器-解碼器(encoder-decoder)”組(上圖中的綠色部分),該類語言模型對上述兩種模型進行了結(jié)合,用于完成需要理解輸入并生成輸出的任務(wù),例如翻譯。
這一切都主要始于文本理解類模型。最初是使用RNN的ELMo,之后是谷歌著名的BERT模型及其派生模型(如RoBERTa),它們都基于Transformer。這些模型通常具有幾億個參數(shù)(相當于約1GB的計算機內(nèi)存),在大約10GB到100GB的文本上進行訓(xùn)練(通常為幾十億個單詞),并且可以在現(xiàn)代筆記本電腦上以約0.1秒的速度處理一段文本。這些模型極大地提升了文本理解任務(wù)的性能,如文本分類、實體檢測和問題回答等。這已然是NLP(自然語言處理)領(lǐng)域的一場革命,不過才剛剛拉開序幕……
在文本理解類語言模型發(fā)展的同時,OpenAI開始基于Transformer創(chuàng)建文本生成類語言模型。首先是2018年的GPT-1,有1億個參數(shù);然后是2019年的GPT-2,擁有高達15億個參數(shù),并在40GB的文本上進行了訓(xùn)練。至少對我來說,GPT-2的創(chuàng)建是一個至關(guān)重要的時刻。以下是GPT-2可以生成的文本示例,從一個由人類撰寫的段落開始:
來源:https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
生成的英語文本質(zhì)量很不錯,而且具有連貫性。例如,科學(xué)家的名字沒有改變,而這在基于RNN的模型中是個經(jīng)典問題。由于GPT-2在所生成文本的質(zhì)量上取得了巨大突破,為避免濫用,OpenAI最初決定不向公眾發(fā)布。可以說GPT-2標志著LLM正朝著正確的方向發(fā)展。需要注意的是:使用這類語言模型需要先提供一個起始文本,這個起始文本被稱為提示(prompt)。
一年后(2020年),OpenAI創(chuàng)建了GPT-3。GPT-3是一個具有1750億個參數(shù)的模型(需要700GB的計算機內(nèi)存來存儲模型!),該模型不僅規(guī)模顯著擴大,文本生成質(zhì)量也有重大改進。除了性能的提升外,GPT-3還讓人們對未來如何使用LLM大開眼界。
首先,GPT-3能夠編寫代碼。例如,你可以使用GPT-3來生成(非常)簡單的網(wǎng)站,只需在提示中描述網(wǎng)站的外觀即可。以下是一個示例,讓GPT-3使用HTML創(chuàng)建一個按鈕:
這些基本的編碼能力在當時并不十分實用,但它們的出現(xiàn)意味著軟件開發(fā)在未來可能會發(fā)生根本性轉(zhuǎn)變。
GPT-3另一令人矚目的能力是能夠進行上下文學(xué)習(xí),它可以通過提示中所展示的示例來學(xué)習(xí)如何執(zhí)行任務(wù)。這意味著你可以通過編寫提示來定制LLM,而無需更改它們的權(quán)重。這一能力開辟了一種全新的、完全基于提示的自然語言處理方式,如今十分受歡迎。
總而言之,GPT-3展示了“提示”作為一種新方式的潛力,可以讓機器通過自然語言按照我們的意愿執(zhí)行任務(wù)。
注意:GPT-3比GPT-2要大得多。自2018年以來,模型的規(guī)模急劇增加。以下是一些值得關(guān)注的LLM及其規(guī)模:
在兩年時間里,模型參數(shù)的數(shù)量增加了1000倍,目前最大的模型(如GPT-4)已接近1萬億個參數(shù),這是因為模型規(guī)模的增加與性能的改善密切相關(guān),并且目前還未達到性能瓶頸。這些模型規(guī)模十分龐大,與人腦相比,人腦約有1000億個神經(jīng)元,每個神經(jīng)元平均與其他1000個神經(jīng)元相連接,總共約有100萬億個連接。從某種意義上說,最大的LLM仍然比人腦小100倍。當然,這只是一個非常寬泛的比較,因為人腦和當前LLM使用的架構(gòu)和學(xué)習(xí)方法都截然不同。
另一個有趣的指標是這些模型在訓(xùn)練階段所“閱讀(read)”的單詞數(shù)量。
如你所見,數(shù)量十分龐大。這些模型在訓(xùn)練過程中會接觸超1000億個單詞,是一個人在一生中聽到或閱讀單詞數(shù)量的100倍以上!這顯示出神經(jīng)網(wǎng)絡(luò)與人腦的不同之處:神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度比人類慢得多,但可以獲得比人類接觸的多得多的數(shù)據(jù)。
需要注意的是,LLM在訓(xùn)練過程中所接觸到的單詞數(shù)量并未像參數(shù)數(shù)量那樣迅速增長(從GPT-1到GPT-3只增長了3倍)。這是因為優(yōu)先考慮模型規(guī)模,不過結(jié)果證明這是一個小小的失誤。最新的模型并沒有比GPT-3大很多,但通過處理更多單詞來進行訓(xùn)練。
這種對數(shù)據(jù)的渴求導(dǎo)致了一個問題,即可用文本的總量存在硬性限制,約為數(shù)萬億個單詞,而模型正在接近這一限制。雖然仍有可能循環(huán)遍歷所有文本,但這會導(dǎo)致模型性能的回報遞減。總而言之,可得出結(jié)論:網(wǎng)絡(luò)在訓(xùn)練階段處理的有效限制是幾十萬億個單詞,比GPT-4的數(shù)量約多出10倍。
另一個問題是,通過用更多的數(shù)據(jù)訓(xùn)練更大的模型,計算成本也在增加。以下是訓(xùn)練上述模型的預(yù)估計算成本:
為顯著超越當前模型的性能,下一代模型需要耗費數(shù)億美元的計算資源。雖然考慮到這些模型能帶來的好處,這一成本是合理的,但如此巨大的花費仍然是一個問題。
模型的擴展變得越來越困難。幸運的是,擴大規(guī)模并不是改進LLM的唯一途徑。2022年末,一項創(chuàng)新開啟了另一場革命,這次的影響遠遠超出了NLP領(lǐng)域。
5 指令調(diào)優(yōu)和聊天機器人LLM
GPT-3揭示了提示的潛力,但撰寫提示并不容易。事實上,傳統(tǒng)語言模型經(jīng)訓(xùn)練可以模仿其在網(wǎng)絡(luò)上看到的內(nèi)容。因此,要想創(chuàng)建一個好的提示,你必須清楚網(wǎng)絡(luò)上哪種起始文本可能會引導(dǎo)模型生成你所期望的結(jié)果。這是一種奇怪的游戲,也是一種找到正確表述的藝術(shù),你需要改變措辭,假裝自己是專家,展示如何逐步思考的示例等等。這一過程叫做提示工程,這使得使用這些LLM變得困難。
為解決這個問題,研究人員一直在探索如何修改基礎(chǔ)LLM,以讓其更好地遵循人類指令。現(xiàn)主要有兩種方法:一是使用人類編寫的指令-回答對(instruction-answer pairs),并在此數(shù)據(jù)集上對基礎(chǔ)LLM進行微調(diào)(即繼續(xù)訓(xùn)練)。二是讓LLM生成幾個可能的答案,然后由人類對答案評分,并使用強化學(xué)習(xí)在此數(shù)據(jù)集上對LLM微調(diào)。這就是著名的RLHF(人類反饋的強化學(xué)習(xí))的過程。此外,我們還可以將兩種方法相結(jié)合,OpenAI在InstructGPT和ChatGPT中就對這兩者進行了結(jié)合。
InstructGPT和ChatGPT的指令調(diào)整步驟。來源:https://openai.com/blog/chatgpt(修改自https://arxiv.org/abs/2203.02155)
將這兩種技術(shù)結(jié)合在一起可以得到一個經(jīng)過指令調(diào)整的LLM。調(diào)整后的LLM比基礎(chǔ)模型更擅長遵循人類指令,使用起來更加容易。
經(jīng)過指令調(diào)整的LLM已經(jīng)非常出色了,但還有最后一步才能將這些LLM真正轉(zhuǎn)化為每個人都可以使用的東西——聊天機器人。OpenAI在2022年12月發(fā)布了ChatGPT,一個基于GPT-3.5的聊天機器人。它的創(chuàng)建方式與InstructGPT相同,但這次使用的是整個對話而不僅僅是指令-回答對。
ChatGPT發(fā)布后,基于LLM的新型聊天機器人開始層出不窮。OpenAI使用GPT-4來代替GPT-3.5,對ChatGPT進行了改進,Anthropic發(fā)布了Claude,Google推出Bard,Meta也研發(fā)出了LLaMA,還有幾個開源LLM正在發(fā)布過程中。這是一次真正的模型大爆炸,將會帶來許多令人興奮的應(yīng)用,NuMind也會為此出一份力。
ChatGPT發(fā)布兩個月后,迅速擁有了上億用戶,成為有史以來用戶增長最快的產(chǎn)品。人們用ChatGPT來根據(jù)要點編寫電子郵件、重新組織文本、總結(jié)文本、編寫代碼,或?qū)W習(xí)東西(在此之前,搜索引擎一直壟斷著這項任務(wù))。ChatGPT的發(fā)布是LLM發(fā)展史的轉(zhuǎn)折點,它讓人們意識到了LLM的潛力,引發(fā)了“AI競賽”,世界上主要人工智能實驗室和初創(chuàng)公司都參與其中。
值得注意的是,LLM的突然普及也引發(fā)了人們的擔憂。人們擔心LLM被有心人利用,做一些有害的事情,所以創(chuàng)建開放式LLM聊天機器人必須確保它們的“安全”性(或“與人類價值觀保持一致”),也就是說它們不能幫助制造炸彈等。目前有一些方法可以繞過聊天機器人的安全防御措施,但隨著時間推移,這些安全措施會逐漸完善,想繞過它們將變得十分困難。
6?語言大模型的未來
近年來,LLM取得了很大進步,人們對它的熱情達到了空前高度,在這一領(lǐng)域投入了大量精力。那么,LLM的未來將如何發(fā)展?雖然預(yù)測未來很難,但我們也有一些看法:
模型大小和訓(xùn)練規(guī)模將繼續(xù)擴大。擴展在過去取得了非常好的效果,且仍有提升空間,但問題是,模型的訓(xùn)練成本急劇增長,逐漸讓人望而卻步(>1億美元)。更好的GPU和新的專用硬件有助于擴展模型規(guī)模,但它們的開發(fā)和生產(chǎn)需要時間。此外,最大的模型已經(jīng)迭代了所有書籍和整個網(wǎng)絡(luò),這意味著我們正在達到可用訓(xùn)練數(shù)據(jù)的極限(即“詞元危機”)。
因此,可以肯定的是,在未來幾年內(nèi),參數(shù)數(shù)量不會像過去那樣出現(xiàn)爆發(fā)式增長。最大的模型今年應(yīng)該會穩(wěn)定在1萬億參數(shù)以下規(guī)模,然后以每年50%的速度增長。
LLM將超越純語言模型,將圖像和視頻納入訓(xùn)練數(shù)據(jù),成為多模態(tài)模型。從圖像和視頻中學(xué)習(xí)可能有助于模型更好地理解世界。GPT-4就是在圖像和文本上進行訓(xùn)練的,且取得了少許性能提升。利用視頻數(shù)據(jù)訓(xùn)練LLM可能給這一領(lǐng)域帶來質(zhì)的改變,但這需要大量計算。預(yù)計還需兩年多的時間才能真正實現(xiàn)利用視頻訓(xùn)練“語言”大模型。
擴大規(guī)模、實現(xiàn)語言模型向多模態(tài)模型的轉(zhuǎn)變需要大量算力。為緩解這一問題,我們可以采用更好的神經(jīng)架構(gòu)和訓(xùn)練程序,這些架構(gòu)和訓(xùn)練程序要么計算強度較低,要么可以用更少的數(shù)據(jù)進行學(xué)習(xí)(人類大腦證明這是可能的)。然而更可能的是類似于RNN的內(nèi)存會卷土重來,因為這種內(nèi)存運行時的效率非常高(例如最近的RWKV架構(gòu))。
此外,還可能有一些更大的變化,例如LLM不以自回歸的方式生成,而是以自上而下的方式生成(例如在生成單詞之前做出(隨機)決定),這種做法可能更合乎邏輯(這就是神經(jīng)網(wǎng)絡(luò)目前生成圖像的方式)。到底何時會開發(fā)出這樣的新架構(gòu)/方法還很難說,但我們預(yù)計應(yīng)該就在未來幾年,一旦開發(fā)出來,LLM模型的性能將得到大幅提升。
另一個改進方向是繼續(xù)進行指令調(diào)優(yōu),讓更多人參與到“教育”LLM(即與AI對齊)的過程中。這可以由私人AI實驗室來實現(xiàn),也可以是一個更像維基百科的眾包項目,以改進和對齊開放模型的LLM能力。在這個問題上,我們還是希望偏離傳統(tǒng)的RLHF,而是讓人們與模型對話來進行教導(dǎo),就像我們對待孩子一樣。我不確定這種項目的具體時間線,但我已經(jīng)思考了一段時間,非常希望看到它的實現(xiàn)。
上文我們只討論了改進實際模型的方法,但實際上有一些方法可以在不改變模型的情況下改進LLM。方法之一就是為LLM提供工具。這種工具可以是用于查找準確信息的搜索引擎,或者是用于進行基本數(shù)學(xué)計算的計算器。此外,它還可以是一個結(jié)合了推理引擎(符號人工智能的經(jīng)典組件)的知識庫,如Wolfram Alpha,用于查找事實、進行邏輯推理或其他神經(jīng)網(wǎng)絡(luò)不擅長的計算。當然,這個工具還可以是一個用于編寫和運行代碼的完整編程環(huán)境。LLM可以通過生成觸發(fā)API調(diào)用的特殊詞元(單詞)來使用這些工具,然后將API的輸出插入到生成的文本中。
LLM使用工具示例。來源:https://arxiv.org/abs/2302.04761
上述趨勢實際上已經(jīng)開始了(例如,ChatGPT 插件、LangChain 庫和 Toolformer 論文),我相信這些工具將成為LLM的核心。
改進LLM的另一個方法是以更智能的方式使用它們,讓它們更好地完成任務(wù)。這可以通過巧妙的提示或更高級的程序來實現(xiàn)。比如說我們可以讓LLM按步驟進行思考(即思想鏈提示( chain-of-thoughts prompting)),并提高LLM在邏輯任務(wù)上的表現(xiàn)。以下是提示LLM按步驟思考的示例:
思維鏈提示示例。來源:https://arxiv.org/abs/2201.11903
同樣地,我們可以要求LLM反思、批判自己的輸出,并對其進行迭代修改。通過迭代,我們可以顯著提高LLM性能,尤其是生成代碼方面的性能。我們還可以更進一步,創(chuàng)建完全自主的智能體,這些智能體可以管理任務(wù)列表并迭代任務(wù),直到達到主要目標(請參考AutoGPT和 BabyAGI)。目前,這些自動化智能體的運行效果并不理想,但它們的效果會逐步提升,很難說這些自動化智能體會發(fā)展到何種程度,對LLM產(chǎn)生何種影響。
由于LLM可以通過這些程序(思想鏈、迭代批評等)改進答案,因此,我們可以使用這些程序創(chuàng)建指令-答案對,然后在指令-答案對上按順序?qū)LM微調(diào)以提高其性能。這種自我完善是可能的(參見https://arxiv.org/abs/2210.11610),我相信它具有很大的潛力。例如,我們可以想象模型為了變得更加自洽而與自身進行討論,這是一種自我反思過程。可能會進一步提升LLM的表現(xiàn)。
LLM可能還有其他改進方向,總的來說,我們無法確定LLM的未來,但顯然它們將繼續(xù)發(fā)展下去。理解和生成文本的能力使LLM成為了一項基本技術(shù)。即使在目前的發(fā)展情況下,LLM也將解鎖大量應(yīng)用程序,日常工作中的數(shù)字助理就是一個很好的例子,更瘋狂的是,LLM甚至可能引導(dǎo)我們創(chuàng)造某種超級智能。
編輯:黃飛
?
評論
查看更多