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

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

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

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

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

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

訓練管道概述

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

圖1:LLM訓練管道概述

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

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

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

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

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

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

1.預訓練

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

如何進行預訓練

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

圖2:預訓練階段的高級概述

目標

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

數(shù)據(jù)集

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

預訓練過程

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

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

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

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])

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

輸出:

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

然而,當以問題的形式表達時,例如,“法國的首都是什么?”模型無法產(chǎ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(法國的首都是哪里?在我們看來,我們應該能夠計算出今天法國的人數(shù)。政府已將此作為重中之重。)

預訓練的好處

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

2. 指令微調(diào)

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

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

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

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

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

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

在下面的示例中,我們從谷歌加載Gemma 2 LLM模型,該模型針對各種文本生成任務(包括問答、摘要和推理)進行指令調(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)

目標

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

監(jiān)督式學習

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

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

數(shù)據(jù)集

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

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

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

微調(diào)技術

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

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

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

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

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

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

為什么對齊很重要

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

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

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

圖4:“GPT-4早期”模型的預校準版本的安全風險

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

對齊的關鍵方法

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

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

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

基于人類反饋的強化學習(RLHF)

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

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

步驟?

描述?

結果?

人類反饋

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

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

獎勵模型

被訓練來預測人類的偏好

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

策略優(yōu)化

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

對齊響應生成

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

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

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

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

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

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

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

結語

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

原文標題:??A Comprehensive Guide to Generative AI Training???,作者:??Vashishtha Patil?

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