自然语言处理 微调大模型ChatGLM-6B

news2024/11/22 12:13:25

自然语言处理 微调大模型ChatGLM-6B

  • 1、GLM设计原理
  • 2、大模型微调原理
  • 1、P-tuning v2方案
  • 2、LORA方案

1、GLM设计原理

在这里插入图片描述
bert的主要任务是随机的去除掉某个单词,使用上下文将其预测出来(相当于完形填空任务);
GPT的主要任务是根据前面一句话,预测下面的内容;
GLM结合了bert的强大双向注意力与gpt的强大生成能力两种能力,被nask的地方使用单向注意力,未被mask的地方使用双向注意力
在这里插入图片描述

预测对应关系如下,即由当前词预测下一词
在这里插入图片描述

2、大模型微调原理

1、P-tuning v2方案

在这里插入图片描述
原理:由于大模型数据量庞大,如果对模型进行全量微调,需要的算力与数据量不好满足,为了降低要求,传统方法是只对其部分参数进行调整,冻结大部分层;P-tuning 的方案则是并行一个小网络,与大网络相连,原先大网络部分进行冻结,在反向传播时只更新前面小网络的参数,该方法的重要参数就是所加P-tuing大模型前面补丁模型的长度

PRE_SEQ_LEN=128    # gqr:P-tuing重要参数,即大模型前面补丁模型的长度
LR=2e-2   # gqr:学习率

CUDA_VISIBLE_DEVICES=0 python3 main.py \
    --do_train \   # gqr:是否训练
    --train_file AdvertiseGen/train.json \ # gqr:训练数据集
    --validation_file AdvertiseGen/dev.json \  # gqr:验证数据集
    --prompt_column content \  # gqr:数据集键值
    --response_column summary \  # gqr:数据集键值
    --overwrite_cache \  # gqr:每次训练是否重新生成数据集cache
    --model_name_or_path THUDM/chatglm-6b \
    --output_dir output/adgen-chatglm-6b-pt-$PRE_SEQ_LEN-$LR \   # gqr:训练得到模型路径
    --overwrite_output_dir \  # gqr:是否覆盖
    --max_source_length 64 \ # gqr:最大输入长度
    --max_target_length 64 \ # gqr:最大输出长度
    --per_device_train_batch_size 1 \ # gqr:平均每张卡用几个样本训练
    --per_device_eval_batch_size 1 \# gqr:平均每张卡用几个样本测试
    --gradient_accumulation_steps 16 \ # gqr:累计多少部更新一下参数
    --predict_with_generate \  # gqr:是否将预测的测试集答案写出
    --max_steps 3000 \   # gqr:训练步数
    --logging_steps 10 \ # gqr:每多少步打印日志
    --save_steps 1000 \ # gqr:每多少步不存一次模型
    --learning_rate $LR \  # 学习率
    --pre_seq_len $PRE_SEQ_LEN \ # P-tuing模型的长度
    --quantization_bit 4   # 模型量化方式,int4

2、LORA方案

在这里插入图片描述
原理:给大模型结构并行一个更小模型,大模型部分参数不反向传播,仅对小模型进行反向传播更新参数;后期发现,可以将小模型部分分解成更小的模块,可以降低大量参数。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea配置gitLab

前言:网上有很多类似的文章,但描述不够详细 步骤1:安装git 如果安装成功再次点击TEST按钮展示如下:git版本 步骤2:idea配置gitlab 查看当前项目管理的 远程仓库再git的地址,该地址可是gitLab的&#xff0…

基于sonar 的C#静态代码扫描使用总结

1.原理简介 C#语言接入Sonar代码静态扫描相较于Java、Python来说,相对麻烦一些。Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQube对C#进行代码质量分析,则需要Sonar-Scanner-MSBuild和MSBu…

WorldCoin 运营数据,业务安全分析

WorldCoin 运营数据,业务安全分析 Worldcoin 的白皮书中声明,Worldcoin 旨在构建一个连接全球人类的新型数字经济系统,由 OpenAI 创始人 Sam Altman 于 2020 年发起。通过区块链技术在 Web3 世界中实现更加公平、开放和包容的经济体系&#…

PHP 影院售票管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页代码

一、源码特点 PHP 影院售票管理系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 https://download.csdn.net/download/qq_41221322/88297676 PHP 影院售票管理系统Dr…

OpenCV(十九):模板匹配

1.模板匹配: OpenCV提供了一个模板匹配函数,用于在图像中寻找给定模板的匹配位置。 2.图像模板匹配函数matchTemplate void matchTemplate( InputArray image, InputArray templ, OutputArray result, int method, InputArray mask noArray() ); image…

小程序上传文件

wx.chooseImage({success (res) {const tempFilePaths res.tempFilePathswx.uploadFile({url: https://example.weixin.qq.com/upload, //仅为示例,非真实的接口地址filePath: tempFilePaths[0],name: file,formData: {user: test},success (res){const data res.…

GEE:空气污染指数 (API)计算

作者:CSDN @ _养乐多_ 本文记录了基于以下公式计算的空气污染指数代码: API = 0:7(NO2)+ 0:15(SO2)+ 0:1(O3)+ 0:05(CO) 计算空气污染指数 (API)。 文章目录 一、完整代码二、完整连接一、完整代码 var roi = table;var dataset_NO2 = ee.ImageCollection(

Python读取xls文件

Python读取xls文件 1、这里面有个问题在读取xlsx的时候有点问题,汇报异常,要把文件名字改成xls import xlrd import os def getdata():file_path os.path.dirname(os.path.abspath(__file__))base_path os.path.join(file_path, 1.xls)book xlrd.op…

Yolov5改进算法之添加Res2Net模块

目录 1. Res2Net介绍 1.1 Res2Net的背景和动机 1.2 Res2Net的基本概念 2. YOLOV5添加Res2Net模块 Res2Net(Residual Resolution Network)是一种用于图像处理和计算机视觉任务的深度卷积神经网络架构。它旨在解决传统的ResNet(Residual Ne…

在职博士|中国社科院-英国斯特灵创新与领导力管理博士之中方课程《变革领导力》

在职博士|中国社科院-英国斯特灵创新与领导力管理博士之中方课程《变革领导力》 在职博士|中国社科院-英国斯特灵创新与领导力管理博士之中方课程《变革领导力》 本次课程的主讲老师是现任中国社会科学院人口与劳动经济研究所研究员、人力资源研究室主任,中国社会科…

虹科产线实时数采检测方案——高速采集助力智能化升级

01 产线数采检测相关技术背景 1.1 典型场景 对于产线数采检测,让我们从典型的工厂场景开始介绍。 每个工位都有上位机监控下方的PLC控制器。指令、执行单元和作用对象的状态通过内置传感器进行采集和测量,反馈给PLC实现闭环控制。 工业4.0和智能制…

快速学会git版本管理——上传gitee仓库

首先在gitee右上角有一个新建仓库 创建之后打开自己想要上传的文件 右键打开 Git Bash Here 接下来会弹出git的窗口 首先先初始化仓库 用git命令 git init 然后用git add . 上传所有文件上传到暂存区(上一篇文章说过add是单个文件,add . 是所有文件) 没有显示错误 …

内存泄漏分析

一、什么是内存泄漏? 内存泄漏是指在程序运行过程中,分配给程序的内存空间在不需要时没有被正确释放或回收的情况。 二、Java层内存泄漏。 Android应用程序中Java层常见的内存泄漏情况: Context引用泄漏:Android中的Context是…

【Flutter】Flutter 使用 flutter_rating_bar 实现评分条指示器

【Flutter】Flutter 使用 flutter_rating_bar 实现评分条指示器 文章目录 一、前言二、简介三、安装和基本使用四、实际业务中的用法五、完整示例六、总结 一、前言 大家好,我是小雨青年,很高兴与大家分享 Flutter 中的一个非常实用的组件:f…

马斯克谈 Facebook 不开源算法

导读虽然马斯克与扎克伯格的 “八角笼中” 之约没有达成,但很显然,马斯克并不打算就此罢休。既然没能在线下大战一场,那自然不会错过在线上 “出招” 的机会。 他转发了一则推文,并说道:“在地球上,Facebo…

STM32调试时卡在B 0x20000000

分析原因,发现sw下,硬件接reset管脚,所以需要设置debug reset 选择 hw reset

Excel中将文本格式的数值转换为数字

在使用excel时,有时需要对数字列进行各种计算,比如求平均值,我们都知道应该使用AVERAGE()函数,但是很多时候结果却“不尽如人意”。 1 问题: 使用AVERAGE函数: 结果: 可以看到单元格左上角有个…

2023年9月重庆/上海/深圳NPDP产品经理国际认证火热招生

产品经理国际资格认证NPDP是新产品开发方面的认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年,是…

锐捷BGP【基础二】--尚文网络敏姐

BGP协议 这节主要学习IBGP和IGP之间的区别与联系, BGP 路由信息交互,了解BGP的安全性,BGP协议的基本配置,如何建立IBGP、EBGP对等体,引入与传递路由。 目录 BGP协议 BGP基础概念 IBGP和IGP的不同 BGP 路由信息交…

优化 | 带有未知评估成本和预算约束的多步贝叶斯优化

论文解读者:胡明杰 编者按: 贝叶斯优化是一种处理黑盒函数优化的常用方法. 大多数的贝叶斯优化方法假设评估成本是同质的. 然而, 在实际问题中,评估成本往往是异质且未知的. 此外,现有的考虑异质评估成本的方法并不能很好地处理…