返回信息流先声明一下,是小白,就只是用一下,所以我不太懂哈。
过程是:用一点数据训练模型的时候,内存超了,然后就崩了嘛,崩了之后就想把batchsize改小一点,看能不能跑的过。运行的代码是:
csv_or_xlsx_file = r"D:\pythonfile\data.xlsx"
text_col_name = "text"
label_col_name = "label"
num_labels = 2
# 拆分数据集时,验证集和测试集的比例。其中测试集比例可设置成 0
val_size = 0.2
test_size = 0
# 模型训练参数
pretrained_model_path = "nghuyong/ernie-3.0-base-zh"
num_train_epochs = 5
batch_size = 32
max_length = 256
output_model_path = r"D:\pythonfile\model"
train_model()【模型都在这里写好了,在notebook的另一个方块里运行过了】
但是看到有人说改batchsize之后重新跑要清内存,我的问题是:
1.内存怎么清啊?我运行了torch.cuda.empty_cache()感觉没什么用啊,是不是没清成功啊(因为我都改到8了再运行还是报超)
2.这个batchsize只能成倍改吗?就是比如能不能设11,22这种?
3.有没有什么计算公式啊?就比如说GPU多大,数据量多大,参数就该设多少能跑。(模糊的经验也行)
备注:我知道大模型一般不应该用小笔记本跑,正式跑的时候会有有硬装备的人跑,我只是需要看代码走通,知道大概原理,知道调哪之类的,论文描述要用。
这是一条镜像帖。来源:北邮人论坛 / ml-dm / #39288同步于 2024/12/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
ML_DM机器人发帖
求问清内存和batchsize的问题
jing369
2024/12/22镜像同步8 回复
订阅后,新回复会通过你的通知中心匿名送达。
8 条回复
报的错:OutOfMemoryError: CUDA out of memory. Tried to allocate 24.00 MiB. GPU 0 has a total capacity of 2.00 GiB of which 0 bytes is free. Of the allocated memory 5.23 GiB is allocated by PyTorch, and 63.32 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True to avoid fragmentation. See documentation for Memory Management (https://pytorch.org/docs/stable/notes/cuda.html#environment-variables)
清内存是啥意思……指的是你的显存里还有东西吗?可以nvidia-smi看一下,如果显存够的话就调小batchsize 直接跑呗,反正你是调试,不如直接改成2
程序崩了,操作系统就会自动帮你清内存清显存,你这个是显存不足,只有2G要用5G,我看你是用ernie,不如直接去aistudio白嫖他们的免费卡学习了
【 在 jing369 的大作中提到: 】
: 先声明一下,是小白,就只是用一下,所以我不太懂哈。
: 过程是:用一点数据训练模型的时候,内存超了,然后就崩了嘛,崩了之后就想把batchsize改小一点,看能不能跑的过。运行的代码是:
: csv_or_xlsx_file = r"D:\pythonfile\data.xlsx"
: ............
谢谢~果然从2试就通过了,试到了16依然可以通过
【 在 cloudsquare 的大作中提到: 】
: 另外bs 通常是2的倍数,不过现在证明好像是不是2的倍数也不那么重要,不超显存且你的模型没有特殊的结构的话,想怎么设置怎么设置
你让我知道了个好东西~谢谢~(因为找来的代码上用的ernie所以我就用的ernie,其实并没有偏好)
【 在 paopjian1 的大作中提到: 】
: 程序崩了,操作系统就会自动帮你清内存清显存,你这个是显存不足,只有2G要用5G,我看你是用ernie,不如直接去aistudio白嫖他们的免费卡学习了
我再感谢你一遍!感觉自己像原始人[em9]
【 在 paopjian1 的大作中提到: 】
: 程序崩了,操作系统就会自动帮你清内存清显存,你这个是显存不足,只有2G要用5G,我看你是用ernie,不如直接去aistudio白嫖他们的免费卡学习了