基于autodl与llama-factory微调llama3(一)
基于本地数据集微调llama3
一、微调数据集demo
在微调开始前,我们需要为微调模型创建我们的数据集,在首先采用PICO语料库作为数据集的基础上,我们基于先前介绍过的json代码与先前在阿里千帆平台上的初步尝试,直接利用先前构造的数据样式,进行模型微调。后续将具体介绍导入数据集与微调方式,对于我们初次的数据集demo,出现了数据集无效的样式。
起初我们认为是数据集的json组成有问题,因此进行了较多资料与帮助文档的查询——最后发现问题所在为,我们的input不可为空,instruction才是我们需要给他传输的prompt描述,而文献应该作为我们的output,了解真相后我们实在是懊恼不已,因为我们在别的方向寻找了非常多的方法,却没有想过数据的格式并没错,只是数据填写有问题。
二、基于本地数据集微调方式
在此处介绍完微调方式后,我将不再在后续的CSDN博客中描述数据集微调方式,只会具体展示每一次微调所进行的调优工作。
1.首先传入我们自己的数据集至autodl中,传入的位置目录为:LLaMA-Factory/data
传入方式为,点击该红色方框内的按钮,传入本地文件即可。
2.传入文件后,我们可以看到该目录下有一个名为dataset_info.json文件,我们需要右键-打开方式-编辑器来将其打开,然后基于我们的数据样式,将具体的数据集名称,数据集文件名以及具体的列组成来添加至我们的数据集说明文件中。要注意:此处要关注{ }的格式,防止出现错误。
3.导入完成后,我们可以利用llama-factory的可视化来实现模型微调,具体方式为,先利用官网打开可视化的指令:llamafactory-cli webui
输入后会出现如下提示,表示开启端口成功。
PS:千万要在LLama-Factory目录下运行,否则后续会无法选择到对应的数据集!!!
4.我们利用autodl提供的自定义服务,可以将本地端口与实例端口进行隧道代理,进而我们能够在本机的7860端口访问可视化界面。
首先点击自定义服务下载下方的压缩包。
下载完并解压后,我们直接运行.exe文件,便可以进行SSH连接,SSH连接的账号和密码已经在autodl的实例界面提供了,直接点击就可以复制粘贴,同时我们指明要开放的端口即可。
5.打开本地的localhost:7860,便可以看到如下图的可视化界面。
6.在本界面进行具体的微调即可,可以在dataset中选取我们的数据集,上述的模型选择我们选择自定义的custom,参数的话我们目前指定学习率为2e-5,epoch为3,注意我们通过研究,决定采用在LoRA基础上进一步优化的DoRA进行微调,既然DoRA的效果比LoRA会更好,而LLama-factory又为我们提供了该功能,那我们为什么不用呢是吧?
7.在一切数据与超参数指定完毕后,便可以点击下方的start运行了,具体的运行结果与loss的变化等也可以在本页面反应。
至此初次微调的尝试结束。
更多推荐
所有评论(0)