跨模型知識融合:大語言模型的知識融合

大語言模型(LLMs)在多個領域的應用日益廣泛,但確保它們的行為與人類價值觀和意圖一致卻充滿挑戰。傳統對齊方法,例如基于人類反饋的強化學習(RLHF),雖取得一定進展,仍面臨諸多難題:訓練獎勵模型需準確反映人類偏好,這本身難度很大;actor-critic架構的設計和優化過程復雜;RLHF通常需要直接訪問LLM的參數,這在API基礎模型中難以實現。獲取高質量的、無偏見的反饋數據也是一大挑戰,因為數據集可能受到個別標注者觀點的影響,導致偏差。這些挑戰共同構成了LLMs對齊工作的難點。本文介紹了一種新的對齊范式——Aligner,它通過學習對齊和未對齊答案之間的修正殘差來繞過整個RLHF過程,提供了一種參數高效、資源節約的對齊解決方案。

?Aligner
Aligner模塊的架構以及其在語義空間中的行為

圖1展示了Aligner模塊的架構以及它在語義空間中的行為。左側展示了一個校正工作流程,其中Aligner作為一個即插即用模型,堆疊在上游的大型語言模型(LLM)之上,無論該上游模型是否已經對齊。Aligner的作用是將上游模型生成的初始答案重新分配,轉化為更加有用和無害的答案,從而使組合后的LLM響應與人類意圖保持一致。

右側的圖示說明了從查詢到對齊答案的直接映射學習是具有挑戰性的。然而,基于上游模型輸出的答案進行校正,則是一個更可行的學習任務。這意味著,Aligner通過專注于校正已有答案,而不是試圖直接生成完美對齊的答案,簡化了學習過程。這種方法利用了seq2seq模型的優勢,通過學習隱含的殘差來實現更好的對齊,而不是從頭開始學習復雜的映射。

Aligner的架構和功能類似于神經網絡中的殘差塊,它采用“復制和校正”的方法,將改進疊加在原始答案上,而不改變其基本結構。這種設計不僅保留了初始響應,同時增強了它,使其更好地符合期望的結果。通過這種方式,Aligner能夠在保持原有答案框架的基礎上,對其進行必要的調整,以提高答案的質量和安全性。

Aligner模型的核心是一種自回歸的序列到序列(seq2seq)學習方法,它通過監督學習的方式在查詢-答案-修正(Q-A-C)數據集上進行訓練。這種方法與傳統的基于人類反饋的強化學習(RLHF)相比,具有顯著的優勢。在RLHF中,通常需要多個輔助模型,包括行為者(actor)、評論家(critic)、獎勵(reward)和參考(reference)模型,這些模型的協調和訓練過程相當復雜,需要大量的計算資源。

相比之下Aligner模型的設計更為簡潔高效。它不需要依賴額外的輔助模型,因此減少了計算負擔,使得對齊過程更加高效。Aligner模型的工作原理相對直觀:它接收來自用戶的查詢以及由上游大型語言模型(LLM)生成的初始答案。基于這些輸入,Aligner模型會生成一個修正后的答案,這個答案旨在更好地符合人類的價值觀和意圖。

Aligner模型的訓練過程也相對簡單。它通過學習如何從初始答案中識別并改進不符合人類價值觀的部分,從而生成更加對齊的答案。這種方法的優勢在于,它專注于修正已有答案,而不是從頭開始生成答案,這大大降低了模型的復雜性和所需的計算資源。

Aligner模型的自回歸特性意味著它在生成修正答案時,會考慮到整個查詢和答案的上下文,從而生成更加連貫和相關的答案。這種方法不僅提高了答案的質量,還確保了答案與用戶查詢的緊密相關性。

在對Aligner模型與RLHF(基于人類反饋的強化學習)和DPO(直接偏好優化)等傳統對齊方法進行比較時,可以發現Aligner在訓練資源需求和模型可解釋性方面具有明顯的優勢:

  1. 從訓練資源的角度來看,Aligner模型由于其簡化的架構,不需要像RLHF和DPO那樣維護多個復雜的模型組件。RLHF方法涉及到訓練獎勵模型、actor、critic等組件,這不僅增加了模型訓練的復雜性,也顯著提高了所需的計算資源。而DPO作為一種強化學習方法,同樣需要大量的計算資源來優化策略。相比之下,Aligner-7B作為一個自回歸的seq2seq模型,即使在性能相似的情況下,也能以更少的資源消耗完成訓練。
  2. 隨著上游模型規模的增加,RLHF和DPO等方法所需的訓練資源會急劇上升。這是因為這些方法通常需要與模型參數直接交互,參數量的增加自然導致計算負擔的加重。然而,Aligner模型的訓練資源需求并不隨上游模型規模的變化而變化。這是因為Aligner作為一個附加模塊,它的訓練和運行不依賴于上游模型的具體參數,而是通過學習如何改進已有答案來實現對齊,因此它能夠以相對恒定的資源消耗應對不同規模的上游模型。
  3. Aligner模型的可解釋性也是其一大優勢。在RLHF方法中,獎勵信號往往是從人類反饋中學習得到的,這個過程可能不夠透明,使得模型的決策過程難以解釋。而Aligner模型作為一個seq2seq模型,其行為更易于理解和解釋,因為它直接在文本空間內操作,通過修改和改進已有答案來生成對齊的答案,這個過程更加直觀。

Aligner的訓練策略采用了一種創新的方法,稱為殘差修正,這種方法的核心在于利用原始答案與修正后答案之間的語義差異。這個策略首先通過部分訓練數據來初步訓練一個Aligner模型,這個過程被稱為“預熱”階段。預熱的目的是讓模型學習到一個基礎的恒等映射,即模型在這個階段學習如何保持輸入和輸出的一致性,這為后續的訓練打下了基礎。

在預熱階段之后,Aligner模型會使用完整的查詢-答案-修正(Q-A-C)數據集來進行進一步的訓練。此時,模型不再只是簡單地學習恒等映射,而是開始學習如何根據已有的答案生成改進后的修正答案。這種方法允許模型專注于答案的改進部分,而不是從頭開始生成整個答案,這提高了學習效率并減少了所需的模型容量。

殘差修正策略的一個關鍵優勢在于它允許模型在保持原有答案結構的同時,對答案進行精細化的調整。這意味著模型可以更加精確地對齊到人類價值觀和意圖,同時避免了對原始答案進行大規模的改動,這在很多情況下是有益的,因為它可以保留原始答案中仍然有效和準確的部分。

通過這種方式,Aligner模型能夠更加高效地學習如何生成與人類價值觀更加一致的答案。因為它專注于修正而不是重建,這使得模型可以更快地收斂,并且需要的訓練數據量也相對較少。這種方法在訓練大型語言模型時尤其有用,因為這些模型通常需要大量的數據和計算資源。

Aligner作為殘差學習增強器在LLMs的架構和能力方面的作用

殘差修正訓練策略為Aligner模型提供了一種有效的學習機制,使其能夠以一種計算效率高且可解釋的方式來改進和對齊大型語言模型的答案。通過預熱階段的恒等映射學習和完整數據集上的殘差修正,Aligner能夠生成更加精確和有用的回答,同時保持了訓練過程的簡潔性和高效性。

通過Aligner實現的弱到強的泛化

弱到強的泛化這一概念在機器學習領域中指的是,使用一個能力較弱的模型來指導或監督一個更強模型的訓練,以此提升后者的性能。本文中的方法基于Aligner模型來實現弱到強的泛化。

這個方法涉及使用一個較小的Aligner模型,即所謂的“弱”模型,來生成對齊標簽。這些標簽隨后被用作訓練數據,用于微調一個更大規模或更強大的上游模型,也就是“強”模型。這個過程的核心優勢在于,即使是較小的模型也能夠提供有價值的反饋,幫助提升大型模型的性能。

在實踐中,弱Aligner模型首先接收到來自上游模型的輸出,然后基于這些輸出生成修正后的標簽。這些修正后的標簽捕捉到了原始輸出與期望輸出之間的差異,從而為強模型提供了改進的方向。通過這種方式,即使是較小的模型也能夠對大型模型進行有效的指導。

這種方法的一個關鍵優勢是它的可擴展性。隨著模型規模的增長,直接訓練和優化大型模型變得越來越困難,需要大量的計算資源和數據。而通過弱到強泛化,我們可以利用小型模型的靈活性和效率,來引導和優化大型模型的行為,使其更加符合人類的價值觀和意圖。

這種方法還有助于解決大型模型訓練中的一些挑戰,比如數據的標注成本和質量控制問題。通過使用小型模型來生成訓練標簽,可以減少對大量高質量標注數據的依賴,從而降低訓練成本并提高訓練過程的可操作性。

通過Aligner實現的弱到強泛化提供了一種創新的訓練策略,它允許小型模型通過生成對齊標簽來增強大型模型的性能。這種方法不僅提高了大型模型的對齊度,還通過減少對資源的依賴,提高了訓練過程的效率和可擴展性。

使用Aligner進行弱到強泛化的結果,包括在不同模型上的性能提升
實驗

研究者選擇了兩個不同的數據集來進行評估:BeaverTails和HarmfulQA。這兩個數據集被用來檢驗Aligner在不同情境下的表現,以及它如何提升模型輸出的有用性和無害性。

實驗設置中,研究者特別關注了兩類模型:基于API的模型和開源模型。對于API基礎模型,他們選擇了GPT-4和Claude 2,這兩種模型都通過API提供服務,并且具備強大的語言處理能力。這些模型的表現將作為評估Aligner模塊效果的一個重要參考。

同時,研究者也包括了一系列開源模型,包括不同規模的Llama2模型(7B, 13B, 70B)-Chat版本、Vicuna系列(7B, 13B, 33B)以及Alpaca7B和Beaver-7B。這些模型因其開放的架構和可訪問性,為研究者提供了豐富的實驗選項。通過將Aligner模塊應用于這些模型,研究者可以觀察到Aligner在不同類型的語言模型上的表現,以及它如何幫助這些模型更好地符合人類的價值觀和意圖。

在實驗中,Aligner模塊被集成到了上述模型中,以評估其對模型輸出的影響。研究者特別關注了Aligner如何提升模型答案的有用性和無害性。有用性指的是模型輸出對用戶問題的正面幫助程度,而無害性則涉及模型輸出是否避免了可能對用戶或社會造成傷害的內容。

實驗結果顯示,Aligner模型作為一種有效的對齊工具,它能夠跨不同類型和規模的語言模型工作,提升模型輸出的質量和安全性。這些發現證明了Aligner模型在實際應用中的潛力,尤其是在需要提升語言模型對齊度的場景中。

Aligner模型在不同設置下的性能表現

表3顯示Aligner在所有設置中都取得了顯著的效果。研究者通過將各種模型與Aligner集成,并與原始模型進行比較,來量化有用性(helpfulness)和無害性(harmlessness)的百分比提升。表格中的背景顏色代表了目標語言模型的類型:綠色代表基于API的模型,橙色代表未進行安全對齊的開源模型,藍色代表進行了安全對齊的開源模型。表格中使用了特定的圖標來指示模型參數是否可訪問,以及模型是否進行了安全對齊。

表3的評估結果是基于Aligner模型與不同上游模型的集成來進行的。這些上游模型包括了不同規模和類型的語言模型,如GPT-4、Claude 2、Llama2-7B-Chat、Vicuna-7B等。通過將Aligner模型集成到這些上游模型中,研究者能夠觀察到在有用性和無害性方面的顯著提升。例如,Aligner-7B在提升GPT-4的有用性方面提高了17.5%,在無害性方面提高了26.9%。

表3還展示了Aligner模型在不同類型的模型上的應用效果,這包括了API基礎模型和開源模型。對于API基礎模型,即使模型參數不可訪問,Aligner作為一個即插即用的模塊,也能夠顯著提升模型的性能。而對于開源模型,無論是已經進行了安全對齊的模型,還是未進行安全對齊的模型,Aligner都能夠提供性能上的增強。

在訓練和評估集中有用性和無害性得分的分布

研究者還進行了消融實驗。消融研究顯示,與自我改進/自我批評方法相比,Aligner在有用性和無害性方面均表現優越。此外,與RLHF/DPO/SFT等基線方法相比,Aligner在減少計算資源的同時,提供了可比或更好的改進。

Aligner與CAI、Self-Refine和Self-Critique等方法的有效性評估

消融研究中使用了BeaverTails和HarmfulQA兩個數據集來進行評估。在這些實驗中,研究者將CAI提示僅在大型語言模型(LLMs)的推理時使用,以鼓勵模型自我修正答案。這種不經過預先訓練而直接使用CAI提示的方法,代表了一種獨特的自我完善形式。而Self-Critique方法則是讓模型自我批評,以發現并改進答案中的缺陷。

實驗結果顯示,使用CAI和Self-Critique方法時,GPT-4模型在有用性和無害性上的提升分別為+21.2%/+11.0%和+31.7%/+19.9%。然而,當使用Aligner-13B模型時,這些指標的提升更為顯著,達到了+33.9%/+25.1%和+25.1%/+20.1%。這表明Aligner模型在提升模型輸出的質量和安全性方面,具有明顯的優勢。

Aligner作為一種新興的大型語言模型對齊范式,展示了在資源效率、訓練簡便性和模型泛化能力方面的重要優勢。隨著進一步的研究和開發,Aligner有望在確保AI系統與人類價值觀和意圖一致方面發揮關鍵作用。

論文地址:https://arxiv.org/abs/2402.02416

項目地址:https://aligner2024.github.io

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

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

相關文章

1211. 查詢結果的質量和占比

1211. 查詢結果的質量和占比 題目鏈接&#xff1a;1211. 查詢結果的質量和占比 代碼如下&#xff1a; # Write your MySQL query statement below select query_name,round(avg(rating/position),2) as quality,round(sum(if(rating<3,1,0))*100/count(*),2) as poor_quer…

wandb安裝與使用 —— 用于跟蹤、可視化和協作機器學習實驗的工具

文章目錄 一、wandb簡介二、wandb注冊與登陸&#xff08;網頁&#xff09; —— 若登錄&#xff0c;則支持在線功能三、wandb安裝與登陸&#xff08;命令行&#xff09; —— 若不登錄&#xff0c;則只保留離線功能四、函數詳解4.1、wandb.init() —— 初始化一個新的 wandb 實…

上位機圖像處理和嵌入式模塊部署(f407 mcu中fatfs中間件使用)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】 前面我們已經實現了spi norflash的驅動&#xff0c;理論上這已經可以實現數據的持久化保存了。為什么還需要一個文件系統呢&#xff1f;主要原因還…

在 Win系統安裝 Ubuntu20.04子系統 WSL2 (默認是C盤,第7步開始遷移到D盤,也可以不遷移)

1、簡介 WSL在Windows 10上原生運行Linux二進制可執行文件&#xff0c;不用單獨安裝虛擬機。 WSL2是WSL的第二個版本&#xff0c;提供了與WSL相比的顯著性能改進和完全的系統呼叫兼容性。通過運行Linux內核在一個輕量級虛擬機&#xff08;VM&#xff09;中實現。 2、安裝 電…

ThingsBoard MQTT 連接認證過程 源碼分析+圖例

整個連接過程如圖所示&#xff1a; 高清圖片鏈接 1、環境準備 thingsboard3.5.1 源碼啟動。&#xff08;不懂怎么啟動的&#xff0c;大家可以看我的博文ThingsBoard3.5.1源碼啟動&#xff09;MQTTX 客戶端&#xff08;用來連接 thingsboard MQTT&#xff09;默認配置。queue.…

7-15 位模式(dump_bits)---PTA實驗C++

一、題目描述 為方便調試位運算相關程序&#xff0c;先做個展現位模式的小工具。 建議參照以下接口實現&#xff1a; // 利用函數重載特性&#xff1a;string dump_bits(char x);string dump_bits(short x);string dump_bits(int x);string dump_bits(long long x);// 或用函…

JVM類加載過程

在Java虛擬機規范中&#xff0c;把描述類的數據從class文件加載到內存&#xff0c;并對數據進行校驗、轉換解析和初始化&#xff0c;最終形成可以被虛擬機直接使用的java.lang.Class對象&#xff0c;這個過程被稱作類加載過程。一個類在整個虛擬機周期內會經歷如下圖的階段&…

C++編程法則365天一天一條(323)main函數執行之前和之后的動作

在C和C程序中&#xff0c;main 函數之前和之后執行的函數是由編譯器、鏈接器和運行時環境共同決定的。以下是一些通常會在這些階段執行的關鍵函數&#xff1a; 在 main 函數之前執行的函數 啟動代碼&#xff08;Start-up Code&#xff09;: 這是由編譯器提供的一段代碼&#…

DIYP對接駱駝后臺IPTV管理,退出菜單中顯示用戶名已經網絡信息,MAC,剩余天數,套餐名稱等

演示&#xff1a;https://url03.ctfile.com/f/1779803-1042599473-4dc000?p8976 (訪問密碼: 8976) 后臺加上EPG&#xff0c;增加一些播放源的動態端口替換。 前臺app上&#xff0c;退出菜單中顯示用戶名已經網絡信息&#xff0c;MAC&#xff0c;剩余天數&#xff0c;套餐名稱…

Python知識點17---包

提前說一點&#xff1a;如果你是專注于Python開發&#xff0c;那么本系列知識點只是帶你入個門再詳細的開發點就要去看其他資料了&#xff0c;而如果你和作者一樣只是操作其他技術的Python API那就足夠了。 Python的包&#xff0c;你可以把它看成是一個大的模塊&#xff0c;它…

JAVA基礎|多線程

什么是線程&#xff1f; 線程&#xff08;Thread&#xff09;是一個程序內部的一條執行流程。 多線程是什么&#xff1f; 多線程是指從軟硬件上實現的多條執行流程的技術&#xff08;多條線程由CPU負責調度執行&#xff09; 一. 如何在程序中創建出多條線程&#xff1f; Ja…

新接手業務的線上Bug特別多怎么辦?

文章目錄 接手&#xff1a;保證質量順利過渡緊急質量審計臨時增加測試頻次灰度發布加強監控與預警建立快速反饋機制 打補丁&#xff1a;針對性解決質量問題Bug 分析與分類測試策略優化環境一致性 搞基建&#xff1a;全流程質量控制需求分析與評審設計階段的評審與驗證代碼質量控…

Windows10系統中安裝與配置PyTorch(無GPU版本)

文章目錄 1. 什么是PyTorch2. PyTorch的安裝與配置&#xff08;無GPU&#xff09;2.1 創建環境2.2 安裝pytorch庫&#xff08;無GPU&#xff09;2.3 驗證安裝結果 1. 什么是PyTorch PyTorch 是一種用于構建深度學習模型且功能完備的開源框架&#xff0c;通常用于處理圖像識別和…

JVM學習-自定義類加載器

為什么要自定義類加載器 隔離加載類 在某些框架內進行中間件與應用的模塊隔離&#xff0c;把類加載到不同的環境&#xff0c;如Tomcat這類Web應用服務器&#xff0c;內部自定義了好幾種類加載器&#xff0c;用于隔離同一個Web應用服務器上的不同應用程序 修改類加載的方式 …

OpenCV 的幾種查找圖像中輪廓邊緣的方法

原始圖片&#xff1a; 1、Sobel() Sobel 算子結合了高斯平滑和微分&#xff0c;用于計算圖像的梯度&#xff0c;從而突出顯示邊緣。 import cv2# 讀取圖像 image cv2.imread(image.png, cv2.IMREAD_GRAYSCALE)# 使用 Sobel 算子查找水平和垂直邊緣 sobel_x cv2.Sobel(image…

建筑企業有閑置資質怎么辦?

如果建筑企業擁有閑置資質&#xff0c;可以考慮以下幾種方式來充分利用這些資質&#xff1a; 1. 租賃或轉讓資質&#xff1a; 將閑置的建筑資質租賃給其他企業或個人使用&#xff0c;或者通過轉讓的方式將資質出售給有需要的企業或個人。 2. 提供咨詢服務&#xff1a; 利用建…

git分布式版本控制系統(四)

目前世界上最先進的分布式版本控制系統 官方網址&#xff1a;https://git-scm.com 學習目標&#xff1a; 1 了解 git 前世今生 2 掌握 git 基礎概念、基礎操作 3 各種 git 問題處理 4 互聯網常用 gitflow(工作流程規范) 5 git 代碼提交規范 6 git 分支管理及命名規范 常見問…

OneForall工具的下載安裝和使用(Windows和Linux)

目錄 OneForall的介紹 OneForall的下載 OneForall的安裝 安裝要求 安裝步驟&#xff08;git 版&#xff09; 安裝&#xff08;kali&#xff09; OneForall的使用命令 在Windows 在Linux&#xff08;kali&#xff09; OneForall的結果說明 免責聲明 本文所提供的文字和…

車輛前向碰撞預警系統性能要求和測試規程

前言 本文整理《GB/T 33577-2017 智能運輸系統-車輛前向碰撞預警系統性能要求和測試規程》國標文件關鍵信息,FCW系統性能和測試右給深層次的認識。 術語和定義 車輛前向碰撞預警系統 forward vehicle collision warning system自車 subject vehicle(SV)目標車輛 target ve…

【Linux】查找和壓縮

一、文件查找 1、命令查找 which 2、文件查找、依賴數據庫 locate 3、文件查找 find 語法&#xff1a;find [path] [options] [expression] [action] ①按文件名 -name按名 -iname可不區分大小寫 ②按文件大小 5M&#xff1a;5M以上文件 5M&#xff1a;5M文件 -…