使用掩码语言建模 (MLM) 目标的英语语言预训练模型。它在 本文中进行了介绍,并在此存储库中首次发布 。这个模型是不加壳的:它在英语和英语之间没有区别。

型号说明

BERT 是一种以自我监督的方式在大量英语数据语料库上进行预训练的变形金刚模型。这意味着它仅在原始文本上进行了预训练,没有人以任何方式标记它们(这就是它可以使用大量公开可用数据的原因),并通过自动过程从这些文本生成输入和标签。更准确地说,它经过预训练有两个目标:

  • 掩蔽语言建模(MLM):取一个句子,模型随机掩蔽输入中 15% 的单词,然后通过模型运行整个被掩蔽的句子,并且必须预测被掩蔽的单词。这不同于通常一个接一个地看到单词的传统循环神经网络 (RNN),也不同于像 GPT 这样在内部掩盖未来标记的自回归模型。它允许模型学习句子的双向表示。
  • 下一句预测 (NSP):模型在预训练期间将两个蒙面句子作为输入连接起来。有时它们对应于原文中相邻的句子,有时则不是。然后,该模型必须预测这两个句子是否相互跟随。

通过这种方式,模型学习了英语语言的内部表示,然后可用于提取对下游任务有用的特征:例如,如果您有一个标记句子的数据集,您可以使用 BERT 生成的特征训练标准分类器模型作为输入。

预期用途和限制

您可以将原始模型用于掩码语言建模或下一句预测,但它主要用于在下游任务上进行微调。查看模型中心以查找您感兴趣的任务的微调版本。

请注意,此模型主要针对使用整个句子(可能被屏蔽)做出决策的任务进行微调,例如序列分类、标记分类或问答。对于诸如文本生成之类的任务,您应该查看 GPT2 之类的模型。

如何使用

您可以将此模型直接用于掩码语言建模的管道:

from transformers import pipeline
unmasker = pipeline('fill-mask', model='bert-base-uncased')
unmasker("Hello I'm a [MASK] model.")

以下是如何使用此模型在 PyTorch 中获取给定文本的特征:

from transformers import BertTokenizer, BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained("bert-base-uncased")
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)

限制和偏见

即使用于该模型的训练数据可以被描述为相当中性,该模型也可能有偏差的预测

from transformers import pipeline
unmasker = pipeline('fill-mask', model='bert-base-uncased')
unmasker("The man worked as a [MASK].")
unmasker("The woman worked as a [MASK].")

这种偏差也会影响该模型的所有微调版本。

训练数据

BERT 模型在 BookCorpus 上进行了预训练, BookCorpus是一个由 11,038 本书和英文维基百科(不包括列表、表格和标题)组成的数据集。

培训程序

预处理

使用 WordPiece 和 30,000 的词汇量对文本进行小写和标记化。模型的输入则为:

[CLS] Sentence A [SEP] Sentence B [SEP]

以 0.5 的概率,句子 A 和句子 B 对应于原始语料库中的两个连续句子,而在其他情况下,它是语料库中的另一个随机句子。请注意,这里认为的句子是连续的文本跨​​度,通常比单个句子长。唯一的限制是包含两个“句子”的结果的总长度小于 512 个标记。

每个句子的掩蔽过程的详细信息如下:

  • 15% 的令牌被屏蔽。
  • 在 80% 的情况下,被屏蔽的标记被替换为[MASK].
  • 在 10% 的情况下,被掩码的标记被替换为随机标记(不同),与它们替换的标记不同。
  • 在剩下的 10% 的情况下,被屏蔽的令牌保持原样。

预训练

该模型在 Pod 配置中的 4 个云 TPU(总共 16 个 TPU 芯片)上进行了 100 万步训练,批量大小为 256。序列长度限制为 90% 的步长为 128 个标记,其余 10% 的步长为 512 个。使用的优化器是 Adam,学习率为 1e-4,b1=0.9\beta_{1} = 0.9和b2=0.999\beta_{2} = 0.999,权重衰减为 0.01,学习率预热 10,000 步,之后学习率线性衰减。

BERT 基础模型(无壳)相关推荐

  1. 知识蒸馏基础及Bert蒸馏模型

    为了提高模型准确率,我们习惯用复杂的模型(网络层次深.参数量大),甚至会选用多个模型集成的模型,这就导致我们需要大量的计算资源以及庞大的数据集去支撑这个"大"模型.但是,在部署服务 ...

  2. 观点|基础模型产业发展路在何方?李飞飞等共话基础模型未来趋势

    [专栏:前沿进展]8月,美国斯坦福大学李飞飞等学者联名发布「基础模型:机遇和挑战」的综述文章.8月23日,上述学者在纽约召开「Workshop of Foundation Models」研讨会,来自美 ...

  3. Percy Liang、李飞飞等百余位学者联名发布:「基础模型」的机遇与挑战

    撰文:赵言,秦红川,程晨 校对:贾伟 随着BERT.GPT-3.DALL-e等超大模型的兴起,自监督学习+预训练模型微调适配方案,逐渐成为主流.这种范式会先在超大规模海量数据上进行自监督的模型预训练, ...

  4. 斯坦福CRFM遭业界炮轰:深度学习做不了基础模型!

    来源:新智元 [导读]AI 最近的发展似乎都是靠大规模的深度学习模型推动的,所以斯坦福最近成立一个基础模型研究中心CRFM来专门研究大规模的深度学习模型.但业界普遍不看好斯坦福的这个操作,认为深度学习 ...

  5. 浅谈BERT/Transformer模型的压缩与优化加速

    ©作者 | 姚益武 单位 | 阿里巴巴集团 研究方向 | AI算法与工程架构 前言 BERT/Transformer 结构及其变体,已成为自然语言处理(NLP).语音识别 (ASR)等领域的主流序列建 ...

  6. 一个既能做CV任务,也能做NLP任务的Transformer模型!谷歌UCLA提出统一的基础模型...

    关注公众号,发现CV技术之美 本文分享论文『Towards a Unified Foundation Model: Jointly Pre-Training Transformers on Unpair ...

  7. RACV2022观点集锦 | 视觉基础模型

    来源:https://mp.weixin.qq.com/s/pAbMI-qwdCY7-9SeMxDlFw "本文得到CCF-CV专委会(公众号: CCF计算机视觉专委会)授权发布" ...

  8. 基础模型的机遇与风险 (一)

    每天给你送来NLP技术干货! 原文:On the Opportunities and Risks of Foundation Models 链接:https://arxiv.org/pdf/2108. ...

  9. CoCa:多模态图像-文本基础模型

    原文:Yu J, Wang Z, Vasudevan V, et al. CoCa: Contrastive Captioners are Image-Text Foundation Models[J ...

最新文章

  1. jQuery 在 IE 上 clone checkbox 的問題。
  2. TCP/IP/ICMP 学习实践
  3. vscode如何找letax模板_一直努力却找不到变美思路?韩国新一代「整容模板」,教你如何提高美商、科学变美!...
  4. 电路知识--认识原理图(三)
  5. linux使用jinja2模板_SaltStack配置管理工具jinja2模板的使用
  6. 幼儿课外活动游戏_泰国清迈大小学校介绍 --【Little Star小星星幼儿园】
  7. 一年之计:如何构建知识体系?
  8. MNews 1.9 – 干净的新闻自媒体博客wordpress主题
  9. [闲谈]程序猿一天的日程安排
  10. “为了拿下 Offer,我在技术面试时迎合面试官,给了错误答案!”
  11. 处理Excel电子表格
  12. ssh相关命令Linux,Linux SSH常用命令 [长期更新]...
  13. 打开gedit_使用 gedit 文本编辑器优化你的 GNOME 体验 | Linux 中国
  14. POI Excel合并 分页符的复制
  15. 怎样在matlab中使用多项式,MATLAB中的多项式运算
  16. python定义变量不赋值_python定义变量
  17. Dynamic programming 1
  18. 常见iOS开发面试题(有10w多访问量的面试题)
  19. 18、ListView显示图片
  20. 学生党专用计算机,学生性价比高的电脑推荐 这3款最适合学生党入手

热门文章

  1. 以太坊全球节点分布数量大爆发,覆盖近80国 !以太坊平均确认时间缩短近一倍 | 数据周榜...
  2. 卡尔曼滤波——迭代过程
  3. 赛元微MCU——SC92F846xB移植官方触控库文件
  4. Unity制作红色射线
  5. matlab指数积分函数,如何使用matlab拟合指数分布函数?
  6. element 远程搜索讲解
  7. 三菱MR-J3伺服实现位置控制
  8. AntWithAntenna
  9. 简析外贸网站建设应注意的要术
  10. Linux _ Shell编程 — 功能语句