首頁 > 科技週邊 > 人工智慧 > 如何在設備上運行羊駝毛

如何在設備上運行羊駝毛

尊渡假赌尊渡假赌尊渡假赌
發布: 2025-03-10 11:26:09
原創
500 人瀏覽過

How to Run Alpaca-LoRA on Your Device

隨著生成式 AI 的持續火熱,全球開發者紛紛抓住機遇,利用自然語言構建令人興奮的應用程序。最近,一種名為 ChatGPT 的工具尤其引人注目。

ChatGPT 是 OpenAI 開發的一種語言模型,旨在充當能夠進行類似人類對話的 AI 驅動的聊天機器人。雖然它是一個非常有用的工具,但並非沒有問題。 ChatGPT 不是開源的,這意味著源代碼無法訪問也無法修改。它也極其占用資源,這使得構建您自己的實現成為一個糟糕的解決方案。

這些問題催生了一系列 ChatGPT 的替代方案,例如 Alpaca-LoRA,它們能夠像 ChatGPT 一樣運行,但具有開源許可證且資源需求更少。

在本教程中,我們將重點關注 Alpaca-LoRA。我們將介紹它是什麼,在您的設備上運行它所需的先決條件以及執行它的步驟。

什麼是 Alpaca LoRA?

2023 年 3 月初,Eric J. Wang 發布了 Alpaca-LoRA 項目。這是一個包含代碼的項目,用於使用參數高效微調 (PEFT) 再現 Standford Alpaca 的結果;這是一個允許開發者使用 LoRA 微調基於 Transformer 的模型的庫。

大型語言模型的低秩自適應 (LoRA) 是一種用於加速大型模型訓練過程同時減少內存消耗的方法。

它的工作原理如下:

  • 凍結現有權重。將模型想像成一個複雜的相互連接的節點網絡(這些是“權重”)。通常,您會在訓練期間調整所有這些節點以改進模型。 LoRA 表示:“讓我們不要觸碰這些;讓我們保持原樣。”
  • 添加新權重。然後,LoRA 向此網絡添加一些新的、更簡單的連接(新權重)。
  • 僅訓練新權重。與其調整整個複雜的網絡,不如只專注於改進這些新的、更簡單的連接。

通過這樣做,您可以節省時間和計算機內存,同時仍然使您的模型在任務中表現更好。

LoRA 的優勢

LoRA 的優勢包括:

  • 可移植性 - 秩分解權重矩陣包含比原始模型少得多的可訓練參數;因此,訓練好的 LoRA 權重很容易移植,可以在樹莓派上運行。
  • 可訪問性 – 與傳統的微調相比,LoRA 已被證明可以顯著減少 GPU 內存使用量;這使得在 Tesla T4、RTX 3080 或甚至 RTX 2080 Ti 等消費級 GPU 上進行微調成為可能。

Alpaca:開源模型

另一方面,Alpaca 是一個基於大型語言模型 Meta AI (LLaMA) 的開源指令微調 AI 語言模型。它是由斯坦福大學的研究人員團隊開發的,旨在使大型語言模型 (LLM) 更易於訪問。

這便引出了 Alpaca-LoRA。

Alpaca-LoRA 模型是斯坦福 Alpaca 模型的一個資源消耗較少的版本,它利用 LoRA 來加快訓練過程,同時消耗更少的內存。

Alpaca-LoRA 先決條件

要在本地運行 Alpaca-LoRA 模型,您必須擁有 GPU。它可以是低規格的 GPU,例如 NVIDIA T4,也可以是像 4090 這樣的消費級 GPU。根據該項目創建者 Eric J. Wang 的說法,該模型“在一台 RTX 4090 上運行需要數小時”。

**注意:本文中的說明遵循 Eric J. Wang 在 Alpaca-LoRA 代碼庫中提供的說明。 *

四步運行 Alpaca-LoRA 的方法

步驟 1:創建虛擬環境(可選)

虛擬環境是用於存儲特定項目所需的與 Python 相關的依賴項的隔離容器。這有助於將不同項目所需的依賴項分開,從而更容易共享項目並減少依賴項衝突。

使用它來運行 Alpaca-LoRA 模型並非強制性要求,但建議這樣做。

要在 Windows 操作系統的命令提示符下創建虛擬環境,請運行以下命令:

<code>py -m venv venv</code>
登入後複製
登入後複製

這將在您當前的工作目錄中創建一個名為 venv 的虛擬環境。

**注意:您可以使用您想要的任何名稱來替換第二個 venv 為您首選的名稱。 *

在安裝任何依賴項之前,您必須激活虛擬環境。運行以下命令來激活您的虛擬環境:

<code>venv\Scripts\activate.bat</code>
登入後複製
登入後複製

當您不再使用虛擬環境時,請運行以下命令將其停用:

<code>deactivate</code>
登入後複製

現在您可以開始運行 Alpaca-LoRA 了。

步驟 2:設置

運行 Alpaca-LoRA 模型的第一步是從 GitHub 克隆代碼庫並安裝執行所需的依賴項。

使用以下命令安裝 GitHub 代碼庫:

<code>git clone https://github.com/tloen/alpaca-lora.git</code>
登入後複製

然後使用以下命令導航到您剛剛安裝的 alpaca-lora 代碼庫:

<code>cd alpaca-lora</code>
登入後複製

並運行以下命令安裝依賴項:

<code>pip install -r requirements.txt</code>
登入後複製

步驟 3:微調模型(可選)

alpaca-lora 代碼庫包含一個名為 finetune.py 的文件。 finetune.py 包含參數高效微調 (PEFT) 應用於 LLaMA 模型的簡單應用程序,以及其他內容。

如果您希望調整模型的超參數,則必須執行此文件,但這並非強制性要求。根據代碼庫作者的說法,“無需超參數調整,LoRA 模型產生的輸出與斯坦福 Alpaca 模型相當。進一步調整可能會實現更好的性能……”

以下是關於如何使用 finetune.py 文件的示例:

<code>python -m finetune.py \
    --base_model 'decapoda-research/llama-7b-hf' \
    --data_path 'yahma/alpaca-cleaned' \
    --output_dir './lora-alpaca' \
    --batch_size 128 \
    --micro_batch_size 4 \
    --num_epochs 3 \
    --learning_rate 1e-4 \
    --cutoff_len 512 \
    --val_set_size 2000 \
    --lora_r 8 \
    --lora_alpha 16 \
    --lora_dropout 0.05 \
    --lora_target_modules '[q_proj,v_proj]' \
    --train_on_inputs \
    --group_by_length</code>
登入後複製

步驟 4:運行模型/推理

alpaca-lora 代碼庫中還有一個名為 generate.py 的文件。執行 generate.py 將執行以下操作:

  • 從 Hugging Face 模型中心讀取基礎模型
  • 從 tloen/alpaca-lora-7b 讀取模型權重
  • 啟動一個 Gradio 界面,在其中對指定的輸入執行推理。

在撰寫本文時,用於訓練模型的最新 Alpaca-LoRA 適配器是 alpaca-lora-7b。這是在 2023 年 3 月 26 日使用以下命令進行的:

<code>py -m venv venv</code>
登入後複製
登入後複製

如果您希望使用不同的適配器,您可以通過使用指向您首選適配器目標的鏈接運行 generate.py 文件來實現。

<code>venv\Scripts\activate.bat</code>
登入後複製
登入後複製

總結

Alpaca-LoRA 是斯坦福 Alpaca 模型的一個資源消耗較少的版本。它通過利用大型語言模型的低秩自適應 (LoRA) 來實現此目標,這可以加快訓練過程,同時比原始 Alpaca 模型消耗更少的內存。

通過以下教程,了解有關大型語言模型 (LLM) 和生成式 AI 的更多信息:

  • Meta AI LLaMA 簡介
  • 如何使用 PyTorch 訓練 LLM:分步指南

以上是如何在設備上運行羊駝毛的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板