You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

训练LayoutLMv3时触发RuntimeError: cuDNN内部错误求助

LayoutLMv3多GPU训练cuDNN内部错误排查方案

问题场景

使用4张V100 GPU训练最新版本LayoutLMv3,执行trainer.train()时触发如下错误:

RuntimeError                              Traceback (most recent call last)
/tmp/ipykernel_31278/4032920361.py in <module>
----> 1 trainer.train()

/data/anaconda3/envs/my_env/lib/python3.7/site-packages/transformers/trainer.py in train(self, resume_from_checkpoint, trial, ignore_keys_for_eval, **kwargs)
   1417             resume_from_checkpoint=resume_from_checkpoint,
   1418             trial=trial,
-> 1419             ignore_keys_for_eval=ignore_keys_for_eval,
   1420         )
   1421 

/data/anaconda3/envs/my_env/lib/python3.7/site-packages/transformers/trainer.py in _inner_training_loop(self, batch_size, args, resume_from_checkpoint, trial, ignore_keys_for_eval)
   1655                         tr_loss_step = self.training_step(model, inputs)
   1656                 else:
-> 1657                     tr_loss_step = self.training_step(model, inputs)
   1658 
   1659                 if (

/data/anaconda3/envs/my_env/lib/python3.7/site-packages/transformers/trainer.py in training_step(self, model, inputs)
   2348 
   2349         with self.compute_loss_context_manager():
-> 2350             loss = self.compute_loss(model, inputs)
   2351 
   2352         if self.args.n_gpu > 1:
...
    return self._conv_forward(input, self.weight, self.bias)
  File "/data/anaconda3/envs/my_env/lib/python3.7/site-packages/torch/nn/modules/conv.py", line 443, in _conv_forward
    self.padding, self.dilation, self.groups)
RuntimeError: cuDNN error: CUDNN_STATUS_INTERNAL_ERROR

解决步骤

  • 版本兼容性检查:确认PyTorch与cuDNN版本匹配,V100适配CUDA 11.x,建议搭配PyTorch 1.12+和cuDNN 8.2+,版本不匹配是这类错误的常见诱因。
  • 调整batch size:多GPU训练时单卡batch过大可能超出cuDNN处理阈值,尝试将per_device_train_batch_size减半,比如从16降至8。
  • 禁用cuDNN自动调优:在训练代码开头添加torch.backends.cudnn.benchmark = False,避免cuDNN选择不兼容的卷积优化算法。
  • 清理GPU缓存:启动训练前执行torch.cuda.empty_cache(),释放GPU中残留的无效显存。
  • 校验输入数据:检查输入张量的维度、数据类型(需为float32)是否符合LayoutLMv3要求,异常数据会导致卷积层触发内部错误。
  • 单GPU验证:先使用单张V100启动训练,确认模型和数据无问题后再扩展到4卡,排除分布式训练配置的潜在问题。

内容的提问来源于stack exchange,提问作者rusubbiz muzkaq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 08:25:01