如何仅需几个步骤在您的设备上运行Alpaca-LoRA?

译者 | 布加迪

审校 | 重楼

如何仅需几个步骤在您的设备上运行Alpaca-LoRA?

ChatGPT是一种人工智能(AI)语言模型,近几个月备受关注。它有两个流行的版本GPT-3.5GPT-4GPT-4GPT-3.5的升级版,生成的答案更准确。但是ChatGPT存在的主要问题是它不是开源的,也就是说,不允许用户查看和修改其源代码。这导致许多问题,比如定制、隐私和AI民主化。

我们需要这样一种AI聊天机器人可以像ChatGPT一样工作,但又是免费开源的,而且消耗的CPU资源更少。本文介绍的Alpaca LoRA就是这样一种AI模型。看完本文后,就比较了解,而且可以使用Python在本地机器上运行它。下面不妨先讨论一下什么是Alpaca AoRA

Alpaca LoRA的定义

Alpaca是由斯坦福大学的研究小组开发的一种AI语言模型。它使用Meta的大规模语言模型LLaMA。它使用OpenAIGPTtext- davincii -003来微调拥有70亿个参数的LLaMA模型。它可供学术和研究界免费使用计算资源的要求很低

该团队从LLaMA 7B模型入手,用1万亿token对其进行预训练。他们从175个由人工编写的指令输出对开始,ChatGPTAPI使用这些指令输出对生成更多对。他们收集了52000个样本对话,用来进一步微调LLaMA模型。

LLaMA模型有几个版本,即70亿个参数、130亿个参数、300亿个参数650亿个参数Alpaca可扩展到70亿个参数130亿个参数300亿个参数650亿个参数的模型

如何仅需几个步骤在您的设备上运行Alpaca-LoRA?

1 Aplaca 7B架构

Alpaca- LoRAStanford Alpaca的小耗电量更少,可以在Raspberry Pie等低端设备上运行。Alpaca-LoRA使用低秩自适应LoRA)来大型模型的训练,同时消耗更少的内存。

Alpaca LoRA的Python实现

我们将创建一个Python环境在本地机器上运行Alpaca-Lora需要一个GPU来运行这个模型。它无法CPU上运行或者输出很缓慢)。如果您使用70亿个参数模型,需要至少12GB的内存。如果使用130亿参数或300亿参数模型,需要更高的内存。

如果您没有GPU,可以在Google Colab中执行相同的步骤。文末附上了Colab链接。

我们将遵循Alpaca-LoRA的这个GitHub代码存储

1. 创建虚拟环境

我们将在虚拟环境中安装所有库。这一步不是强制性的,而是推荐。以下命令适用于Windows操作系统。(这一步对于Google Colab来说并非必需)。

创建venv的命令:
$ py -m venv
激活它的命令:
$ .venvScriptsactivate
禁用它的命令:
$ deactivate

2. 克隆GitHub代码存储库

现在,我们将克隆Alpaca LoRA的代码存储库

$ git clone https://github.com/tloen/alpaca-lora.git
$ cd .alpaca-lora
安装库:
$ PIP install -r .requirements.txt

3.训练

名为finettune.py的python文件含LLaMA模型的超参数,比如批处理大小、轮次数量和学习率LR,您可以调整这些参数。运行finetune.py不是必须的。否则,执行器文件从tloen/alpaca-lora-7b读取基础模型和权重。

$ python 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

4. 运行模型

名为generate.py的python文件将从tloen/alpaca-lora-7b读取Hugging Face模型和LoRA权重。它使用Gradio运行用户界面,用户可以在文本框中写问题,并在单独的文本框中接收输出。

注意:如果您Google Colab中进行处理,请在generate.py文件的launch()函数中标记share=True。它将在公共URL上运行界面。否则,它将在localhost http://0.0.0.0:7860上运行

$ python generate.py --load_8bit --base_model 'decapoda-research/llama-7b-hf' --lora_weights 'tloen/alpaca-lora-7b'

输出

如何仅需几个步骤在您的设备上运行Alpaca-LoRA?

它有两个URL,一个是公共的,另一个在本地主机上运行。如果您使用Google Colab,公共链接可以访问。

5. Docker化应用程序

如果想要将应用程序导出到某个地方或面临一些依赖问题,可以在Docker容器中Docker化应用程序Docker是一个创建应用程序不可变映像的工具。然后可以共享该映像,将其转换回应用程序,该应用程序可在容器中运行,拥有所有必要的库、工具、代码和运行时环境您可以从这里下载Docker for Windows:https://docs.docker.com/desktop/install/windows-install/。

注意如果您使用Google Colab,可以跳过此步骤。

构建容器映像:

$ docker build -t alpaca-lora

运行容器:

$ docker run --gpus=all --shm-size 64g -p 7860:7860 -v ${HOME}/.cache:/root/.cache --rm alpaca-lora generate.py 
 --load_8bit 
 --base_model 'decapoda-research/llama-7b-hf' 
 --lora_weights 'tloen/alpaca-lora-7b'

它将在https://localhost:7860上运行您的应用程序。

Alpaca-LoRA用户界面

现在,我们已让Alpaca-LoRA运行起来接下来我们将探讨它的一些特点,让它为我们编写些东西。

如何仅需几个步骤在您的设备上运行Alpaca-LoRA?

图2. Alpaca-LoRA用户界面

提供了类似ChatGPT的UI,我们可以在其中提出问题,它会相应地回答问题。它还接受其他参数,比如温度、Top p、Top k、Beams和Max Tokens。基本上,这些是在评估时使用的生成配置。

有一个复选框Stream Output。如果勾选该复选框,聊天机器人将每次回复一个token(即逐行写入输出,类似ChatGPT如果不勾选该选项,它将一次写入。

不妨向它提一些问题。

问题1:写一段Python代码求一个数的阶乘。

输出

如何仅需几个步骤在您的设备上运行Alpaca-LoRA?

图3. 输出-1

问题2:将“KDnuggets is a leading site on Data Science, Machine Learning, AI and Analytics.翻译成法语

输出

如何仅需几个步骤在您的设备上运行Alpaca-LoRA?

图4. 输出-2

与ChatGPT不同,它也有一些限制。它可能无法为您提供最新的信息,因为它没有联网。此外,它可能会向社会弱势群体传播仇恨和错误信息。尽管如此,它仍是一款出色的免费开源工具,计算需求较低。对研究人员和学者开展道德AI和网络安全活动大有助益

谷歌Colab链接

https://colab.research.google.com/drive/1t3oXBoRYKzeRUkCBaNlN5u3xFvhJNVVM?usp=sharing

原文标题:Learn How to Run Alpaca-LoRA on Your Device in Just a Few Steps,作者:Aryan Garg

文章版权声明

 1 原创文章作者:1994,如若转载,请注明出处: https://www.52hwl.com/82459.html

 2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈

 3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)

 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年7月17日 上午10:58
下一篇 2023年7月17日 上午10:59