我是一家致力于深度学习模型的初创公司创始人。在过去几周里,我在整个训练过程中经常遇到死机的情况。系统死机,通常无法恢复。
我是一家致力于深度学习模型的初创公司创始人。在过去几周里,我在整个训练过程中经常遇到死机的情况。系统死机,通常即使使用 REISUB 也无法恢复。我必须手动关闭计算机。极少数情况下,死机甚至会在启动后几秒钟发生(无法重现)。
我需要向客户提供更新的深度学习模型,因此个人压力很大。感谢您的支持。
由于我之前已经成功训练过模型,我预计软件包、ubuntu 版本或 nvidia 驱动程序中存在问题。(使用 ppa:graphics-drivers)
当问题最初出现时,我尝试了所有可用的 nvidia 驱动程序,但都没有成功(例外:我从未设法让 nouveau 驱动程序工作)。然后我决定从 ubuntu 22.04 LTS 升级到 23.10。在整个阶段,mutter 包(版本 ~46)一直存在一个普遍的问题,我预计是它出了问题。虽然它确实导致我的控制台变慢,但根据链接( https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2059847 )解决 mutter 问题并没有解决冻结问题。然后我浏览了大量线程和帖子,但也没有解决问题。
GPU:我使用 Nvidia RTX 3080ti,连接了三台显示器并具有双启动(Windows 和 Ubuntu)。目前,我使用 nvidia-driver-535 和 nvidia-firmware-535-535.171.04。
nvidia-smi
提供:
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.171.04 Driver Version: 535.171.04 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 3080 Ti Off | 00000000:01:00.0 On | N/A |
| 0% 44C P8 63W / 350W | 316MiB / 12288MiB | 20% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 2070 G /usr/lib/xorg/Xorg 153MiB |
| 0 N/A N/A 2252 G /usr/bin/gnome-shell 155MiB |
+---------------------------------------------------------------------------------------+
/etc/modprobe.d/nvidia-graphics-drivers-kms.conf:
# This file was generated by nvidia-driver-535
# Set value to 0 to disable modesetting
options nvidia-drm modeset=0
操作系统:Ubuntu 23.10kernel 6.5.0-35-generic
gcc --version
:13.2.0
深度学习:我使用 Python 3.11.4、Pytorch 并使用 CUDA 进行训练。训练过程中有足够的 GPU 内存剩余。
日志记录:我在训练过程中进行了广泛的日志记录,试图找出问题发生的位置。没有明显的触发因素。直观地说,它最常发生在从 CPU 加载数据、将其推送到 GPU(CUDA)之间,并且问题出现在整个反向传播过程中的某个地方。
一些帖子建议更新 nvidia-settings(PowerMizer)以设置“首选最大性能”,所以我通常在开始训练计划之前使用它。
我使用“watch -n 1 free -m”查找(并更正)了内存泄漏。没有泄漏,并且当发生冻结时交换区未使用。我得出的结论是排除了内存问题。
我使用 Xorg,wayland 已禁用。我从未尝试过反过来。
正如有人建议的那样,我尝试使用单个显示器(无 HDMI)。这似乎也不起作用。
dmesg --level=emerg,alert,crit,err
[ 0.150278] x86/cpu: SGX disabled by BIOS.
根据网上的帖子,我应该在 BIOS 中启用 SGX。这有关系吗?