LoRA(低秩適應) 與傳統的完整模型訓練相比,LoRA(低秩適應)
提供了一種更有效的微調大型語言模型 (LLM) 的方法。 LoRA 沒有調整所有模型權重,而是引入了小型可訓練矩陣,同時保持原始模型的權重不變。這大大減少了運算需求和記憶體使用量,使其成為資源受限環境的理想選擇。LoRA 的工作原理:
LoRA 利用低秩矩陣分解。 它假設微調期間所需的權重調整可以由低秩矩陣表示。這些矩陣明顯小於原始模型權重,從而顯著提高效率。 過程涉及:
使用 LoRA 的優點:
讓我們來探索一下程式碼實作。
首先,安裝所需的庫:
<code class="language-bash">pip install transformers peft datasets torch</code>
transformers
這將安裝 peft
、datasets
、torch
和
<code class="language-bash">pip install transformers peft datasets torch</code>
腳本示範了核心步驟:載入基礎模型、應用 LoRA、準備資料集、定義訓練參數以及啟動訓練流程。 請注意,為了簡潔起見,省略了 compute_loss
類別中的 CustomTrainer
方法(對於訓練至關重要),但通常涉及計算交叉熵損失。 保存微調模型也沒有明確顯示,但需要使用 trainer.save_model()
方法。 請記得根據您選擇的模型架構調整 target_modules
中的 LoraConfig
。 這個簡化的範例清楚地概述了 LoRA 的應用。
以上是來認識 LoRA:比法學碩士的完整培訓程序更聰明、更快、更便宜的人工智慧駭客!的詳細內容。更多資訊請關注PHP中文網其他相關文章!