张梦飞:用聊天记录把自己克隆成AI,分分钟化身为1V100的“时间管理大师” -- LLamaFactory部署与微调大模型应用教程

张梦飞:用聊天记录把自己克隆成AI,分分钟化身为1V100的“时间管理大师” -- LLamaFactory部署与微调大模型应用教程

张梦飞:用聊天记录把自己克隆成AI,分分钟化身为1V100的“时间管理大师” LLamaFactory部署与微调大模型应用教程 张梦飞:用聊天记录把自己克隆成AI,分分钟化身为1V100的“时间管理大师” LLamaFactory部署与微调大模型应用教程 Modified October 11, 2024 MemoTrace 2.0.15.exe 157.89MB Code block PowerShell "train formatted": { "file name": "train formatted.jsonl", "formatting": "sharegpt", "columns": { "messages": "messages" }, "tags": { "role tag": "role", "content tag": "content", "user tag": "user", "assistant tag": "assistant", "system tag": "system" } } 34. 返回LLaMA的页面,查看「数据集」,选择刚刚添加完成的“train formatted”数据集。 35. 再找到这个文件夹下的“identity.json”文件,双击打开 然后快捷键Ctrl+H,全局替换这个地方的内容。 36. 再添加选中“identity”数据集。 37. 训练轮数改成15,其他的都暂时不动。 38. 点击「预览命令」,无报错后,点击「开始」,开始训练。 39. 选择chat页,点击「检查点路径」,选择刚才训练Lora的输出目录名称,然后点击加载模型。 加载完成后,在下方输入问题,测试大模型。可以问AI,他是谁。 他应该会回答你,你设置的名字。 这里需要说明下:训练大模型是一个需要反复调试的复杂过程,数据集和训练参数都会影响最终的训练效果,本次旨在带大家体验和跑通流程,模型的调优需要大家更深入的去学习和实践。 四、模型发布为API 40. 对外发布训练后的模型接口 新开一个Ubuntu命令窗口,可以还从Microsoft Store打开,也可以从你的「系统」打开一个新的命令窗口。 新打开的Ubuntu窗口,还是默认账户,如果你设置了用户名,需要输入,然后输入密码进入。 Code block PowerShell su 你的用户名 然后需要激活啊conda环境,输入以下代码激活, Code block PowerShell conda activate fine tuning 41. 以下是一个命令模版,你需要填入【你自己的文件路径】 (1)下方命令行,标红的地方,要改成你自己源模型地址源模型地址, 在你的LLaMA Factory文件夹的同级目录下 (2)标绿的地方,要改成你自己LoRA地址 你训练后的LoRA地址,在你的LLaMA Factory\saves\Qwen2 0.5B\lora\文件夹下,这里存放了你刚才命名的Lora。 填入正确的地址后,直接粘贴到命令窗口中,点击回车。 Code block PowerShell CUDA VISIBLE DEVICES=2 API PORT=8000 llamafactory cli api model name or path /home/zmf/Qwen2 0.5B adapter name or path /home/zmf/LLaMA Factory/saves/Qwen2 0.5B/lora/train 2024 10 09 00 20 10 template qwen finetuning type lora 42. 看到出现最后一行 http://0.0.0.0:8000后,再打开一个Ubuntu命令行窗口,输入 Code block PowerShell hostname I 你会得到一个172.17.xx.xxx 的地址。我这里是172.17.35.174 43. 拿到这个地址后,打开浏览器输入:172.17.xx.xxx:8000/docs 你会进入到FastAPI的UI页面,如下图: MemoTrace 2.0.15.exe 157.89MB MemoTrace 2.0.15.exe 157.89MB 34. 返回LLaMA的页面,查看「数据集」,选择刚刚添加完成的“train formatted”数据集。 35. 再找到这个文件夹下的“identity.json”文件,双击打开 然后快捷键Ctrl+H,全局替换这个地方的内容。 36. 再添加选中“identity”数据集。 37. 训练轮数改成15,其他的都暂时不动。 38. 点击「预览命令」,无报错后,点击「开始」,开始训练。 39. 选择chat页,点击「检查点路径」,选择刚才训练Lora的输出目录名称,然后点击加载模型。 加载完成后,在下方输入问题,测试大模型。可以问AI,他是谁。 他应该会回答你,你设置的名字。 这里需要说明下:训练大模型是一个需要反复调试的复杂过程,数据集和训练参数都会影响最终的训练效果,本次旨在带大家体验和跑通流程,模型的调优需要大家更深入的去学习和实践。 这里需要说明下:训练大模型是一个需要反复调试的复杂过程,数据集和训练参数都会影响最终的训练效果,本次旨在带大家体验和跑通流程,模型的调优需要大家更深入的去学习和实践。 四、模型发布为API 40. 对外发布训练后的模型接口 新开一个Ubuntu命令窗口,可以还从Microsoft Store打开,也可以从你的「系统」打开一个新的命令窗口。 新打开的Ubuntu窗口,还是默认账户,如果你设置了用户名,需要输入,然后输入密码进入。 然后需要激活啊conda环境,输入以下代码激活, 41. 以下是一个命令模版,你需要填入【你自己的文件路径】 (1)下方命令行,标红的地方,要改成你自己源模型地址源模型地址, 在你的LLaMA Factory文件夹的同级目录下 (2)标绿的地方,要改成你自己LoRA地址 你训练后的LoRA地址,在你的LLaMA Factory\saves\Qwen2 0.5B\lora\文件夹下,这里存放了你刚才命名的Lora。 填入正确的地址后,直接粘贴到命令窗口中,点击回车。 42. 看到出现最后一行 http://0.0.0.0:8000后,再打开一个Ubuntu命令行窗口,输入 你会得到一个172.17.xx.xxx 的地址。我这里是172.17.35.174 43. 拿到这个地址后,打开浏览器输入:172.17.xx.xxx:8000/docs 你会进入到FastAPI的UI页面,如下图: 44. 点击第二个POST,打开折叠口 45. 点击后往下滚动,如果看到Server response在的Code编码是“200”,说明API访问成功。 五、接入微信 根据本地部署COW的教程梦飞:在自己的电脑上部署COW微信机器人项目,将COW部署完成后,替换COW中的config.json文件中的模型为 梦飞:在自己的电脑上部署COW微信机器人项目 然后扫码执行登录,就大功告成了! 六、联系方式 如遇问题,可以联系,尽力提供帮助。 🛫 作者:张梦飞 原文链接,大家多多关注https://mp.weixin.qq.com/s/B8FUmjSdr wAjIApa9aNVA 作者:张梦飞 原文链接,大家多多关注https://mp.weixin.qq.com/s/B8FUmjSdr wAjIApa9aNVA 大家好,我是梦飞。好久不见,一个月前发布的视频号,今天终于能够填坑了! 这次带来的教程是:《用聊天记录克隆自己的AI分身》 在我多次尝试(其实是多个平台账号欠费之后),终究是放弃了让大家云端使用。学习和使用成本太高,本篇教程依然全程本地操作,无需调用云端资源。让大家既能体验大模型训练和调用,又可以无负担的使用自己微调后的大模型! 本篇教程的目标是,把自己微信中的聊天记录导出,用自己的聊天记录去微调一个模型,最终将这个微调后的模型接入微信中,替你回复消息。 目标 我们接下来,大致要完成以下步骤: 1、导出微信聊天记录 2、整理导出的聊天记录为数据集格式 3、部署LLamaFactory和微调大模型 4、发布微调后的模型为API 5、接入Cow微信机器人项目 🎹 补充说明: 1. 本篇教程可以带你手把手无痛的体验如何自建数据集,并使用LoRA微调大模型(SFT)。但模型训练是一个多方因素影响,需要不断调参、优化。因此受数据集质量和参数影响,即使跟随本篇教程完全操作完成,是不能保证你训练的模型是“聪明”可用的。因此需要放低期待,沉下心去做。 2. 同时也因我简化了内容,所以门槛相对降低很多,因此相信你花点时间就一定可以完成。 补充说明: 1. 本篇教程可以带你手把手无痛的体验如何自建数据集,并使用LoRA微调大模型(SFT)。但模型训练是一个多方因素影响,需要不断调参、优化。因此受数据集质量和参数影响,即使跟随本篇教程完全操作完成,是不能保证你训练的模型是“聪明”可用的。因此需要放低期待,沉下心去做。 2. 同时也因我简化了内容,所以门槛相对降低很多,因此相信你花点时间就一定可以完成。 以下教程基于Windows11系统进行制作。 一、导出聊天记录 1. 我们需要借助一个工具:“MemoTrace 留痕”,是一款强大的微信聊天记录管理工具 工具主页:https://memotrace.cn/ price 点击链接直接去主页下载。 飞书社区小伙伴我已经帮你下载好了,直接下载即可 下载后,根据提示进行安装,安装完成后看到以下界面 2. 在这台电脑上登录微信,然后直接点击获取信息,会自动获取到你的微信信息 3. 点击解析数据,开始解析,等待解析完成。 4. 选择「好友」导航栏,选择你聊天比较多的好友。(之前可以多选导出全部,但是最新版本不可以了,也可能是我没找到功能点,大家可以找找看,但根据经验,建议只导出自己经常聊天的几个人的记录就可以了,太多没有连续对话的,没有背景信息的上下文,反而可能导致效果不好。 5. 点击「导出json」,只要这个格式是最方便转换为我们需要的训练集格式。 6. 导出后我们会得到两个文件,我们只需要用到 train后缀的文件即可。 二、整理聊天记录为数据集 7. 如果你导出了多个人的,需要你手动将这个文件下的内容,全部汇总到一起。 8. 汇总完成后,保存你的汇总文件,命名为“train.json”。 9. 在当前文件夹下新建一个文本文档,重命名为“1.py”,然后用记事本打开,粘贴进入以下代码。 ⚠️标红的地方注意需要修改。 10. 打开命令行窗口,输入“python 1.py” 11. 聊天记录整理完成,在第31步时会用到。 三、部署LLama Factory 12. 打开MicroSoft Store,搜索Ubuntu 13. 找到Ubuntu 18.04.6 LTS版本,点击下载 14. 下载完成后,点击打开,如下图 15. 先输入你的用户名,然后点击回车,再输入密码,然后点击回车(注意,在Ubuntu中,输入的用户名和密码是不现实的,输入后直接回车即可) 16. 密码输入后回车,会显示:操作成功和下方代码。 17. 升级apt,输入以下命令,点击回车。输入你的用户密码,点击回车,开始自动升级。 出现绿色的用户名代表执行完成。 18. 输入以下命令,下载安装conda 19. 输入以下命令,安装conda(输入命令后,一直按着回车) 20. 激活conda环境,一行一行,依次输入以下命令 继续 21. 下载通义千问 0.5b大模型(最小模型,大家都能玩,先跑通再来下载更大的模型) 22. 输入以下代码,检查你是否有git,显示版本号就是有git。 23. 每一行,依次粘贴输入以下代码,保证你的 lfs 可用 24. 输入以下代码,下载大模型 25. 下载LLaMA Factory 26. 下载完成后,依次一行一行的粘贴下方命令并回车,创建一个LLaMA Factory运行的专属环境 最后需要输入一个“y”,输入后回车即可。 27. 输入以下代码,激活 fine tuning环境。 28. 安装依赖文件,输入以下命令等待下载完成。 29. 运行LLaMA Factory,并打开操作页面。 输入以下命令行,等待他自动打开操作页面。 看到这个页面,恭喜你,完成了工具的部署。如果英语看着不习惯,你可以在左上角选择“切换中文语言” 30. 查找模型路径 打开你的电脑文件管理器,找到Linux,home文件夹 用户名,然后可以看到你刚才下载的模型名称。点击进入 31. 复制home后边的路径,粘贴进入:「模型路径输入框」,选择对应的「模型名称」 (此处有坑!注意,直接复制的路径是\反斜杠,但需要的是/ ,所以需要把路径中的斜杠替换以下,如下图。) 微调方法设置为:lora,检查点路径不用管。 32. 把你在第11步整理好的数据,复制粘贴到你的\LLaMA Factory\data文件夹下,粘贴完成后。 33. 打开dataset info.json文件,修改文件内容。在这个文件的最后,粘贴进入以下代码

在 小宇宙note 阅读完整内容