ALBERT 怎么样

简介: ALBERT 怎么样

Transformer 101 个思考问题:


https://gitee.com/oatmeal3000/Transformer101Q


谷歌 Lab 发布的预训练模型 "ALBERT" 全面在 SQuAD 2.0、GLUE、RACE 等任务上超越了 BERT、XLNet、RoBERTa 再次刷新了排行榜。ALBERT 是一种轻量版本的 BERT,利用更好的参数来训练模型,但是效果却反而得到了很大提升!ALBERT的核心思想是采用了两种减少模型参数的方法,比 BERT 占用的内存空间小很多,同时极大提升了训练速度,更重要的是效果上也有很大的提升!


ALBERT 提出了三种优化策略,做到了比 BERT 模型小很多的模型,但效果反而超越了 BERT, XLNet。


  • Factorized Embedding Parameterization. 他们做的第一个改进是针对于 Vocabulary Embedding。在 BERT、XLNet 中,词表的 embedding size(E) 和transformer 层的 hidden size(H) 是等同的,所以 E=H。但实际上词库的大小一般都很大,这就导致模型参数个数就会变得很大。为了解决这些问题他们提出了一个基于factorization 的方法。


他们没有直接把 one-hot 映射到 hidden layer, 而是先把 one-hot 映射到低维空间之后,再映射到 hidden layer。这其实类似于做了矩阵的分解。


  • Cross-layer parameter sharing. Zhenzhong 博士提出每一层的 layer 可以共享参数,这样一来参数的个数不会以层数的增加而增加。所以最后得出来的模型相比BERT-large小 18 倍以上。


  • Inter-sentence coherence loss. 在 BERT 的训练中提出了 next sentence prediction loss, 也就是给定两个 sentence segments, 然后让 BERT 去预测它俩之间的先后顺序,但在 ALBERT 文章里提出这种是有问题的,其实也说明这种训练方式用处不是很大。 所以他们做出了改进,他们使用的是 setence-order prediction loss (SOP),其实是基于主题的关联去预测是否两个句子调换了顺序。


ALBERT 用 70% 的参数量,1.5M steps 时效果明显,就是训练时间比较长。


如果不到 xlarge 版,那么没必要用 ALBERT;


同一速度的 ALBERT 效果比 BERT 差;


同一效果的 ALBERT 速度比 BERT 慢。


BERT 也都有 tiny/small 版了,比如追一科技开源的,基本上一样快而且效果更好,除非你是真的需要体积小这个特点。


那 xlarge 版是什么概念?有些读者还没尝试过 BERT,因为机器跑不起来;多数读者显存有限,只跑过 base 版的 BERT,没跑过或者跑不起 large 版的。而 xlarge 是比 large 更大的,对设备的要求更高,所以对于很多读者来说也就没必要用 ALBERT了。


目录
相关文章
|
4月前
|
机器学习/深度学习 PyTorch 语音技术
【文献学习】Conformer: Convolution-augmented Transformer for Speech Recognition
文章介绍了Conformer模型,这是一种结合了Transformer的自注意力机制和CNN卷积模块的混合模型,旨在提高语音识别任务的性能,通过自注意力捕捉全局上下文信息,同时利用卷积模块有效捕获局部特征。
106 0
|
7月前
|
人工智能 自然语言处理 测试技术
RoBERTa
“【5月更文挑战第30天】”
53 1
|
7月前
|
机器学习/深度学习 自然语言处理 PyTorch
[ELMo]论文实现:Deep contextualized word representations
[ELMo]论文实现:Deep contextualized word representations
53 1
|
7月前
|
机器学习/深度学习 自然语言处理 并行计算
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
98 1
|
7月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
[NNLM]论文实现:A Neural Probabilistic Language Model [Yoshua Bengio, Rejean Ducharme, Pascal Vincent]
[NNLM]论文实现:A Neural Probabilistic Language Model [Yoshua Bengio, Rejean Ducharme, Pascal Vincent]
32 0
|
7月前
|
机器学习/深度学习 vr&ar
[XLNet]论文解读:XLNet:Generalized Autoregressive Pretraining for Language Understanding
[XLNet]论文解读:XLNet:Generalized Autoregressive Pretraining for Language Understanding
66 0
|
7月前
|
自然语言处理 PyTorch 测试技术
[RoBERTa]论文实现:RoBERTa: A Robustly Optimized BERT Pretraining Approach
[RoBERTa]论文实现:RoBERTa: A Robustly Optimized BERT Pretraining Approach
76 0
|
机器学习/深度学习 自然语言处理 数据可视化
SimCSE: Simple Contrastive Learning of Sentence Embeddings论文解读
本文介绍了SimCSE,一个简单的对比学习框架,极大地推进了最先进的句子嵌入。我们首先描述了一种无监督方法,该方法采用一个输入句子,并在一个对比目标中预测自己
309 0
|
机器学习/深度学习 存储 编解码
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导(一)
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导
297 0
|
机器学习/深度学习 编解码 数据可视化
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导(二)
NeRF系列(1):NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis 论文解读与公式推导(二)
244 0