聊聊ChatGLM-6B部署与微调的深入理解

news/发布时间2024/5/20 8:13:45

ChatGLM的部署,主要是两个步骤:

  1. 在Github上下载chatglm的库文件
  2. 在Hugging Face上下载模型参数与配置文件

ChatGLM包

从Github上看ChatGLM项目文件的结构来看,仅仅是包含三种部署方式的py代码与微调的py代码
image.png
而相关的实现细节,比如神经网络、激活函数、损失函数等具体的实现,并不在该项目源码中。
不管以哪种方式部署,最核心就是三句代码,其作用是引入模型参数,初始化transformers配置;以web部署的方式为例:

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
model = model.eval()// 引入Gradio,实现web方式的使用// 调用模型方法,开始进行对话推理
xx = model.stream_chat(xxxx);

web的调用是基于Gradio;
api的调用是基于fastapi;
cli的调用是基于python解释器;

微调

微调的解决方案一般是P-Tuning或LoRA;ChatGLM-6B是基于P-Tuning v2实现的微调,P-Tuning v2是基于连续提示(continuous prompts)的思想。微调会生成新的模型参数文件,也称为checkpoint文件。
微调时可以选择全参数微调或是部分参数微调,其流程是训练+推理。训练生成新的checkpoint文件(模型参数);推理则是加载模型参数文件。
训练前,需要调整参数,一般修改train.sh脚本文件就行。
推理时,加载原模型文件与微调后生成的checkpoint文件。还是通过那三句代码。
输出的checkpoint文件如下:
image.png
checkpoint文件夹内的文件如下:
image.png

transformers的联系

目前的模型,都会对接到Hugging Face平台的transformers库中,通过transformers库来管控大模型。所以在推理阶段通过三句代码就能调用AI模型。在微调阶段,生成的checkpoint文件中,其结构是Hugging Face平台的文件结构,包含transformers的相关配置及初始化信息。

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/37538637.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

PowerBI:如何在以SharePoint文件做为数据源?

问题描述: 有朋友最近询问,在PowerBI中如何以SharePoint中的文件做为数据源,进行报告的设计开发?今天抽一些时间,为大家做一个样例,供大家参考。 解决方案:找到将要使用的SharePoint中文件的Web link地址,此步最为关键; 打开Power BI,通过Web link文件地址,成功文件作…

我的2023小结和2024展望

这行文字写在2023年12月31日晚。可能珊珊来迟,但我终于还是动笔了。 就像抗疫结束得不算早,却也让人始料不及。 回头看看这可能不算振奋的一年,可是至少我们怀着期待开始了这一年。 让我欣慰的是,今年也做成了一些事情。 健身小白 四月份,我在乐刻开始了健身。 仔细想想,…

记一次对某杀猪盘的渗透

0x00 前言去年逛微步,本来是想找几个ip练练溯源能力,无意间发现了一个杀猪盘。本文打马赛克如果有漏的地方请及时指出,也请各位不要去微步上边找我这个目标复现,本case已全权交由某官方处理。0x01 简单的打点打开链接一看,一股子浓浓的“微盘”气息扑面而来,由于我们自己…

银行业绩数据监控大屏:金融领域的智慧之眼

银行业绩数据监控大屏作为一种新型的管理工具,正逐渐改变传统银行业的运营模式。通过实时监控、深入分析、预测未来、协同工作和保障安全等功能,大屏为银行管理者和员工提供全面的数据支持和服务。在金融市场的激烈竞争中,银行业绩数据监控大屏将成为银行驾驭金融海洋的重要…

调研报告-基于 Iceberg 构建湖仓一体平台调研

一、背景 我们使用 Iceberg 构建湖仓一体平台的初衷是希望解决业务方在使用 Hive 数仓时的一些痛点。主要包括以下几大方面: (1)现有的数据同步只支持全量同步,同步大表速度慢。 (2)Hive 的时效性不好,即使使用 FIink 流式的引擎写入,延迟也会在小时级别。 (3)Hive扫…

使用-数据湖Iceberg和现有hive数仓打通并使用

一、集群配置 1、版本使用技术版本iceberg 1.3.1flink 1.16.1spark 3.2.1hive 2.3.7dlc-presto 待定2、集群配置调整 (1)使用hive查询的话所有hiveserver2节点修改hive-site.xml文件,添加jar包,添加如下配置,然后重启服务 <property><name>iceberg.engine.hiv…