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


目录
相关文章
|
6月前
|
传感器 人工智能 物联网
智能戒指:小小指环,大大未来
智能戒指:小小指环,大大未来
301 21
|
11月前
|
编解码 前端开发 UED
前端开发中的响应式设计实践
前端开发中的响应式设计实践
230 0
|
11月前
|
人工智能 并行计算 监控
深入剖析 Qwen2.5 - 32B 模型在 VLLM 上的单机三卡部署与运行
本文深入探讨了Qwen2.5 - 32B模型在VLLM框架上的部署过程,从模型下载、启动命令、资源占用分析到GPU资源分配及CUDA图应用,详述了大模型运行的挑战与优化策略,强调了硬件资源规划与技术调优的重要性。
6419 2
|
自然语言处理 JavaScript 前端开发
JDK序列化原理问题之FuryJDK序列化性能问题的如何解决
JDK序列化原理问题之FuryJDK序列化性能问题的如何解决
180 2
|
Web App开发 JavaScript 前端开发
Node.js与Go语言的对比?
【8月更文挑战第4天】Node.js与Go语言的对比?
957 3
|
Java 应用服务中间件 Maven
SpringBoot(三)之打包方式
在 mainClass 元素中指定主类的完全限定名,这是可执行 JAR 文件的入口点。
460 0
|
SQL 分布式计算 运维
MaxCompute操作报错合集之遇到报错:ODPS-0110061: Failed to run ddltask - Modify DDL meta encounter exception该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
190 0
|
C++ Python
量化交易系统开发详细步骤/需求功能/策略逻辑/源码指南
Developing a quantitative trading system involves multiple steps, and the following is a possible development process
|
网络协议 开发者
深入理解HTTP/2:提升Web性能的秘密 - 蓝易云
理解并利用HTTP/2的这些特性,可以显著提高Web应用的性能。同时,由于HTTP/2是完全兼容HTTP/1.1的,所以开发者可以平滑地过渡到这个新协议,无需担心兼容性问题。
214 0
|
存储
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)
1125 0
Qt更新组件出现(“要继续此操作,至少需要一个有效且已启用的储存库”)