選擇大型語言模型自定義技術

推薦:使用 NSDT場景編輯器 助你快速搭建可二次編輯器的3D應用場景

?

選擇大型語言模型自定義技術

?

企業需要自定義模型來根據其特定用例和領域知識定制語言處理功能。自定義LLM使企業能夠在特定的行業或組織環境中更高效,更準確地生成和理解文本。

自定義模型使企業能夠創建符合其品牌聲音的個性化解決方案,優化工作流程,提供更精確的見解,并提供增強的用戶體驗,最終推動市場競爭優勢。

這篇文章涵蓋了各種模型定制技術以及何時使用它們。NVIDIA NeMo 支持許多方法。

NVIDIA NeMo 是一個端到端的云原生框架,可在任何地方構建、定制和部署生成式 AI 模型。它包括訓練和推理框架、護欄工具包、數據管理工具和預訓練模型,提供了一種簡單、經濟高效且快速的采用生成 AI 的方法。

選擇 LLM 自定義技術

您可以根據數據集大小要求與自定義期間的訓練工作量級別(與下游任務準確性要求相比)之間的權衡來對技術進行分類。

該圖顯示了四個自定義工具,其中包含技術、用例和示例表。

圖1.LLM 定制技術可用于 NVIDIA NeMo

圖 1 顯示了以行的自定義技術:

  • 提示工程:操作發送到LLM的提示,但不以任何方式更改LLM的參數。它在數據和計算要求方面很輕。
  • 快速學習:使用提示和完成對,通過虛擬令牌向LLM傳授特定于任務的知識。此過程需要更多的數據和計算,但比提示工程具有更好的準確性。
  • 參數高效微調(PEFT):將少量參數或層引入現有LLM架構,并使用特定于用例的數據進行訓練,提供比提示工程和快速學習更高的準確性,同時需要更多的訓練數據和計算。
  • 微調:涉及更新預訓練的LLM權重,這與前面概述的三種類型的自定義技術不同,這些技術使這些權重保持凍結。這意味著與其他技術相比,微調還需要最多的訓練數據和計算。但是,它為特定用例提供了最準確的準確性,從而證明了成本和復雜性的合理性。

有關更多信息,請參見大型語言模型簡介:提示工程和 P 調優。

快速工程

提示工程涉及在推理時通過展示和講述示例進行定制。LLM提供了示例提示和完成,這些詳細說明附加到新提示之前以生成所需的完成。模型的參數不會更改。

少數鏡頭提示:此方法需要在提示前面附加一些示例提示和完成對,以便LLM學習如何為新的不可見提示生成響應。雖然與其他自定義技術相比,少數鏡頭提示需要相對較少的數據量,并且不需要微調,但它確實增加了推理延遲。

思維鏈推理:就像人類將大問題分解成小問題并應用思維鏈來有效地解決問題一樣,思維鏈推理是一種快速的工程技術,可以幫助LLM提高他們在多步驟任務上的表現。它涉及將問題分解為更簡單的步驟,每個步驟都需要緩慢而深思熟慮的推理。這種方法適用于邏輯、算術和演繹推理任務。

系統提示:此方法涉及在用戶提示之外添加系統級提示,以向LLM提供特定和詳細的說明,使其按預期運行。可以將系統提示視為LLM的輸入以生成其響應。系統提示的質量和特異性會對LLM響應的相關性和準確性產生重大影響。

及時學習

快速學習是一種高效的自定義方法,可以在許多下游任務上使用預訓練的LLM,而無需調整預訓練模型的完整參數集。它包括兩種具有細微差異的變體,稱為 p 調諧和提示調諧;這兩種方法統稱為快速學習。

快速學習可以向LLM添加新任務,而不會覆蓋或中斷模型已經預先訓練的先前任務。由于原始模型參數被凍結且永遠不會更改,因此快速學習還可以避免微調模型時經常遇到的災難性遺忘問題。當LLM在微調過程中以LLM預培訓期間獲得的基礎知識為代價學習新行為時,就會發生災難性的遺忘

圖中顯示,提示學習在訓練的虛擬令牌之前附加提示令牌,從而為虛擬令牌訓練的特定用例提供更準確的LLM完成。

圖2.應用于法學碩士的快速學習

提示調優和 p 調諧不是以手動或自動方式選擇離散文本提示,而是使用可通過梯度下降進行優化的虛擬提示嵌入。這些虛擬令牌嵌入與構成模型詞匯表的離散、硬令牌或真實令牌相反。虛擬代幣是純粹的一維向量,其維數等于每個真實代幣嵌入的維數。在訓練和推理中,根據模型配置中提供的模板,在離散令牌嵌入中插入連續令牌嵌入。

提示調整:對于預訓練的 LLM,軟提示嵌入初始化為大小total_virtual_tokens?Xhidden_size的 2D 矩陣。提示優化模型以執行的每個任務都有其自己的關聯 2D 嵌入矩陣。任務在訓練或推理期間不共享任何參數。NeMo 框架提示調優實現基于參數高效提示調優的規模力量。

P-調諧:?稱為 LSTM 或 MLP 模型用于預測虛擬令牌嵌入。 參數在 p 調優開始時隨機初始化。所有基本LLM參數都被凍結,并且在每個訓練步驟中僅更新權重。p 調優完成后,提示調優的虛擬令牌將自動移動到存儲所有提示調優和 p 調優軟提示的位置。 然后從模型中移除。這使您能夠保留以前 p 調優的軟提示,同時仍保持將來添加新的 p 調優或提示調優軟提示的能力。prompt_encoderprompt_encoderprompt_encoderprompt_encoderprompt_tableprompt_encoder

prompt_table使用任務名稱作為鍵來查找指定任務的正確虛擬令牌。NeMo框架p調諧實現基于GPT Understands,Too。

參數高效微調

參數高效微調(PEFT)技術使用巧妙的優化來有選擇地向原始LLM架構添加和更新一些參數或層。使用 PEFT,針對特定用例訓練模型參數。預訓練的LLM權重保持凍結,并且在PEFT期間使用域和任務特定的數據集更新的參數明顯較少。這使LLM能夠在訓練的任務上達到高精度。

有幾種流行的參數高效替代方法來微調預訓練語言模型。與提示學習不同,這些方法不會在輸入中插入虛擬提示。相反,他們將可訓練層引入變壓器架構中,用于特定任務的學習。這有助于在下游任務上獲得強大的性能,同時與微調相比,可訓練參數的數量減少了幾個數量級(參數減少了近 10,000 倍)。

  • 適配器學習
  • 通過抑制和放大內部激活(IA3)注入適配器
  • 低秩適應 (LoRA)

適配器學習:在核心變壓器架構各層之間引入小的前饋層。只有這些層(適配器)在微調時針對特定的下游任務進行訓練。適配器層通常使用下投影將輸入

h

h

投影到低維空間,然后使用非線性激活函數,并使用W_up

?W_up

?

W_up

.殘差連接將此輸出添加到輸入中,從而形成最終形式:h \leftarrow h + f(hW_{down})W_{up}

?

?

h \leftarrow h + f(hW_{down})W_{up}

適配器模塊通常被初始化為適配器的初始輸出始終為零,以防止由于添加此類模塊而導致原始模型的性能下降。NeMo 框架適配器實現基于 NLP 的參數高效遷移學習。

IA3:與適配器相比,添加的參數更少,適配器只是使用學習向量縮放轉換器層中的隱藏表示。可以為特定的下游任務訓練這些擴展參數。學習的向量 、 和 分別重新縮放注意力機制中的鍵和值以及位置前饋網絡中的內部激活。這種技術還使混合任務批處理成為可能,因為批處理中的每個激活序列都可以單獨且廉價地乘以其關聯的學習任務向量。NeMo框架IA3 實現基于少鏡頭參數高效微調比上下文學習更好、更便宜。lklvlff

圖表顯示 LoRA 微調通過凍結的預訓練權重和減少維度層來實現參數效率.

圖3.用于參數高效微調的 LoRA

洛拉:將可訓練的低秩矩陣注入變壓器層以近似權重更新。LoRA 沒有更新完整的預訓練權重矩陣 W,而是更新其低秩分解,與微調相比,可訓練參數的數量減少了 10,000 倍,GPU 內存需求減少了 3 倍。此更新將應用于多頭注意力子圖層中的查詢和值投影權重矩陣。事實證明,將更新應用于低秩分解而不是整個矩陣在模型質量上與微調相當或更好,從而實現更高的訓練吞吐量,并且沒有額外的推理延遲。

NeMo框架LoRA實現基于大型語言模型的低秩適配。有關如何將 LoRa 模型應用于抽取式 QA 任務的詳細信息,請參閱 LoRA 教程筆記本。

微調

當數據和計算資源沒有硬約束時,監督微調 (SFT) 和人工反饋強化學習 (RLHF) 等定制技術是 PEFT 和提示工程的絕佳替代方法。與其他自定義方法相比,微調有助于在一系列用例上實現最佳準確性。

有監督的微調:?SFT是在輸入和輸出的標記數據上微調模型所有參數的過程,它教授模型域特定的術語以及如何遵循用戶指定的指令。它通常在模型預訓練后完成。與預訓練階段相比,使用預訓練模型可以實現許多好處,包括使用最先進的模型而無需從頭開始訓練、降低計算成本并減少數據收集需求。SFT的一種形式被稱為指令調優,因為它涉及在通過指令描述的數據集集合上微調語言模型。

該圖顯示了監督微調使用指令更新預訓練的LLM權重,這些指令遵循按任務以不同比例混合的數據集,以幫助提高LLM在看不見的任務上的性能。

圖4.通過跟蹤數據的標記指令進行監督微調

帶有指令的SFT利用了NLP任務可以通過自然語言指令描述的直覺,例如“將以下文章總結為三句話”或“用西班牙語寫一封關于即將到來的學校節日的電子郵件”。該方法成功地結合了微調和提示范式的優勢,以提高推理時的LLM零鏡頭性能。

指令調優過程涉及對預訓練模型執行微調,這些數據集由以不同比例混合的自然語言指令表達的多個 NLP 數據集的混合物。在推理時,對看不見的任務進行評估,并且已知此過程可以顯著提高看不見任務的零鏡頭性能。SFT也是使用強化學習提高LLM能力過程中的重要中間步驟,我們將在下面描述。

帶有人類反饋的強化學習:?帶有人類反饋的強化學習(RLHF)是一種定制技術,使LLM能夠更好地與人類價值觀和偏好保持一致。它使用強化學習使模型能夠根據收到的反饋調整其行為。它涉及一個三階段微調過程,該過程使用人類偏好作為損失函數。使用前面部分中描述的說明進行微調的SFT模型被認為是RLHF技術的第一階段。

圖表顯示,具有人類反饋的強化學習是一個三階段過程,它利用根據人類偏好訓練的獎勵模型,使用強化學習向受監督的微調LLM提供反饋。

圖5.使用強化學習使LLM行為與人類偏好保持一致

SFT 模型在 RLHF 的第 2 階段被訓練為獎勵模型 (RM)。由具有多個響應的提示組成的數據集用于訓練 RM 以預測人類偏好。

訓練 RM 后,RLHF 的第 3 階段側重于使用近端策略優化 (PPO) 算法的強化學習針對 RM 微調初始策略模型。RLHF的這三個階段迭代執行,使LLM能夠生成更符合人類偏好的輸出,并且可以更有效地遵循指令。

雖然 RLHF 會產生強大的 LLM,但缺點是這種方法可能會被濫用和利用來生成不良或有害的內容。NeMo方法使用PPO價值網絡作為批評者模型,以指導LLM遠離生成有害內容。研究界正在積極探索其他方法,以引導LLMs采取適當的行為,并減少LLM構成事實的有毒物質產生或幻覺。

原文鏈接:選擇大型語言模型自定義技術 (mvrlink.com)

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

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

相關文章

PAT 1013 Battle Over Cities

個人學習記錄,代碼難免不盡人意。 It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/toward that city are closed. We must know immediately if we need to repair a…

計算機機房的管理

1 電源問題 不穩定的電源對電腦的使用壽命是一個極大的威脅,特別是對于機房來說危害 性更大。為此,學校要添置必要的穩壓器,設置其正常供電的電壓為 220 伏、電流 為 l6 安對電腦室供電。如有電壓發生偏差,要及時檢查供電情況&…

BDA初級分析——認識SQL,認識基礎語法

一、認識SQL SQL作為實用技能,熱度高、應用廣泛 在對數據分析人員的調查中SQL長期作為熱度排名第-一的編程語言超過Python和R SQL:易學易用,高效強大的語言 SQL:Structured Query Language 結構化查詢語言 SQL:易學…

python threading.Event()用法

紅綠燈例子 Event的用法 import threading,timeeventthreading.Event()def lighter():timesec0event.set()while True:if 5<timesec<10:event.clear()print("紅燈亮")elif timesec>10:event.set()timesec0else:print("綠燈亮")time.sleep(1)tim…

BSN“五、十、百”工程實施半年成果豐碩,助力數字化轉型和高質量發展

為推動“云網鏈”融合的新基建賦能數字經濟高質量發展&#xff0c;將區塊鏈服務網絡&#xff08;BSN&#xff09;打造成為中國數字經濟和社會治理的核心區塊鏈公共服務平臺&#xff0c;2023年2月&#xff0c;在“第三屆區塊鏈服務網絡&#xff08;BSN&#xff09;全球合作伙伴大…

力扣75——二分查找

總結leetcode75中的二分查找算法題解題思路。 上一篇&#xff1a;力扣75——堆/優先隊列 力扣75——二分查找 1 猜數字大小2 咒語和藥水的成功對數3 尋找峰值4 愛吃香蕉的珂珂1-4解題總結 1 猜數字大小 題目&#xff1a; 猜數字游戲的規則如下&#xff1a;每輪游戲&#xff0…

多維時序 | MATLAB實現WOA-CNN-BiGRU-Attention多變量時間序列預測

多維時序 | MATLAB實現WOA-CNN-BiGRU-Attention多變量時間序列預測 目錄 多維時序 | MATLAB實現WOA-CNN-BiGRU-Attention多變量時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 多維時序 | MATLAB實現WOA-CNN-BiGRU-Attention多變量時間序列預測 1.程…

java 向上取整 java對小數取整

取整方法 Math.floor(double a) 向下取整 Math.ceil(double a) 向上取整 Math.round(double a) 四舍五入 0.5向下取整 Math.rint(double a) 就近取整 1.6接近2&#xff0c;所以就取2 1.4接近1&#xff0c;所以就取1 1.5跟1和2都很接近&#xff0c;這時候就取偶數 (int) 類型強轉…

MongoDB:數據庫初步應用

一.連接MongoDB 1.MongoDBCompass連接數據庫 連接路徑:mongodb://用戶名:密碼localhost:27017/ 2.創建數據庫(集合) MongoDB中數據庫被稱為集合. MongoDBCompass連接后,點擊紅色框加號創建集合,點擊藍色框加號創建文檔(數據表) 文檔中的數據結構(相當于表中的列)設計不用管…

騰訊云國際輕量應用服務器使用流程是什么呢?

騰訊云國際輕量應用服務器怎么使用呢&#xff1f;下面一起來了解一下&#xff1a; 1. 熟悉輕量應用服務器基礎知識 ①什么是輕量應用服務器 TencentCloud Lighthouse&#xff1f; ②輕量應用服務器與云服務器 CVM 的區別是什么&#xff1f; ③為什么選擇輕量應用服務器&#xf…

一個DW的計算

一個DW的計算 1- 題目: 已知一個DW1.1 要求: 從DW中取出指定的位的值1.1.1 分析1.1.2 實現1.1.3 簡化實現1.1.4 驗證 2- 題目: 已知一個DW2.1 要求: 從DW中的指定的P和S,取出指定的位的值2.1.1 分析2.1.2 實現 1- 題目: 已知一個DW 有圖中所示一行信息&#xff0c;表示一個DW(…

常見的Web安全漏洞有哪些,Web安全漏洞常用測試方法介紹

Web安全漏洞是指在Web應用程序中存在的可能被攻擊者利用的漏洞&#xff0c;正確認識和了解這些漏洞對于Web應用程序的開發和測試至關重要。 一、常見的Web安全漏洞類型&#xff1a; 1、跨站腳本攻擊(Cross-Site Scripting&#xff0c;XSS)&#xff1a;攻擊者通過向Web頁面注入…

神經網絡基礎-神經網絡補充概念-41-梯度的數值逼近

概念 梯度的數值逼近是一種用于驗證梯度計算正確性的方法&#xff0c;它通過近似計算梯度來與解析計算的梯度進行比較。雖然數值逼近在實際訓練中不常用&#xff0c;但它可以用來檢查手動或自動求導的實現是否正確。 代碼實現 import numpy as np# 定義函數 f(x) x^2 def f…

養生的年輕人,自己給自己“治病”

【潮汐商業評論/原創】 “最近嘴周總長痘&#xff0c;應該是上火了&#xff0c;我這就下單點金銀花露喝。”對于長痘這件事&#xff0c;Anna的第一反應就是“內調”。 “針對性護膚和涂藥這些方法治標不治本&#xff0c;就算用完痘痘不泛紅且癟了&#xff0c;身體里的問題沒解…

上傳文件報413Request EntityToo Large錯誤解決辦法

產生這種原因是因為服務器限制了上傳大小 1、nginx服務器的解決辦法 修改nginx.conf的值就可以解決了 將以下代碼粘貼到nginx.conf內 client_max_body_size 20M 可以選擇在http{ }中設置&#xff1a;client_max_body_size 20m; 也可以選擇在server{ }中設置&#xff1a;cli…

金蝶軟件實現Excel數據復制分錄信息粘貼到單據體分錄行中

>>>適合KIS云專業版V16.0|KIS云旗艦版V7.0|K/3 WISE 14.0等版本<<< 實現Excel數據復制分錄信息粘貼到金蝶單據體分錄中,在采購訂單|采購入庫單|銷售訂單|銷售出庫單等類型單據中,以少量的必要字段在excel表格中按模板填列好,很方便快捷地復制到金蝶單據表體…

java+springboot+mysql銀行管理系統

項目介紹&#xff1a; 使用javaspringbootmysql開發的銀行管理系統&#xff0c;系統包含超級管理員、管理員、客戶角色&#xff0c;功能如下&#xff1a; 超級管理員&#xff1a;管理員管理&#xff1b;客戶管理&#xff1b;卡號管理&#xff08;存款、取款、轉賬&#xff09…

Vue 2混入

混入&#xff08;Mixins&#xff09;是一種在Vue組件中重用代碼的方式。它允許你定義一些可復用的選項對象&#xff0c;然后將這些選項合并到不同的組件中。混入可以用于在多個組件之間共享邏輯、方法、生命周期鉤子等。 示例&#xff1a; <!DOCTYPE html> <html>…

.net core介紹

.NET Core&#xff08;現在已經重命名為.NET 5及更高版本為.NET&#xff09;是一個跨平臺的開源開發框架&#xff0c;由Microsoft開發和維護。它旨在支持構建現代、高性能、可擴展的應用程序&#xff0c;可以運行在Windows、macOS和Linux等多個操作系統上。 以下是.NET Core的…

記一次微信小游戲滲透測試

本文轉載于&#xff1a;https://www.freebuf.com/vuls/371936.html 準備工作 因為目標站點只能用微信打開&#xff0c;微信又不能調試看代碼。這里推薦可以使用pc端舊版微信3.2.1&#xff0c;具體方法放鏈接里&#xff1a; https://blog.csdn.net/qq_45863248/article/details/…