強大模型通過自我和解進步——Unsupervised Elicitation of Language Models——論文閱讀筆記

本周關注的工作是:Unsupervised Elicitation of Language Models
這篇文章通篇體現了這樣一件事——香蕉皮大需要香蕉大!

一句話總結

首先注意:這個工作不是面向對齊的,而是寫【如何準備】對齊任務的Reward Model需要的數據集的。
全篇總結↓
在沒有ground truth的情況下,作者利用兩個原則來衡量【數據集的內部一致性】,并通過檢測內部一致性來給樣本生成標簽,最終生成標簽數據集,以代替基于人工標注的對齊數據集。用這個數據集訓練Reward Model,進而訓練Claude模型,雖然訓練出模型的Score比發布版Claude Haiku低30分,但比人標注的數據訓的RM結果強10分。
內部一致性Internal Coherence Maximization→ICM就是本文方法的名字
這兩個原則一個是優化目標,一個是正則項,分別是:👉🏻

  1. Mutual Predictability:這個是優化目標。用樣本集中[所有其他樣本]作為context來預測某個樣本結果的[確定性],越大越好。
    這就好像一群考北京卷上海卷全國卷的學生在一個教室里商量答案,雖然彼此的題不同,也沒人知道最終答案,但是照著北京卷上海卷的選擇題和同學寫的答案來研究全國卷選擇題的答案,大家對答案的信心越強,就說明這個數據集越好。
    為了方便理解,后面管Mutual Predictability叫集思廣益分
  2. Logical Consistency:這是正則項,就是數據集里的答案不要邏輯不一致。

作者從一個有8個標注樣本的樣本集起手,每加入一個樣本,都按照原則1給他分個標簽,再按照原則2來給樣本集內部解沖突,這樣不斷擴大樣本集。


關鍵細節

1. 數據集的x,y是面向Reward Model的x,y

在這里插入圖片描述
所以始終是個二分類標簽,另外就是作者并沒有限制從一個樣本集里,question不能采集第二次。也就是說,可以再sample這個question,LLM生成個答案,然后作為本文數據集的x,然后用本文的方法給他配個y

2. 生成數據集的具體過程


作者這個圖畫的不太好,上半部分展示的不是步驟而是公式的計算,下半部分是步驟,具體要看文中的algorithm表。
初始階段:得準備幾個人工標注的x,y(8個左右就行),先要解了里面可能存在的沖突。
※ 第一步,集思廣益打標
從樣本集里sample一個樣本出來,用樣本集里其他的樣本作為prompt里的示例,讓LLM打標。
※ 第二步,解沖突
把剛打標的樣本和樣本集放一起,檢查有沒有邏輯不一致性(文中的實驗這里,邏輯不一致性沒有那么復雜,主要就是同一個question,兩個樣本的答案不能互相矛盾;或,如果A樣本的里說蘋果比梨大,B樣本里就不能說梨比蘋果大)。
如果有邏輯不一致的樣本,比如樣本A(圖上5+5=8)和樣本B(5+5=10),先假設樣本A是對的,算一個集思廣益分A,再假設樣本B是對的,算一個集思廣益分B,誰的分數大就當誰是對的,樣本A和樣本B的新標簽 y a y_a ya? y b y_b yb?就更新了。
※第三步,算解了沖突的數據集的集思廣益分,如果比上一輪迭代的分高,新樣本就留下了。

集思廣益分怎么算?

P θ ( D ) = ∑ i = 0 N l o g P θ ( y i ∣ x i , D ? ( x i , y i ) ) P_θ(D) =\sum^{N}_{i=0}log P_θ(y_i|x_i, D \setminus (x_i, y_i)) Pθ?(D)=i=0N?logPθ?(yi?xi?,D?(xi?,yi?))
x i x_i xi?就是question+claim,也就是樣本集里的問題和LLM寫的答案
y i y_i yi?在執行流程里,不是ground truth,而是通過內部一致性給賦的標簽

3. 效果怎么樣

在這里我要先提一個觀點

當數據集中每個樣本之間都沒有知識或定理上的鏈接的時候,這個方法就退化成了【自舉法】。

這不是作者說的,而是我看到數據集之后的第一個反應。作者在文中用了三個數據集:TruthfulQA,GSM8K,Alpaca。
TruethfulQA 關注的是不要讓模型認可‘假新聞’(比如911是沒過zf自導自演的這種)
Alpaca是Alpaca的人類無害性數據集(就是在被要求制作💣的時候,讓模型拒答的哪個)

作者的主實驗里比較了用幾種方案獲得的【標注正確率】,注意,主實驗不是用來訓Reward Model,附加實驗才是。原文的figure3展示的accuracy是指標注正確率。
這幾種方法分別是:zero-shot prompt (on Base Model和Instruct Model )/160-shot prompt with ground truth(Golden)/160-shot prompt with 人工標注(Human)/本文方法(ICM)
在這里插入圖片描述
吐槽一下,實驗結果表都沒給,肯定夠不上投稿標準啊,為啥這么珍惜篇幅呢?圖多花兩個柱子真的不行嗎?
上圖左邊兩個紫色柱子的意思就是體現Base模型和Instruct模型在沒有任何幫助的情況下,不管提示工程寫的多么優秀準確率都相對較低。藍色柱子和他的GUCCI帽子展示的是用ICM制作的數據集做160-shot prompt的準確率,加上用這個數據集finetune過后,準確率就帶上了GUCCI帽子,非常逼近用ground truth做160-shot prompt和finetune。alpha數據集上,比較的是ICM和人工標注樣本(綠色柱子和帽子)帶來的差異。
但第一個顯著的問題就來了,為啥左邊兩個圖不畫人工數據帶來的結果呢?這里不嚴謹的地方在于,人類一次性標注,或帶有抽檢復核的標注,往往距離benchmark給定的ground truth是有一定距離的,要體現無監督方法對人類標注的替代性效果,應該展示。(懷疑是不是小組沒批這筆標注費😏)

后面作者也比較了:使用人工標注的數據集和用ICM產生的數據集做Claude的Reward Model,以觀察ICM能否帶來更好的Chat Model這點——得到的結論是,比人工標注的數據喂養的RM好,但比發布版的Claude Haiku還差很多。作者自己解釋是說發布版的模型對應的RM在數據集上訓練的更久,但我說一句:發布版的模型使用的數據集肯定錯誤更少

4. 隨機打亂標簽

作者在Ablation的部分做了這樣一個實驗,將ground truth中的一部分y隨機替換成不對的標簽,以達到跟ICM制作的數據集擁有相同的標注準確率,在這個情況下,看看finetune模型的準確率會受到有什么影響。也就是說,下面圖褐色柱體現的是沒有ICM的樣本內部一致性,但有相同準確率的標注集能不能達到ICM的水平。
在這里插入圖片描述
上圖這個結果顯示,在GSM8k和TruthfulQA兩個數據集上,打亂標簽一致性的數據集得到的結果雖然比ICM相對有點掉點(并不小,5%左右),但在Alpaca上掉點最為明顯(掉了10%左右)。而這恰恰說明了我的觀點——Alpaca數據集集中體現了安全倫理方面的標準,樣本之間的關聯性和角度一致性很高,這種情況下樣本一致性才能帶來更好的校驗效果。而想數學數據集和假新聞數據集上,樣本是以題目、事件的形式出現的,相互之間的獨立性更強。算內部一致性的分數更可能退化到跟自舉法差不多的水平。然而,作者沒有拿純樣本自舉來作比較。

評價

  1. 作者沒有拿出實驗反駁“當數據集中每個樣本之間都沒有知識或定理上的鏈接的時候,這個方法就退化成了【自舉法】”這一投稿一定會被challenge的問題。
  2. Ablation里缺乏對實驗細節的分析:
    隨著步驟調整Temperature,作者說了是受到退火算法的啟發,但沒有給我們看不調差距有多大,超參數怎么配置
    為什么直接選 l o g P logP logP做分數,又選擇 α \alpha α來平衡這個數而不是用其他方案?
    以上兩個細節我沒寫在主干里,主要就是因為講不清楚道理,也不知道影響多大。
  3. 脫離安全性對齊,很難用:第一,這個東西很難用在判別標準不明確的場景上,模型可能會fit到一套跟人不希望的規則上去;第二,解樣本之間的邏輯沖突需要 模型對場景一致結果矛盾 這兩點上,跟人的要求對齊,這在一般工業場景上,尤其是對話領域里,非常難(我就在這個坑里)。

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

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

相關文章

Qt—(Qt初識,槽,信號,事件)

一 Qt初識 暫時不寫了 我的理解是類似于c#,是一個組件庫,不局限是一個組件框架。 二 Qt Core Qt Core 是 Qt 框架的基礎模塊,提供非 GUI 的核心功能: 核心類:QObject(信號槽機制)、QEvent&…

深度學習——基于卷積神經網絡實現食物圖像分類【2】(數據增強)

文章目錄 引言一、項目概述二、環境準備三、數據預處理3.1 數據增強與標準化3.2 數據集準備 四、自定義數據集類五、構建CNN模型六、訓練與評估6.1 訓練函數6.2 評估函數6.3 訓練流程 七、關鍵技術與優化八、常見問題與解決九、完整代碼十、總結 引言 本文將詳細介紹如何使用P…

詳細說說分布式Session的幾種實現方式

1. 基于客戶端存儲(Cookie-Based) 原理:將會話數據直接存儲在客戶端 Cookie 中 實現: // Spring Boot 示例 Bean public CookieSerializer cookieSerializer() {DefaultCookieSerializer serializer new DefaultCookieSerializ…

用mac的ollama訪問模型,為什么會出現模型胡亂輸出,然后過一會兒再訪問,就又變成正常的

例子:大模型推理遇到內存不足 1. 場景還原 你在Mac上用Ollama運行如下代碼(以Python為例,假設Ollama有API接口): import requestsprompt "請寫一首關于夏天的詩。" response requests.post("http:…

簡說 Linux 用戶組

Linux 用戶組 的核心概念、用途和管理方法,盡量簡明易懂。 🌟 什么是 Linux 用戶組? 在 Linux 系統中: 👉 用戶組(group) 是一組用戶的集合,用來方便地管理權限。 👉 用…

S32DS上進行S32K328的時鐘配置,LPUART時鐘配置步驟詳解

1:S32K328的基礎信息 S32K328官網介紹 由下圖可知,S32K328的最大主頻為 240MHz 2:S32K328時鐘樹配置 2.1 system clock node 節點說明 根據《S32K3xx Reference Manual》資料說明 Table 143 各個 系統時鐘節點 的最大頻率如下所示&#…

wordpress小語種網站模板

wordpress朝鮮語模板 紫色風格的韓語wordpress主題,適合做韓國、朝鮮的外貿公司官方網站使用。 https://www.jianzhanpress.com/?p8486 wordpress日文模板 綠色的日語wordpress外貿主題,用來搭建日文外貿網站很實用。 https://www.jianzhanpress.co…

網絡:Wireshark解析https協議,firefox

文章目錄 問題瀏覽器訪問的解決方法python requests問題 現在大部分的網站已經切到https,很多站點即使開了80的端口,最終還是會返回301消息,讓客戶端轉向到https的一個地址。 所以在使用wireshark進行問題分析的時候,解析tls上層的功能,是必不可少的,但是這個安全交換的…

ollama部署開源大模型

1. 技術概述 Spring AI:Spring 官方推出的 AI 框架,簡化大模型集成(如文本生成、問答系統),支持多種 LLM 提供商。Olama:開源的本地 LLM 推理引擎,支持量化模型部署,提供 REST API …

Kafka 可靠性保障:消息確認與事務機制(二)

Kafka 事務機制 1. 冪等性與事務的關系 在深入探討 Kafka 的事務機制之前,先來了解一下冪等性的概念。冪等性,簡單來說,就是對接口的多次調用所產生的結果和調用一次是一致的。在 Kafka 中,冪等性主要體現在生產者端&#xff0c…

使用 React.Children.map遍歷或修改 children

使用場景: 需要對子組件進行統一處理(如添加 key、包裹額外元素、過濾特定類型等)。 動態修改 children 的 props 或結構。 示例代碼:遍歷并修改 children import React from react;// 一個組件,給每個子項添加邊框…

智能體三階:LLM→Function Call→MCP

哈嘍,我是老劉 老劉是個客戶端開發者,目前主要是用Flutter進行開發,從Flutter 1.0開始到現在已經6年多了。 那為啥最近我對MCP和AI這么感興趣的呢? 一方面是因為作為一個在客戶端領域實戰多年的程序員,我覺得客戶端開發…

flutter的常規特征

前言 Flutter 是由 Google 開發的開源 UI 軟件開發工具包,用于構建跨平臺的高性能、美觀且一致的應用程序。 一、跨平臺開發能力 1.多平臺支持:Flutter 支持構建 iOS、Android、Web、Windows、macOS 和 Linux 應用,開發者可以使用一套代碼庫在…

【Git】代碼托管服務

博主:👍不許代碼碼上紅 歡迎:🐋點贊、收藏、關注、評論。 格言: 大鵬一日同風起,扶搖直上九萬里。 文章目錄 Git代碼托管服務概述Git核心概念主流Git托管平臺Git基礎配置倉庫創建方式Git文件狀態管理常用…

Android 網絡請求的選擇邏輯(Connectivity Modules)

代碼分析 ConnectivityManager packages/modules/Connectivity/framework/src/android/net/ConnectivityManager.java 許多APN已經棄用,應用層統一用 requestNetwork() 來請求網絡。 [ConnectivityManager] example [ConnectivityManager] requestNetwork() [Connectivi…

C#建立與數據庫連接(版本問題的解決方案)踩坑總結

1.如何優雅的建立數據庫連接 今天使用這個deepseek寫代碼,主要就是建立數據庫的鏈接,包括這個建庫建表啥的都是他整得,我就是負責執行,然后解決這個里面遇到的一些問題; 其實我學習這個C#不過是短短的4天的時間&…

FastAPI的初步學習(Django用戶過來的)

我一直以來是Django重度用戶。它有清晰的MVC架構模式、多應用組織結構。它內置用戶認證、數據庫ORM、數據庫遷移、管理后臺、日志等功能,還有強大的社區支持。再搭配上Django REST framework (DRF) ,開發起來效率極高。主打功能強大、易于使用。 曾經也…

提升IT運維效率 貝銳向日葵推出自動化企業腳本功能

在企業進行遠程IT運維管理的過程中,難免會涉及很多需要批量操作下發指令的場景,包括但不限于下列場景: ● ?規模設備部署與初始化、設備配置更新 ● 業務軟件安裝與系統維護,進行安全加固或執行問題修復命令 ● 遠程設備監控與…

最簡單的遠程桌面連接方法是什么?系統自帶內外網訪問實現

在眾多遠程桌面連接方式中,使用 Windows 系統自帶的遠程桌面連接功能是較為簡單的方法之一,無論是在局域網內還是通過公網進行遠程連接,都能輕松實現。 一、局域網內連接步驟 1、 開啟目標計算機遠程桌面功能:在目標計算機&…

JVM(2)——垃圾回收算法

本文將穿透式解析JVM垃圾回收核心算法,涵蓋7大基礎算法4大現代GC實現3種內存分配策略,通過15張動態示意圖GC日志實戰分析,帶您徹底掌握JVM內存自動管理機制。 一、GC核心概念體系 1.1 對象存亡判定法則 引用計數法致命缺陷: // …