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了。


目录
相关文章
|
3月前
|
自然语言处理 API Python
BERT
【11月更文挑战第18天】
113 6
|
9月前
|
人工智能 自然语言处理 测试技术
RoBERTa
“【5月更文挑战第30天】”
69 1
|
9月前
|
机器学习/深度学习 自然语言处理 并行计算
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
[Bert]论文实现:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
177 1
|
9月前
|
机器学习/深度学习 自然语言处理 PyTorch
[ELMo]论文实现:Deep contextualized word representations
[ELMo]论文实现:Deep contextualized word representations
74 1
|
9月前
|
自然语言处理 PyTorch 测试技术
[RoBERTa]论文实现:RoBERTa: A Robustly Optimized BERT Pretraining Approach
[RoBERTa]论文实现:RoBERTa: A Robustly Optimized BERT Pretraining Approach
106 0
|
9月前
|
机器学习/深度学习 vr&ar
[XLNet]论文解读:XLNet:Generalized Autoregressive Pretraining for Language Understanding
[XLNet]论文解读:XLNet:Generalized Autoregressive Pretraining for Language Understanding
84 0
|
9月前
|
机器学习/深度学习 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]
39 0
|
机器学习/深度学习 数据采集 自然语言处理
【Deep Learning A情感文本分类实战】2023 Pytorch+Bert、Roberta+TextCNN、BiLstm、Lstm等实现IMDB情感文本分类完整项目(项目已开源)
亮点:代码开源+结构清晰+准确率高+保姆级解析 🍊本项目使用Pytorch框架,使用上游语言模型+下游网络模型的结构实现IMDB情感分析 🍊语言模型可选择Bert、Roberta 🍊神经网络模型可选择BiLstm、LSTM、TextCNN、Rnn、Gru、Fnn共6种 🍊语言模型和网络模型扩展性较好,方便读者自己对模型进行修改
709 0
|
机器学习/深度学习 自然语言处理 数据挖掘
Bert on ABSA、ASGCN、GAN、Sentic GCN…你都掌握了吗?一文总结情感分析必备经典模型(2)
Bert on ABSA、ASGCN、GAN、Sentic GCN…你都掌握了吗?一文总结情感分析必备经典模型
271 1
|
机器学习/深度学习 人工智能 编解码
Transformers回顾 :从BERT到GPT4
人工智能已成为近年来最受关注的话题之一,由于神经网络的发展,曾经被认为纯粹是科幻小说中的服务现在正在成为现实。从对话代理到媒体内容生成,人工智能正在改变我们与技术互动的方式。特别是机器学习 (ML) 模型在自然语言处理 (NLP) 领域取得了重大进展。一个关键的突破是引入了“自注意力”和用于序列处理的Transformers架构,这使得之前主导该领域的几个关键问题得以解决。
5075 0