BERT相关知识

1.分词方法 BPE 和 WordPiece 的区别?

BPE 与 Wordpiece 都是首先初始化一个小词表,再根据一定准则将不同的子词合并。词表由小变大。BPE 与 Wordpiece 的最大区别在于,如何选择两个子词进行合并:BPE 选择频数最高的相邻子词合并,而 WordPiece 选择能够提升语言模型概率最大的相邻子词加入词表。

2. BERT 是怎么分词的?

BERT 主要是基于 Wordpiece 进行分词的,其思想是选择能够提升语言模型概率最大的相邻子词加入词表。

BERT 源码中 tokenization.py 就是预处理进行分词的程序,主要有两个分词器: BasicTokenizer 和 WordpieceTokenizer,另外一个 FullTokenizer 是这两个的结合:先进行 BasicTokenizer 得到一个分得比较粗的 token 列表,然后再对每个 token 进行一次 WordpieceTokenizer,得到最终的分词结果。

其中 BasicTokenizer 完成: 转 unicode )-> 去除空字符、替换字符、控制字符和空白字符等奇怪字符- > 中文分词 -> 空格分词 -> 小写、去掉变音符号、标点分词;WordpieceTokenizer 大致分词思路是按照从左到右的顺序,将一个词拆分成多个子词,每个子词尽可能长。按照源码中的说法,该方法称之为greedy longest-match-first algorithm,贪婪最长优先匹配算法。

对于中文来说,一句话概括:BERT 采取的是「分字」,即每一个汉字都切开。

3.介绍一下 Bert 以及三个下游任务

Bert 模型是一种自编码语言模型,其主要结构是 transformer 的 encoder 层,其主要包含两个训练阶段,预训练与 fine-tuning,其中预训练阶段的任务是 Masked Language Model(完形填空) 和Next Sentence Prediction。

下游任务:句子对分类任务,单句子分类任务,问答任务,单句子标注任务。

4.除了 Bert,其他预训练模型的拓展

RoBERTa 模型在 Bert 模型基础上的调整:

  • 训练时间更长,Batch_size 更大,(Bert 256,RoBERTa 8K)

  • 训练数据更多(Bert 16G,RoBERTa 160G)

  • 移除了 NPL(next predict loss)

  • 动态调整 Masking 机制

  • Token Encoding:使用基于 bytes-level 的 BPE

5 BERT 和 Roberta 的区别

RoBERTa 模型在 Bert 模型基础上的调整:

 训练时间更长,Batch_size 更大,(Bert 256,RoBERTa 8K)

 训练数据更多(Bert 16G,RoBERTa 160G)

 移除了 NPL(next predict loss)

 动态调整 Masking 机制

 Token Encoding:使用基于 bytes-level 的 BPE

相关推荐
fhf3 分钟前
感觉根本等不到35岁AI就把我裁了
前端·人工智能·程序员
m0_742848886 分钟前
PyTorch3
人工智能·深度学习
YuanLiu_22713 分钟前
代码随想录算法训练营第十三天(递归遍历;迭代遍历;统一迭代;层序遍历)
java·数据结构·笔记·算法·leetcode
闻缺陷则喜何志丹15 分钟前
【C++动态规划】1411. 给 N x 3 网格图涂色的方案数|1844
c++·算法·动态规划·力扣·网格·数目·涂色
lindsayshuo18 分钟前
香橙派--安装RKMPP、x264、libdrm、FFmpeg(支持rkmpp)以及opencv(支持带rkmpp的ffmpeg)(适用于RK3588平台)
人工智能·opencv·ffmpeg
soso196822 分钟前
构建与优化数据仓库-实践指南
大数据·数据仓库·人工智能
linmoo198627 分钟前
java脚手架系列16-AI大模型集成
java·人工智能·ai·大模型·通义千问·qwen·脚手架
仙俊红30 分钟前
快速运行openMMOCR
深度学习·算法
无水先生33 分钟前
ML 系列:第 36 节 — 统计学中的抽样类型
人工智能·机器学习·概率论
Guofu_Liao34 分钟前
大语言模型---Llama不同系列的权重参数文件提取;Llama-7B权重文件提取;Llama-8B权重文件提取;主要代码功能解析
人工智能·语言模型·自然语言处理·chatgpt·aigc·llama·python3.11