ChatGPT 如何工作?5 分鐘 了解人工智能 指南 - 2023

author photo
作者: Louis Roland 更新時間: 31/08/2023

對徹底改變對話的人工智能感到好奇嗎?有沒有想過ChatGPT 如何設法理解您的問題並做出連貫的答复?深入了解這項突破性技術的複雜運作方式,從GPT 基礎到自然語言處理的作用等。探索其性能、局限性和未來的可能性。揭開您的數字對話夥伴ChatGPT 背後的科學原理。

openai中chatgpt和whisper-api介紹

1. 關於GPT & ChatGPT

1.1 定義GPT模型

GPT,即生成式預訓練變壓器,是人工智能領域的一項重大發展。它們被用於許多生成式人工智能應用程序,包括ChatGPT。 GPT 模型建立在Transformer 架構之上,可以生成類似人類的文本以及圖像和音樂等其他類型的內容。此外,您還可以用它來回答問題、與他們對話、處理與文本相關的所有內容等等。

1.2 ChatGPT簡介

ChatGPT 是GPT 模型的衍生品,由OpenAI 開發。它的運作方式與其兄弟模型InstructGPT 類似,但採用對話方式。這種差異的獨特性賦予了ChatGPT交互功能,使其能夠與用戶進行交流,進一步完成問答、錯誤識別等。

1.3 ChatGPT 與搜索引擎的比較

像Google 這樣的搜索引擎和像Wolfram Alpha 這樣的計算引擎也通過單行文本輸入字段與用戶交互。然而,雖然Google 的優勢在於執行大量數據庫查找以提供一系列匹配,並且Wolfram Alpha 能夠解析與數據相關的問題並執行計算,但ChatGPT 的優勢在於能夠解析查詢並根據大量數據提供全面的答案。數字可訪問的文本信息。

例如,在Google等搜索引擎上搜索“如何解鎖iPhone”,您將得到由不同網站創建的解決方案的文章。您需要閱讀這些文章才能找到解決方案。

谷歌如何解鎖 iPhone 搜索引擎

但如果你把這個問題輸入ChatGPT,它會直接給你答案。答案來自其預先訓練的數據集,其中還包含搜索引擎提供的鏈接中的內容。

ChatGPT如何解鎖 iPhone

換句話說,您與一個知識淵博的實體進行通信,該實體可以生成查詢結果,而不僅僅是通過搜索引擎獲取這些內容源。但需要注意的是,目前在時效性方面不如搜索引擎,因為ChatGPT的信息是基於截至2021年訓練的數據。

2. ChatGPT 的工作原理

ChatGPT 的功能分為兩個階段:預訓練(即數據收集)和推理(即響應用戶prompts)。正如我們之前討論的,ChatGPT 與Google 類似。經過大量培訓後,ChatGPT 可以理解問題並從其數據庫中生成答案。唯一的區別是,當您發送提示時,它將生成直接答案,而不是鏈接。

ChatGPT 採用深度學習神經網絡來生成類似人類的文本。就像人腦根據先驗知識進行預測和得出結論一樣,ChatGPT 接受了大量數據或標記的訓練,這些數據或標記本質上是可以表示單個單詞或複雜單詞的一部分的文本單元。

與使用將每個輸入與特定輸出配對的監督方法訓練的傳統AI 模型不同,ChatGPT 使用無監督的預訓練方法。在這裡,模型無需考慮特定任務即可學習輸入數據中的固有結構和模式,從而理解語言的語法和語義,並使其能夠以會話方式生成有意義的文本。這種預訓練是ChatGPT 豐富的知識和能力背後的變革力量。該模型可以通過使用基於轉換器的語言建模處理大量數據,根據接收到的輸入開發各種響應。這種方法論構成了ChatGPT 看似無限的知識和對話能力的基礎。

該培訓首先讓模型接觸大量人類編寫的內容——從書籍和文章到互聯網內容。因此,該模型從這些標記中學習模式和關係,形成深度學習神經網絡。該網絡類似於模仿人腦功能的多層算法,使模型能夠生成上下文相關且類似人類的文本。

ChatGPT 的非凡之處在於它能夠生成長文本,而不僅僅是預測句子中的下一個單詞。 OpenAI 展示了其通過人類反饋強化學習(RLHF) 來訓練ChatGPT 的能力,使其能夠生成整個句子、段落,甚至更長的文本字符串,以生成連貫的響應。這種訓練涉及一個獎勵模型,其中訓練者對模型生成的不同反應進行排名,以幫助人工智能理解什麼是良好的反應。

支持ChatGPT 運行的另一個優勢是其大量的參數。 GPT-3是1750億,GPT-4沒有透露具體數字,但可以推測可能更多。用戶發送的每一個提示都需要經過這些參數的處理,並且輸出會受到其值和權重的影響。此外,這些參數中還融入了隨機性,以避免機械、重複的響應並保持新鮮感。例如,您可以使用相同的提示並生成不同的結果。

ChatGPT 相同提示但結果不同

3.人類反饋強化學習(RLHF)

據OpenAI介紹,ChatGPT的下雨很大程度上是基於人類反饋強化學習(RLHF)方法。該方法涉及一系列不同的步驟來生成可以生成所需響應的模型。

根據人類反饋進行強化學習 (RLHF) 的 3 個步驟

3.1初始訓練:監督微調(SFT)

訓練ChatGPT 的第一步是監督微調(SFT)。此階段涉及使用一個小型的、精心策劃的數據集,該數據集由人類標記者生成的提示及其相應響應組成。訓練的目的是向ChatGPT輸出高質量的正確輸出。據OpenAI介紹,現階段的訓練模型基於GPT-3.5系列模型。

訓練ChatGPT 的第一步是監督微調(SFT),這是一種通過從人工標記者收集演示數據來訓練的監督策略模型。 ChatGPT 使用兩種提示來源:開發人員的直接標記或OpenAI 的API 請求。生成的小型、高質量的精選數據集用於微調預訓練的語言模型。 ChatGPT 開發人員沒有對原始GPT-3 模型進行微調,而是選擇了預訓練的GPT-3.5 系列模型,可能是text-davinci-003。我們決定在“代碼模型”而不是純文本模型之上創建一個像ChatGPT 這樣的通用聊天機器人。

然而,SFT 模型可能仍然不夠用戶關注,並且存在偏差。為了克服這個問題,開發人員現在對SFT 模型的不同輸出進行排名,以創建獎勵模型。

3.2生成獎勵模型

該步驟旨在生成目標函數,即獎勵模型。該模型對SFT 模型的輸出進行評分,評分與班級對這些輸出的期望程度成正比。滿足的期望越多,得分就越高,反之亦然。

貼標者將根據他們同意遵循的特定偏好和通用標準對SFT 模型的輸出進行手動評分。最終,這個過程有助於創建一個可以模仿人類偏好的自動化系統。

這種方法的優點是效率極高。因為貼標籤者只需要對輸出進行排名,而不是使用模型從頭開始生成內容。

其工作流程大致如下:

  1. 選擇提示列表,SFT 模型會為每個提示生成多個輸出(4 到9 之間的任何輸出)。

  2. 標記器將輸出從最好到最差進行排名,創建一個新的標記數據集,並以“排名”作為標籤。該數據集大約比SFT 模型使用的精選數據集大十倍。

  3. 然後,該數據集將訓練獎勵模型(RM)。該模型將一些SFT 模型輸出作為輸入,並按優先順序對它們進行排序。

到目前為止,我們已經討論瞭如何使用監督微調來初始訓練模型,然後使用獎勵模型進行細化。這些步驟構成了訓練ChatGPT 的基本構建塊。然而,該過程仍在繼續。然後,系統通過稱為“近端策略優化”的技術進入迭代改進階段。

3.3迭代改進:近端策略優化(PPO)

最後的訓練階段涉及應用近端策略優化(PPO)。該技術使用獎勵模型作為價值函數來估計操作的預期回報。然後,它應用代表預期回報與實際回報之間差異的“優勢函數”來更新策略。

PPO 是一種“on-policy”算法,它根據代理的行為和收到的獎勵來學習並更新當前策略。這種設計通過限制每次更新期間策略的變化程度來幫助確保穩定的學習,防止模型做出可能破壞學習過程的劇烈變化。

PPO模型從SFT模型開始,從獎勵模型初始化價值函數。在這種環境中,會出現隨機提示,並期望得到響應。一旦給出響應,該事件就會以獎勵模型結束,獎勵由獎勵模型決定。

持續學習:迭代循環

除了第一步只發生一次外,獎勵模型生成和PPO階段都是循環重複的。這種迭代方法允許隨著時間的推移不斷改進模型。在每個週期中,模型都會收集更多的比較數據,訓練新的獎勵模型,並建立新的策略。因此,隨著時間的推移,該模型在符合人類偏好方面會有所改進。

4. Transformer 架構:ChatGPT 的基礎

4.1 概述

ChatGPT 的基礎是一種稱為Transformer 架構的神經網絡。神經網絡本質上是通過多層互連節點處理信息來模擬人腦的工作方式。想像一個交響樂團:每個音樂家都有一個角色,來回傳遞旋律(信息),所有這些協調在一起創造音樂(輸出)。

Transformer 架構專門利用一種稱為“自註意力”的機制來處理單詞序列。自註意力機制類似於讀者重新訪問之前的句子或段落以理解新單詞或短語的上下文的方式。轉換器評估序列中的所有單詞,以辨別上下文和它們之間的關係。

4.2 變壓器的層數

Transformer 架構由多個層組成,每個層由兩個主要子層組成:自註意力層和前饋層。自註意力層計算序列中每個單詞的相關性,而前饋層對輸入數據應用非線性變換。通過這種配置,變壓器學習理解和導航序列中單詞之間的關係。

4.3 訓練Transformer

在訓練期間,變壓器會獲得輸入數據(例如一個句子),並被要求根據該輸入預測結果。然後根據其預測與輸出的吻合程度來更新模型。通過這種方式,變壓器磨練了理解序列中單詞之間的上下文和關係的能力。

這就像教孩子新單詞:你向他們展示新單詞(輸入),他們猜測含義(預測),如果他們錯了,你就糾正他們(更新模型),從而幫助他們的語言習得過程。

4.4 使用時的挑戰

然而,與任何強大的工具一樣,變壓器架構也面臨著挑戰。這些模型產生有害或有偏見內容的可能性是一個重大問題,因為它們可能會無意中學習並延續訓練數據中存在的偏見。想像一下一隻鸚鵡,它會模仿它所聽到的一切,而不管這些話是否恰當或政治正確。

這些模型的開發人員努力加入“護欄”來減輕這些風險。儘管如此,由於不同的觀點和偏見解釋,這些護欄可能會導致新的問題。

眾所周知,ChatGPT的發電能力得益於其GPT模型的大數據源,因此接下來我們將討論為ChatGPT提供支持的數據。

5. 多樣化數據集的作用

5.1 ChatGPT:大量預訓練的產物

ChatGPT 站在GPT-3(生成式預訓練Transformer 3)架構的肩膀上,是一個由重要數據集WebText2 提供支持的強大語言模型。要了解其規模,請想像一個包含超過45 TB 文本數據的圖書館,相當於維基百科內容的數千倍。

WebText2 的巨大規模使得ChatGPT 能夠以難以想像的規模學習單詞和短語之間的模式和關聯,從而使其能夠生成連貫且上下文相關的響應。

5.2 針對對話微調ChatGPT

雖然ChatGPT 繼承了GPT-3 架構的主幹,但它已經針對特定的對話應用程序進行了微調和優化。這為與ChatGPT 交互的用戶帶來了更具吸引力和個性化的交互體驗。

ChatGPT 的創建者OpenAI 提供了一個名為Persona-Chat 的獨特數據集,專門用於訓練對話式AI 模型。該數據集包含超過160,000 條人類參與者之間的對話;每個人都被分配了一個獨特的角色,概述了他們的興趣、個性和背景。 ChatGPT 就好像是數千個角色扮演場景的參與者,學習如何根據對話的上下文和角色調整其響應。

5.3 各種數據集:秘密武器

除了Persona-Chat 之外,ChatGPT 還使用其他幾個對話數據集進行微調:

  • Cornell爾電影對話語料庫:該數據集包含電影劇本中角色之間的對話,超過10,000 個角色對之間有超過200,000 次對話交流。可以將其視為ChatGPT 研究數百部電影的劇本,吸收不同類型和背景的語言細微差別。

  • Ubuntu 對話語料庫:尋求技術支持的用戶與Ubuntu 社區支持團隊之間多輪對話的彙編。這些數據可以模擬技術支持對話,幫助ChatGPT 學習特定術語和解決問題的方法。這樣的對話已經有一百萬次了。

就好像ChatGPT 參加了超過一百萬次技術支持對話,學習特定術語和解決問題的方法。

  • DailyDialog:該數據集包含各種主題的人類對話,從日常生活聊天到社會問題討論。使用這個數據庫,ChatGPT 就像加入無數的討論來理解構成日常人類對話的語氣、情緒和主題。

此外,ChatGPT 利用互聯網上的大量非結構化數據,包括書籍、網站和其他文本源。這拓寬了它對語言結構和模式的理解,可以針對情感分析或對話管理等特定應用進行微調。

5.4 ChatGPT 的規模

雖然ChatGPT 在方法上與GPT 系列類似,但它是一個獨特的模型,在架構和訓練數據方面存在差異。 ChatGPT 包含15 億個參數,規模小於GPT-3 驚人的1750 億個參數,但仍然令人印象深刻。

總而言之,用於微調ChatGPT 的訓練數據主要是對話數據,經過精心設計,包括人類之間的對話,使ChatGPT 能夠生成自然、引人入勝的響應。將其無人監督的訓練想像成通過讓孩子接觸無數的對話來教孩子進行交流,讓他們找到模式並理解這一切。

經過預訓練後,ChatGPT 還需要能夠理解問題並從數據中構建答案。這涉及推理階段,由自然語言處理和對話管理支持;讓我們來看看。

6.自然語言處理:

自然語言處理(NLP) 是人工智能的一個子領域,專注於使計算機能夠理解、解釋和生成人類語言。它是當今數字時代的一項關鍵技術,因為它是情感分析、聊天機器人、語音識別和語言翻譯等許多應用的基礎。

NLP 技術可以通過自動化任務、增強客戶服務以及從客戶反饋和社交媒體帖子等數據源中提取有價值的見解來顯著使企業受益。

然而,人類語言本質上是複雜且含糊的,給計算機解釋帶來了困難。為了解決這個問題,NLP 算法接受了大量數據的訓練,使它們能夠識別模式並學習語言的細微差別。這些算法還必須不斷完善和更新,以跟上語言及其上下文不斷發展的使用。

NLP 將語言輸入(例如句子或段落)分解為更小的組件,並分析它們的含義和關係以生成見解或響應。它採用統計建模、機器學習和深度學習等各種技術來辨別模式並從大量數據中學習,從而準確地解釋和生成語言。

ChatGPT 是NLP 的實際應用示例。它旨在與用戶進行自然且有吸引力的多輪對話。這涉及使用算法和機器學習技術來理解對話的上下文並在與用戶的多次交流中維護它。

這種在擴展對話中維護上下文的能力稱為對話管理。它允許計算機程序以一種更像對話的方式與人交互,而不是一系列一次性交互。 NLP 的這一方面至關重要,因為它可以建立用戶的信任和參與度,從而為用戶和使用該程序的組織帶來更好的結果。

7. ChatGPT的性能評估

三個核心標準

ChatGPT的評估是確保其有效性和可靠性的關鍵一步。由於該模型是基於人類交互進行訓練的,因此其評估也主要依賴於人類輸入,其中質量評估者評估模型的輸出。

為了防止模型過度擬合參與訓練階段的評估者的判斷,評估採用了一個測試集,其中包含來自OpenAI 用戶群的提示,但這些提示未包含在訓練數據中。這樣可以對模型在現實場景中的性能進行公正的評估。

該模型的評估根據三個核心標准進行:

標準

解釋

樂於助人

這衡量了模型遵守用戶指令並直覺用戶意圖的能力。

誠實

這評估了模型的“幻覺”傾向,即其捏造事實的傾向。為此,使用TruthfulQA 數據集。

無害化

質量評估者評估模型的輸出是否適當、尊重受保護群體並避免貶義內容。這方面的評估採用了RealToxicityPrompts 和CrowS-Pairs 數據集。

零樣本性能

ChatGPT 還因其“零樣本”性能而受到評估,即其在沒有先前示例的情況下處理傳統NLP 任務(如問答、閱讀理解和摘要)的任務的能力。有趣的是,開發人員注意到在某些任務上與GPT-3 相比性能有所下降。這種現像被稱為“對齊稅”,表明該模型基於RLHF 的對齊過程可能會降低特定任務的性能。

然而,預訓練混合技術可以大大減輕這些性能下降。在通過梯度下降訓練PPO 模型期間,通過結合SFT 模型和PPO 模型的梯度來計算梯度更新。此過程有助於提高模型在特定任務上的性能。

8. ChatGPT 的限制和改進

ChatGPT 與任何人工智能模型一樣,儘管其功能非凡,但也存在局限性。

不正確或無意義的答案。

ChatGPT 有時會產生聽起來合理但不正確或無意義的答案。這主要是因為它的數據並不完全正確。正如我們之前討論的,ChatGPT 在訓練期間會接收各種數據源,包括書籍和互聯網。那麼,交通信號燈有哪些顏色呢?

如果其數據源中存在錯誤的答案,例如黑、白、黃,那麼ChatGPT也可能會輸出錯誤的答案。

此外,當模型被訓練得更加小心時,它可能會拒絕回答它可以正確處理的問題。在監督訓練期間,模型的知識(而不是人類演示者的知識)會影響所需的響應。

對輸入調整敏感

該模型對輸入調整也很敏感。這意味著一旦您調整命令或要求它再次回答問題,它可能會產生非常不同的答案。例如,該模型將正確回答它之前聲稱不知道的查詢。或者更改上一個答案(是到否)。此外,訓練ChatGPT的數據偏差和已知的過度優化也造成了一些問題。您可能會在ChatGPT 的輸出中發現冗長或過度使用的短語和語句,例如重申其與OpenAI 的關係。

在理想情況下,ChatGPT 會針對不明確的查詢提出澄清問題。然而,當前的模型傾向於猜測用戶的意圖。儘管我們已努力拒絕不適當的請求,但該模型仍可能對有害指令做出反應或表現出有偏見的行為。為了解決這個問題,OpenAI 使用審核API 來警告或阻止某些不安全內容,但誤報和誤報可能仍然存在。

儘管存在這些限制,從GPT-3 到GPT-4 的進步還是充滿希望的,展示了該模型生成可信且準確的文本的能力得到了提高。展望未來,我們期望這些改進將繼續下去,並且隨著GPT 模型的每次新迭代,限制將會減少。

結論

總之,ChatGPT 是GPT 先進人工智能的產物,通過Transformer 架構、來自人類反饋的強化學習和多樣化數據集的組合來運行。它利用自然語言處理來理解和生成類似人類的文本,從而促進互動。儘管令人印象深刻,但值得注意的是,該系統的性能並非完美無缺,需要持續改進評估。儘管存在局限性,ChatGPT 仍然是人工智能技術的一項非凡創新,突破了人機交互的界限。

在這個頁面上 跳至