NVIDIA製GPUで使用するGeForceドライバは、バージョンによっては下記の問題が発生する可能性があり、一部NVIDIAもそれを認めている。
セキュリティ面では最新版が良いのだが、避けた方が良いVer.を中心にメモしておきます。
スレによっては定期的な話題になっている状況を鑑み、情報共有のためにページを作成した。
NVIDIAのネガキャンをする意図はないのであしからず。
Radeon民やIntel Arc民は関係ないので、心配ご無用。
共有GPUメモリの利用による速度低下問題
画像生成や学習などの処理中にVRAMが不足すると、CUDA oom(out of memory)エラーが表示され、処理に失敗する。
これを改善するための試みの一つとして、532.03 (2023/5/24)から共有メモリへのフォールバック(VRAMオフロードとも呼ばれる)機能が追加された。
「使用VRAM量が搭載VRAM量を上回りそうだ」と思われる状況に直面すると、自動的にメインメモリ内の共有GPUメモリが利用される。
所要時間は若干長くなるが、これまでCUDA oomエラーに直面していた処理を完遂できるケースが増えた。
……と言いたいところなのだが、「若干の所要時間増大」程度で済まずに速度が劇的に低下するケースがあり、問題となった。下記参照。
- (2023/6/7) NVIDIA driver performance issues · Discussion #11062
- (2023/6/7) NVIDIA driver performance issues · Issue #11063
- (2023/6/3) nVidia drivers change in memory management · Discussion #1285
なおNVIDIAからの説明によれば、共有メモリへのフォールバック機能を実装したのは536.40 (2023/6/29)からとのこと。
しかし前述のDiscussionやIsuueにある通り、532.03 (2023/5/24)の時点で、著しい速度低下現象について複数のユーザーから報告が上がり始めていた。
共有メモリの設定について
要するにグラボのメモリが足りない時、CPUのメモリを借りるかどうかを設定する。
デフォルトは必要時だけ借りる、優先無しは借りない、優先はデフォルトより積極的に借りる。(Stablediffusionにおいてデフォルトは有効と同じ)
現状、どちらの設定にも長所と短所がある。
- フォールバック有効の場合
- 共有メモリを使えるのでエラーを起こしにくいが、代償として速度低下を引き起こすタイミングが早い。
- フォールバック無効の場合
- VRAMがある限り学習と生成をスムーズに利用できるが、限界を迎えるとOut of memoryでエラーを吐く。VRAMがギリギリになると速度低下も発生する。
VRAMの多いグラボは不足しにくい(不足しても速度低下の影響を受けづらい)のでデフォルトの弊害は少ない。
共有GPUメモリの利用を回避する方法
(2023/11/01)
公式サポートから対応策が発表された。
546.01 (2023/10/31)以降のドライバで以下の設定を行うことにより、共有GPUメモリへのフォールバック機能を無効化することができる。
- Stable Diffusionを実行し、タスクマネージャーを開いて実行中のpython.exeのパスをコピーする
- デスクトップを右クリックして「NVIDIA コントロール パネル」を起動する
- 「3D設定」から「3D 設定の管理」を選択する
- 「プログラム設定」タブにある「追加」を選択する
- 「参照」をクリックし、最初にコピーしたpython.exeのパスを入力して実行ファイルを選択する
- 「CUDA - Sysmem Fall Back Policy」を選択し、値を「Prefer No Sysmem Fallback」にする
- 「適用」をクリックして閉じる。Stable Diffusionを再起動する
(出典: NVIDIA RTX環境での「Stable Diffusion」はVRAMを使い果たすとDRAMも使えるが、逆にVRAMだけにもできる | マイナビニュース)
バージョン情報とそれぞれの特性
【参考】NVIDIAドライバ ダウンロードページ
https://www.nvidia.com/Download/Find.aspx?lang=jp#
Game Readyドライバー
主にゲーム性能に特化したドライバです。AI絵用途も基本的にこちらを利用すればOK。
2024年9月現在、最新ドライバにおいて特にAI用途で不具合報告は無い。
バージョン | リリース日 | |
555.85 | 2024/05/21 | スレに表示が乱れた報告があり、筆者の環境でも起こった。このバージョンは踏まない方がよい。 |
546.01 | 2023/10/31 | 共有GPUメモリへのフォールバック機能を任意にON/OFF可能になった最初のバージョン。これ(もしくはこれ以降)がおすすめ。 |
536.40 | 2023/6/29 | NVIDIAが共有GPUメモリへの(自動的な)フォールバック機能の実装を公式に認めた最初のバージョン。 |
532.03 | 2023/5/24 | ユーザー間で速度低下問題が話題になり始めた最初のバージョン。 |
531.79 | 2023/5/2 | 共有GPUメモリへの(自動的な)フォールバック機能が実装される直前のバージョン。 共有GPUメモリの使用による速度低下を避けたい人向け。 |
Studioドライバー
主に編集ソフト系に特化したドライバです。
Tips
- MSI Afterburnerなどで電力制限をしている場合、制限を解除してからドライバを更新すること。
干渉により性能低下を引き起こす可能性があるとNvidiaによって発表されている。
2024/11 - ドライバに脆弱性が発見された模様。バージョン566.03/553.24/538.95いずれかのアップデートが強く推奨されている。公式の説明から恐らく553.24/538.95が安定版だと考えられる。
不具合
2024/04/24
※現在Intelの13、14世代において原因不明のクラッシュやビデオメモリ(VRAM)不足エラーが出る事がある模様。
IntelCPUの不具合だった模様。
該当CPU(Intel13、14世代)を使っている場合は修正BIOSを入れたり設定を見直す事を推奨。
グラフィックドライバがWindows Updateによって勝手に更新されてしまうのを防止する方法
52 無念 Name としあき 23/10/04(水)22:42:58 ID:RDk.KC1s No.1144142846 そうだねx1
やっと新ドライバとの戦いが終わった(と思いたい)
いくら旧バージョンに変更してもWU経由でアップデートされていたけど
これでやっとバトルが終わる
3080で23~27sec/枚が11~13sec/枚になった
https://answers.microsoft.com/ja-jp/windows/forum/all/%E3%82%B0%E3%83%A9%E3%83%95%E3%82%A3%E3%83%83/b28885c4-b98e-4f9b-a4d4-dcd28c585864
グラフィックドライバーがwindows updateで勝手に古いバージョンに戻ってしまう - Microsoft コミュニティ
備忘録
参考情報
https://wikiwiki.jp/sd_toshiaki/-s/7fde7ce7