如何搭建一个基于聊天记录 训练的 AI 对话机器人

2023-11-03 16:19:48 +08:00
 yueji
今天小米 13 换 小米 14
将微信数据迁移到新手机,看到微信需要迁移数据有 40 多 G
我就在想,这不是积累了我几年的聊天记录么?
如果拿来训练一个聊天 AI 的话.是不是挺有意思的
另一个自己?
怎么训练呢?有没有熟悉这块的老板给点思路.
1446 次点击
所在节点    机器学习
5 条回复
zcf0508
2023-11-03 16:20:57 +08:00
cloud2000
2023-11-03 16:42:20 +08:00
上面那份指南已经过时了,现在都是用更加新的微调工具:

https://github.com/hiyouga/LLaMA-Factory
yanyao233
2023-11-04 19:07:32 +08:00
几个月前刚训练过一个,安卓手机的话需要把微信数据库导出并解密 https://github.com/greycodee/wechat-backup
然后导出 contact 和 message 表,我先是对导出的表进行了清洗,把非目标群聊/联系人的聊天数据和大部分根本不需要的字段全部删除,删除不使用的聊天记录类型(比如图片啥)然后再清洗掉个人敏感信息

对于数据集生成,我的思路是
1.群聊: 先筛选出我发送的消息,然后向上追溯一分钟之内的其他人的消息作为一组对话(我这里没考虑引用回复),一天内的消息均作为上下文(但实际上我并不推荐使用群聊消息,现在并没有成本低且效果很好的方式来分割聊天,第三次训练时我去掉群聊的数据集,胡言乱语的情况好了很多)
2.联系人: 一问一答为一组对话,多条连续消息合并,一天内为上下文
最后总共有 8k 条聊天记录

我当时使用的 chatglm2 模型,lora 和 pt 都试了,lora 效果好太多,最终 15steps 的 loss 稳定在 1.0 左右

效果怎么说呢...确实金句频出,但记忆力明显下降,并且指令服从性几乎没有,也就仅仅能用来聊天了。

另外,我多次尝试让他认识到自己是谁,无论是通过数据集强化的方式,还是靠推理时增加 system prompt ,都无法达到效果...
yueji
2023-11-05 19:51:57 +08:00
@yanyao233 大佬能出个教程吗? Mistral 7B 这个模型行不行啊?
yanyao233
2023-11-05 21:00:35 +08:00
@yueji 没听过这个欸...看了一下似乎是英文的模型?恐怕中文不行吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/988340

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX