在本地机器上训练和运行斯坦福Alpaca模型指南

在您自己的机器上训练和运行斯坦福Alpaca

LLaMA是某机构研究发布的一个新的开源语言模型,其性能可与闭源模型相媲美。与Stable Diffusion类似,该模型公开发布后,引发了大量的实验和创新。正如Simon Willison所言,LLaMA易于在自己的硬件上运行,规模足够大以发挥作用,并且足够开源以供修改。

LLaMA功能强大,但它并非为回答问题而构建。它的功能更像是一个高级版的自动补全工具,而不是一个对话机器人。这就是斯坦福大学Alpaca的用武之地。Alpaca是LLaMA的微调版本,可以像ChatGPT一样响应指令。并且,和LLaMA一样,它是开源的。

问题是,Alpaca的模型权重尚未发布,因此您无法对其进行修改。不过,我们确实拥有了复现它所需的所有组成部分:LLaMA权重、训练数据和训练脚本。

本文将展示如何训练Alpaca,以便您可以在自己的机器上对其进行修改。

注意:LLaMA以及任何基于LLaMA构建的模型仅用于研究目的。您不能将其用于任何商业用途。

先决条件

  1. LLaMA权重。它们仅可用于研究用途。要申请访问权限,请填写此某机构研究表格。
  2. GPU机器。您需要一台配备一个或多个80GB A100 GPU的Linux机器。如果使用更多GPU的机器,速度会更快——我们使用了四个。我们在某中心的云平台上取得了成功。您可以按照我们这里的说明操作。

步骤 1: 克隆 Alpaca 仓库

我们创建了一个添加了Cog配置文件的Alpaca仓库分支,该文件将为您设置所有依赖项。

通过SSH登录到您的GPU实例。运行以下命令克隆仓库:

git clone https://github.com/replicate/cog_stanford_alpaca
cd cog_stanford_alpaca

步骤 2: 转换 LLaMA 权重

LLaMA权重目前仅可用于研究用途。要申请访问权限,请填写此某机构研究表格。

将您下载的权重放入名为unconverted-weights的文件夹中。文件夹结构应大致如下所示:

unconverted-weights
├── 7B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   └── params.json
├── tokenizer.model
└── tokenizer_checklist.chk

使用以下命令将权重从PyTorch检查点格式转换为与transformers库兼容的格式:

cog run python -m transformers.models.llama.convert_llama_weights_to_hf \
  --input_dir unconverted-weights \
  --model_size 7B \
  --output_dir weights

您最终的目录结构应如下所示:

weights
├── llama-7b
└── tokenizer

步骤 3: 训练模型

启动训练:

cog run ./train_model.sh

在四个A100上,这大约需要一个小时半小时,所以您可能需要在模型自我“编程”时去处理其他编程工作。

步骤 4: 运行模型

训练完成后,您可以运行Alpaca:

$ cog predict -i prompt="Tell me something about alpacas.

Alpacas are a species of South American camelid and are closely related to llamas. They are smaller than llamas and have a finer fleece, which is used to make clothing and other crafts. Alpacas are social animals that live in herds and can come in two colors: white and brown. They are very easy to take care of and require minimal grooming.

后续步骤

以下是一些关于接下来可以做什么的想法:

  • 针对特定任务,进一步微调模型或约束解码器。
  • 尝试与模型交互的不同界面。可以在哪些场景与它对话?
  • 将模型推送到某中心以在云端运行。如果您想要一个API来构建界面,或者进行大规模并行评估,这将非常方便。您需要将其设为私有,以免权重公开。

请记住,您只能将Alpaca用于非商业研究。最终,我们期望此类模型将以更宽松的许可证发布,从而允许它们用于各种用途——聊天机器人、编码助手等等。

开源语言模型才刚刚起步,我们迫不及待想看到您构建的作品。

我们将发布更多关于修改开源语言模型的指南。关注我们在Twitter上的账号以保持同步。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值