高負荷を掛けたから?
tensorflowを使ってDiffusionモデルの学習をしていました。
transformer encoderっぽいものをたくさん並べて学習しようとしたら…
まずはいつものリソースエキゾースト。
じゃあというんでバッチサイズを減らして再実行。いくらバッチサイズを減らしても回らない。
おかしいと思いOSの再起動とかしてみてたらなんかメモリエラーとか出るようになり、それでもバッチサイズをいじったりしたらなんとか回りだした…と思ったら異様に遅い。
まさか…?と
OSはubuntu 22.04LTSです。
nvidia_smi
してみると
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
なんとそのまさかですよ。GPUが動いていません。ドライバーと通信できないってなんで?今の今まで動いてたのに?
ドライバを入れ直してみる
あわててググっても突然こうなったという記事は出てきません。ただNVidiaのドライバはトラブルが多いとかアップデートでこうなったとかがあったので、再起動のときに勝手にアップデートがかかった?
高負荷を掛けてGPUが焼ききれたとかだったらどうしよう…そんなはずは…でも…と焦りながら、ドライバを入れ直してみることにしました。
lsmod | grep nouveau
とすると、何も出てきません。一応GPUはVGAボードとしては動いているようです。それはそうか画面が出てるんだから。
ubuntu-drivers devices
とすると
vendor : NVIDIA Corporation
driver : nvidia-driver-515-open - distro non-free
driver : nvidia-driver-525-open - third-party non-free recommended
driver : nvidia-driver-525-server - distro non-free
driver : nvidia-driver-515 - distro non-free
driver : nvidia-driver-515-server - distro non-free
driver : nvidia-driver-510 - distro non-free
driver : nvidia-driver-470-server - distro non-free
driver : nvidia-driver-470 - distro non-free
driver : nvidia-driver-525 - third-party non-free
driver : xserver-xorg-video-nouveau - distro free builtin
こんな感じで出てきました。(2023.1.9現在のリストです)
recommended とあるやつをインストールします。
なんかインストールにすごい時間がかかりました。ドライバ、こんなでかかったっけ?と思いながらインストール終了したので再起動。
ダメでした
nvidia-smiすると
No devices were found
とうとうデバイスがないとか言い出しました。もうダメかもしれない…嫌な汗が出てきます。
-open は入れちゃダメ
ぐぐってみると、Qiitaの記事で
【注意】ubuntu-drivers devicesでお薦めされたNVIDIA GPUドライバーをインストールしたら事故になります。
というのをみつけました。
なんとか-openとついてるのはrecommendedされてても入れたらやばいというもの。
上のリストで-openがついてないやつで一番新しそうなやつは…
driver : nvidia-driver-525 - third-party non-free
だったので
sudo apt install -y nvidia-driver-525
インストールはさっきのとは大違いですぐに終わりました。
再起動。
動きました。
背中に悪寒のようなものを感じながら祈るような気持ちで
nvidia-smi
…いつもの画面が出てきました。
ほっと一安心です。
学習させてみるとちゃんとGPUを使って学習してくれました。
でもなぜかドライバインストール直後からしばらくは遅い?なんか暖機運転でもしてるかのように今までの60%くらいの速さしかない様子。
しかしそれもしばらく(30分くらい)するといつもの速さになりました。
謎
動いたのはよかったのですが、なぜ突然ドライバがいなくなってしまったのか、しかも高負荷を掛けたタイミングで?それはただの偶然で再起動でアップデートのようなものがかかって変なドライバが入っておかしくなった?
これは謎として残りました。