从零训练模型:BERT模型【任务:①MLM(掩码语言模型)、②NSP(下一句预测)】
想要继续训练BERT的话首先需要弄懂NSP和MLM这两个预训练任务的原理,然后再根据这两个任务来通过自己的语料从头训练一个BERT模型或者是以开源的模型参数为基础进行追加训练。下面,掌柜就分别从MSL和NSP任务的数据构造、模型实现和网络训练等方面来一一进行介绍。
1 引言
经过前面六篇文章的介绍,我们已经清楚了:
- BERT的基本原理[1]、
- 如何从零实现BERT[2]、
- 如何基于BERT预训练模型来完成文本分类任务[3]、
- 文本蕴含任务[4]、
- 问答选择任务(SWAG)[5]
- 问题回答任务(SQuAD)[6]
算是完成了BERT模型第一部分内容(如何在下游任务中运用预训练BERT)的介绍。
在接下来的这篇文章中,掌柜将开始就BERT模型的第二部分内容,即如何利用Mask LM和NSP这两个任务来训练BERT模型进行介绍。
通常,你既可以通过MLM和NSP任务来从头训练一个BERT模型,当然也可以在开源预训练模型的基础上再次通过MLM和NSP任务来在特定语料中进行追加训练,以使得模型参数更加符合这一场景。
在文章BERT的基本原理[1]中,掌柜已经就MLM和NSP两个任务的原理做了详细的介绍,所以这里就不再赘述。
一句话概括,如图1所示MLM就是随机掩盖掉部分Token让模型来预测,而NSP则是同时输入模型两句话让模型判断后一句话是否真的为前一句话的下一句话,最终通过这两个任务来训练BERT中的权重参数。
从零训练模型:BERT模型【任务:①MLM(掩码语言模型)、②NSP(下一句预测)】相关推荐
- 在线部分:werobot服务、主要逻辑服务、句子相关模型服务、BERT中文预训练模型+微调模型(目的:比较两句话text1和text2之间是否有关联)、模型在Flask部署
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 智能对话系统:Unit对话API 在线聊天的总体架构与工具介绍 ...
- [深度学习] 自然语言处理 --- BERT模型原理
一 BERT简介 NLP:自然语言处理(NLP)是信息时代最重要的技术之一.理解复杂的语言也是人工智能的重要组成部分.Google AI 团队提出的预训练语言模型 BERT(Bidirectional ...
- Bert模型介绍及代码解析(pytorch)
Bert(预训练模型) 动机 基于微调的NLP模型 预训练的模型抽取了足够多的信息 新的任务只需要增加一个简单的输出层 注:bert相当于只有编码器的transformer 基于transformer ...
- 详细介绍BERT模型
文章目录 BERT简介 BERT, OpenAI GPT, 和ELMo之间的区别 相关工作 BERT的改进 BERT 的详细实现 输入/输出表示 预训练BERT 微调BERT BERT用在下游任务 G ...
- [NLP自然语言处理]谷歌BERT模型深度解析
BERT模型代码已经发布,可以在我的github: NLP-BERT--Python3.6-pytorch 中下载,请记得start哦 目录 一.前言 二.如何理解BERT模型 三.BERT模型解析 ...
- 自然语言处理——谷歌BERT模型深度解析
BERT模型代码已经发布,可以在我的github: NLP-BERT--Python3.6-pytorch 中下载,请记得start哦 目录 一.前言 二.如何理解BERT模型 三.BERT模型解析 ...
- 利用特定领域模型训练Bert模型
目录 前言 一.预训练模型思路? 二.数据处理 1.MLM任务 2.SOP任务 3.模型搭建 总结 前言 最近刚完成医疗电子病历模型的预训练,经过测试效果还不错,相比于原生Bert在序列标注任务和文本 ...
- BERT |(3)BERT模型的使用--pytorch的代码解释
参考代码:https://github.com/649453932/Bert-Chinese-Text-Classification-Pytorch 从名字可以看出来这个是做一个中文文本分类的的任务, ...
- bert模型简介、transformers中bert模型源码阅读、分类任务实战和难点总结
bert模型简介.transformers中bert模型源码阅读.分类任务实战和难点总结:https://blog.csdn.net/HUSTHY/article/details/105882989 ...
最新文章
- 【Python】透视表、统计表、汇总表、报表
- spcomm控件的使用
- 开放下载!《15分钟打造你自己的小程序》(内附详细代码)
- C# 中类对象与JSON字符串互相转换的几种方法
- “云计算+DevOps”的正确打开方式
- python中read函数解释_Python内置函数解释教程,readwill(非常详细的代码演示截图),详解,看,了,就,会,很...
- GitHub 的替代品(国内版)
- librdkafka介绍文档
- 送男孩子情人节礼物送什么?情人节必备礼物合集
- Docker无法启动start request repeated too quickly for docker.service
- glib linux,[转载]linux下glib.h的介绍
- 数独算法-递归与回溯
- Java实现XML格式化
- 团队开发之Git管理及使用
- POJ - 4048 Chinese Repeating Crossbow 暴力枚举+线段香蕉?
- 使用UE4的nDisplay渲染到多个显示器
- Android中各种颜色在dawable.xml中的定义
- ospfdr选举规则_OSPF的RID的选举的问题及DR/BDR选举原则
- 01-Spring Boot的基本认识
- JS 基础篇(发布订阅模式)
热门文章
- “众包2.0”版的海尔怎么玩?_第1页_福布斯中文网
- 生物信息/微生物组期刊推荐: ISME Journal
- 歌谣学前端之react笔记之学习之类组件
- Ubuntu安装 Realtek R8125 驱动
- mac os 秒开 word doc 文档
- win10永久获取管理员权限的办法
- Qt5 pyqt5图片编辑器功能函数一篇全搞定:实现图片格式转换、显示、缩放、特效处理(模糊、锐化,浮雕等等)
- php两周能学会,php,mysql_php可以按天连续去两周的更新数据吗,php,mysql - phpStudy
- NvRAM BIOS
- pts=pts.reshape((-1,1,2)) 这段代码含义是什么