丰色 发自 凹非寺
量子位 报道 | 公众号 QbitAI

大型语言模型BERT,熟悉NLP领域的同学没人不知道它的名气吧?

只可惜它太太太贵了!

之前有做过统计,使用谷歌云TPU或英伟达GPU训练完整个模型需要虽然只需1个小时,但是上千块TPU/GPU均需耗价上万美元。

只有少数“富贵人家”的行业实验室才能够负担得起。

为了降低成本,来自以色列的科学家们结合已有的技术对BERT做了多方面优化,只需24小时、8个12GB内存的云GPU,一次几百美元就能在加快训练过程的同时,还能保证准确性几乎不损失。

终于,“普通家庭”也不怕“囊中羞涩”了。

24小时、8个云GPU(12GB内存)、$300-400

为了模拟一般初创公司和学术研究团队的预算,研究人员们首先就将训练时间限制为24小时,硬件限制为8个英伟达Titan-V GPU,每个内存为12GB。

参考云服务的市场价格,每次训练的费用大约在300到400美元之间。

此前很多人尝试用最新的算法(eg.clark-etal-2020-learning等)来减少训练BERT所需的计算过程。

而这批研究人员们选择回归BERT模型本身进行优化。

他们结合了各种最新的技术来优化掩码语言模型(masked language model)。虽然这些技术以前都被使用过,但这是它们首次作为一个统一的框架组合出现。

五点优化:将训练时间缩短了1/3

首先分别进行了以下五点优化:

  • 数据:由于研究人员的重点是句子分类,他们便将整个预训练过程的序列长度限制为128个标记。并使用单序列训练。为了减少在验证集上计算性能所花费的时间,只保留0.5%的数据(80MB),并且每30分钟计算一次验证损失(validation loss)。

  • 模型:训练了一个大模型,因为在相同的挂钟时间Li2020TrainLT下,较大的模型往往比较小的模型获得更好的性能。

  • 优化程序:研究人员借鉴了RoBERTa的优化,采用如下参数:β1 = 0.9, β2 = 0.98, ε = 1e-6, 权重衰减 = 0.01, dropout = 0.1, attention dropout = 0.1。

  • 软件:使用的是DeepSpeed软件包,修改了部分实现,将掩码语言模型的预测头替换为稀疏标记预测。

  • I/O:为了减少I/O瓶颈,研究人员采用devlin-etal-2019-bert的技术并将原始语料库的10个副本预屏蔽(pre-mask)。

将优化后的框架和官方发布实现比较后发现:

使用官方代码训练基本模型需要近6天的时间,训练大型模型需要多达26天。

相比之下,研究人员优化后显著加快了训练速度,将训练大型模型的时间缩短了2/3(8天)。如果扩大batch size,则只需不到3天

超参数调优:MLM损耗更低

超参数配置是提高深度学习模型和NLP的性能关键。

为了适应该项目的低配设置,研究人员参考的此前的一些技术实现对4个超参数进行了调优。

1、Batch Size (bsz):由于每个GPU上显存有限,分别设置为4096、8192和16384。
2、峰值学习率(lr):使用线性学习速率,从0开始,预热到最高学习速率后衰减到0。分别设置为5e-4、1e-3和2e-3。
3、预热学习率(wu):分别设置为0%、2%、4%和6%,成比例“预热”。
4、总天数(days):学习率调度器衰减回0所需的总天数。分别设置为1、3、9。

依据以上的超参数配置,最终筛选出的能够在24小时之内完成训练的配置参数。

下表是按MLM损耗计算的最佳配置。

MLM:masked language modeling掩码语言模型

可以发现,该团队的优化后的性能远远高于使用BERT默认超参数。

最后,选择性能最佳的优化模型“Search #1”将其命名为“24hBERT”,与BERT模型先前配置的学习曲线进行比较也能发现,24hBERT收敛明显提前, MLM损耗更低

最后,研究人员表示该优化方法可能需要一段时间来适应目前的硬件和时间限制。

他们也希望这次研究能让更多的人参与进来,让训练BERT模型这件“核弹级别”的操作变得更“接地气儿”。

GitHub传送门:https://github.com/peteriz/academic-budget-bert

参考链接:

[1]https://arxiv.org/abs/2104.07705

我用24小时、8块GPU、400美元在云上完成训练BERT!特拉维夫大学新研究相关推荐

  1. 我用24小时、8块GPU、400美元在云上完成训练BERT!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 大型语言 ...

  2. 去中心化借贷协议24小时清算超1300万美元

    陀螺财经消息,欧科云链 OKLink 数据显示,24小时内,去中心化借贷协议清算量超1300万美元.其中Compound平台清算588万美元,dYdX平台清算527万美元,Aave平台清算173万美元 ...

  3. 大数据24小时:孙彬出任乐视云新CEO,趣店数百万学生信息数据疑似泄露

    十万元可买到数百万学生信息,趣店疑似发生数据泄露:乐视云新CEO上任,系公司原技术与服务副总裁孙彬:"海洋国家实验室"智能超算与大数据联合实验室正式启动--以下为您奉上更多大数据热 ...

  4. 大数据24小时:系统工程领域专家夏耘出任海云数据CEO,交通部将对网约车公司运营数据进行监管

    [数据猿导读]系统工程领域专家夏耘加盟海云数据,接替冯一村任CEO一职:交通部颁布<办法>,将对网约车公司运营数据进行监管:阿里云在欧洲推出多款产品,涉及大数据.人工智能.安全等领域--以 ...

  5. 钢琴块2电脑版_云上钢琴学生端电脑版|云上钢琴学生端 V2.3.1 最新PC版 下载_当下软件园...

    云上钢琴学生端电脑版是一款非常优质的钢琴学习软件,它致力于让孩子们可以获取优质的学习体验.软件采用在线教学的方式,通知视频远程授课,专业老师1对1在线辅导,这样省去了家长接送钢琴班的麻烦,给家长节省了 ...

  6. 专访徐勇州:腾讯云全球化布局势如破竹,构建全球24小时无差别服务︱大咖访谈录...

    3月26日,腾讯云香港第二个数据中心正式对外开服,率先在香港实现了金融级双可用区部署.  \3月27日,腾讯云美国东部弗吉尼亚和西部硅谷数据中心同时开服,实现全美东西海岸两地三中心布局.  \3月28 ...

  7. 超超超超写实的数字人!让你24小时不停播

    重磅预告! 支持随意切换妆发.服装.场景 可实现超写实数字人24小时纯 AI 直播的 百度智能云数字人直播平台 即将在7月21日百度世界2022大会亮相 相比真人主播,数字人直播可降低人.时间.空间的 ...

  8. 用ffmpeg向b站斗鱼等推流24小时直播一路踩的坑总结

    有关性能 玩客云,随身wifi棒子等,可以用copy模式无压力推流1080p视频 copy模式不能加水印(比如播放时间),要加水印必须转码 玩客云,随身wifi棒子等,cpu过弱,无论做何设置均不能流 ...

  9. 安装时间大于30秒_1天=24小时=1440分钟=86400秒吗?错!错!错!

    ↑↑↑点击蓝字,轻松关注!寒暑易节,物换星移,宇宙中一切物质的起源与消失,世界上一切事物的诞生与灭亡,都与时间息息相关."嘀嗒嘀嗒",在分针与秒针不断交错间,时间一秒一秒流逝.然而 ...

最新文章

  1. C++ STL: lower_bound 和 upper_bound
  2. 递归函数练习——累乘
  3. 基于TCP协议的通信模型
  4. 介绍一个免费的采用人工智能放大老照片的在线网站
  5. Session.run() Tensor.eval()
  6. LeetCode之Remove Duplicates from Sorted List
  7. 蓬勃发展的社区将帮助您的项目成功的6种方式
  8. git文件gitignore修改后不生效
  9. UIAutomator2.0初始
  10. c语言入门级小游戏·飞机(1.0版)| 激发你的编程兴趣(50~100行代码)
  11. python程序纠错_纠错帮【python文稿AI纠错工具】
  12. eclipse配置java开发环境_Java中Eclipse开发环境配置
  13. 用MarkDown写PPT
  14. 一元二次方程解法的实现(Python)
  15. web网页设计期末课程大作业~超高仿英雄联盟LOL游戏官网设计与实现(HTML+CSS+JavaScript)
  16. 2021-2022-1 20212810《Linux内核原理与分析》第一周作业
  17. JavaScript Lodash 工具库
  18. 像距为什么要大于焦距?
  19. Linux 卷组逻辑卷创建管理和find高级使用 Set UID附加权限(DAY7)
  20. 2011 各大IT公司笔试面试题目

热门文章

  1. 如何将当前更改提交到git中的不同分支[重复]
  2. 要求jQuery在执行某些操作之前等待所有图像加载的官方方式
  3. 如何使用pip升级所有Python软件包?
  4. 聊聊flink的OperatorStateBackend
  5. Oracle数据库的语句级读一致性
  6. 随笔-tomcat的日志文件按日期每天生成
  7. js 对动态添加的table 排序
  8. 菜单消失_减肥的你,哪些食物应该从你的菜单消失?
  9. Kali Linux 安全渗透教程第五更1.4 安装Kali Linux
  10. 打车类app怎么获取司机位置 开发_详谈开发一款打车APP应用的解决方案