从零开始的ChatGLM教程(四)
写在前面
本文中所有的内容仅供参考,本人并不对任何产生的后续问题负任何责任。近期的事情特别的多啊,以至于这一篇文章几乎咕咕了一个星期才写好。(但我是不会反省的)
特别鸣谢:
huang1332 https://github.com/huang1332/finetune_dataset_maker
mymusise https://github.com/mymusise/ChatGLM-Tuning
感谢大佬们的开源精神,为社区做出的巨大贡献。本章节的内容将会基于这三位大佬的包进行说明。

基于Lora的微调模型训练
经过了前面的几篇文章我相信此时你已经成功在自己的机器上部署并运行了ChatGLM,并且在经过使用后希望能够对它进行微调,因此在这篇文章中让我们谈谈应该如何Lora进行本地训练。
为了省事,我在这里以零炻制作的一键包为例说明,这个一键包可以傻瓜式部署,不需要提前配置环境,方便新手小白快速进行数据集的制作以及训练。
这个包的下载地址在大佬视频的详情中,链接在下方:
https://www.bilibili.com/video/BV1P24y1L7Ge/?spm_id_from=333.788.top_right_bar_window_custom_collection.content.click&vd_source=5750eed90125c50ecbbb12a07db3cca7
首先,你需要查看包中的questions.txt文件,在其中填写你所需要训练的问答问题。然后运行一键包中的“00打开数据集制作系统”.bat。脚本会显示一个本地IP,将它在浏览器中打开,就可以看到用于数据集处理的UI界面。在其中你可以通过填写ChatGPT的Key让它进行自动生成回答,也可以手动填写问题的答案。在所有的答案填写并保存后点击界面中的“导出载入的已保存回答为.json”按钮。至此,最麻烦的步骤就已经结束了。
在成功导出为.json文件后只需要依次运行“01转换数据集”.bat,“02标记化数据集”.bat,"03开始训练".bat就可以傻瓜式全自动地进行数据集的转换,标记化,以及训练了。
最终生成的模型会保存在output文件夹中,为一个.json文件和一个.bin文件。这两个文件就是我们的期望产物。使用作者预设的话必须要跑完400步才会出现这两个文件,如果是自己设定的训练步数,那么也是必须训练到你设定的步数才会出现。
至此,简单的一键式训练就已经完成,你可以运行“04打开web_demo”.bat文件查看自己训练的成果了。
在下一篇的文章中,我会讲解如何将ChatGLM接入Wenda并实现联网搜索回答或根据私人数据库进行回答的内容。

本文中如有错误或疏漏,欢迎私信我或在下方评论区留言,我会修正或补充