【NLP】36. 從指令微調到人類偏好:構建更有用的大語言模型

從指令微調到人類偏好:構建更有用的大語言模型

大語言模型(LLMs)已經成為現代自然語言處理系統的核心,但單純依賴傳統語言建模目標,往往難以滿足實際應用的“人類意圖”。從 Instruction Tuning(指令微調)出發,到 Preference Optimization(偏好優化)和 Prompt 工程,本博客將系統梳理這些技術的背景、方法與挑戰,幫助你構建更實用、更安全的語言模型。


一、語言建模目標的局限

預訓練語言模型通常優化“下一個詞預測”目標,但這個目標并不等同于執行實際任務。

  • 輸入:“請總結以下文本。”
  • 輸出:“這本書是……” —— 并沒有完成任務,僅僅模仿語氣

這說明:語言建模學的是“如何說話”,而不是“如何完成任務”


二、通用微調的瓶頸

在實際應用中,研究者嘗試通過領域微調(Fine-tuning)讓模型學會完成任務。但這種方式存在多個問題:

  • 模型學到形式模仿,而非執行邏輯
  • 標簽和任務之間缺乏清晰邊界
  • 輸出“看起來像”答案,但并不實用

這催生了更結構化的訓練方式:指令微調(Instruction Tuning)


三、什么是 Instruction Tuning?

Instruction Tuning 是一種使用"輸入-任務描述 + 輸出-示例結果"對進行訓練的方法。目標是讓模型:

  • 理解人類自然語言中的指令
  • 輸出貼合任務目標的內容

示例:

  • 輸入:請判斷情感傾向:“演技一般但畫面精美。”
  • 輸出:正面

相比傳統分類器,這種方式更貼近真實對話與任務場景。


四、代表模型:FLAN-T5

由 Google 提出的 FLAN-T5(Chung et al., 2022)是 Instruction Tuning 的代表性成果。

其優勢包括:

  • 覆蓋多種任務類型(問答、摘要、翻譯等)
  • 多語言訓練,增強泛化能力
  • Zero-shot 與 Few-shot 表現優異

五、數據是關鍵:任務對的構建

Instruction Tuning 成敗的核心在于數據:

優質任務對勝過龐雜數據量。常用數據來源包括:

  • InstructGPT 人工標注任務
  • FLAN 公開任務集合
  • Super-Natural Instructions 跨領域任務集

此外,還有一種趨勢是使用大模型自己生成任務數據,如 Stanford Alpaca 項目。


六、合成任務數據的潛力與風險

通過大模型生成指令-回應對,可以快速擴充訓練集:

  • 人工構造任務:“設計20個多樣任務”
  • GPT 生成回答
  • 用于微調較小模型

這類方法低成本、高效率,但存在風險:

  • 輸出質量不一致
  • 存在語義重復或模糊任務

七、訓練任務量:真的越多越好嗎?

Zhou 等人提出 LIMA(Less is More for Alignment)方法,發現:

幾百條高質量任務對,足以訓練出優秀模型。

相比海量低質量任務,更小但更精的指令數據可獲得更強泛化能力。

困惑度Perplexity不能完全代表生成質量Quality,后者更早飽和,說明過度訓練未必帶來更好輸出。

此外,該研究還通過多組實驗可視化展示:

  • 篩選后的 Stack Exchange 數據質量遠高于 wikiHow 與原始數據;
  • 增加訓練樣本數量(從 2K 到 32K)對生成質量影響極小;
  • 即使 PPL(困惑度)持續下降,生成質量在一定步數后飽和甚至下降。

八、面對模糊任務:唯一答案不再適用

現實任務中,很多任務沒有唯一答案:

  • “寫封感謝信”
  • “概括一段評論”

這意味著評估方式不能再依賴 token-level 準確率,而應:

  • 使用語義匹配指標(如 BERTScore)
  • 多參考答案評估(multi-reference)
  • 或采用人類偏好打分機制

九、從偏好學習人類意圖:RLHF 登場

當任務無法標準化時,我們轉向人類偏好:

“哪個回答更好?”

這就是 RLHF(Reinforcement Learning from Human Feedback)的核心:

  1. 指令微調
  2. 構建獎勵模型(Reward Model)
  3. 用強化學習優化模型輸出

目標不是“給出標準答案”,而是:讓模型學會更被人類喜歡的回答方式


十、獎勵模型訓練流程

人類評審比較模型輸出 A 與 B,判斷誰更好:

  • 訓練一個小型 LLM 學習這種偏好
  • 成為“獎勵模型”
  • 用作 RL 優化的評分參考

這種方式已經廣泛用于 ChatGPT、Claude 等系統中。


RLHF 三階段訓練流程

第一階段:Instruction Tuning(指令微調)

🌟 目標:讓模型初步學會“聽懂指令”和“執行任務”

  1. 抽取 prompt,例如:Explain the moon landing to a 6 year old
  2. 人工示范回答:Some people went to the moon…
  3. 用監督學習微調模型(SFT)

第二階段:Reward Model 構建(獎勵模型)

🌟 目標:學會判斷“哪個輸出更好”

  1. 給定指令生成多個回答(A, B, C, D)
  2. 人類排序偏好,例如 D > C > A = B
  3. 訓練小型 LLM 學習排序分值(Reward Predictor)

第三階段:使用獎勵模型進行強化學習(PPO)

🌟 目標:強化高偏好輸出,抑制差回答

  1. 模型生成新回答
  2. 獎勵模型打分
  3. 使用 PPO 更新模型策略

📝 注:RLHF 中的 PPO 與傳統強化學習不同,不涉及環境交互,而是單步獎勵優化。


數據從哪里來?——OpenAI 的三類數據采集方式

1. Plain(自由構造)

標注者自主編寫任務與回答,強調任務多樣性。

2. Few-shot 模式

標注者為每條任務設計多個示例輸入-輸出對。

3. User-based(用戶用例驅動)

提取 API 用戶真實需求,請標注者設計對應 prompt。


十一、Direct Preference Optimization(DPO)

DPO 是一種更簡單的偏好優化方式:

  • 無需訓練獎勵模型
  • 直接通過“好 vs 差”的樣本對優化模型
  • 適合高效迭代

其核心思想是最大化:優質響應被采樣的概率 > 劣質響應被采樣的概率

具體形式如下:

  • 輸入:一組包含正負偏好樣本的對比樣本((x, y+), (x, y-))
  • 損失函數優化目標為對比概率比 log σ(f(y+) - f(y?)),提升正例被選概率。

該方法在多個任務中展現出與 RLHF 相當甚至更優的性能,同時大大簡化了訓練流程。


十二、對齊是否可靠?模型仍可能脆弱

Lee 等人(2024)發現,RLHF 雖提升了人類偏好得分,但對齊結果具有脆弱性:

  • 對輸入微小變動敏感
  • 面對未見指令時表現不穩
  • 模型容易被攻擊性 prompt 引導走偏

這意味著,RLHF 更多是在表面行為上控制模型,而非改變其內在知識結構與推理方式。


十三、有毒表示潛藏在模型內部

盡管 RLHF 能使輸出更安全,但并不代表模型內部已移除這些內容:

  • 模型隱藏層仍保留“毒性向量”——與敏感內容(如攻擊性語言、偏見)相關的方向
  • 在特定上下文或攻擊性 prompt 下仍可能被激活

研究者嘗試通過“表示空間干預”抑制這類方向,但如何徹底凈化仍屬開放問題。


十四、Prompt 優化:模型質量的決定性變量

優化 Prompt 是提升輸出質量的重要手段:

  1. 向量化 Prompt(Prefix Tuning):訓練前綴向量,無需微調主模型參數
  2. 使用 RL 搜索 Prompt:在大空間中通過獎勵信號搜索最優指令形式
  3. 系統級 Prompt 編排:通過 LangChain 等框架構建多步任務流程

十五、LangChain 與 Prompt 系統化

LangChain 讓模型以鏈式方式完成復雜任務,例如:

  • 步驟1:獲取產品信息
  • 步驟2:命名公司
  • 步驟3:撰寫口號

LangChain 還支持與檢索模塊、工具 API 等連接,構建 agent 系統。


十六、ChainForge:Prompt 批量實驗工具

ChainForge 支持:

  • 快速測試 Prompt 變體
  • 自動記錄輸出結果
  • 分析一致性與偏好性

研究者可通過該平臺系統比較不同 prompt 的有效性與穩定性,提升 Prompt 工程科學性。


十七、總結:微調之外,我們學到了什么?

? Instruction Tuning:強化任務意識
? RLHF:融入人類偏好
? DPO:簡化偏好優化流程
? Prompt 工程:提升交互體驗與系統控制力

?? 持續挑戰:對齊脆弱性、毒性表示殘留、Prompt 敏感性與泛化能力不足

🎯 未來方向:

  • 更穩健的價值對齊方法
  • 多模態偏好優化(圖文、語音)
  • 自動化 Prompt 構建與驗證體系
  • 更高層次的自主推理與意圖理解

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/80566.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/80566.shtml
英文地址,請注明出處:http://en.pswp.cn/web/80566.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于Transformers與深度學習的微博評論情感分析及AI自動回復系統

前言 這個項目存在cookie沒有自動更新問題,后續可能會發出來解決教程,還有微博網頁版的話最多看到300條評論,而且回復別人信息的話最多回復15條就要休息5分鐘左右才能評論 1. 項目概述 本項目實現了一個微博評論自動化處理系統&#xff0c…

詳解 Zephyr RTOS:架構、功能與開發指南

目錄 Zephyr RTOS 的核心特性 1. 輕量級和可擴展性 2. 實時性能 3. 多平臺支持 4. 安全性 5. 社區和生態系統 Zephyr 的架構 1. 內核 2. 驅動模型 3. 網絡棧 4. 文件系統 開發環境和工具鏈 安裝和配置 開發流程 1. 應用程序開發 2. 調試和測試 3. 部署 實際應…

人工智能重塑醫療健康:從輔助診斷到個性化治療的全方位變革

人工智能正在以前所未有的速度改變著醫療健康領域,從影像診斷到藥物研發,從醫院管理到遠程醫療,AI 技術已滲透到醫療服務的各個環節。本文將深入探討人工智能如何賦能醫療健康產業,分析其在醫學影像、臨床決策、藥物研發、個性化醫…

Linux筆記---內核態與用戶態

用戶態(User Mode) 權限級別:較低,限制應用程序直接訪問硬件或關鍵系統資源。 適用場景:普通應用程序的運行環境。 限制:無法執行特權指令(如操作I/O端口、修改內存管理單元配置等&#xff09…

Spring 代理與 Redis 分布式鎖沖突:一次鎖釋放異常的分析與解決

Spring 代理與 Redis 分布式鎖沖突:一次鎖釋放異常的分析與解決 Spring 代理與 Redis 分布式鎖沖突:一次鎖釋放異常的分析與解決1. 問題現象與初步分析2 . 原因探究:代理機制對分布式鎖生命周期的干擾3. 問題復現偽代碼4. 解決方案&#xff1…

SQL:多列匹配(Multiple-column Matching)

目錄 基礎概念 應用場景詳解 1. 多列等值匹配 2. 多列 IN 匹配(集合匹配) 3. 多列 JOIN 匹配(復合鍵連接) 4. 多列匹配 子查詢 5. 多列匹配 EXISTS 6. 多列匹配 UNION(組合數據源) 7. 多列匹配…

基于DeepSeek的智能客服系統實踐與創新

引言:AI大模型重塑客戶服務新范式 近年來,AI大模型技術的突破性進展正在深刻改變傳統客戶服務模式。作為國內領先的AI企業,DeepSeek憑借其創新的算法架構(如MoE混合專家模型、動態學習率調度器)和極致的成本效益(僅為同類模型成本的1/20),在自然語言理解、情感分析、多…

SGLang和vllm比有什么優勢?

環境: SGLang vllm 問題描述: SGLang和vllm比有什么優勢? 解決方案: SGLang和vLLM都是在大語言模型(LLM)推理和部署領域的開源項目或框架,它們各自有不同的設計目標和優勢。下面我綜合目前…

三、Hive DDL數據庫操作

在 Apache Hive 中,數據庫 (Database),有時也被稱為模式 (Schema),是組織和管理 表及其他對象的基本命名空間單元。熟練掌握數據庫層面的數據定義語言 (DDL) 操作,是構建清晰、有序的 Hive 數據倉庫的第一步。本篇筆記將詳細梳理 …

Redis(2):Redis + Lua為什么可以實現原子性

Redis 作為一款高性能的鍵值對存儲數據庫,與 Lua 腳本相結合,為實現原子性操作提供了強大的解決方案,本文將深入探討 Redis Lua 實現原子性的相關知識 原子性概念的厘清 在探討 Redis Lua 的原子性之前,我們需要明確原子性的概念…

科普:極簡的AI亂戰江湖

本文無圖。 大模型 ?2022年2月,?文生圖應用的鼻祖Midjourney上線。 ?2022年8月,?開源版的Midjourney,也就是Stable Diffusion上線。 2022年11月30日?,OpenAI正式發布ChatGPT-3.5。 此后,不斷有【大模型】面世&…

CSS- 4.5 css + div 布局 簡易網易云音樂 官網布置實例

本系列可作為前端學習系列的筆記,代碼的運行環境是在HBuilder中,小編會將代碼復制下來,大家復制下來就可以練習了,方便大家學習。 HTML系列文章 已經收錄在前端專欄,有需要的寶寶們可以點擊前端專欄查看! 點…

【滑動窗口】LeetCode 1004題解 | 最大連續1的個數 Ⅲ

最大連續1的個數 Ⅲ 一、題目鏈接二、題目三、題目解析四、算法原理解法一:暴力枚舉 zero計數器解法二:滑動窗口 五、編寫代碼六、時空復雜度 一、題目鏈接 最大連續1的個數 Ⅲ 二、題目 三、題目解析 注意題目中說的是最多k次,在一個數組…

PyTorch音頻處理技術及應用研究:從特征提取到相似度分析

文章目錄 音頻處理技術及應用音頻處理技術音視頻摘要技術音頻識別及應用 梅爾頻率倒譜系數音頻特征爾頻率倒譜系數簡介及參數提取過程音頻處理快速傅里葉變換(FFT)能量譜處理離散余弦轉換 練習案例:音頻建模加載音頻數據源波形變換的類型繪制波形頻譜圖波形Mu-Law 編…

鴻蒙OSUniApp 實現的語音輸入與語音識別功能#三方框架 #Uniapp

UniApp 實現的語音輸入與語音識別功能 最近在開發跨平臺應用時,客戶要求添加語音輸入功能以提升用戶體驗。經過一番調研和實踐,我成功在UniApp項目中實現了語音輸入與識別功能,現將過程和方法分享出來,希望對有類似需求的開發者有…

2025年衛星遙感行業最新發展趨勢深度分析

一、國內發展趨勢:政策引領與技術突破雙輪驅動 (一)政策體系持續完善,頂層設計深化行業發展 國家級戰略與標準體系構建 中國政府將衛星遙感產業納入“十四五”規劃核心戰略,明確構建“通導遙”一體化空間基礎設施。20…

SIP協議棧--osip源碼梳理

文章目錄 osiposip主體結構體code main函數 狀態機轉化結構體code狀態轉換 sip事務結構體code osip_dialog結構體code 創建并發送200 OK響應 osip_message結構體code osip_eventcode 打印接收到的SIP消息 osip OSIP(Open Source Implementation of SIP)…

Linux之Yum源與Nginx服務篇

1.Yum源知識理論總結概括 Yum源概述 Yum 源 即軟件倉庫的標識,里面承載著軟件包集合 Yum源組成 包含模塊 【OS】、【everything】、【EPOL】、【debuginfo】、【source】、【update-source】 【os】:簡稱operator system 它內部包含操作系統的核心組件&#x…

從單體架構到微服務:架構演進之路

引言:當“大貨車”遇上“集裝箱運輸” 在軟件開發領域,單體架構曾像一輛載滿貨物的大貨車,將所有功能打包在一個應用中。但隨著業務復雜度飆升,這輛“大貨車”逐漸陷入泥潭:啟動慢如蝸牛、故障波及全局、升級如履薄冰……

AM32電調學習解讀九:ESC上電啟動關閉全流程波形分析

這是第九篇,前面的文章把各個模塊的實現都介紹了一輪,本章是從運行的角度結合波形圖,把整個流程走一遍。 先看下一運行的配置,我把一些配置關閉了,這樣跑起來會好分析一些,不同配置跑起來效果會有差異。使用…