概述
GLM、ChatGLM的相关基础知识说明:
- GLM模型底层还是基于Transformer,因此其设计、优化都是围绕Transformer的各个组件的。从注意力层的掩码、位置编码等方面优化与设计。
- ChatGLM3/ChatGLM2的源码中,比如finetune、trainer等代码,其实是copy自HuggingFace,而且其使用流程与调用机制,与HuggingFace的开发流程是一致的。
- 对GLM-130B,ChatGLM千亿模型,ChatGLM-6B的区分不够清楚,这里给出说明:
- GLM-130B:于2022年8月由清华智谱AI开源放出。该大语言模型基于之前提出的GLM(General Language Model),在Norm处理、激活函数、Mask机制等方面进行了调整,目的是训练出开源开放的高精度千亿中英双语稠密模型,能够让更多研发者用上千亿模型。
- ChatGLM千亿模型: 该模型是为了解决大基座模型在复杂问题、动态知识、人类对齐场景的不足,基于GLM-130B,引入面向对话的用户反馈,进行指令微调后,得到的对话机器人。
- ChatGLM-6B:于2023年3月开源。在进行ChatGLM千亿模型内测的同时,清华团队也开放出了同样技术小参数量的版本,方便研发者们进行学习和开发(非商用)。
ChatGLM对话模型的微调需要用到两个部分;一是已预训练的模型文件,二是ChatGLM的源码文件。
模型文件
在Huggingface平台下载到本地或直接用远程的文件。
已预训练的模型,其开发调用模式遵循Huggingface的开发规范。
微调
在github上托管的ChatGLM源码包中,详细的介绍了基于p-tuning的微调策略。
其源码模块中已经准备好了脚本文件 train.sh ,该文件包含所有相关的配置参数,根据微调后的配置调整脚本文件,一键运行即可。
微调并执行后,会保存并生成checkpoint-xxx文件。这就是新的权重超参数。
模型部署
有两种方式用来运行微调后的模型:
- 基于Huggingface的开发规范,将原模型超参数文件与微调后的超参数文件一起加载,并调用。
- 调整 web_demo.sh 文件中的路径配置,运行即可。
参考
ChatGLM2-6B微调视频讲解
基于第二代 ChatGLM2-6B P-Tuning v2 微调训练医疗问答任务
官方p-tuning微调文档
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
暂无评论内容