AI CENTER
  • ABOUT
    • Our Mission
    • Our People​
    • OUR EVENT
    • Our Equipment
    • Our Space
    • Our Logo
    • Our Publication
  • Our research
    • Research Topic
    • PROJECTS
    • Digital Twin
  • Our Educational Programs
    • Summer Internship Program
    • DOCTORAL PROGRAM
    • courses
  • Contact
  • Search
  • BLOG

BLOG

DPO in LLM Fine-tuning

5/12/2025

0 評論

 
DPO in LLM Fine-tuning
本文將根據Direct Preference Optimization: Your Language Model is Secretly a Reward Model一文,說明為大型語言模型微調的目的以及DPO在微調過程中發揮的作用,並配合“Build a Large Language Model (From Scratch)”一書,整理DPO實際操作流程重點。
✨ Inspired by “Direct Preference Optimization: Your Language Model is Secretly a Reward Model”(Rafailov, 2024), Build a Large Language Model (From Scratch)(Raschka, 2024)
✨ 團隊成員來自國震中心與台大土木合設AI研究中心(NCREE — NTUCE Joint Artificial Intelligence Research Center)

DPO是什麼?
為大型語言模型微調的目的
如下圖的第二階段到第三階段之過程,微調(Fine-tuning)為將第二階段已完成訓練之大型語言模型(pre-trained large language model),如ChatGPT,客製化至特定資料和任務上,較只利用提示(prompting)更進一步,雖然提示可有效引導語言模型,但微調可讓模型更貼合資料定義的專門任務,包括調整語調和風格,藉由自己的資料專門化既有的語言模型,無需大量資料和運算資源從零訓練語言模型。

​
圖片
基本微調方法
在語言模型的微調過程中,常見的方法包括基於監督學習的方式,例如使用標註好的資料集來訓練模型以優化特定任務表現,然而,這些方法通常依賴於高品質的已標註資料,對於一些情境複雜或目標難以明確量化的任務,可能存在局限性。
這時,從人類反饋中學習的強化學習(Reinforcement Learning from Human Feedback, RLHF)展現了其重要意義。
RLHF核心價值
通過整合人類偏好和判斷,將其轉化為獎勵訊號,建立獎勵模型(Reward model)用以微調模型,使其更符合人類需求和價值觀。

其特點如下:
  • 人類價值的引導與對齊:引入獎勵模型(Reward Model),將人類偏好轉化為可量化的獎勵信號,使模型生成的內容更加符合人類需求和價值觀,提升語言模型的實用性。
  • 彌補監督學習的不足:在標註資料不足或程序化獎勵函數無法準確描述目標的情況下,透過獎勵模型訓練,使得模型能超越傳統監督學習的限制,更靈活地應對複雜場景。
  • 提升模型的適應性與動態優化能力:獎勵模型能動態學習人類偏好,並根據不同任務進行調整,使模型能夠處理多樣化的情境需求,並在多階段微調中持續優化。

RLHF在實現人類價值對齊方面展現了優勢,但也面臨一些挑戰,如:
  • 人類反饋一致性問題:獎勵模型的訓練依賴於人類反饋,不一致或主觀性的反饋易導致模型的優化結果可能不公平或片面。
  • 高人力成本:過程中亦需要大量高質量的人類反饋和計算資源來訓練獎勵模型與優化過程,顯著增加了應用成本。
  • 訓練不穩定:強化學習也可能面臨訓練不穩定的問題,如獎勵訊號過於稀疏或模型過擬合,導致微調結果偏離目標。

DPO的出現
因前小節提及之原因,直接偏好優化(Direct Preference Optimization, DPO)應運而生,作為一種改進和替代方法。
DPO核心價值
直接使用人類的偏好進行微調,不依賴強化學習過程中獎勵模型的間接優化,簡化訓練過程,避免RLHF中可能出現的獎勵模型偏差和強化學習不穩定性,同時能更直接地利用人類偏好數據對模型進行優化,降低計算和訓練成本。

其特色在於:
  • 直接優化人類偏好:無需將人類偏好轉化為獎勵模型或獎勵信號,直接基於偏好數據對模型進行優化,簡化微調過程。
  • 減少偏差風險:不依賴間接的獎勵模型,降低偏差或主觀性引入模型的可能性,使微調結果更加精準和公平。
  • 提升模型微調效率:透過直接對人類偏好數據進行調整,DPO能更快速地收斂到符合目標的模型參數,提高微調的效率和效果。
  • 避免強化學習的不穩定性:未使用強化學習的框架,避免獎勵訊號稀疏、梯度不穩定或過擬合等問題,提升了訓練過程的穩定性。
  • 降低計算與資源成本:由於不再需要訓練獎勵模型或執行強化學習算法,DPO的整體計算需求較RLHF更低,節省了時間和資源。
  • 理論與實踐的簡化性:相較於RLHF,DPO的理論基礎和操作流程更簡單,便於實現和大規模部署,降低了模型微調的技術門檻。

DPO實作與計算原理解釋
【PreferenceDataset Class and Batch Processing Function】本文提及之程式碼擷取自“LLMs-from-scratch”,以下為文本範例:
圖片
  1. 設計一個 class InstructionDataset 來包裝資料集
圖片
2. 定義 functioncustom_collate_fn,並以fuctools.partial包裝custom_collate_fn,定義成customized_collate_fn
  • batch
  • pad_token_id = 50256
  • allowed_max_length
  • mask_prompt_tokens
  • device
圖片
3. 以InstructionDataset包裝 Training data、Validation data、tokenizer,並Dataloader作基礎設置
圖片
【DPO Alignment】
首先,來拆解 DPO 的損失函數(loss function),看看 DPO 是如何評估大型語言模型回覆的表現:
圖片
  1. 假定Policy LLM為待優化的LLM,而Reference LLM為參考答案模型,那麼與之相應的參數如:
  • πθ(yw|x):Policy LLM因應prompt x所產生的較符合人類偏好的回覆
  • πref(yw|x):Reference LLM因應prompt x所產生的較符合人類偏好的回覆
2. 將上述兩值相除並取對數 log 、乘上超參數β,便成為一機率值,如圖 2橘紅色標註區
3. 以此類推,將兩model較不符合人類偏好之回覆相除並取對數 log、乘上超參數,則形成圖 2粉色標註區
4. 將偏好對應機率與不偏好對應機率相減並放入logistic-sigmoid function log⁡σ,即可產生一個0~1的標準化數值
5. 在實際計算上,示意如下:
圖片
6. 接下來在於如何為每個batch計算 log probabilities,以下將簡介compute_logprobs的流程與設置:
  • Batch Size = 2 (two sequences in the batch).
  • Number of Tokens = 4 per sequence.
  • Vocabulary Size = 5.
圖片
  • labels = labels[:, 1:].clone()
圖片
  • logits = logits[:, :-1, :]
圖片
以上為本文根據Direct Preference Optimization: Your Language Model is Secretly a Reward Model與配合“LLMs-from-scratch”一書所整理DPO實際操作流程重點,歡迎大家參考!
參考文獻:
Rafailov, R., Sharma, A., Mitchell, E., Manning, C. D., Ermon, S., & Finn, C. (2024). Direct preference optimization: Your language model is secretly a reward model. Advances in Neural Information Processing Systems, 36.
Raschka, S. (2024). Build a Large Language Model (From Scratch). Simon and Schuster.
0 評論



發表回覆。

    作者

    寫一些關於自己的事。不必花俏,簡單描述即可。

    封存檔

    五月 2025
    四月 2025

    類別

    全部
    LLM
    RAG

    RSS 訂閱

圖片

​©
NCREE - NTUCE Joint Artificial Intelligence Research Center. All Rights Reserved.
Address : 台北市大安區辛亥路三段200號
Email : [email protected]
  • ABOUT
    • Our Mission
    • Our People​
    • OUR EVENT
    • Our Equipment
    • Our Space
    • Our Logo
    • Our Publication
  • Our research
    • Research Topic
    • PROJECTS
    • Digital Twin
  • Our Educational Programs
    • Summer Internship Program
    • DOCTORAL PROGRAM
    • courses
  • Contact
  • Search
  • BLOG