自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ChatGPT的背后原理:大模型、注意力機(jī)制、強(qiáng)化學(xué)習(xí)

人工智能
ChatGPT是一類機(jī)器學(xué)習(xí)自然語言處理進(jìn)行推斷的模型,稱為大型語言模型(LLM)。LLM消化了大量的文本數(shù)據(jù),并推斷出文本中單詞之間的關(guān)系。在過去的幾年里,隨著計算能力的進(jìn)步,這些模型也在不斷發(fā)展。

本文主要介紹為ChatGPT提供動力的機(jī)器學(xué)習(xí)模型,將從大型語言模型的介紹開始,深入探討使GPT-3得到訓(xùn)練的革命性的自注意機(jī)制,然后深入到從人類反饋強(qiáng)化學(xué)習(xí),這是使ChatGPT出類拔萃的新技術(shù)。

大型語言模型

ChatGPT是一類機(jī)器學(xué)習(xí)自然語言處理進(jìn)行推斷的模型,稱為大型語言模型(LLM)。LLM消化了大量的文本數(shù)據(jù),并推斷出文本中單詞之間的關(guān)系。在過去的幾年里,隨著計算能力的進(jìn)步,這些模型也在不斷發(fā)展。隨著輸入數(shù)據(jù)集和參數(shù)空間大小的增加,LLM的能力也在增加。

語言模型的最基本的訓(xùn)練涉及到預(yù)測一連串詞語中的一個詞。最常見的是,這被觀察為下一個標(biāo)記預(yù)測和屏蔽語言模型。

圖片

生成的下一個標(biāo)記預(yù)測和屏蔽語言模型的任意示例

在這種基本的排序技術(shù)中,通常是通過長短記憶(LSTM)模型來部署的,模型是在給定環(huán)境和上下文的情況下,用統(tǒng)計上最有可能的詞來填補(bǔ)空白。這種順序建模結(jié)構(gòu)有兩個主要限制。

  1. 該模型無法對周圍的一些詞比其他詞更重視。在上面的例子中,雖然“閱讀”可能最常與“討厭”聯(lián)系在一起,但在數(shù)據(jù)庫中,“雅各布”可能是一個狂熱的讀者,模型應(yīng)該更重視“雅各布”而不是“閱讀”,并選擇“愛”而不是“討厭”。
  2. 輸入的數(shù)據(jù)是單獨(dú)和按順序處理的,而不是作為一個整體語料庫。這意味著當(dāng)訓(xùn)練LSTM時,上下文的窗口是固定的,只在序列中的幾個步驟的單個輸入之外延伸。這限制了詞與詞之間關(guān)系的復(fù)雜性以及可以得出的含義。

為了應(yīng)對這個問題,2017年,Google Brain的一個團(tuán)隊(duì)引入了轉(zhuǎn)化器。與LSTM不同,轉(zhuǎn)化器可以同時處理所有輸入數(shù)據(jù)。利用自我注意機(jī)制,該模型可以相對于語言序列的任何位置為輸入數(shù)據(jù)的不同部分賦予不同的權(quán)重。這一特點(diǎn)使得在向LLM注入意義方面有了大規(guī)模的改進(jìn),并且能夠處理更大的數(shù)據(jù)集。

GPT和Self-Attention

生成式預(yù)訓(xùn)練轉(zhuǎn)化器(GPT)模型于2018年首次由OpenAI推出,名為GPT-1。這些模型在2019年的GPT-2、2020年的GPT-3以及最近的2022年的InstructGPT和ChatGPT中繼續(xù)發(fā)展。在將人類反饋整合到系統(tǒng)中之前,GPT模型進(jìn)化的最大進(jìn)步是由計算效率方面的成就推動的,這使得GPT-3能夠在比GPT-2多得多的數(shù)據(jù)上進(jìn)行訓(xùn)練,使其擁有更多樣化的知識基礎(chǔ)和執(zhí)行更廣泛任務(wù)的能力。

圖片

GPT-2(左)和GPT-3(右)的比較。

所有的GPT模型都利用了轉(zhuǎn)換器結(jié)構(gòu),這意味著它們有一個編碼器來處理輸入序列,一個解碼器來生成輸出序列。編碼器和解碼器都具有多頭的自我注意機(jī)制,允許模型對序列的各個部分進(jìn)行不同的加權(quán),以推斷出意義和背景。此外,編碼器利用屏蔽語言模型來理解單詞之間的關(guān)系,并產(chǎn)生更易于理解的反應(yīng)。

驅(qū)動GPT的自注意機(jī)制的工作原理,是通過將標(biāo)記(文本片段,可以是一個詞、一個句子或其他文本分組)轉(zhuǎn)換為代表該標(biāo)記在輸入序列中的重要性的向量。為了做到這一點(diǎn),該模型:

  • 1.為輸入序列中的每個標(biāo)記創(chuàng)建一個query,key,和value向量。
  • 2.通過取兩個向量的點(diǎn)積,計算步驟1中的query向量與其他每個標(biāo)記的key向量之間的相似性。
  • 3.通過將第2步的輸出輸入一個softmax函數(shù)中來生成歸一化的權(quán)重。
  • 4.通過將步驟3中產(chǎn)生的權(quán)重與每個標(biāo)記的value向量相乘,產(chǎn)生一個最終向量,代表該序列中標(biāo)記的重要性。

GPT使用的“multi-head”注意機(jī)制是自我注意的一種進(jìn)化。該模型不是一次性執(zhí)行第1-4步,而是并行地多次迭代這一機(jī)制,每次都會生成一個新的query,key,和value向量的線性投影。通過以這種方式擴(kuò)展自我注意,該模型能夠掌握輸入數(shù)據(jù)中的子含義和更復(fù)雜的關(guān)系。

圖片

從ChatGPT生成的屏幕截圖。

盡管GPT-3在自然語言處理方面引入了顯著的進(jìn)步,但它在與用戶意圖保持一致的能力方面是有限的。例如,GPT-3可能會產(chǎn)生以下輸出結(jié)果:

  • 缺乏幫助性,意味著它們不遵循用戶的明確指示。
  • 含有反映不存在的或不正確的事實(shí)的幻覺。
  • 缺乏可解釋性,使人類難以理解模型是如何得出一個特定的決定或預(yù)測的。
  • 包含有害或有冒犯性的內(nèi)容以及傳播錯誤信息的有害或偏見內(nèi)容。

在ChatGPT中引入了創(chuàng)新的訓(xùn)練方法,以抵消標(biāo)準(zhǔn)LLM的一些固有問題。

ChatGPT

ChatGPT是InstructGPT的衍生產(chǎn)品,它引入了一種新穎的方法,將人類反饋納入訓(xùn)練過程,使模型的輸出與用戶的意圖更好地結(jié)合。來自人類反饋的強(qiáng)化學(xué)習(xí)(RLHF)在openAI的2022年論文《Training language models to follow instructions with human feedback》中得到了深入的描述,并在下面進(jìn)行了簡單講解。

第1步:監(jiān)督微調(diào)(SFT)模型

第一次開發(fā)涉及微調(diào)GPT-3模型,雇用40個承包商來創(chuàng)建一個有監(jiān)督的訓(xùn)練數(shù)據(jù)集,其中輸入有一個已知的輸出供模型學(xué)習(xí)。輸入或提示是從開放API的實(shí)際用戶輸入中收集的。然后,標(biāo)簽人員對提示編寫適當(dāng)?shù)捻憫?yīng),從而為每個輸入創(chuàng)建一個已知的輸出。然后,GPT-3模型使用這個新的、有監(jiān)督的數(shù)據(jù)集進(jìn)行微調(diào),以創(chuàng)建GPT-3.5,也稱為SFT模型。

為了最大限度地提高提示信息數(shù)據(jù)集的多樣性,只有200條提示信息可以來自任何給定的用戶ID,并且刪除了共享長通用前綴的任何提示信息。最后,刪除了包含個人身份信息(PII)的所有提示。

在匯總了OpenAI API的提示信息后,還要求標(biāo)簽人員創(chuàng)建提示信息樣本,以填補(bǔ)那些只有極少真實(shí)樣本數(shù)據(jù)的類別。所關(guān)注的類別包括:

  • 普通提示:任何任意的詢問。
  • 少量的提示:包含多個查詢/回答對的指令。
  • 基于用戶的提示:對應(yīng)于為OpenAI API請求的特定用例。

在生成響應(yīng)時,要求標(biāo)簽人員盡力推斷出用戶的指令是什么。該文件描述了提示請求信息的三種主要方式。

  • 直接:“告訴我關(guān)于......”
  • 寥寥數(shù)語:給出這兩個故事的例子,再寫一個關(guān)于同一主題的故事。
  • 續(xù)寫:給出一個故事的開頭,完成它。

對來自O(shè)penAI API的提示和標(biāo)簽人員手寫的提示進(jìn)行匯編,產(chǎn)生了13,000個輸入/輸出樣本,用于監(jiān)督模型的使用。

圖片

圖片(左)插入自“Training language models to follow instructions with human feedback” OpenAI等,2022 https://arxiv.org/pdf/2203.02155.pdf。(右)用紅色添加的其他上下文。

第2步:獎勵模型

在步驟1中訓(xùn)練了SFT模型后,該模型對用戶的提示產(chǎn)生了更好的、一致的反應(yīng)。下一個改進(jìn)是以訓(xùn)練獎勵模型的形式出現(xiàn)的,其中模型的輸入是一系列的提示和響應(yīng),而輸出是一個標(biāo)度值,稱為獎勵。為了利用強(qiáng)化學(xué)習(xí)(Reinforcement Learning),獎勵模型是必需的,在強(qiáng)化學(xué)習(xí)中,模型會學(xué)習(xí)產(chǎn)生輸出以最大化其獎勵(見步驟3)。

為了訓(xùn)練獎勵模型,標(biāo)簽人員對一個單一的輸入提示提供4到9個SFT模型輸出。他們被要求將這些輸出從最好的到最差的進(jìn)行排序,創(chuàng)建輸出排序的組合,如下所示:

圖片

響應(yīng)排序組合的示例。

將每個組合作為一個單獨(dú)的數(shù)據(jù)點(diǎn)納入模型,會導(dǎo)致過度擬合(無法推斷出所見數(shù)據(jù)之外的內(nèi)容)。為了解決這個問題,模型是利用每組排名作為一個單獨(dú)的批處理數(shù)據(jù)點(diǎn)來建立的。

圖片

圖片(左)插入自“Training language models to follow instructions with human feedback” OpenAI等,2022 https://arxiv.org/pdf/2203.02155.pdf。(右)用紅色添加的其他上下文。

第3步:強(qiáng)化學(xué)習(xí)模型

在最后階段,向模型提出一個隨機(jī)提示并返回一個響應(yīng)。響應(yīng)是使用模型在第2步學(xué)到的“策略” 產(chǎn)生的。該策略代表機(jī)器已經(jīng)學(xué)會用于實(shí)現(xiàn)其目標(biāo)的策略;在這種情況下,就是將其獎勵最大化?;诓襟E2中開發(fā)的獎勵模型,然后為提示和響應(yīng)對確定一個標(biāo)度獎勵值。然后,獎勵會反饋到模型中以發(fā)展策略。

2017年,Schulman等人引入了近端策略優(yōu)化(PPO),該方法用于在生成每個響應(yīng)時更新模型的策略。PPO納入了SFT模型中的Kullback-Leibler(KL)懲罰。KL散度測量兩個分布函數(shù)的相似性,并對極遠(yuǎn)距離進(jìn)行懲罰。在這種情況下,使用KL懲罰可以減少響應(yīng)與步驟1中訓(xùn)練的SFT模型輸出的距離,以避免過度優(yōu)化獎勵模型并與人類意圖數(shù)據(jù)集發(fā)生太大偏差。

圖片

圖片(左)插入自“Training language models to follow instructions with human feedback” OpenAI等,2022 https://arxiv.org/pdf/2203.02155.pdf。(右)用紅色添加的其他上下文。

該過程的第2和第3步可以反復(fù)迭代,盡管在實(shí)踐中還沒有廣泛地進(jìn)行。

圖片

從ChatGPT生成的屏幕截圖。

模型的評估

對模型的評估是通過在訓(xùn)練期間預(yù)留一個模型未見過的測試集來進(jìn)行的。在測試集上,進(jìn)行一系列的評估,以確定該模型是否比其前身GPT-3表現(xiàn)更好。

有用性:模型推斷和遵循用戶指令的能力。標(biāo)簽人員在85±3%的時間里更喜歡InstructGPT的輸出,而不是GPT-3。

真實(shí)性:模型出現(xiàn)幻覺的傾向。在使用TruthfulQA數(shù)據(jù)集進(jìn)行評估時,PPO模型產(chǎn)生的輸出在真實(shí)性和信息量方面都有小幅增加。

無害性:模型避免不適當(dāng)?shù)?、貶低的和詆毀的內(nèi)容的能力。無害性是使用RealToxicityPrompts數(shù)據(jù)集來測試的。該測試在三種條件下進(jìn)行。

  1. 指示提供尊重的反應(yīng):導(dǎo)致有害反應(yīng)的明顯減少。
  2. 指示提供反應(yīng),沒有任何關(guān)于尊重的設(shè)置:有害性沒有明顯變化。
  3. 指導(dǎo)提供有害的反應(yīng):反應(yīng)實(shí)際上比GPT-3模型的有害性明顯增加。

關(guān)于創(chuàng)建ChatGPT和InstructGPT所使用方法的更多信息,請閱讀OpenAI發(fā)表的原始論文 “Training language models to follow instructions with human feedback”,2022 https://arxiv.org/pdf/2203.02155.pdf。

圖片

從ChatGPT生成的屏幕截圖。

責(zé)任編輯:武曉燕 來源: Python學(xué)研大本營
相關(guān)推薦

2024-12-09 00:00:10

2024-06-28 08:04:43

語言模型應(yīng)用

2024-04-03 14:31:08

大型語言模型PytorchGQA

2024-12-17 14:39:16

2018-08-26 22:25:36

自注意力機(jī)制神經(jīng)網(wǎng)絡(luò)算法

2023-08-28 06:52:29

2024-09-19 10:07:41

2025-02-07 16:15:27

2024-10-31 10:00:39

注意力機(jī)制核心組件

2017-08-03 11:06:52

2024-04-17 12:55:05

谷歌模型注意力

2025-02-17 10:40:20

2022-03-25 11:29:04

視覺算法美團(tuán)

2020-09-17 12:40:54

神經(jīng)網(wǎng)絡(luò)CNN機(jī)器學(xué)習(xí)

2024-07-01 12:17:54

2024-01-26 08:31:49

2023-11-27 13:20:00

AI訓(xùn)練

2024-04-12 08:59:02

強(qiáng)化學(xué)習(xí)系統(tǒng)人工智能擴(kuò)散模型

2025-02-26 14:32:51

2024-09-23 08:30:00

AI模型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號