官术网_书友最值得收藏!

  • 這就是ChatGPT
  • (美)斯蒂芬·沃爾弗拉姆
  • 1814字
  • 2024-01-15 14:12:24

第一篇 ChatGPT在做什么?它為何能做到這些?

ChatGPT可以自動生成類似于人類書寫的文本,這非常了不起,也非常令人意外。它是如何做到的呢?這為什么會奏效呢?我在這里將概述ChatGPT內部的工作方式,然后探討為什么它能夠如此出色地產生我們認為有意義的文本。必須在開頭說明,我會重點關注宏觀的工作方式,雖然也會提到一些工程細節,但不會深入探討。[這里提到的本質不僅適用于ChatGPT,也同樣適用于當前的其他“大語言模型”(large language model,LLM)。]

首先需要解釋,ChatGPT從根本上始終要做的是,針對它得到的任何文本產生“合理的延續”。這里所說的“合理”是指,“人們在看到諸如數十億個網頁上的內容后,可能期待別人會這樣寫”。

假設我們手里的文本是“The best thing about AI is its ability to”(AI最棒的地方在于它能)。想象一下瀏覽人類編寫的數十億頁文本(比如在互聯網上和電子書中),找到該文本的所有實例,然后看看接下來出現的是什么詞,以及這些詞出現的概率是多少。ChatGPT實際上做了類似的事情,只不過它不是查看字面上的文本,而是尋找在某種程度上“意義匹配”的事物(稍后將解釋)。

最終的結果是,它會列出隨后可能出現的詞及其出現的“概率”(按“概率”從高到低排列)。

值得注意的是,當ChatGPT做一些事情,比如寫一篇文章時,它實質上只是在一遍又一遍地詢問“根據目前的文本,下一個詞應該是什么”,并且每次都添加一個詞。[正如我將要解釋的那樣,更準確地說,它是每次都添加一個“標記”(token),而標記可能只是詞的一部分。這就是它有時可以“造詞”的原因。]

好吧,它在每一步都會得到一個帶概率的詞列表。但它應該選擇將哪一個詞添加到正在寫作的文章中呢?有人可能認為應該選擇“排名最高”的詞,即分配了最高“概率”的詞。然而,這里出現了一點兒玄學1的意味。出于某種原因—也許有一天能用科學解釋—如果我們總是選擇排名最高的詞,通常會得到一篇非常“平淡”的文章,完全顯示不出任何“創造力”(有時甚至會一字不差地重復前文。但是,如果有時(隨機)選擇排名較低的詞,就會得到一篇“更有趣”的文章。

1原文為voodoo,即巫術。——編者注

這里存在隨機性意味著,如果我們多次使用相同的提示(prompt),每次都有可能得到不同的文章。而且,符合玄學思想的是,有一個所謂的“溫度”參數來確定低排名詞的使用頻率。對于文章生成來說,“溫度”為0.8似乎最好。(值得強調的是,這里沒有使用任何“理論”,“溫度”參數只是在實踐中被發現有效的一種方法。例如,之所以采用“溫度”的概念,是因為碰巧使用了在統計物理學中很常見的某種指數分布2,但它與物理學之間并沒有任何實際聯系,至少就我們目前所知是這樣的。)

2具體而言,這里指的應當是玻爾茲曼分布。——編者注

在進入下一節之前,需要解釋一下,為了方便闡述,我在大多數情況下不會使用ChatGPT中的完整系統,而是使用更簡單的GPT-2系統,它的優點是足夠小,可以在標準的臺式計算機上運行。因此,對于書中展示的所有原理,我都能附上明確的Wolfram語言代碼,你可以立即在自己的計算機上運行。

例如,通過以下方式可以獲得前頁列出的概率表。首先,需要檢索底層的“語言模型”。

稍后,我們將深入了解這個神經網絡,并談談它的工作原理。現在,我們可以把這個“網絡模型”當作黑盒,應用到之前的文本中,并詢問模型哪5個詞緊隨其后的概率最高。

如下獲取結果并將其轉換為明確格式化的“數據集”。

如果反復“應用模型”,在每一步都添加概率最高的詞[在此代碼中指定為模型所做的“決策”(decision)],則會發生以下情況。

如果繼續下去呢?在此(“零溫度”3)情況下,文本很快就會變得混亂和重復。

3“零溫度”指的是“溫度”參數為0,即選擇按概率排名最高的詞。——編者注

但是,如果我們不總是選擇“排名最高”的詞,而是有時隨機選擇“非排名最高”的詞(通過將“溫度”參數從0調高到0.8來獲得這種隨機性)呢?我們同樣可以構建文本:

每次執行此操作時,都會進行不同的隨機選擇,文本也會不同,就像這5個例子一樣。

值得指出的是,即使在(溫度為0.8的)第一步,也有許多可能的“下一個詞”可供選擇,盡管它們的概率迅速減小(是的,如下面的對數圖所示,點的連線對應于 次冪律衰減,這是語言的一般統計特征)。

如果再繼續下去會發生什么呢?下面是一個隨機的例子。雖然比選擇排名最高的詞(零溫度)的情況好,但還是有點奇怪。

這是使用最簡單的GPT-2模型(發布于2019年)完成的。使用更新更大的GPT-3模型,結果會更好。下面是在提示相同但使用最大的GPT-3模型的情況下生成的零溫度文本。

下面是一個溫度為0.8的隨機示例。

主站蜘蛛池模板: 始兴县| 青海省| 海城市| 许昌市| 和林格尔县| 崇文区| 兰溪市| 阳春市| 重庆市| 惠来县| 古浪县| 仲巴县| 广德县| 巴里| 合江县| 怀安县| 孝义市| 双峰县| 靖远县| 汕头市| 赤水市| 丹巴县| 德惠市| 托克逊县| 大荔县| 津南区| 天门市| 叙永县| 梨树县| 南木林县| 崇文区| 丰镇市| 万州区| 桃源县| 靖边县| 莎车县| 聂荣县| 罗江县| 通山县| 当涂县| 阳西县|