自从上一年出现的ChatGPT爆火之后,越来越多人开始期待能够训练一个自己的模型。但是由于OpenAI没有开源ChatGPT模型的代码,只能够调用其提供的API接口,因此想要训练自己的聊天机器人困难重重。
幸好,针对LLM的开源社区贡献了很多可以供我们自己训练的模型。比如Meta开源了对标GPT3模型的LLaMA模型,而斯坦福在其基础上,利用7B LLaMA模型和52K指令数据上进行微调,得到了Alpaca模型。并在评估中,其效果和ChatGPT模型类似。
但是Alpaca对于普通的用户而言,还是难以进行训练。因此又出现了Alpaca-Lora,让我们能够在消费级显卡中,几小时内就可以完成Alpaca的微调工作。
要训练自己的模型,首先要准备好数据集。这里面我们可以使用类似于instruct的方法,构造指令数据集结构:
比如我们可以直接使用开源的中文数据集:Chinese-alpaca-lora
https://github.com/LC1332/Chinese-alpaca-lora/blob/main/data/trans_chinese_alpaca_data.json
我们可以直接使用Alpaca-LoRA 的代码
git clone https://github.com/tloen/alpaca-lora.git
把刚刚的数据集放到文件夹alpaca-lora目录下。
构造对应的python环境,同时安装依赖库:
conda create -n alpaca python=3.9
conda activate alpaca
cd alpaca-lora
pip install -r requirements.txt
保证pytorch版本可用,如果下面命令如果输出是True,则说明pytorch安装成功:
import torch
torch.cuda.is_available()
在训练开启之前,我们需要先下载LLaMA基础模型,可以去到huggingface上进行下载:
https://huggingface.co/decapoda-research/llama-7b-hf/tree/main
由于国内有限制,只能一个一个把所有的文件进行下载,然后放到目录llama-7b-hf下:
开启训练模型,执行下面命令:
python finetune.py \
--base_model 'llama-7b-hf' \
--data_path './trans_chinese_alpaca_data.json' \
--output_dir './lora-alpaca-zh'
模型训练后,就可以看到 lora-alpaca-zh 有模型生成了
在这里,可以直接利用kaggle部署模型。
首先把对应的模型、数据集和代码放到kaggle notebook中:
可以像我上面的部署一样,或者可以直接复制我的kaggle代码:
同时需要设置GPU,打开网络:
保存代码后,点击 Open logs in Viewer,等待一定时间:
打开日志中生成的网页,就可以得到对话网页了:
比如可以让它找出下面文章的主旨:
当然,这个网页可以在手机上运行的,这样就可以随时随地的和它进行对话了。
好了,以上就是所有教程的内容了,我是leo,我们下期再见~
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。