• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 對話式人工智能

    選擇大型語言模型定制技術

    ?

    大語言模型(LLM)正在成為企業不可或缺的工具,用于改善他們的運營、客戶互動和決策過程。然而,由于行業特定的術語、領域專業知識或獨特的要求,現成的 LLM 往往無法滿足企業的特定需求。

    這就是自定義 LLM 發揮作用的地方。

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

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

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

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

    選擇 LLM 定制技術

    與下游任務準確性要求相比,您可以通過數據集大小要求和定制過程中的培訓工作量之間的權衡來對技術進行分類。

    Diagram shows four customization tools with a table of techniques, use cases, and examples.
    圖 1。 NVIDIA NeMo 提供的 LLM 定制技術

    圖 1 顯示了以下流行的定制技術:

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

    想要了解更多信息,請參閱 大語言模型簡介:提示工程和 P-調優

    快速工程

    即時工程包括在推理時通過展示和講述示例進行定制。LLM 提供了示例提示和完井,在新提示前準備的詳細說明,以生成所需的完成。模型的參數不變。

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

    思維鏈推理:正如人類將大問題分解為小問題并通過思維鏈有效地解決問題一樣,思維鏈推理是一種高效的工程技術,可以幫助 LLM 提高在多步驟任務中的性能。這包括將問題分解為更簡單的步驟,每個步驟都需要深思熟慮的推理。這種方法適用于邏輯、算術和演繹推理任務。

    系統提示:這種方法包括在用戶提示之外添加系統級提示,以向 大語言模型 (LLMs) 提供具體和詳細的指示,使其按預期操作。系統提示可以被認為是 LLM 的輸入,以生成其響應。系統提示的質量和特異性會對 LLM 響應的相關性和準確性產生重大影響。

    及時學習

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

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

    Diagram shows that prompt learning prepends trained virtual tokens to prompt tokens resulting in more accurate LLM completions for the specific use case the virtual tokens were trained for.
    圖 2:適用于 LLM 的即時學習

    提示調整和 p 調整使用虛擬提示嵌入,而不是以手動或自動方式選擇離散文本提示,您可以通過梯度下降進行優化。這些虛擬令牌嵌入的存在與構成模型詞匯表的離散、硬或真實令牌形成了鮮明對比。虛擬令牌是維度等于每個真實令牌嵌入的維度的純 1D 向量。在訓練和推理中,根據模型配置中提供的模板,在離散的令牌嵌入之間插入連續的令牌嵌入。

    提示調整:對于預訓練的 LLM,軟提示嵌入被初始化為大小為 total_virtual_tokens 的 2D 矩陣 Xhidden_size。每個需要快速調整的任務都有其自己的相關 2D 嵌入矩陣。在訓練或推理過程中,任務不共享任何參數。 NeMo 框架的即時調優實現基于The Power of Scale for Parameter-Efficient Prompt Tuning

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

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

    參數有效微調

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

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

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

    適配器學習:在核心 transformer 架構的層之間引入了小型前饋層。只有這些層(適配器)在微調時被訓練用于特定的下游任務。適配器層通常使用向下投影來投影輸入?h?到一個低維空間,然后是一個非線性激活函數,以及一個具有 W_up. 殘差連接將其輸出添加到輸入,從而得到最終形式。

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

    適配器模塊通常進行初始化,以使適配器的初始輸出始終為 ze ROS,以防止添加此類模塊導致原始模型性能下降。NeMo 框架的適配器實現基于 Parameter-Efficient Transfer Learning for NLP

    IA3:與適配器相比,IA3 添加的參數更少。適配器只需使用學習向量來縮放 transformer 層中的隱藏表示。這些縮放參數可以針對特定的下游任務進行訓練。學習的矢量 lklvlff,分別用于重新縮放注意力機制中的鍵和值以及位置前饋網絡中的內部激活。這項技術還使得混合任務批次成為可能,因為批次中的每個激活序列都可以單獨且廉價地乘以其相關的學習任務向量。NeMo 框架的 IA3 實現基于 Few-Shot Parameter-Efficient Fine-Tuning is Better and Cheaper than In-Context Learning

    Diagram shows LoRA fine-tuning achieves parameter efficiency through frozen pretrained weights and reduced dimension layers.
    圖 3。用于參數有效微調的 LoRA

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

    NeMo 框架的 LoRA 實現基于 Low-Rank Adaptation of Large Language Models。要了解如何將 LoRa 模型應用于提取 QA 任務的更多信息,請參閱 LoRA 教程 筆記本。

    微調

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

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

    Diagram shows supervised fine-tuning updates the pretrained LLM weights using instruction following datasets blended in varying proportions by tasks to help improve LLM performance on unseen tasks.
    圖 4。有監督的微調,帶有數據后的標簽說明

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

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

    利用人類反饋的強化學習:人類反饋強化學習(RLHF)是一種定制技術,使得 LLM 能夠更好地與人類價值觀和偏好保持一致。它使用強化學習使模型能夠根據收到的反饋調整其行為。這涉及一個三階段的微調過程,使用人類偏好作為損失函數。如前一節所述,用指令微調的 SFT 模型被認為是 RLHF 技術的第一階段。

    Diagram shows reinforcement learning with human feedback is a three-stage process that leverages a reward model trained on human preferences to provide feedback to a supervised fine-tuned LLM using reinforcement learning.
    圖 5。使用強化學習使 LLM 行為與人類偏好相一致

    在 RLHF 的第 2 階段中,SFT 模型被訓練為獎勵模型(RM)。一個由提示和多個反應組成的數據集被用于訓練 RM 來預測人類偏好。

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

    雖然 RLHF 會產生強大的 LLM,但缺點是這種方法可能會被濫用和利用,產生不想要的或有害的內容。 NeMo 方法使用 PPO 價值網絡作為評論家模型來引導 LLM 避免產生有害內容。研究界正在積極探索其他方法,以引導 LLM 采取適當的行為,并減少 LLM 虛構事實時產生的毒性或幻覺。

    自定義 LLM

    這篇文章介紹了各種模型定制技術以及何時使用它們。其中許多方法都由 NVIDIA NeMo 提供。

    NeMo 為使用 3D 并行技術進行訓練提供了加速的工作流程。它提供了多種定制技術的選擇,并針對語言和圖像應用程序的大規模模型的規模推斷進行了優化,具有多 GPU 和多節點配置。

    今天就下載 NeMo 框架,并在您喜歡的內部部署和云平臺上定制預先訓練的 LLM。

    ?

    +2

    標簽

    人人超碰97caoporen国产