使用Alpaca-LoRa进行模型训练和部署

释放双眼,带上耳机,听听看~!
本文介绍了如何使用Alpaca-LoRa进行机器学习模型的训练和部署,以及在Google Colab平台上进行GPU加速训练的详细步骤。帮助读者快速了解Alpaca-LoRa项目,以及实现高效的模型训练和部署。

本文主要参考视频《AI大模型训练-第四课 | 模型微调与数据安全:部署属于你自己的“大”语言模型》,介绍如何使用 Alpaca-LoRa 训练和部署模型。在训练过程中使用租借的 A100,总耗时2小时43分41秒,共花费3.5美金。

前期准备

训练模型

下载源码 Test_Alpaca_Lora_with_Colab.ipynb,然后在 Colab 里打开。

在 代码执行程序 -> 更改运行时类型选择 GPU类型 -> A100,运行时规格 -> 高 RAM。

PS: 训练 Alpaca-Lora 按照官方说法是需要 28G 显存,A100 有 40G 显存,所以是足够了,费用是1.3美金/小时。

使用Alpaca-LoRa进行模型训练和部署

点击“连接”
使用Alpaca-LoRa进行模型训练和部署

下面具体介绍下代码,具体可以参考Test_Alpaca_Lora_with_Colab.ipynb

挂载 Google Drive

from google.colab import drive
drive.mount('/content/gdrive')

下载 Alpaca-Lora 项目

%cd /content/gdrive/MyDrive
!git clone https://github.com/xuwenhao/alpaca-lora.git
%cd alpaca-lora
!git pull

这里使用的是从 alpaca-lora Fork 出来的项目,好处是帮我们锁定了 python 部分三方库的版本,保证项目的正常运行。具体改动如下:

bitsandbytes==0.37.2
peft==0.2.0
transformers== 4.29.2

安装依赖

!pip install -r requirements.txt

安装和使用机器训练监控工具 wandb

!pip install wandb

# 登录 wandb,会要求输入 Weights and Biases 的 Key,请提前申请好
import wandb
wandb.login()

训练模型

!python finetune.py 
    --base_model 'huggyllama/llama-7b' 
    --data_path './alpaca_data.json' 
    --output_dir './lora-alpaca-20230624-01' 
    --batch_size 128 
    --micro_batch_size 50 
    --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 
    --wandb_project 'mactalk-demo' 
    --wandb_run_name 'alpaca-20230624' 
    --wandb_log_model 'true' 
    --wandb_watch 'false'

base_model: 在这里选择的预训练模型是 llama-7b。

data_path: 微调使用的数据地址。Alpaca 用的指令数据量是52K,利用 text-davinci-003 生成。

output_dir: 模型输出地址,这里可以任意修改。

wandb_project: wandb 项目名称,会在 wandb 后台显示。

wandb_run_name: wandb 运行名称,会在 wandb 后台显示。

训练过程:

使用Alpaca-LoRa进行模型训练和部署

wandb 监控数据:

使用Alpaca-LoRa进行模型训练和部署

部署模型

可以在 Colab 直接部署使用。

!python generate.py 
    --load_8bit 
    --base_model 'huggyllama/llama-7b' 
    --lora_weights './lora-alpaca-20230624-01' 
    --share_gradio

PS: 需要加上 share_gradio,不然无法输出公共URL进行使用。该单机部署只能作为 Demo 使用。

你会看到日志输出:

Running on public URL: xxxx.gradio.live ,点击后就可以在直接使用了

使用Alpaca-LoRa进行模型训练和部署

使用Alpaca-LoRa进行模型训练和部署

使用Alpaca-LoRa进行模型训练和部署

使用Alpaca-LoRa进行模型训练和部署

参考资料

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

肺癌预测系统数据处理

2023-11-24 14:02:14

AI教程

深度残差网络(ResNet)解析和PyTorch实现

2023-11-24 14:07:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索