隨著生成式 AI 的持續火熱,全球開發者紛紛抓住機遇,利用自然語言構建令人興奮的應用程序。最近,一種名為 ChatGPT 的工具尤其引人注目。
ChatGPT 是 OpenAI 開發的一種語言模型,旨在充當能夠進行類似人類對話的 AI 驅動的聊天機器人。雖然它是一個非常有用的工具,但並非沒有問題。 ChatGPT 不是開源的,這意味著源代碼無法訪問也無法修改。它也極其占用資源,這使得構建您自己的實現成為一個糟糕的解決方案。
這些問題催生了一系列 ChatGPT 的替代方案,例如 Alpaca-LoRA,它們能夠像 ChatGPT 一樣運行,但具有開源許可證且資源需求更少。
在本教程中,我們將重點關注 Alpaca-LoRA。我們將介紹它是什麼,在您的設備上運行它所需的先決條件以及執行它的步驟。
2023 年 3 月初,Eric J. Wang 發布了 Alpaca-LoRA 項目。這是一個包含代碼的項目,用於使用參數高效微調 (PEFT) 再現 Standford Alpaca 的結果;這是一個允許開發者使用 LoRA 微調基於 Transformer 的模型的庫。
它的工作原理如下:
通過這樣做,您可以節省時間和計算機內存,同時仍然使您的模型在任務中表現更好。
LoRA 的優勢包括:
另一方面,Alpaca 是一個基於大型語言模型 Meta AI (LLaMA) 的開源指令微調 AI 語言模型。它是由斯坦福大學的研究人員團隊開發的,旨在使大型語言模型 (LLM) 更易於訪問。
這便引出了 Alpaca-LoRA。
Alpaca-LoRA 模型是斯坦福 Alpaca 模型的一個資源消耗較少的版本,它利用 LoRA 來加快訓練過程,同時消耗更少的內存。
要在本地運行 Alpaca-LoRA 模型,您必須擁有 GPU。它可以是低規格的 GPU,例如 NVIDIA T4,也可以是像 4090 這樣的消費級 GPU。根據該項目創建者 Eric J. Wang 的說法,該模型“在一台 RTX 4090 上運行需要數小時”。
**注意:本文中的說明遵循 Eric J. Wang 在 Alpaca-LoRA 代碼庫中提供的說明。 *
虛擬環境是用於存儲特定項目所需的與 Python 相關的依賴項的隔離容器。這有助於將不同項目所需的依賴項分開,從而更容易共享項目並減少依賴項衝突。
使用它來運行 Alpaca-LoRA 模型並非強制性要求,但建議這樣做。
要在 Windows 操作系統的命令提示符下創建虛擬環境,請運行以下命令:
<code>py -m venv venv</code>
這將在您當前的工作目錄中創建一個名為 venv 的虛擬環境。
**注意:您可以使用您想要的任何名稱來替換第二個 venv 為您首選的名稱。 *
在安裝任何依賴項之前,您必須激活虛擬環境。運行以下命令來激活您的虛擬環境:
<code>venv\Scripts\activate.bat</code>
當您不再使用虛擬環境時,請運行以下命令將其停用:
<code>deactivate</code>
現在您可以開始運行 Alpaca-LoRA 了。
運行 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>
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>
alpaca-lora 代碼庫中還有一個名為 generate.py 的文件。執行 generate.py 將執行以下操作:
在撰寫本文時,用於訓練模型的最新 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 的更多信息:
以上是如何在設備上運行羊駝毛的詳細內容。更多資訊請關注PHP中文網其他相關文章!