bert包含的文件概述

Bert

bert从提出到现在已经一年多了,其效能的种种“神奇”,相信学习应用自然语言的研究者都有所耳闻。对于一开始就接触它的大牛,在学习bert的先进经验的同时,也在改进它的路上越走越远。

bert文件概述

我是从6月份开始接触bert的,到现在已经有3个月了。期间看了许多别人的博客,他们对我理解bert有很大的帮助,但大多却千篇一律,许多的细节讲解也不甚明了,让人略有厌烦。在犹豫了一段时间后,这里打算在在另一层面——不同文件作用的视角介绍bert。

bert,Google出品,其中有很多个版本,这里提供了常用的。

开源bert代码官方网址: BERT-Base Uncased(Original)
开源bert中文训练参数: 中文预训练参数下载 提取码: ww79

其它版本,请自行查找下载,其中的文件内容也差不多!

bert文件内容

当下载后,可以看到下图所示的文件内容
bert文件内容
为了方便之后的详解,这里把它们分类为:
分类bert文件

黑色框内文件介绍

小黑(黑色框框的文件)内不需要管。它们主要是文本文件,用于说明或介绍使用bert的方法;其余的一个是类属性初始化必须文件(_init_.py),里面没有什么东西,一个是看不懂,另一个也是不明白。想知道的小伙伴可以去更深入去了解,并期待能够告知楼主。

红色框内文件介绍

这3个文件是Google专用,用于训练参数的,是传说中[MASK]字词预测,下一句预测的干活。

create_pretraining_data文件:生成预训练数据,是以类TrainingInstance的方式保存到一个文件中的,其中包含有 成对的句子,俩句子分词后长度总和512,当然也有[MASK],[MASK]的位置和原标签的值,和俩句子是否连续的标记。其中的[MASK]个数,句子长度,概率值等参数,可以自己设置或使用官方的,反正生成正确的预训练文件就行了!

run_pretraining文件:使用bert模型训练create_pretraining_data生成文件的模型。其内容也较为简单,就是TPU的调用方法不同于其它,因此代码结构看起来有些怪,不过咱们没有TPU也能用,可以不用理会,只要文件地址,参数到位,就可以像Google一样训练数据了,若是训练的充分或许可以拼一下官方参数。

extract_features文件:表示不太懂,也没找到用途,看单词拼写,只是略有些明晰。

绿色框内文件介绍

modeling文件:大名鼎鼎的bert源代码,荣获在NLP方向巨大成就的“罪魁祸首”。其中的代码,除了因为TPU调用方式和各种意外情况的处理的部分,看起来比较麻烦,剩下的也不难,这部分可以在许多的优秀blog中详知。懒,不多做介绍!

modeling_test文件:出厂前用于测试modeling文件的。

蓝色框内文件介绍

optimization文件:google使用的优化loss的模型,使用的是Adam方法,其中的num_warmup_steps,learning_rate等是为有较好结果的参数。但它们也在一定程度上,增加了小白们再次预训练难度,因为需要调配好其中的参数才行。

optimization_test文件:出厂前用于测试optimization文件的。

黄色框内文件介绍

这两个文件应用的好,才是方便快捷应用的王道。它们都是bert的直接使用的实例化,一个可以直接训练预测分类之类的问题:run_classifier,一个可以训练预测句子回答之类的问题:run_squad。这两个文件思路差不多,因此这里只说明一个。

run_classifier文件:它默认提供了[XnliProcessor,MnliProcessor,MrpcProcessor,ColaProcessor]这四个典型数据处理的方法,你也可以自己写,其主要作用是生成InputFeatures实例文件,并保存,包含(guid=索引, text_a=文本A, text_b=文本B可空, label=类标签)。建议是直接修改默认中的处理方法(找到数据处理的方法的位置,直接修改),其注意点是get_labels()函数和获取text_a和text_b的位置。其它就没有什么了,填上超参数,然后点击运行就可以了。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值