bert与Roberta模型的区别

1. 主要区别

BERT

Roberta

模型结构

一样都是transformer的encoder部分

一样都是transformer的encoder部分

数据集

16G

160G

训练步长

125K(Base模型)-500K步(Large模型)

500K

训练batchsize

256

2K, 8K, 甚至32K)

训练目标

Next Sentence Prediction + Masked Language Modeling

Masked Language Modeling

文本编码

字符级别BPE,有OOV的问题

字节级别BPE,没有OOV的问题

动态掩码

否。BERT在数据预处理阶段为每个训练实例静态地生成一次Masked LM任务的掩码模式。这意味着在整个训练过程中,同一个句子每次出现时被掩盖的词是相同的。

注意:哈工大的hfl/chinese-roberta-wwm-ext 虽然名称包含"RoBERTa",但其底层实现延续了中文BERT-wwm的设计,采用基于字符(汉字)的WordPiece分词,而非字节级BPE(Byte-level BPE)。具体表现为:

中文文本以单字为最小单位切分(如"语言"拆分为"语"和"言")。

词表(vocab.txt)包含独立的汉字和常见符号,而非字节组合。

官方文档明确说明,加载该模型需使用BertTokenizer而非RobertaTokenizer,因后者默认支持字节级BPE。

该模型的核心创新是全词掩码(Whole Word Masking):若一个词由多个汉字组成(如"模型"),则掩码时对整个词的全部汉字进行遮盖(如"[MASK][MASK]")。但掩码策略依赖的分词基础仍是字符级WordPiece,即先按字切分后再根据分词结果合并掩码单位。


 

2. 重要概念——BPE算法

讲在前面的一些重要概念:utf-8编码格式,可以利用256个字节表示任意一个字符,正式基于这一基本前提,字节级别的BPE才没有OOV的问题。常见的中文、英文、生僻字、emoji表情所占字节数如下:

        英文字母字符:1个字节

        常见中文字符:3个字节

        生僻字、emoji表情:4个字节

BPE是一种数据压缩算法,后被广泛应用于NLP的子词分词(Subword Tokenization)。它的核心思想是:将频繁出现的相邻符号(字符/字节)合并成新的符号,逐步构建词汇表。

1. 初始化词汇表  

   - 英文:将所有单词拆分为字符(如 "low" -> ["l", "o", "w"])+ 特殊符号(如 [UNK], [CLS])  

   - 中文:将所有汉字单独作为符号(如 `"模型" -> ["模", "型"]`)

2. 统计相邻符号对的频率  

   统计语料库中所有相邻符号对的出现频率。  

   *例:在 ["l", "o", "w", "e", "r"] 中,("l", "o")出现1次,("o", "w")出现1次...*

3. 合并最高频符号对  

   找到频率最高的符号对(如 ("e", "s"),将其合并为新符号(如 "es"),加入词汇表。

4. 重复合并  

   重复步骤2-3,直到达到预设的词汇表大小(如30K)或无法继续合并。

字节级别的BPE解决OOV问题的原理是:256个基础字节和所有BPE合并符号,在嵌入层(Embedding Layer)中都拥有自己的可训练向量!任何一个字符都可以拆解为1~4个基础字节,如果字符不在词汇表中,就用拆解出来的基础字节的embedding来表示,因此就没有OOV的问题了。

概念

是否参与BPE合并

是否有嵌入向量

用途

基础字节 (0-255)

❌ 不参与合并

✅ 有向量

处理生僻字/符号的“原子”

BPE合并符号

✅ 参与合并

✅ 有向量

表示高频组合

3. 碎碎念的概念

batch_size : 单词输入的样本量

step:一次参数迭代交一个步长,一般情况下一个batch迭代一次

epoch:在全量数据集完成一次训练叫一个epoch

三者之间的关系:

概念

定义

计算关系

例子(1000样本,batch_size=100)

Batch Size

单次输入的样本量

超参数(人为设定)

100

Step

一次参数更新(处理1个batch)

总步数 = (总样本数 / batch_size) × epochs

1 epoch = 10步

Epoch

完整遍历整个训练集一次

超参数(训练轮数)

训练5轮 = 50步

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值