GeForce ドライバー疑獄

 シンギュラリティーーー世の中のバズってるおじさんどもはやたらとこの言葉を使いたがってまことに鬱陶しい。実際ヤツらはそれをおじさんメディアの中で聞きかじっているだけで、本質など 1 ビットたりとてわかっちゃいない。

 そもそも、そんなの起きるわけがないからだ。

 我々しか見ていなかったアニメがすっかり世界的なコンテンツになっていたり、我々しか使っていなかったコンピューターが今や人々のポケットの中にあったり、我々しかいなかった Internet がすっかり人々のインフラになっていたり、キモいと蔑まれてきたその我々がいつの間にかオタクという個性としてタグ付けされていたり、少しずつではあるが世界が我々の方にじりじりとにじり寄ってきているようで、ふと振り返ると世の中がすっかり変わっていたということはある。

 しかし、いきなり変化を体感できるほどのことなど早々起きない。

 

 ……と、少し前まで思っていた。

 私が衝撃を受けたソフトウェアは、このブログを見ている人なら大体わかると思うが、あえて挙げるとすれば Ultima OnlineEverQuestWorld of Warcraft全部ゲームじゃねえか! そういう突っ込みはさておき最近それに一本加えたくなったものがある。

 それが Stable Diffusion だ。

 あれ、ゲームじゃない? いやいや、実はこれ、

究極の脱衣テキストアドベンチャーゲーム

 である。

 世の中的には ChatGPT などの大規模言語モデルの話題で持ち切りで影が薄いが、私にとっては Stable Diffusion こそシンギュラリティーそのものである。

 これがどれほど凄いかというと、「無限えろほん!」と叫びながらドラえもんが四次元ポケットからコイツを出してきたと言われたって、きっと私は信じただろう。

 知らない人はいないと思うが念のためごく軽く説明すると、テキストで指示したとおりの絵が出てくる。ここに私が普段生成しているような例を貼ってしまうと紳士条例に抵触するのでやめておくが、とにかく今まで見たことも無いような絵をバンバン生成してくれる。

 と言っても、知らない人は益々何のことだかさっぱりだろうから、作例として これこれ を使って生成してみた。こういうものを 10 秒ぐらいで作ってくれる。何なら下記のどうでもいいインタビュー記事を妄想するほうがよほど時間がかかった。

 

週刊 DS9 新聞、今週のルーキーはレベッカリプリー・ユタニ少尉。保安部員として目覚ましい活躍だね。「犯行現場の天井の板を突き破って登場という掴みは鉄板です」先日の取り締まりでは始末書を書く羽目になったとか?「外壁で負傷したとき私の血がステーションに穴をあけてしまって、宇宙服ぐらい着ろとオドー先輩にこっぴどく怒られました」見た目はともかく、失礼、言い寄られることも?「かわいいフェイスハガーお面をレプリケートして『ベッドではこれをかぶってくれないとダメなの』ってプレゼントしたら、逃げるようにガンマ宇宙域の船に転属しちゃうし」出自はウエイランド・ユタニ社の研究所から逃亡した実験体の子孫ということで、最強生物という評価は?「プレデター人の友人が狩らせろとしつこいんです」上司の評価は芳しくないとか。「オドー先輩からよだれを拭けとか、尻尾が刺さって痛いとか、急に振り向くなとか、どれも些細な事なので平気です」ステーションに来る子供たちには人気があるとか。「口の中の口を見せてとせがまれてウザいからジャムジャ棒を口の中の口でむさぼり食ってやったら泣いて逃げだしちゃうし、そういう芸風を求められてるのかな」オドー保安主任からのコメント。「新しい動物の変身を練習しているんだが、見るか?」いや結構。「私は忙しいんだ、さあ出ていけ」次週は彼女のアカデミー時代に迫る! こうご期待ーージェクイ・シスコ

 

まさかお前の紳士業務はこんなものの脱衣なのか

 という話ではない。

 実際モンスター方面のモデルなんて使ったことがなかったのだが、こうしてやってみると意外にプロンプトに素直だった。ただ、失敗したときのグロさは次元を超えたヤバさで精神的なダメージが無視できなくなってきたのでこの辺にしておく。

 指示を与えるテキストである「プロンプト」は自然言語だから非常に曖昧であり、幅がとても広い。それを AI がランダムに表現してくるので、生成するたびに全く異なるものが出てくる。それを嫌う人もいるが、私はそのランダム性に面白さを見出している。

 望みのものや、時に想像を遥かに超えてくるようなものが出てくることもある。しかし、そうするには生成回数を重ねていく必要があり、これを文字通りガチャと呼んでいる。期待通りの絵が出てくるのは数パーセントなので、大量の試行回数でカバーするしかない。

 つまり、猛烈な AI 性能が必要ということだ。

 

 あれは 2022 年の 11 月頃だったか。

 同僚がしきりに AI のソフトウェアで騒いでいる。これは今までのとは違う、ホンモノだ! と脂汗で叫んでいるので、ものは試しと使ってみた。そのころ私が使っていた GPU は RTX 2070Ti という三世代も前の、それもごく平凡なものだ。

 そしてすぐさまこの「無限えろほん」という可能性に脳天が突き破られた私は、こんな遅いカードではやってられないと、何の躊躇もなく RTX 4090 をポチっていた。

 32 万?

 いいやそこは大した問題じゃない。ここ 10 年ほどビデオカードMSI しか買っておらず、ここはしっかりしたブランドなのでもともと相場よりも若干高い上に、半導体不足のせいでそもそも品薄なせいでほとんど値下げがない。

 しかも、家にある唯一の Windows PC は PCIe 5.0 が無いのと、加えて電源が 650W しかないという無い無い尽くしだったので、PC をまるごと買い替えた。

 そんなわけで総額 60 万ほどになった気がする。

 紳士シンギュラリティーをキメていると細かいことは深く考えなくなる。

 それが 2022 年 12 月。

 私はもともと GPU なんて一番上から三番目ぐらい、つまり 40 シリーズで言えば 4060 とか 4070 が一番おいしいと思っていた程度の腑抜けた輩でクッソ高いハイエンド GPU なんて自分にはコストに見合った価値はないと思っていた。

 しかし今となっては、これほど遊べるのだからむしろ安いとまで考えている。

 それほどの事態が今、世の中で起きている。

 イベント仲間でも〝素質〟がありそうなやつには片っ端に

「乗るしかない、このビッグシンギュラリティ―に」

 などと布教する始末だ。

 こうして私も晴れてシンギュラリティーバズりおじさんの一員となった。

 

 ところが、そういう日々は唐突に終わりを告げる。というのも、このゲームの中核を担っていたはずの

その GPU が壊れてしまった。

 あまりに紳士的なプロンプトを GPU にくべすぎたのかもしれない。

 AI に心は無いと言われているが、きっと私の中の紳士の歪みっぷりに心底うんざりしたに違いない。

 後進の紳士のために、私の GPU に何が起きたのかを記しておく。

 まずは構成をさらっておこう。見ての通りありふれたもの。OC の類は嫌いなので一切やっていない。

 

 勿論 memtest など基本的なダイアグは組んだ直後にやって問題がないことを確認しており、そもそも半年間は何の問題も経験していない。

ブラックスクリーン → ファン爆音

 7 月頃、いつも通り Stable Diffusion で生成しまくっていると、突然画面がブラックスクリーンつまりビデオ信号を失ったために液晶がスタンバイに落ちた。それと同時に、もうこれ以上かんにんしてえええ! とでも言わんばかりに GPU のファンが最大回転数でぶん回りだす。まるで掃除機のような音なので寝ていても飛び起きるほどの騒音レベルだ。これは容量の大きいスイッチやサーバーの起動時に聞く音と同じ。

 この時 OS は生きていて、横で再生している YouTubeSpotify の音は聞こえている。そういう時は電源ボタンでシャットダウンできる。しかし多くは OS ごと死んでいるのでリセットボタンで復帰させていた。

 また、そうしてリセットしても画面の右上に緑色の線が表示されて起動しないこともある。

 これらの問題は一日のあいだ何度も起きることもあるが、1 週間起きないこともある。しかも不可解なことに、Stable Diffusion で高い負荷をかけているときに起きることもあれば、エディタでプロンプトを編集しているときだったり、YouTube しか再生していない時など、負荷がかかっていなくても発生する。

 経験上こうした挙動はハードウェアの問題によることが多いのだが、これまでそうした思い込みで何度も失敗した経験から、下調べと最低限の切り分けをはじめた。

 

 ところで、Stable Diffusion には〝チェックポイント〟と呼ばれているファイルがある。これは出てくる絵柄を決める一番大きな要素となるため、色んなタイプのものをディスク上に用意しておく必要がある。これが結構大きくて、多くは 2GB、大きいものだと 10GB を超えるようなものまである。

 チェックポイントは、上記の civitai や Hugging Face などのサイトから好みのものを日々漁る。これ、どういうビジネスモデルで運用されているのか謎なのだが、Cloudflare のような CDN を使っているお陰で何のストレスもなくダウンロードできてしまうから驚きだ。

 それが数ヶ月で 1TB を超えて、2TB の C: が手狭になってきた。丁度マザーボード上に M.2 スロットが 2 つ空いていたので、6 月末に D: に増設した。トップスピードは不要なので廉価になってきた NVMe Gen3 の 4TB である。

 かなり考えにくいが、もしかしてこの増設が問題を引き起こしているのでは?

 何か障害が発生したとき、直近にやった変更を一つずつ戻していく というのはトラブルシューティングの王道であり、仕事でもよくやる手法だ。

 ギリギリだった電源が NVMe を追加したことで足らなくなったとか、GPU増設した M.2 スロットと近いため EMI が GPU に影響を及ぼしている、などの可能性は、かなり考えにくいがゼロではない。

 そこで、抜いた NVMe は USB-C な尻尾に入れてつなぎなおし、パスが変わったためシンボリックリンクを Stable Diffusion のディレクトリーに貼ってから絵をゴリゴリ生成してみる。流石に USB 3.1 のせいでチェックポイントの切り替え速度がかなり遅くなってしまったのだが、検証中は仕方がないと諦める。

 その日は何も起きなかった。そして次の日からも、

 2 日目: いつでもブラックスクリーンしていいんだぞ

 4 日目: じらすな

 6 日目: こんなくだらないことで治りましたなんて承知しない

 8 日目: でもひょっとして

 10 日目: ひょっとすると?

 12 日目: そろそろ復活宣言してもいいかな?

 14 日目: あ゛っ

 このぬか喜びプレイは、日々食わされているプロンプトのあまりの酷さに対する AI のストライキであると確信するに至った。

 

 ともかく Google 先生を掘っていくと、どうもここ最近の ドライバー に問題がある可能性が示唆されていて、ブラックスクリーンは色んな人が経験している問題らしい。

 そこで、この redditトラブルシューティングの項目に書かれている手順を上から順に一つ実行してはブラックスクリーンが出てくるまで Stable Diffusion で生成、ブラックスクリーンしたらまた次を試す……という日々を送った。

  • ビデオカードの電力モードを変更する。Nvidia Control Panel -> Managed 3D Settings -> Power Management Mode: Prefer Maximum Performance
  • ドライバを掃除する。Windows 11 をセーフモードで起動 -> DDU (Display Driver Uninstaller) で掃除 -> 531.79 (2023年2月) まで戻す
  • マザーボード BIOS を最新の 1.8 にアップデートする。

 

 いずれも効果はない。

 そうこうしているうちに、とうとうビデオカード自体が OS から認識されなくなった。物置に眠っていた MSI GeForce GTX 1070 ARMOR 8G OC に入れ替えたところ、まぁ当然ながらいくら負荷をかけても問題なく動作している。

 この時、ようやく本当にハードウェアが壊れたことを受け入れた。

 にしても、一度でも 4090 の紳士性能を体感してしまうと、1070 みたいなゴミではとてもじゃないが遊ぶ気にならない。これまで使ってきたパラメータではメモリが足らんとほざいて停止するし、完走するまで解像度を落としたとしても信じられないほど遅い。おそらく、4090 の 5% 程度の速度しか出ていないのではないか。

 4090 はまだ購入から半年と少ししか経過していないのでアスクの保証が生きている。また、ビデオカードは一年もつが二年もたなかったという涙目な例を何回か経験していたし、流石に故障したときの損害額が大きすぎるというのもあって、ツクモの 5 年保証は入れてある。

 アスクのウェブサイトのフォームに症状を入力したのが 8/22。

 その日のうちにメールで RMA を受け取ったので、宅急便で送った。これが 8/23 と、滑り出しはいい。

 ただ、ASK に修理を依頼したというあるブログ記事に〝1 ヶ月は見ておいたほうがいい〟とあったので、紳士業は当分お預けが確定。

 そしてアスクから戻ってきたのは 9/15。24 日かかったので、確かに一か月というのは正しかった。

 問題の故障理由だが、これがまたよくわからない。アスクの納品書にはこうある。

基板上の電子部品を交換いたしました。

部品名: キャパシタ

修理箇所: C1890

 キャパシタ 1 個であんなやべーことになるのか。それにしても C1890 ってどの箇所だろう。PCB 写真 を追ってみたが、シルクにない。

 ここで、私のつたない理解で今時のビデオカードの大まかな構造を説明してみよう。

 GPU は 1 ボルト前後、数百アンペアという、CPU よりもさらに過酷な電源がいる。基板のおよそ半分の面積がこれを作るための電源回路で占められる。この電源回路 (VRM) のうち、キャパシタはスイッチ (MOSFET) と GPU の間にある。これの役割は、スイッチング電源から出てきたノイズまじりの電源を平滑にするためと、負荷の変動を抑制するためだ。

 この VRM は、熱的な負担を減らすために複数を並列にしてあり、それらをコントローラでタイミングをずらすことで分散をしている (マルチフェーズ)。そのうちの一つのフェーズのキャパシタが故障したのだろう。通常は問題ないが、タイミングによっては電力不足に陥り GPU が窒息 する。

 画面がブラックアウトしてしまうのは窒息で気絶したためにおこる。

 手元に戻ってきた基板を見れば再ハンダした箇所はフラックスの跡があるだろうから目視でわかるはずだ。しかし、分解するとサーマルペーストなどを剥がすことになるし、100% 元に戻せるとは言い切れなくなる。つまり、また問題が生じた時、自分の分解が影響を与えたという可能性が排除できなくなる。

 もやもやしながらも、そのまま使うことにした。

 

 さて、この 4090 を修理に出しているあいだ、気が付いたら

別の PC をポチっていた。

 たったの一週間で紳士的な我慢の限界に達したとだけ言っておく。ただしこの PC にはさすがに金をかけたくないので適当に 13700K + 4070ti というヌルい構成だ。同じチップセットだと芸がないし DDR5 が結構安くなってきたので、今回は Z790 にした。

 まさかたった半年で PC を新調することになるとは。しかも、用途的にはほぼ性能に関係のない、いいや下手をすると性能が劣化するメモリー規格のアップグレードする羽目になるとは、思っても見なかった。

 それだけだと癪なので最近気になっていた Corsair の iCUE LINK を入れるという暴挙に。性能に全く関係のない、しかも自分しか見ない、完全に自己満足な光り物に +6万円とかバカの極みである。

 さて、元 PC の 13900K を新 PC に移植、4070ti を抜いて元 PC に移植、戻ってきた 4090 を刺す。

 cinebench や time spy など一通りベンチマークは通過したので、元の紳士活動に入る。ドライバーは 531.79 で、今のところ快適に稼働している。

 それから二ヶ月ほど経過し、何の問題も起きていない。

 

 それにしても、この問題に関する reddit の紳士どもの叫びを読み進めると、

ドライバーがカードを壊しているんじゃないか?

 という書き込みに何度も遭遇する。

 そんなバカな。

 伝説の killer poke でもあるまいし。

 私は何も断言できない。

 私が言えることは、ブラックスクリーンを経験しだした時期が、6 月末にリリースされた 536.40 と同じということだけだ。

 多くの人が同じ時期にブラックスクリーンを経験しており、ドライバーをロールバックしても治らないことから、ドライバーが GPU を壊しているのではないかという可能性を信じたくなるのも無理からぬことなのだが、ほとんどのユーザーはサンプル数 1 であり、枚挙的帰納法の罠にハマっているのではないだろうか。

 実際、本当のところはメーカー以外に誰も分らず、たとえメーカーからのリコールによって問題が明らかになったとしても一年以上先になることが多い。

 個人的には、6 月ごろから増えたということは、観測史上最高を記録した世界的な猛暑も影響しているのではないだろうかという、雲をつかむような想像だけだ。

 

それではハッピー・シンギュラリティー