ChatGPT迅速獲得了數百萬人的關注,但許多人都持謹慎態度,因為都不了解它的工作原理。而本文就是試圖將其分解,以便更容易理解。
然而,就其核心而言,ChatGPT是一個非常復雜的系統。如果想要玩ChatGPT或者想弄懂它是什么,核心界面是一個聊天窗口,可以在其中提問或提供查詢,AI會做出回應。要記住的一個重要細節是,在聊天中,上下文會被保留,這意味著消息可以引用先前的信息,而ChatGPT將能夠根據上下文地理解這一點。
當在聊天框中輸入查詢時會發生什么?
神經網絡
首先,在ChatGPT的框架下,有很多東西待發現。機器學習在過去10年里一直在迅速發展,ChatGPT利用了許多最*的技術來實現其結果。
神經網絡是相互連接的“神經元”層,每個神經元負責接收輸入、處理輸入,并將其傳遞給網絡中的下一個神經元。神經網絡構成了當今人工智能的支柱。輸入通常是一組稱為“特征”的數值,表示正在處理的數據的某些方面。例如,在語言處理的情況下,特征可能是表示句子中每個單詞的含義的詞嵌入。
詞嵌入只是一種文本的數字表示,神經網絡將使用它來理解文本的語義,然后可以將其用于其他目的,比如以語義邏輯的方式進行響應!
因此,在ChatGPT中按回車鍵后,該文本首先被轉換為詞嵌入,這些詞嵌入是在整個互聯網上的文本上進行訓練的。然后有一個經過訓練的神經網絡,在給定輸入詞嵌入的情況下,輸出一組合適的響應詞嵌入。然后,使用應用于輸入查詢的逆操作將這些嵌入入翻譯成人類可讀的單詞。這個解碼后的輸出就是ChatGPT打印出來的內容。
ChatGPT模型大小
轉換和輸出生成的計算成本非常高。ChatGPT位于GPT-3之上,GPT-3是一個擁有1750億個參數的大型語言模型。這意味著在OpenAI使用其大型數據集調整的廣泛神經網絡中有1750億個權重。
因此,每個查詢至少需要兩次1750億次計算,這加起來很快。OpenAI可能已經找到了一種方法來緩存這些計算以降低計算成本,但不知道這些信息是否已經發布到任何地方。此外,預計將于今年年初發布的GPT-4,據稱參數增加了1000倍!
計算復雜性會導致實際成本!如果ChatGPT很快成為付費產品,不必感到驚訝,因為OpenAI目前正在花費數百萬美元免費運營它。
編碼器、解碼器和RNN
自然語言處理中常用的一種神經網絡結構是編碼器-解碼器網絡。這些網絡的設計目的是將輸入序列“編碼”為緊湊表示,然后將該表示“解碼”為輸出序列。
傳統上,編碼器-解碼器網絡已經與循環神經網絡(RNN)配對,用于處理順序數據。編碼器處理輸入序列并產生固定長度的向量表示,然后將其傳遞給解碼器。解碼器處理這個向量并產生輸出序列。
編碼器-解碼器網絡已廣泛應用于機器翻譯等任務,其中輸入是一種語言的句子,輸出是將該句子翻譯成另一種語言。它們也被應用于摘要和圖像說明生成任務。
Transformer模型和Attention機制
與編碼器-解碼器結構類似,變壓器包括兩個組件;然而,轉換器的不同之處在于它使用一種自關注機制,允許輸入的每個元素關注所有其他元素,從而允許它捕獲元素之間的關系,而不管它們彼此之間的距離如何。
Transformer還使用多頭注意力,允許它同時關注輸入的多個部分。這使得它能夠捕獲輸入文本中的復雜關系并產生高度準確的結果。
在2017年發表“Attention is All You Need”論文時, Transformer 取代了編碼器-解碼器架構,成為自然語言處理的最*模型,因為它可以在較長的文本中實現更好的性能。
Transformer 架構
生成式預訓練
生成式預訓練是一種在自然語言處理領域特別成功的技術。它涉及以無監督的方式在海量數據集上訓練廣泛的神經網絡,以學習數據的通用表示。這個預訓練網絡可以針對特定任務進行微調,比如語言翻譯或問答,從而提高性能。
生成式預訓練架構,摘自《通過生成式預訓練提高語言理解能力》
在ChatGPT的例子中,這意味著對GPT-3模型的最后一層進行微調,以適應在聊天中回答問題的用例,這也利用了人工標記。下圖可以更詳細地了解ChatGPT微調:
ChatGPT 微調步驟
把一切結合在一起
因此,在ChatGPT的框架下有許多活動部件,這些部件只會不斷增長。看到它如何繼續發展將是非常有趣的,因為許多不同領域的進步將幫助類似GPT的模型獲得進一步的采用。
在接下來的一兩年里,我們可能會看到這種新的使能技術帶來的重大顛覆。