多GPU训练bert

概述

做nlp的肯定都听说过bert了,它属于迁移学习,官方提供了通用语料bert预训练结果,通过微调,可以提高下游任务的准确率。但是bert使用的维基百科这类的通用语料,对特定领域的文本特征学的不是很好。例如我所在的医疗领域,bert并不能很好区分医学特征,此时就需要我们对自己的语料进行预训练。bert官方也提到利用fine-tune任务的语料进行预训练,能提高fine-tune任务的准确率。

训练bert

官方提供的bert是使用tpu集群训练的代码,他可以兼容单核GPU、多核CPU,如果你的机器有多个GPU,直接运行python run_pretraining.py,发现只能利用一个GPU。其实git上已经有人提供了多GPU版本,亲证是可行的,只需要将他的run_pretraining_gpu.py替换run_pretraining.py、optimization_gpu.py替换optimization.py即可,然后将modeling.py大概344行:assignment_map[name] = name修改assignment_map[name] = name_to_variable[name]就可以了。

减小bert预训练结果大小

bert的模型结果大概有1.2G,但是官方提供的预训练结果只有400多M,这是因为bert默认会保存adm优化器的中间参数,这个只是在训练时需要,在预测时只需要他的最终参数。网上提供了减小模型参数的方法:https://github.com/google-research/bert/issues/99,代码我不复制了。但是你多GPU的结果使用该方法发现并不可行,网上查了很多资料还是不行,最后想了一个笨办法。我在本地以多GPU的结果继续少量数据的run_pretraining.py训练(将init_checkpoint指定为GPU的ckpt),快速结束训练并保存结果数据。然后对该本地的结果数据使用前面的提到的代码,就能将模型压缩到400多M左右。该办法真的很暴力,大家如果发现了好的方法希望在留意区分享交流。

bert单机多GPU训练相关推荐

  1. 多gpu训练梯度如何计算,求和是否要求平均

    作者:智星云服务 链接:https://www.zhihu.com/question/271226455/answer/1521784627 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  2. MMDetection——GPU训练

    预先知识 ${CONFIG_FILE}:config/里面的文件 config/faster_rcnn_r50_fpn_1x_coco.py ${CHECKPOINT_FILE}:模型权重所在位置 c ...

  3. 47分钟,BERT训练又破全新纪录!英伟达512个GPU训练83亿参数GPT-2 8B

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 具有92个DGX-2H节点的NVIDIA DGX SuperPOD通过在短短47分 ...

  4. 『TensorFlow』分布式训练_其二_单机多GPU并行GPU模式设定

    建议比对『MXNet』第七弹_多GPU并行程序设计 一.tensorflow GPU设置 GPU指定占用 gpu_options = tf.GPUOptions(per_process_gpu_mem ...

  5. torch distributed 多GPU训练笔记

    DistributedDataParallel (既可单机多卡又可多机多卡) 先奉上官网nn.DistributedDataParallel(model)链接 https://pytorch.org/ ...

  6. Keras多GPU训练指南

    更多深度文章,请关注:https://yq.aliyun.com/cloud Keras是我最喜欢的Python深度学习框架,特别是在图像分类领域.我在很多地方都使用到了Keras,包括生产系统.我自 ...

  7. 程序如何在两个gpu卡上并行运行_深度学习分布式训练相关介绍 - Part 1 多GPU训练...

    本篇文章主要是对深度学习中运用多GPU进行训练的一些基本的知识点进行的一个梳理 文章中的内容都是经过认真地分析,并且尽量做到有所考证 抛砖引玉,希望可以给大家有更多的启发,并能有所收获 介绍 大多数时 ...

  8. 【TensorFlow】多GPU训练:示例代码解析

    使用多GPU有助于提升训练速度和调参效率. 本文主要对tensorflow的示例代码进行注释解析:cifar10_multi_gpu_train.py 1080Ti下加速效果如下(batch=128) ...

  9. TensorFlow在美团外卖推荐场景的GPU训练优化实践

    省时查报告-专业.及时.全面的行研报告库 省时查方案-专业.及时.全面的营销策划方案库 知识图谱在美团推荐场景中的应用实践 搜索场景下的智能实体推荐 机器学习在B站推荐系统中的应用实践 小红书推荐系统 ...

最新文章

  1. NME的GLSL支持情况
  2. java中http解析url,java url 编码(解析http请求汉语言地址 )
  3. 专家:未来互联网金融行业人才缺口将超百万
  4. Redis java使用
  5. MQTT再学习 -- 漫谈MQTT协议
  6. qpsk调制matlab实现,QPSK调制解调Matlab实现(ing待补充说明)
  7. 冒名者还是重名?疑惑中!
  8. 【转】1.3异步编程:线程同步基元对象
  9. SpringBoot 手动配置 @Enable 的秘密
  10. python之读取文本操作
  11. atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结
  12. 郭盛华动真格了!新公司获百亿融资,网友:还招人不
  13. 操作员或系统管理员拒绝了请求(0x800710E0) win10系统任务计划程序执行失败
  14. 网页保存视频最有效的几种方法
  15. Mathmatica可视化
  16. 和差化积公式 和 积化和差公式
  17. 宠物商店信息管理系统
  18. CAD将文字变成曲线(网页版)
  19. 运营小白如何搭建【初期用户生命周期体系】
  20. axios 的 qs库

热门文章

  1. 【前端GUI】——对一些优秀网页设计作品的分析心得
  2. 软件黑盒测试的测评,软件评测师资料:黑盒测试与白盒测试例题
  3. 我对苹果哲学的理解──苹果的骗局
  4. FFmpeg的多媒体分析器ffprobe
  5. 项目阶段六:查看我的订单模块
  6. 为金融服务注入新动能——5G消息助力银行场景化升级
  7. matlab常用函数表格,(完整版)MATLAB常用函数总结,推荐文档
  8. DNN、FCN、CNN、RNN、LSTM、BRNN、DRNN、GAN、自编码器、DBN、RBN、注意力网络、MCNN、Inception、dropout、残差网络
  9. Java 之 JNA(调用第三方库)
  10. BZOJ 1305 dance跳舞 二分+最大流