偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

關(guān)于生成式人工智能訓(xùn)練的綜合指南 原創(chuàng)

發(fā)布于 2025-2-28 08:27
瀏覽
0收藏

本文講述LLM開發(fā)生命周期的詳細技術(shù)指南,涉及原始文本預(yù)訓(xùn)練、指令調(diào)整及人類校準(zhǔn)。

大語言模型(LLM)通過引入文本生成、摘要和會話式人工智能等高級應(yīng)用程序,對自然語言處理(NLP)產(chǎn)生了影響。像ChatGPT這樣的模型使用一種叫做“Transformer”的特定神經(jīng)結(jié)構(gòu)來預(yù)測序列中的下一個單詞,通過自注意(Self-attention)機制從大量的文本數(shù)據(jù)集中學(xué)習(xí)。

本指南分解了訓(xùn)練生成式人工智能模型的逐步建立過程,包括預(yù)訓(xùn)練,微調(diào),對齊和實際考慮因素。

訓(xùn)練管道概述

關(guān)于生成式人工智能訓(xùn)練的綜合指南-AI.x社區(qū)

圖1:LLM訓(xùn)練管道概述

LLM的訓(xùn)練管道是一個結(jié)構(gòu)化的、多階段的過程,旨在提高語言理解、執(zhí)行特定任務(wù)的能力,并與人類偏好保持一致。

  • 數(shù)據(jù)收集和預(yù)處理。收集、清理、標(biāo)記和規(guī)范化來自不同來源的大量文本數(shù)據(jù),以確保質(zhì)量。高質(zhì)量、特定領(lǐng)域的數(shù)據(jù)提高了事實的準(zhǔn)確性,減少了幻覺。
  • 預(yù)訓(xùn)練(Pre-training)。這是模型通過自監(jiān)督學(xué)習(xí)——一種模型在不需要標(biāo)記示例的情況下自學(xué)文本模式的技術(shù)——學(xué)習(xí)通用語言模式的基礎(chǔ)階段。以下一個令牌預(yù)測為例,這一階段依賴于大量數(shù)據(jù)集和Transformer架構(gòu)來構(gòu)建廣泛的語言能力。
  • 指令微調(diào)。該模型在較小的、高質(zhì)量的輸入-輸出數(shù)據(jù)集上進行訓(xùn)練,以專注于特定的任務(wù)或領(lǐng)域。此指令調(diào)優(yōu)步驟可確保輸出更準(zhǔn)確且符合上下文。
  • 模型對齊。基于人類反饋的強化學(xué)習(xí)(RLHF)改進了模型的行為:

a. 獎勵模型訓(xùn)練。人類評估人員對輸出進行排序以訓(xùn)練獎勵模型。

b. 策略優(yōu)化。LLM需要迭代優(yōu)化,以配合人類的偏好,道德考慮和用戶的期望。

  • 評估和迭代微調(diào)。該模型在未見過的數(shù)據(jù)上進行測試,以評估準(zhǔn)確性和一致性等指標(biāo)。隨后可能會進一步微調(diào),以調(diào)整超參數(shù)或合并新數(shù)據(jù)。
  • 下游應(yīng)用程序適應(yīng)。通過額外的微調(diào)或與特定任務(wù)框架的集成,訓(xùn)練有素的LLM可以適應(yīng)現(xiàn)實世界的應(yīng)用(例如,聊天機器人,內(nèi)容生成)。

該管道將LLM從通用模型轉(zhuǎn)換為能夠有效處理各種任務(wù)的專用工具。

1.預(yù)訓(xùn)練

預(yù)訓(xùn)練是LLM開發(fā)的基礎(chǔ)階段,在這個階段,模型從大量的文本數(shù)據(jù)中學(xué)習(xí)通用的語言模式和表示。此階段教授模型語法規(guī)則、上下文單詞關(guān)系和基本邏輯模式(例如,文本中的因果關(guān)系),從而形成其執(zhí)行各種下游任務(wù)的能力的基礎(chǔ)。

如何進行預(yù)訓(xùn)練

關(guān)于生成式人工智能訓(xùn)練的綜合指南-AI.x社區(qū)

圖2:預(yù)訓(xùn)練階段的高級概述

目標(biāo)

預(yù)訓(xùn)練的主要目標(biāo)是使模型能夠預(yù)測序列中的下一個標(biāo)記。這是通過因果語言建模(CLM)實現(xiàn)的,這是一種教授模型預(yù)測句子中接下來會出現(xiàn)什么的方法。在這一步中,模型學(xué)習(xí)僅通過查看過去的標(biāo)記來生成連貫且與上下文相關(guān)的文本。

數(shù)據(jù)集

預(yù)訓(xùn)練需要大量不同的數(shù)據(jù)集,這些數(shù)據(jù)集來自書籍、文章、網(wǎng)站和其他公開可用的內(nèi)容。流行的數(shù)據(jù)集包括Common Crawl、Wikipedia、The Pile和BookCorpus。這些數(shù)據(jù)集經(jīng)常被清理和規(guī)范化,以確保在預(yù)處理期間使用重復(fù)數(shù)據(jù)刪除和標(biāo)記化等技術(shù)進行高質(zhì)量的輸入。長上下文數(shù)據(jù)被整理以增加模型的上下文長度。

預(yù)訓(xùn)練過程

  • 該模型通過因果語言建模來學(xué)習(xí)預(yù)測序列中的下一個標(biāo)記。
  • 使用交叉熵損失函數(shù)(Cross-entropy Loss Function)將模型預(yù)測與實際的下一個單詞進行比較。
  • 模型參數(shù)不斷調(diào)整,以盡量減少預(yù)測誤差或損失,直到模型達到可接受的精度水平。
  • 預(yù)訓(xùn)練階段需要大量的計算資源,通常在分布式系統(tǒng)中使用數(shù)千小時的GPU來處理有效訓(xùn)練所需的大量數(shù)據(jù)集。

這是一種自監(jiān)督學(xué)習(xí)方法,模型直接從原始文本中學(xué)習(xí)模式,而不需要手動標(biāo)記。因此,通過讓模型預(yù)測下一個標(biāo)記來消除昂貴的人工注釋。

在下面的例子中,我們使用了一個GPT 2模型,該模型以一種自監(jiān)督的方式在一個非常大的英語數(shù)據(jù)語料庫上進行了預(yù)訓(xùn)練,沒有人以任何方式對它們進行標(biāo)記。

Python 
1 import torch
2 from transformers import AutoModelForCausalLM, AutoTokenizer
3
4 # Load the model and tokenizer
5 model = AutoModelForCausalLM.from_pretrained("gpt2")
6 tokenizer = AutoTokenizer.from_pretrained("gpt2")
7
8 input_text = "The capital of France is"
9
10 # Tokenize the input text
11 model_inputs = tokenizer([input_text], return_tensors="pt")
12
13 # Run inference on the pretrained model and decode the output
14 generated_ids = model.generate(**model_inputs, max_new_tokens=25, do_sample=True)
15 print(tokenizer.batch_decode(generated_ids)[0])

正如預(yù)期的那樣,該模型能夠根據(jù)其預(yù)訓(xùn)練迭代預(yù)測下一個標(biāo)記來完成句子“法國首都是……”。

輸出:

The capital of France is the city of Paris which is more prosperous than the other capitals in .(法國的首都是巴黎,它比世界其他首都都繁華。)

然而,當(dāng)以問題的形式表達時,例如,“法國的首都是什么?”模型無法產(chǎn)生正確的結(jié)果,因為在訓(xùn)練的這個階段,它還不能遵循指令。

Python 
1 text2 = "What is the capital of France?"
2 
3 model_inputs = tokenizer([text2], return_tensors="pt")
4 generated_ids = model.generate(**model_inputs, max_new_tokens=25, do_sample=True)
5 print(tokenizer.batch_decode(generated_ids)[0])

輸出:

What is the capital of France? In our opinion we should be able to count the number of people in France today. The government has made this a big priority(法國的首都是哪里?在我們看來,我們應(yīng)該能夠計算出今天法國的人數(shù)。政府已將此作為重中之重。)

預(yù)訓(xùn)練的好處

  • 廣泛的語言理解能力。通過在不同的數(shù)據(jù)上進行訓(xùn)練,預(yù)訓(xùn)練的模型可以全面掌握語言結(jié)構(gòu)和模式,使它們能夠在各種任務(wù)中進行推廣。
  • 效率。預(yù)訓(xùn)練的模型可以用更小的標(biāo)記數(shù)據(jù)集對特定任務(wù)進行微調(diào),與為每個任務(wù)從頭開始訓(xùn)練模型相比,節(jié)省了時間和資源。
  • 性能。由于能夠利用大規(guī)模數(shù)據(jù)集的知識,經(jīng)過預(yù)訓(xùn)練然后進行微調(diào)的模型始終優(yōu)于僅在特定任務(wù)數(shù)據(jù)上訓(xùn)練的模型。

2. 指令微調(diào)

指令微調(diào)是一種專門的訓(xùn)練技術(shù),可將通用LLM轉(zhuǎn)換為響應(yīng)靈敏的指令遵循系統(tǒng)。在這里,模型在特定的任務(wù)上訓(xùn)練,比如回答問題或總結(jié)文本。通過在精心挑選的對(指令、輸出)上訓(xùn)練模型,該方法將LLM的文本生成能力與人類定義的任務(wù)和會話模式相結(jié)合。

訓(xùn)練(指令,輸出)樣本看起來像這樣:

Instruction: What is the capital of Germany?(指令:德國的首都是哪里?)

Response: The capital of Germany is Berlin.(輸出:德國的首都是柏林。)

關(guān)于生成式人工智能訓(xùn)練的綜合指南-AI.x社區(qū)

圖3:指令微調(diào)階段概述

在下面的示例中,我們從谷歌加載Gemma 2 LLM模型,該模型針對各種文本生成任務(wù)(包括問答、摘要和推理)進行指令調(diào)優(yōu)。

Python 
1 from transformers import AutoTokenizer, AutoModelForCausalLM
2 import torch
3
4 # Load Gemma 2 2b instruct model
5 tokenizer = AutoTokenizer.from_pretrained("google/gemma-2-2b-it")
6 model = AutoModelForCausalLM.from_pretrained("google/gemma-2-2b-it")
7
8 # Tokenize input
9 input_text = "What is the capital of France?"
10 input_ids = tokenizer(input_text, return_tensors="pt")
11
12 # Run model inference and decode output
13 outputs = model.generate(**input_ids, max_new_tokens=25, do_sample=True)
14 print(tokenizer.decode(outputs[0]))

這個經(jīng)過微調(diào)的模型能夠遵循以下指令:

What is the capital of France? The capital of France is Paris.(法國的首都是哪里?法國的首都是巴黎。)

如何進行指令微調(diào)

目標(biāo)

指令微調(diào)通過教學(xué)模型來理解和遵循自然語言指令,彌合了LLM基本的下一個單詞預(yù)測能力和實際任務(wù)執(zhí)行之間的關(guān)鍵缺口。這個過程將通用LLM轉(zhuǎn)換為響應(yīng)式的、遵循指令的系統(tǒng),這些系統(tǒng)始終遵循用戶命令,如“總結(jié)本文”或“為x編寫Python函數(shù)”。

監(jiān)督式學(xué)習(xí)

與預(yù)訓(xùn)練不同,預(yù)訓(xùn)練在未標(biāo)記的數(shù)據(jù)上使用自監(jiān)督學(xué)習(xí),而指令微調(diào)則使用帶有標(biāo)記的指令輸出對進行監(jiān)督學(xué)習(xí)。這個過程包括:

  • 使用明確的指令-反應(yīng)對進行訓(xùn)練;
  • 更新模型權(quán)重以優(yōu)化后續(xù)指令;
  • 在調(diào)整響應(yīng)模式的同時維護模型的基礎(chǔ)知識。

數(shù)據(jù)集

該指令數(shù)據(jù)集由三個關(guān)鍵部分組成:

  • 指令——自然語言命令或請求。
  • 上下文——可選的上下文或示例。
  • 輸出——顯示正確執(zhí)行任務(wù)的期望響應(yīng)。

Instruction: Find the solution to the quadratic equation.(指令:求二次方程的解。)

Context: 3x2 + 7x - 4 = 0(上下文:3x2+ 7x - 4 = 0)

Response: The solution of the quadratic equation is x = -4 and x = 1/3.(輸出:二次方程的解為x = -4, x = 1/3。)

這些數(shù)據(jù)集可以通過領(lǐng)域?qū)<业氖謩庸芾?、使用其他LLM的合成生成或?qū)F(xiàn)有標(biāo)記數(shù)據(jù)集轉(zhuǎn)換為指令格式來創(chuàng)建。

微調(diào)技術(shù)

以下兩種主要方法主導(dǎo)著指令微調(diào):

  • 全模型微調(diào)更新所有模型參數(shù),以更高的計算要求為代價,為特定任務(wù)提供更好的性能。
  • 輕量級適應(yīng)方法(如LoRA)修改模型的一小部分,而不是重新訓(xùn)練所有內(nèi)容,從而顯著降低內(nèi)存需求。

指令微調(diào)的好處

  • 增強任務(wù)泛化。模型開發(fā)了元學(xué)習(xí)(Meta-learning)能力,在沒有特定訓(xùn)練的情況下提高新任務(wù)的表現(xiàn)。
  • 減少提示工程。經(jīng)過微調(diào)的模型需要更少的提示示例,從而提高部署效率。
  • 控制輸出:允許精確定制響應(yīng)格式和樣式。
  • 更好的指令遵循。在模型功能和用戶期望之間架起橋梁。

3. 對齊調(diào)優(yōu)

對齊(Alignment)或偏好調(diào)優(yōu)是訓(xùn)練大語言模型(LLM)的關(guān)鍵階段,以確保模型避免有害或有偏差的響應(yīng)。這一步超越了提高特定任務(wù)的性能——它的重點是通過結(jié)合人類反饋或預(yù)定義的指導(dǎo)方針,使模型更安全、更有幫助,并與用戶保持一致。

為什么對齊很重要

預(yù)訓(xùn)練的LLM是在來自互聯(lián)網(wǎng)的大量數(shù)據(jù)集上進行訓(xùn)練的,這些數(shù)據(jù)集可能包含偏見、有害內(nèi)容或相互矛盾的信息。如果缺乏一致性,這些模型可能會給出令人反感和誤導(dǎo)的答案。對齊調(diào)優(yōu)使用人工反饋來過濾有害輸出(例如,有偏見或危險的內(nèi)容),以確保響應(yīng)符合安全準(zhǔn)則。

以下是OpenAI的GPT-4 系統(tǒng)卡(System Card)的一個示例,展示了未對齊的“GPT-4(早期)”模型所帶來的安全挑戰(zhàn)。

關(guān)于生成式人工智能訓(xùn)練的綜合指南-AI.x社區(qū)

圖4:“GPT-4早期”模型的預(yù)校準(zhǔn)版本的安全風(fēng)險

GPT-4系統(tǒng)卡強調(diào)了使用RLHF對模型進行微調(diào)的重要性,以使模型響應(yīng)與人類對有益和無害的偏好保持一致。它緩解了不安全的行為,并防止模型產(chǎn)生有害的內(nèi)容和偏見。

對齊的關(guān)鍵方法

DPO論文中的下圖說明了最常用的對齊方法:

關(guān)于生成式人工智能訓(xùn)練的綜合指南-AI.x社區(qū)

圖5:(左)RLHF工作流顯示了人類反饋集成。(右)DPO跳過獎勵建模來直接調(diào)整響應(yīng)

基于人類反饋的強化學(xué)習(xí)(RLHF)

RLHF是一種機器學(xué)習(xí)技術(shù),旨在使LLM與人類的價值觀、偏好和期望保持一致。通過將人類反饋納入訓(xùn)練過程,RLHF增強了模型產(chǎn)生連貫、有用、合乎道德并與用戶意圖一致的輸出的能力。這種方法有助于ChatGPT和谷歌Gemini等生成模型更安全、更可靠。

RLHF過程包括三個主要步驟:

步驟?

描述?

結(jié)果?

人類反饋

注釋者根據(jù)相關(guān)性/倫理對輸出進行排序

偏好數(shù)據(jù)集創(chuàng)建

獎勵模型

被訓(xùn)練來預(yù)測人類的偏好

質(zhì)量評分系統(tǒng)

策略優(yōu)化

通過強化學(xué)習(xí)進行微調(diào)的LLM(例如,PPO)

對齊響應(yīng)生成

  • 收集人類反饋。人類注釋者通過基于相關(guān)性、一致性和準(zhǔn)確性等標(biāo)準(zhǔn)對模型生成的輸出進行排名或評分來評估它們。通常使用兩兩比較,注釋者在兩個選項中選擇更好的響應(yīng)。這些反饋形成了反映人類判斷的“偏好數(shù)據(jù)集”。
  • 訓(xùn)練獎勵模型。使用偏好數(shù)據(jù)集訓(xùn)練獎勵模型,以預(yù)測給定反應(yīng)與人類偏好的一致程度。獎勵模型根據(jù)人類偏好為輸出分配一個標(biāo)量獎勵分?jǐn)?shù)(比如0到10),以訓(xùn)練LLM優(yōu)先考慮得分高的響應(yīng)。
  • 通過強化學(xué)習(xí)進行微調(diào)。LLM使用諸如近端策略優(yōu)化(PPO)之類的強化學(xué)習(xí)算法進行微調(diào),該算法教導(dǎo)人工智能逐步改進,而不是一次做出巨大的改變。獎勵模型通過對生成的輸出提供反饋來指導(dǎo)這一過程,使LLM能夠優(yōu)化其策略,以產(chǎn)生高回報的響應(yīng)。

直接偏好優(yōu)化(DPO)

直接偏好優(yōu)化(DPO)是一種新興的訓(xùn)練方法,旨在使LLM與人類偏好保持一致。它是RLHF的一種更簡單、更有效的替代方案,繞過了復(fù)雜的強化學(xué)習(xí)算法,如近端策略優(yōu)化(PPO)。相反,DPO通過直接訓(xùn)練LLM對人類排名的反應(yīng)來跳過獎勵建模。

首選項數(shù)據(jù)生成過程保持不變,如上面的RLHF方法所強調(diào)的那樣。DPO流程包括:

  • 直接優(yōu)化。與RLHF不同,RLHF訓(xùn)練獎勵模型并使用強化學(xué)習(xí),DPO直接微調(diào)LLM以產(chǎn)生與排名偏好最大一致的輸出。這是通過直接訓(xùn)練模型來支持高排名的響應(yīng)并避免低排名的響應(yīng)來實現(xiàn)的。
  • 模型訓(xùn)練。優(yōu)化過程調(diào)整模型的參數(shù),以優(yōu)先生成符合人類偏好的響應(yīng),而不需要像RLHF那樣迭代更新策略。

模型對齊已經(jīng)成功地應(yīng)用于下述領(lǐng)域:

  • 會話式AI。使聊天機器人符合用戶對語氣、相關(guān)性和道德標(biāo)準(zhǔn)的期望。
  • 內(nèi)容生成?;谟脩舳x的質(zhì)量指標(biāo),為諸如總結(jié)或創(chuàng)造性寫作之類的任務(wù)優(yōu)化模型。
  • 倫理人工智能發(fā)展。確保模型遵循公平性、安全性和包容性的指導(dǎo)方針,而不會產(chǎn)生大量的計算成本。

結(jié)語

本指南向你展示了LLM訓(xùn)練的具體細節(jié)。你準(zhǔn)備好開始了嗎?許多開源模型和數(shù)據(jù)集正在等待你進行實驗并調(diào)整它們以解決你的特定問題。

原文標(biāo)題:??A Comprehensive Guide to Generative AI Training???,作者:??Vashishtha Patil?

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責(zé)任
已于2025-2-28 08:32:41修改
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦