[LLM面試題] 指示微調(Prompt-tuning)與 Prefix-tuning區別

一、提示調整(Prompt Tuning)

Prompt Tuning是一種通過改變輸入提示語(input prompt)以獲得更優模型效果的技術。舉個例子,如果我們想將一條英語句子翻譯成德語,可以采用多種不同的方式向模型提問,如下圖所示:

這是一個hard prompt tuning示例,通過嘗試多種輸入提示來獲得更好的輸出效果。
這是一個hard prompt tuning示例,通過嘗試多種輸入提示來獲得更好的輸出效果。

這個案例采用的是硬提示調優(hard prompt tuning)?方法,因為它直接修改了離散的輸入標記(input tokens),而這些標記是不可再分的。

譯者注:在自然語言處理領域,一般將文本進行分詞處理,將一個句子拆分為一個個離散的單詞或標點符號作為input token。每個token代表一個離散的語義單位,模型可以根據這些token進行語義理解和生成回復。

例如,對于句子 "你好,很高興見到你!",可以將其分解為以下離散的input token:

[ "你", "好", ",", "很", "高興", "見到", "你", "!" ]

這些離散的token可以作為模型的輸入,用于訓練或生成對話回復。注意,在使用離散的input token時需要將其轉換為對應的向量表示(如詞嵌入表示),以便模型能夠對其進行處理和學習。

與硬提示調優(hard prompt tuning)相反,軟提示調優(soft prompt tuning)方法(Lester等人,2021年[1])將輸入標記(input tokens)的嵌入(embeddings)與可通過反向傳播算法(backpropagation)進行優化的可訓練張量(tensor)連接起來,以提高模型在目標任務上的性能。

偽代碼如下所示:

soft prompting相關概念的偽代碼

與離散的文本prompt不同,軟提示(soft prompts)是通過反向傳播算法(back-propagation)獲得的,因此可以根據已標注數據集的損失函數反饋(loss feedback)進行調整。

相較于全參數微調(full-finetuning),軟提示調優(soft prompt tuning)具有更高的參數效率(more parameter-efficient),但使用軟提示調優的模型性能可能稍遜一籌,如下圖所示。

?該圖來自提出soft prompting的論文,https://arxiv.org/abs/2104.08691

二、前綴調優(Prefix Tuning)

目前,有一種特殊的、被獨立開發的prompt tuning方式被稱為前綴調優(prefix tuning)??(Li & Liang 2021[2])。其思想是將可訓練的張量(trainable tensors)添加到每個Transformer塊中,而非像soft prompt tuning中那樣只添加輸入嵌入(input embeddings)。同時,通過全連接層(fully connected layers,兩層并且具有非線性激活函數的小型多層感知機)獲取soft prompt embedding。

者注:?使用深度學習模型進行自然語言處理任務時,input embeddings常作為模型的第一層進行使用,將離散的input token轉換為連續的向量表示,從而實現對文本的有效建模和處理。

前綴調優技術將預定義的prompt嵌入到模型中,以影響模型的生成行為。這項技術可以改變模型對輸入的解釋方式,使得模型能夠更好地根據prompt生成相應的輸出。

下圖說明了常規Transformer塊和經過前綴(prefix)修改的Transformer塊之間的區別。?

Illustration of prefix tuning

請注意,在上圖中,“全連接層”是指一個小型多層感知機(由兩個全連接層和一個非線性激活函數組成)。這些全連接層將soft prompt嵌入到一個與transformer塊輸入具有相同維度的特征空間(feature space)中,以確保兩層連接時的兼容性。

使用Python偽代碼,可以說明常規Transformer塊和經過前綴(prefix)修改的Transformer塊之間的區別:

prefix tuning的偽代碼圖示
prefix tuning的偽代碼圖示

根據提出prefix tuning的論文,該方法在僅訓練0.1%的參數的情況下,實現了與微調所有層相當的模型性能(該實驗基于GPT-2模型)。此外,在大多數情況下,prefix tuning的表現甚至優于微調所有層,可能是因為該方法涉及的參數較少,有助于減少對較小目標數據集的過擬合問題

最后,為了澄清推理過程中soft prompts的使用方式,請注意以下幾點:在學習了soft prompts后,在我們針對特定任務對模型進行微調時,我們必須將其(soft prompts)作為前綴(prefix)提供。這樣做可以使模型根據特定任務自定義其回答。此外,我們可以擁有多個soft prompts,每個對應于不同的任務,并且在推理過程能夠提供相應的前綴,以最好地去處理特定任務。

三、兩者區別

在性能方面,soft prompt tuning和prefix tuning孰強孰弱?不幸的是,就性能而言,目前尚無直接比較soft prompt tuning和prefix tuning的研究結果,因為這它們是獨立開發并同時發布的方法,各自的論文中未進行直接的比較。此外,在我查閱參數高效型大語言模型(parameter-efficient LLM)的最新文獻中,并沒有找到同時包含這兩種方法的基準測試(benchmark)?。

prefix tuning這種方法中,通過向輸入序列(input sequence)插入特定任務的前綴(a task-specific prefix)來修改模型的更多層、,因此需要微調更多的參數。另一方面,soft prompt tuning僅涉及對input prompt embeddings進行微調,因此更新的參數較少。這使得soft prompt tuning可能比prefix tuning更輕量化(parameter-efficient),但也可能限制了其適應更廣泛目標任務的能力。

就性能方面而言,我們可以合理地期望prefix tuning可能表現得更好,因為它能夠調整更多的模型參數以便適應更廣泛的新任務。然而,這可能是以增加計算資源的消耗和提高模型出現過擬合的風險為代價的。另一方面,soft prompt tuning可能具有更高的計算效率,但由于微調的參數較少,可能會導限制模型的性能

?四、總結

好啦,以上就是Prefix Tuning 和 Prompt Tuning的介紹,結合了偽代碼進行輔助講解,更容易理解這兩者的區別,而不是文縐縐的文本介紹,對于面試者來說增加容易理解。

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

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

相關文章

CSS 性能優化全攻略:提升網站加載速度與流暢度

系列文章目錄 01-從零開始學CSS選擇器:屬性選擇器與偽類選擇器完全指南 02-避免樣式沖突:掌握CSS選擇器優先級與層疊規則的終極指南 03-如何精確掌控網頁布局?深入解析 CSS 樣式與盒模型 04-CSS 布局全面解析:從傳統浮動到現代 F…

自主項目面試點總結

1、許苑–OJ判題系統 技術棧:Spring BootSpring Cloud AlibabaRedisMybatisMQDocker 項目地址: https://github.com/xuyuan-upward/xyoj-backend-microservice 1.1、項目介紹: 一個基于微服務的OJ系統,具備能夠根據管理員預設的題目用例對用戶提交的代…

12.推薦系統的前沿技術

接下來我們將學習推薦系統的前沿技術。推薦系統是一個快速發展的領域,許多新技術和新方法不斷涌現,進一步提升了推薦系統的性能和效果。在這一課中,我們將介紹以下內容: 圖神經網絡(GNN)在推薦系統中的應用…

【py】python安裝教程(Windows系統,python3.13.2版本為例)

1.下載地址 官網:https://www.python.org/ 官網下載地址:https://www.python.org/downloads/ 2.64版本或者32位選擇 【Stable Releases】:穩定發布版本,指的是已經測試過的版本,相對穩定。 【Pre-releases】&#…

CEF132 編譯指南 MacOS 篇 - depot_tools 安裝與配置 (四)

1. 引言 在 CEF132(Chromium Embedded Framework)的編譯過程中,depot_tools 扮演著舉足輕重的角色。這套由 Chromium 項目精心打造的腳本和工具集,專門用于獲取、管理和更新 Chromium 及其相關項目(包括 CEF&#xff…

1312:【例3.4】昆蟲繁殖

1312:【例3.4】昆蟲繁殖 時間限制: 1000 ms 內存限制: 65536 KB 提交數:60386 通過數: 29787 【題目描述】 科學家在熱帶森林中發現了一種特殊的昆蟲,這種昆蟲的繁殖能力很強。每對成蟲過xx個月產yy對卵,每對卵要過兩個月長成成蟲…

Linux防火墻設置

目錄 Ubuntu防火墻(UFW)常用設置 1. 查看防火墻狀態 2. 開啟/關閉防火墻 3. 管理端口 4. 管理IP地址 5. 服務管理 CentOS防火墻(firewalld)常用設置 1. 查看防火墻狀態 2. 啟動/關閉防火墻 3. 設置開機啟動 4. 管理端口…

Git 日志查看與版本回溯

引言 在軟件開發的漫漫長路中,代碼就如同我們搭建軟件大廈的基石,而 Git 則是一位默默守護并精心管理這些基石的 “管家”。它不僅能記錄代碼的每一次變動,還提供了強大的日志查看和版本回溯功能,這些功能就像是給開發者配備了一…

針對Prompt優化的深入分析

一、針對Prompt優化的深入分析 1. 結構化設計 技術原理: 大語言模型(LLMs)本質是基于概率的序列生成器,結構化模板通過顯式定義輸出框架(如角色、段落數、連接詞),利用模型的模式匹配能力&…

fps動作系統9:動畫音頻

文章目錄 動畫音頻創建音頻藍圖cue音量乘數 音效衰減衰減空間 綁定到動畫動畫序列軌道 動畫音頻 創建音頻藍圖 cue 音量乘數 音量大小 音效衰減 空間音效 衰減 空間 綁定到動畫 動畫序列 軌道 橫著的方向是有不同的軌道的,陰影的就是。

TensorRT【詳解】

文章目錄 1、 1、 參考: 1、nVidia TensorRT pytorch Docker 下載:https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch/tags 2、nVidia TensorRT pytorch Docker 版本講解:https://docs.nvidia.com/deeplearning/frameworks/py…

解決QTimer報“Timers cannot be started from another thread“錯誤

今天在Qt編程時,將QTimer在子線程里執行start()函數,遇到“Timers cannot be started from another thread”問題,使用了如下AI工具,進行查詢: ? ? 提示詞A:“C QTimer 如何跨線程” ? ? 提示詞B&#…

【AI知識點】苦澀的教訓 The Bitter Lesson by Rich Sutton(2019)

【AI論文解讀】【AI知識點】【AI小項目】【AI戰略思考】【AI日記】【讀書與思考】【AI應用】 “The Bitter Lesson” 是由 Richard Sutton(強化學習領域的先驅之一)提出的一個概念,指的是機器學習領域在長期發展過程中,尤其是在強…

單片機上SPI和IIC的區別

SPI(Serial Peripheral Interface)和IC(Inter-Integrated Circuit)是兩種常用的嵌入式外設通信協議,它們各有優缺點,適用于不同的場景。以下是它們的詳細對比: — 1. 基本概念 SPI&#xff0…

SQL Server安裝流程

SQL Server 2022在安全性、可用性和性能方面不斷創新,是現在最支持Azure的SQL Server版本。 SQL Server發展史 SQL Server的歷史始于1989年,當時是由微軟與Sybase合作的產品,旨在為Windows NT操作系統提供一個高性能的數據庫解決方案。隨著…

VSOMEIP ROUTING應用和CLIENT應用之間交互的消息

#define VSOMEIP_ASSIGN_CLIENT 0x00 // client應用請求分配client_id #define VSOMEIP_ASSIGN_CLIENT_ACK 0x01 // routing應用返回分配的client_id #define VSOMEIP_REGISTER_APPLICATION 0x02 // client應用注冊someip應用 #…

jvm 線程監控調試

文章目錄 前言一、使用JDK工具轉儲線程文件(如jstack)1. 找到Java進程的PID:2. 使用jstack生成線程轉儲文件:3.驗證生成的線程轉儲文件:二、分析文件1.使用在線工具進行分析上傳thread-dump文件,等待解析完成2.查看分析結果總結前言 提示:使用jdk自帶工具轉儲線程監控文…

從零開始認識大語言模型(LLM)

“AI小美好——聚焦科技、商業、職場。前沿資訊,實用干貨,邂逅更美好的自己!” 在當今數字化時代,語言不僅是人類交流的工具,更是信息傳遞的核心。隨著人工智能技術的飛速發展,大語言模型逐漸走進了我們的…

安裝OpenJDK21(linux、macos)

文章目錄 安裝OpenJDK21java21linux下安裝配置mac下安裝 安裝OpenJDK21 java21 封神!Java 21正式發布了,迎來了史詩級新特性,堪稱版本最強!!! 視頻鏈接:https://www.bilibili.com/video/BV1E8…

idea插件開發,如何獲取idea設置的系統語言

手打不易,如果轉摘,請注明出處! 注明原文:https://zhangxiaofan.blog.csdn.net/article/details/145578160 版本要求 大于 2024.3 錯誤用法 網上有的說使用:UIUtil com.intellij.util.ui.UIUtil 代碼示例&#xf…