LM-BFF——語言模型微調新范式

gpt3(GPT3——少樣本示例推動下的通用語言模型雛形)結合提示詞和少樣本示例后,展示出了強大性能。但大語言模型的訓練門檻太高,普通研究人員無力,LM-BFF(Making Pre-trained Language Models Better Few-shot Learners)的作者受gpt3啟發后,將gpt3的少樣本學習思路與常規語言模型(如BERT、RoBERTa)相結合,最終提出了一種新穎的微調方法,大大降低了微調所需樣本量,也為我們理解提示詞的重要性帶來了新的啟發。

本文主要分享這種新穎微調方法的好處,不對細節做過多展開。

方法

傳統的微調方法是,給定訓練好的預訓練模型后,再利用該預訓練模型在各類監督數據集上結合標簽進行監督訓練。輸入和輸出由不同的數據集決定。

LM-BFF作者的思路是,在監督訓練時,通過引入提示模板 (prompt template)任務示例 (task demonstrations/examples),將原始輸入和輸出(標簽)轉換成一種更接近語言模型預訓練任務的格式(即完形填空或文本生成)進行訓練。

例如,對于一個傳統的文本分類任務:

  • 傳統微調輸入(以RoBERTa為例)[CLS] No reason to watch. [SEP] ,預測輸出通常是數據集的標簽(如positive,negative)
  • LM-BFF微調輸入示例[CLS] No reason to watch. [SEP] It was [MASK]. [SEP] A fun ride. It was great. [SEP] The drama discloses nothing. It was terrible. [SEP],預測輸出是標簽詞映射得到的詞(如great,terrible)

在這個LM-BFF的例子中:

  1. No reason to watch. 是原始輸入文本。
  2. It was [MASK]. 是應用于原始輸入文本的提示模板,模型需要預測 [MASK] 位置最合適的詞。
  3. A fun ride. It was great.The drama discloses nothing. It was terrible. 是任務示例(demonstrations)。其中 greatterrible 是原始標簽(如“正面”、“負面”)通過標簽詞映射 (label word mapping) 轉換成的具體詞語。這些示例為模型提供了當前任務的上下文信息。

下圖是更詳細的過程:

在這里插入圖片描述

LM-BFF的四個關鍵部分

  1. 三個輸入部分:原始輸入 + 提示模板 + 任務示例
  2. 輸出標簽詞映射。

其中提示模板和輸出詞映射可以手動指定也可以自動得出,作者提出了自動推斷提示模板和輸出詞映射的方法。任務示例從訓練樣本中抽樣。

自動推斷輸出標簽映射詞的方法:

  • 使用預訓練語言模型(如 RoBERTa)來預測與標簽語義最相關的詞。
  • 對于每個標簽,構造一個模板(如“It was [MASK].”),然后通過模型預測 [MASK] 位置的詞,選擇概率最高的詞作為標簽映射詞。
  • 例如,對于“positive”標簽,模型可能預測“great”作為映射詞;對于“negative”標簽,預測“terrible”。
  • 這種方法減少了手動指定標簽詞的負擔,提高了方法的通用性。

自動推斷提示模板的方法:

  • 利用 T5 模型的填空能力,將模板字符作為掩碼序列輸入T5,使其通過預測掩碼序列生成候選提示模板。
  • 例如,對于文本分類任務,T5 可能生成“It was [MASK].”或“The sentiment is [MASK].”作為提示模板。
  • 然后通過少量驗證數據評估每個模板的性能,選擇效果最好的模板。
  • 這種方法通過自動化生成提示模板,減少了人工設計的成本。

實驗

作者在GLUE數據集和SNLI數據集上做了實驗。

在不同的數據集上,作者手工指定了提示模板和標簽詞映射。當然后面有手工,也有自動推斷的實驗結果。

在這里插入圖片描述

實驗效果

作者對比了若干方法:

第一部分:

  1. Majority(選取數據最多的類做標簽)
  2. 使用作者手工指定的提示詞進行零樣本學習,不微調訓練
  3. 使用作者手工指定的提示詞 + 任務示例,不微調訓練
  4. 使用少量樣本進行傳統微調訓練

第二部分(LM-BFF)

  1. 手工指定提示詞(原始輸入 + 提示模板),微調訓練
  2. 手工指定提示詞+任務示例(原始輸入 + 提示模板+ 任務示例 ),微調訓練
  3. 自動指定提示詞(原始輸入 + 提示模板),微調訓練
  4. 自動指定提示詞+任務示例(原始輸入 + 提示模板+ 任務示例 ),微調訓練

第三部分:

全量樣本傳統微調訓練

實驗結果確實顯著的表明,在少樣本設定下,LM-BFF具有顯著的優勢,比傳統微調性能大幅提高(大多在百分之10以上)

在這里插入圖片描述

結合提示詞微調的優勢

另一篇論文(How Many Data Points is a Prompt Worth?)通過實驗清楚的表明了結合提示微調的好處:

作者用SuperGLUE數據集對比了結合提示微調和傳統微調在不同數據量情況下的表現,橫坐標代表樣本量,黃色代表提示詞微調在使用不同樣本量數據時的性能,紫色為傳統微調的性能。大部分數據集上提示詞微調的效果都要好于傳統微調。
在這里插入圖片描述

結果表明結合提示微調對訓練樣本的需求大大少于傳統微調,幾十個樣本可以達到較好效果,不同數據量下的效果也大多好于傳統微調。這也充分證明了語言模型的提示詞的重要性。

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

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

相關文章

遙感解譯項目Land-Cover-Semantic-Segmentation-PyTorch之二訓練模型

遙感解譯項目Land-Cover-Semantic-Segmentation-PyTorch之一推理模型 背景 上一篇文章了解了這個項目的環境安裝和模型推理,這篇文章介紹下如何訓練這個模型,添加類別 下載數據集 在之前的一篇文章中,也有用到這個數據集 QGIS之三十六Deepness插件實現AI遙感訓練模型 數…

【NLP 71、常見大模型的模型結構對比】

三到五年的深耕,足夠讓你成為一個你想成為的人 —— 25.5.8 模型名稱位置編碼Transformer結構多頭機制Feed Forward層設計歸一化層設計線性層偏置項激活函數訓練數據規模及來源參數量應用場景側重GPT-5 (OpenAI)RoPE動態相對編碼混合專家架構(MoE&#…

[250521] DBeaver 25.0.5 發布:SQL 編輯器、導航器全面升級,新增 Kingbase 支持!

目錄 DBeaver 25.0.5 發布:SQL 編輯器、導航器全面升級,新增 Kingbase 支持! DBeaver 25.0.5 發布:SQL 編輯器、導航器全面升級,新增 Kingbase 支持! 近日,DBeaver 發布了 25.0.5 版本&#xf…

服務器硬盤虛擬卷的處理

目前的情況是需要刪除邏輯卷,然后再重新來弄一遍。 數據已經備份好了,所以不用擔心數據會丟失。 查看服務器的具體情況 使用 vgdisplay 操作查看服務器的卷組情況: --- Volume group ---VG Name vg01System IDFormat …

Flutter 中 build 方法為何寫在 StatefulWidget 的 State 類中

Flutter 中 build 方法為何寫在 StatefulWidget 的 State 類中 在 Flutter 中,build 方法被設計在 StatefulWidget 的 State 類中而非 StatefulWidget 類本身,這種設計基于幾個重要的架構原則和實際考量: 1. 核心設計原因 1.1 生命周期管理…

傳統醫療系統文檔集中標準化存儲和AI智能化更新路徑分析

引言 隨著醫療數智化建設的深入推進,傳統醫療系統如醫院信息系統(HIS)、臨床信息系統(CIS)、護理信息系統(NIS)、影像歸檔與通信系統(PACS)和實驗室信息系統(LIS)已經成為了現代醫療機構不可或缺的技術基礎設施。這些系統各自承擔著不同的功能,共同支撐…

探索常識性概念圖譜:構建智能生活的知識橋梁

目錄 一、知識圖譜背景介紹 (一)基本背景 (二)與NLP的關系 (三)常識性概念圖譜的引入對比 二、常識性概念圖譜介紹 (一)常識性概念圖譜關系圖示例 (二&#xff09…

Linux/aarch64架構下安裝Python的Orekit開發環境

1.背景 國產化趨勢越來越強,從軟件到硬件,從操作系統到CPU,甚至顯卡,就產生了在國產ARM CPU和Kylin系統下部署Orekit的需求,且之前的開發是基于Python的,需要做適配。 2.X86架構下安裝Python/Orekit開發環…

Ctrl+鼠標滾動阻止頁面放大/縮小

項目場景: 提示:這里簡述項目相關背景: 一般在我們做大屏的時候,不希望Ctrl鼠標上下滾動的時候頁面會放大/縮小,那么在有時候,又不希望影響到別的頁面,比如說這個大屏是在另一個管理后臺中&am…

MySQL——復合查詢表的內外連

目錄 復合查詢 回顧基本查詢 多表查詢 自連接 子查詢 where 字句中使用子查詢 單行子查詢 多行子查詢 多列子查詢 from 字句中使用子查詢 合并查詢 實戰OJ 查找所有員工入職時候的薪水情況 獲取所有非manager的員工emp_no 獲取所有員工當前的manager 表的內外…

聊一下CSS中的標準流,浮動流,文本流,文檔流

在網絡上關于CSS的文章中,有時候能聽到“標準流”,“浮動流”,“定位流”等等詞語,還有像“文檔流”,“文本流”等詞,這些流是什么意思?它們是CSS中的一些布局方案和特性。今天我們就來聊一下CS…

python訓練營第33天

MLP神經網絡的訓練 知識點回顧: PyTorch和cuda的安裝查看顯卡信息的命令行命令(cmd中使用)cuda的檢查簡單神經網絡的流程 數據預處理(歸一化、轉換成張量)模型的定義 繼承nn.Module類定義每一個層定義前向傳播流程 定義…

JDK21深度解密 Day 1:JDK21全景圖:關鍵特性與升級價值

【JDK21深度解密 Day 1】JDK21全景圖:關鍵特性與升級價值 引言 歡迎來到《JDK21深度解密:從新特性到生產實踐的全棧指南》系列的第一天。今天我們將探討JDK21的關鍵特性和升級價值。作為近5年最重要的LTS版本,JDK21不僅帶來了性能上的巨大突…

[docker]更新容器中鏡像版本

從peccore-dev倉庫拉取鏡像 docker pull 10.12.135.238:8060/peccore-dev/configserver:v1.13.45如果報錯,請參考docker拉取鏡像失敗,添加倉庫地址 修改/etc/CET/Common/peccore-docker-compose.yml文件中容器的版本,為剛剛拉取的版本 # 配置中心confi…

LVS原理詳解及LVS負載均衡工作模式

什么是虛擬服務器(LVS) 虛擬服務器是高度可擴展且高度可用的服務器 構建在真實服務器集群上。服務器集群的架構 對最終用戶完全透明,并且用戶與 cluster 系統,就好像它只是一個高性能的虛擬 服務器。請考慮下圖。 真實服務器和負…

上位機知識篇---keil IDE操作

文章目錄 前言文件操作按鍵新建打開保存保存所有編輯操作按鍵撤銷恢復復制粘貼剪切全選查找書簽操作按鍵添加書簽跳轉到上一個書簽跳轉到下一個書簽清空所有書簽編譯操作按鍵編譯當前文件構建目標文件重新構建調試操作按鍵進入調試模式復位全速運行停止運行單步調試逐行調試跳出…

前端大文件上傳性能優化實戰:分片上傳分析與實戰

前端文件分片是大文件上傳場景中的重要優化手段,其必要性和優勢主要體現在以下幾個方面: 一、必要性分析 1. 突破瀏覽器/服務器限制 瀏覽器限制:部分瀏覽器對單次上傳文件大小有限制(如早期IE限制4GB) 服務器限制&a…

解決react-router-dom沒有支持name命名使用的問題

1. 前言 react-router-dom 并不能像 vue 的route 那樣給每個路由命名 name ,導致代碼不能解耦路由路徑與導航邏輯。 2. react-router 為什么沒有支持? 很早之前官方 issue 中就有過很多討論: 翻譯過來,就是由于以下幾個重要原…

Spring AI 之結構化輸出轉換器

截至 2024 年 2 月 5 日,舊的 OutputParser、BeanOutputParser、ListOutputParser 和 MapOutputParser 類已被棄用,取而代之的是新的 StructuredOutputConverter、BeanOutputConverter、ListOutputConverter 和 MapOutputConverter 實現類。后者可直接替換前者,并提供相同的…

MCP與AI模型的多語言支持:讓人工智能更懂世界

MCP與AI模型的多語言支持:讓人工智能更懂世界 在人工智能(AI)的時代,我們追求的不僅是強大的計算能力,更是讓AI能夠理解并使用不同語言,真正服務全球用戶。而這背后,一個至關重要的技術就是 MCP(Multi-Context Processing,多上下文處理) ——一種旨在優化 AI 模型理…