Gpt进阶(二):训练部署自己的ChatGPT模型(羊驼 Alpaca-LoRA) - 知乎

来源: Gpt进阶(二):训练部署自己的ChatGPT模型(羊驼 Alpaca-LoRA) – 知乎

参考

1 Alpaca-LoRA(羊驼模型):
github.com/tloen/alpaca
2 Chinese-alpaca-lora(开源的中文数据集)
github.com/LC1332/Chine
3 lora(git和论文参考):github.com/microsoft/Lo

本文重要介绍使用羊驼模型,在消费级显卡中,几小时内就可以完成Alpaca的微调工作

我们目前使用的都是openai的模型接口,出于数据安全的考虑,我们有时候也需要部署一个自己的AI模型,但GPT并没有开源相关模型的代码,想训练自己的模型,只能找到一些开源算法模型微调后,训练属于自己的gpt模型

LLM的开源社区贡献了很多可以给我们自己训练的模型。比如Meta开源了对标GPT3模型的LLaMA模型,斯坦福在其基础上进行微调,得到了Alpaca模型,也就是目前比较火的羊驼

lora:大型语言模型的低秩适配器;简单来说就是微调模型的另一种方式,来调试模型在具体场景下的准确度;假设模型适应过程中的权重变化也具有较低的“内在秩”,从而提出了低秩适应(low – rank adaptation, LoRA)方法。论文地址(github):github.com/microsoft/Lo

环境准备:

1 python环境

#网址:https://conda.io/en/latest/miniconda.html
wget https://repo.anaconda.com/miniconda/Miniconda3-py310_23.1.0-1-Linux-x86_64.sh #下载脚本
sh Miniconda3-py39_4.12.0-Linux-x86_64.sh # 执行
~/miniconda3/bin/conda init #初始化Shell,以便直接运行conda
conda create --name alpaca python=3.9  #关启shell,创建虚拟环境
conda activate alpaca #激活 

2 下载羊驼代码

git clone https://github.com/tloen/alpaca-lora.git #下载源代码
cd alpaca-lora
pip install -r requirements.txt #安装依赖
#测试pytorch
import torch
torch.cuda.is_available()

3 准备数据集

构造指令数据集结构,类似于instruct的方法

可参考使用开源的中文数据集:Chinese-alpaca-lora,链接开头已经给出,下载后放到项目根目录下

4 下载LLaMA基础模型

huggingface.co/decapoda

下载完成后放到根目录下/llama-7b-hf

训练模型

python finetune.py \
    --base_model 'llama-7b-hf' \
    --data_path './trans_chinese_alpaca_data.json' \
    --output_dir './lora-alpaca-zh'

其他具体参数可以git链接

模型训练后, lora-alpaca-zh 下就有模型生成了

模型推理

Inference (generate.py)

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

云端部署

使用kaggle部署模型,访问web交互

地址:kaggle.com/models

当然具体也可以部署到自己的服务器上。。。

最后,加入我们

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏