社区
CUDA高性能计算讨论
帖子详情
以pytorch为框架运行bert,在gpu内存分配遇到问题?在网上找解决方案,说是减小bachsize,减小后还是报错。
Emma_YeNT
2020-11-12 09:11:03
...全文
804
回复
打赏
收藏
以pytorch为框架运行bert,在gpu内存分配遇到问题?在网上找解决方案,说是减小bachsize,减小后还是报错。
[图片]
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Python-
BERT
模型从训练到部署全流程
BERT
模型从训练到部署全流程
kaggle-google-quest:Google QUEST Q&A标签Kaggle竞赛第六名
解决方案
kaggle-google-quest 在Google QUEST Q&A Labeling Kaggle竞赛中训练第六名
解决方案
的变压器模型的代码。 详细
说
明发布在的Kaggle讨论部分
运行
代码需要: 比赛数据放在名为data的目录中。 可以从下载。 需要安装requirements.txt文件中的软件包。 默认情况下,训练是在
GPU
(单个RTX 2080Ti)上进行的,因此需要CUDA以及大约10GB的
GPU
内存。 为了解决CUDA内存不足的错误,可以在train.py脚本中将批大小
减小
到1,并将梯度train.py增加到8。 要重现所有4种变压器模型,请
运行
以下命令: python train.py -model_name=siamese_ro
bert
a && python finetune.py -model_name=siamese_ro
bert
a python
Pytorch
中文语言模型(
Bert
/Ro
bert
a)进一步预训练(further pretrain)
Pytorch
中文语言模型(
Bert
/Ro
bert
a)进一步预训练(further pretrain)1.Motivation2.相关链接3. 具体步骤3.1 依赖项3.2 数据格式3.3 代码
运行
4. 结果4.1 完整的目录结构4.2 训练过程4.3 训练结果5 .附录 1.Motivation
Bert
是在大规模的语料下进行MLM训练得到的结果。然而,在具体的任务下,再在自己新的数据集进行finetune的效果并不会特别好。因此,需要利用domain内的语料对
Bert
预训练模型进行进一步的MLM训练,
模型训练时
gpu
内存不足的解决办法
最近在训练微调
bert
预训练模型的时候,
gpu
内存老是不足,跑不了一个epoch就爆掉了,在
网上
来来回回
找
了很多资料,这里把一些方法总结一下: 半精度训练 半精度float16比单精度float32占用内存小,计算更快,但是半精度也有不好的地方,它的舍入误差更大,而且在训练的时候有时候会出现nan的情况(我自己训练的时候也
遇到
过,解决方法可以参考我的另一篇博客)。 模型在
gpu
上训练,模型和输入数据都要.cuda()一下,转成半精度直接input.half()和model.half() 就行了。 另外,还有
如何在Windows上安装
PyTorch
-
GPU
版本?看这一篇就够了
通过预配置的
PyTorch
-CUDA镜像,Windows用户可绕开复杂的环境依赖
问题
,几分钟内实现
GPU
加速深度学习开发。结合Jupyter或SSH方式接入,无需手动安装CUDA和cuDNN,有效避免版本冲突,提升科研与工程效率。
CUDA高性能计算讨论
357
社区成员
615
社区内容
发帖
与我相关
我的任务
CUDA高性能计算讨论
CUDA高性能计算讨论
复制链接
扫一扫
分享
社区描述
CUDA高性能计算讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章