我用24小时、8块GPU、400美元在云上完成训练BERT!
点击上方“视学算法”,选择加"星标"或“置顶”
重磅干货,第一时间送达
丰色 发自 凹非寺
量子位 报道 | 公众号 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
— 完 —
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
点个在看 paper不断!
我用24小时、8块GPU、400美元在云上完成训练BERT!相关推荐
- 我用24小时、8块GPU、400美元在云上完成训练BERT!特拉维夫大学新研究
丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 大型语言模型BERT,熟悉NLP领域的同学没人不知道它的名气吧? 只可惜它太太太贵了! 之前有做过统计,使用谷歌云TPU或英伟达GPU训练完 ...
- 去中心化借贷协议24小时清算超1300万美元
陀螺财经消息,欧科云链 OKLink 数据显示,24小时内,去中心化借贷协议清算量超1300万美元.其中Compound平台清算588万美元,dYdX平台清算527万美元,Aave平台清算173万美元 ...
- 大数据24小时:孙彬出任乐视云新CEO,趣店数百万学生信息数据疑似泄露
十万元可买到数百万学生信息,趣店疑似发生数据泄露:乐视云新CEO上任,系公司原技术与服务副总裁孙彬:"海洋国家实验室"智能超算与大数据联合实验室正式启动--以下为您奉上更多大数据热 ...
- 大数据24小时:系统工程领域专家夏耘出任海云数据CEO,交通部将对网约车公司运营数据进行监管
[数据猿导读]系统工程领域专家夏耘加盟海云数据,接替冯一村任CEO一职:交通部颁布<办法>,将对网约车公司运营数据进行监管:阿里云在欧洲推出多款产品,涉及大数据.人工智能.安全等领域--以 ...
- 钢琴块2电脑版_云上钢琴学生端电脑版|云上钢琴学生端 V2.3.1 最新PC版 下载_当下软件园...
云上钢琴学生端电脑版是一款非常优质的钢琴学习软件,它致力于让孩子们可以获取优质的学习体验.软件采用在线教学的方式,通知视频远程授课,专业老师1对1在线辅导,这样省去了家长接送钢琴班的麻烦,给家长节省了 ...
- 专访徐勇州:腾讯云全球化布局势如破竹,构建全球24小时无差别服务︱大咖访谈录...
3月26日,腾讯云香港第二个数据中心正式对外开服,率先在香港实现了金融级双可用区部署. \3月27日,腾讯云美国东部弗吉尼亚和西部硅谷数据中心同时开服,实现全美东西海岸两地三中心布局. \3月28 ...
- 超超超超写实的数字人!让你24小时不停播
重磅预告! 支持随意切换妆发.服装.场景 可实现超写实数字人24小时纯 AI 直播的 百度智能云数字人直播平台 即将在7月21日百度世界2022大会亮相 相比真人主播,数字人直播可降低人.时间.空间的 ...
- 用ffmpeg向b站斗鱼等推流24小时直播一路踩的坑总结
有关性能 玩客云,随身wifi棒子等,可以用copy模式无压力推流1080p视频 copy模式不能加水印(比如播放时间),要加水印必须转码 玩客云,随身wifi棒子等,cpu过弱,无论做何设置均不能流 ...
- 安装时间大于30秒_1天=24小时=1440分钟=86400秒吗?错!错!错!
↑↑↑点击蓝字,轻松关注!寒暑易节,物换星移,宇宙中一切物质的起源与消失,世界上一切事物的诞生与灭亡,都与时间息息相关."嘀嗒嘀嗒",在分针与秒针不断交错间,时间一秒一秒流逝.然而 ...
最新文章
- 你的创业前行之路,亲君愿与你一路相随
- UI设计不够高端?这5个小技巧可以试试
- JAVA实现单链表数据结构_java实现数据结构单链表示例(java单链表)
- CMMI过程域-MA度量和分析
- OpenCV Python教程系列
- HTML meter控件
- linux查看磁盘挂载dntf,从Windows设置Linux服务器的公钥认证(ppk私钥)
- AWS redshift-hdb pg(Greenplum), 内置函数、数据类型、字符集
- centos7 django mysql_安装和部署centos7 python3。X Django MySQL,centos7python3Xdjangomysql
- nuxt+echarts-gl 实现3d环饼图
- JAVA获取word书签内容_java操作word可操作书签
- GPS经纬度的表示方法及换算
- Centos8 更换DNF源
- 群晖硬盘已损毁 Linux 修复,群晖NAS提示空间损毁修复纪实 | Yeboyzq Blog
- 《指弹:HARD RAIN》
- esp8266基本使用 - GET|POST
- html 直线 斜线,css如何画斜线?
- 智安网络丨浅谈信息系统终止时如何确保信息资产的安全
- 如何使用ContentProvider打造自己的本地图片库
- HM编码器代码阅读(32)——帧间预测之AMVP/Merge模式(七)encodeResAndCalcRdInterCU函数:残差计算、变换量化