随着生成式 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中文网其他相关文章!