微调Llama3模型记录
为了评估llama3模型微调的效果尝试使用一些特定风格的语料数据微调llama3模型这里做一下简单记录。一、模型及数据准备原生的Meta-Llama-3-8B-Instruct模型对中文效果并不是很好我这里直接去huggingface上下载的llama3的中文微调版作为原始模型。中文微调版模型在正常的中文对话情景表现明显优于原生llama3这里想在此基础上进一步微调使模型在特定语境或者风格下能有预期表现。这里使用的是弱智吧的问答数据进行微调数据内容如下[ { instruction: 只剩一个心脏了还能活吗, output: 能人本来就只有一个心脏。 }, { instruction: 爸爸再婚我是不是就有了个新娘, output: 不是的你有了一个继母。\新娘\是指新婚的女方而你爸爸再婚他的新婚妻子对你来说是继母。 }, { instruction: 樟脑丸是我吃过最难吃的硬糖有奇怪的味道怎么还有人买, output: 樟脑丸并不是硬糖而是一种常见的驱虫药不能食用。虽然它的味道可能不太好但是由于其有效的驱虫效果所以仍然有很多人会购买。 }, { instruction: 马上要上游泳课了昨天洗的泳裤还没干怎么办, output: 游泳时泳裤本来就会湿不用晾干。 }, ...二、使用Llama-Factory微调这里使用的是Llama-Factory项目进行微调过程。步骤如下1.修改数据文件。将弱智吧问答语料ruozhiba_qa.json文件放到Llama-Factory的data目录下。注意这里直接放的话会报错因为这个json文件跟项目要求的格式不一致里面缺少‘input’键所以需要稍微处理一下贴一下我的处理脚本。处理好后将新的文件另存为ruozhiba_qa.json然后放到Llama-Factory的data目录。import json with open(ruozhiba_qa.json,r,encodingutf-8) as f: data json.load(f) for item in data: item[input] with open(newdata.json,w,encodingutf-8) as r: json.dump(data, r,ensure_asciiFalse)2.修改配置文件。修改data目录下的dataset_info.json文件按照里面其他数据集的格式将‘ruozhiba_qa.json’添加进去如图所示再修改examples/lora_single_gpu目录下的llama3_lora_sft.yaml文件。这里是一些训练参数如果你用多卡就修改lora_multi_gpu下的对应文件。将model_name_or_path改为你的llama3模型地址其他训练参数根据你的实际算力等情况修改。3.开始训练。在Llama-Factory目录下运行CUDA_VISIBLE_DEVICES0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml然后就开始训练了等他训练完成就好了训练好的模型在save目录下存放。三、使用效果运行这个运行配置文件也要根据你的模型名称修改CUDA_VISIBLE_DEVICES0 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml效果如图感觉还是达到了预期效果。回答的比原来更加干脆没有那种‘被耍’的傻傻的感觉了。Over
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2408514.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!