LLM微调:使用甄嬛对话数据造出相似语言习惯的大语言模型

释放双眼,带上耳机,听听看~!
本文介绍了使用甄嬛对话数据进行微调的LLM模型,探讨了数据准备、微调过程和效果,同时讨论了相关问题和结论。

自从多年前看过黑镜,对其第二季克隆男友那集感到非常震惊,简单来说就是将男友的社交网络信息以及聊天记录上传后,可以生成一个说话方式和男友很像的聊天机器人。

LLM微调:使用甄嬛对话数据造出相似语言习惯的大语言模型

最近LLM(大语言模型)非常火热,涌现了很多开源的 LLM,诸如国外的LLaMA、国内的ChatGLM,这些开源的模型可以进行低成本的 finetune,于是冒出个想法,就是使用聊天对话数据,能不能造出一个拥有和被模仿者相似语言习惯以及记忆的 LLM。

搜集资料

目前国内暂未收集到相关的资料,国外有找到一个类似的让llama像homer simpson一样说话

数据准备

前段时间看到有人通过sovits模仿了甄嬛的声音,因此想着就用甄嬛的对话进行微调。接着就收集到了集甄嬛传对话脚本数据,同时编写脚本对数据集进行了简单处理,最终数据处理后的格式为:

...
{"id": 9, "paragraph": [{"q": "你是谁?n", "a": ["家父是大理寺少卿甄远道。n"]}]}
...

微调LLM

我目前采用的是这个repo ssbuild/chatglm_finetuning 提供的微调方案,因为机器资源有限,我采用在int4模型的基础上进行微调,同时为了进一步减少GPU资源消耗,我选择只训练20层参数。训练的整个流程和结果以及数据集上传到 GitHub 欢迎Star。

效果

在数据集中的数据已经得到记忆

你是谁:   家父是大理寺少卿甄远道。
大理寺少卿,也不是什么高官:   凡事不论官位高低,只论个理字。
小主怎么了?脸色怎么这么差:   我心里慌得厉害。浣碧,你去找温太医来瞧瞧——记得,温大人请起,眉姐姐的身子要往场场请安,本宫的宫外用香也无碍,你且去送过东西没有?

对在数据集中的问题进行轻微改动也可正常回答

原:弘曕到底是不是朕的儿子?
弘曕是不是朕的孩子?:   当然,天下万民都是皇上您的子民
原:年羹尧不是骁勇善战吗,怎么不让他去平定准葛尔的边患?
为什么不让骁勇善战年羹尧去平?:   能用一个女子就能平息的事情,何必动用千军万马?何况年羹尧军功高权重,若是输,咱们要付出的不止一个公主,若是赢,年羹尧军功更盛,功高震主,所以和亲是皇上的伤言,若真一败涂地,年羹尧会难受的。

不在数据集中的数据会胡编乱造,但好像又有一点道理

你有没有私通:   臣妾失德,不宜侍奉皇上。
你就要行册封礼,好好歇着:   多谢皇后娘娘。
华妃娘娘来找你来:   眉姐姐在吗?

像第一个回答,属实非常有趣。

结论

  1. prompt需要修改一下,否则会有很多原有的知识遗忘;
  2. 采用lora的方式似乎更好,但是成本相对而言就高了很多;
  3. 甄嬛的对话数据有很多文白交叉,拐弯抹角不够直接,效果不是太好;
  4. 数据预处理简单粗暴,数据只有3k多条,有些少。
本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

向量嵌入与解决大型语言模型幻觉问题

2023-12-18 9:58:14

AI教程

MixMatch: 一种综合的半监督学习方法

2023-12-18 10:05:14

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