SSDでも不良セクタが出る話

おしごとPCで時々プチフリーズっぽい挙動があって、なんやろな~と思っていたら…

SSD不良セクタ(正しくは不良ブロック)ができていました!なんてこった!

ntfscloneコマンド実行中の、恐怖の読み取り失敗通知

急いで修復用のツールが入ったUSBメモリで起動して、手持ちの新しいSSDに全部クローン…しようとして、失敗しました。

「1TBのSSD」のセクタ数って、微妙にブレてるんですねえ。新しいほうが少し小さいので、単純なセクタバイセクタのコピーがダメでした。

幸い、SSDのキャッシュ領域として、最後のほうは空きにしていたので、sgdiskでGPTパーティション情報をまるまるコピーして、ntfscloneコマンドでコピー作業中です。

何?不良セクタがあるときはntfscloneに--rescueオプションをつけろ?しょうがないにゃあ…

SSDのファームウェアのせいでWindows 11 24H2が落ちた話

Windows 11 24H2が出て1か月ぐらい経ちますね。

カーネル部分(OSの中核部分)を大幅に書き換えた、特大更新という感じのもので、場合によってはWindows 12という名前になったかもしれないものなので、最近の更新の中ではトラブルが多めに報告されている更新になります。

ちなみに、現在未解決のトラブルリストはこちらから見られます。

learn.microsoft.com

さて、今日の本題は、この未解決トラブルリストに載っていない、厄介なトラブルの話。

Release Candidate 時代からブルースクリーンで落ちまくる

Windows Insider のRelease Previewチャンネルに参加してるので、今から数か月前には24H2にアップグレードできました。

…できたんですが、アップグレードすると CRITICAL_PROCESS_DIED というエラーコードでOSごと落ちるという致命的な問題に見舞われました。

ファイルを激しく読み書きすると起こるようだ、という以外には、条件がさっぱりわかりませんし、一度OSがちゃんと起動はするので、何か環境依存のソフトウェアの問題やドライバの問題だろうか…と悩み続けていました。

そうこうしているうちに2024/10が過ぎ、24H2が正式リリースされたのに、私のPCはセーフガードホールドでアップグレードを止められてしまい、上記の未解決トラブルについて対策を施しても全然解除されません。なんで…?

原因=SSD

結論:下記のSSDを利用していると、起動後しばらくするとブルースクリーンで落ちる。

  • WD Black SN770
  • WD Blue SN580
  • WD Blue SN5000 (SN770のリネーム品)
  • Sandisk SDSSDX3N-2T00

内蔵SSDの重要なファームウェア・アップデートにより、Windows 11 24H2 UpdateのBSOD が解決される | SanDisk

このうち、WD Black SN770は、某ブログで激推しされていたこともあり、利用者がそこそこいるのではないでしょうか。

chimolog.co

ファームウェアをアップデートした上で、24H2にすると、うそのように安定しました。

SN770の場合は731130WD以降にしてください

なんでこんなことに…

Host Memory Buffer (HMB) という、PC上のメインメモリをSSDDRAMキャッシュ相当として使う機能の、SSD側の実装にバグがありました。

たとえばSN770の場合は、SSD側では64MBしか使えないのに、200MB確保を推奨する情報をOS側に送ってしまっていました。

23H2はこんな変な状況でも問題なかったようなのですが、24H2になるとHMBの実装の違いで、OS側は大まじめに200MBを確保してしまい、SSD側との整合性が取れなくなり、キャッシュ管理用のシステムプロセスが落ちて、CRITICAL_PROCESS_DIEDエラーになったようです。

さすがにこれはMicrosoftのせいではありません。WD(SSDメーカー)のせいです!

…でも、原因に気づくまでだいぶかかったので、Windows の未解決トラブルリストに載せておいてほしかったな…

10/18の時点で情報が公開され、それなりにPCブログなどで取り上げられていたようなので、今さら知らない人は少ないかもしれませんが、同シリーズのSSDを利用している方は、十分注意してください。

AIがPCを使えるようになったらしい

ClaudeっていうAIがPCを使えるようになったらしい!すごい!

…なんていう驚き屋さんがたくさん発生していますね。

現実は以下の通り、既存の画像認識能力の延長線上にあるものです。

PC操作フロー

ここで大事なのは、PC操作ができる!という表層ではなく、画像を認識して、その中に何があるかの理解だけではなく、「どこに」あるかを精密に把握できるようになったのと、抽象的な目的の指示から、具体的な操作に落とし込む能力の向上だと思います。

ということは、コーディング能力の「イケてるUIを作って!」という感じの指示による結果が、より洗練されたものに向上しているかもしれないとか、画像の中の物の場所の認識から、この画像に映っているものは何をしようとしているのか理解する能力の向上とか、そういった基礎的な能力向上の結果である、というのが本質なんじゃないでしょうか。

ちなみに、PC操作デモでブラウザを開いて特定の情報を検索してもらうだけで100円かかった上に、APIレートリミットに当たってエラー停止しました😂 視覚能力を酷使しているからまあ当たり前です!

まだまだベータ版ですね。今後に期待したいと思いますが、いい感じの進歩が続いてるんじゃないでしょうか。

てつわんこシステムの概要 (2024/10版)

現状のてつわんこシステム(ラーシェの内側)はこんな感じです。

文章で書いてもいまいち要領を得ないので、とりあえず図で示します。

概要フローもどき

他であまりやってないのは、「自身のこれまでの会話ログの要約」も生成の文脈に含めてることと、内省を促すループの部分でしょうか。

ここまでやっても、なんかまだ足りないなあって気がするので、思い出したころにまた更新しようと思います。

LLMに関する愚痴

会話文脈の維持がクソめんどい

  • ログ全部食わせたらインプットトークン多すぎて返事も遅いし金もかかる
  • 要約やフレーズ抽出でごまかそうとしても、抽出結果がポンコツ
  • そもそも入力文が長くなればなるほど、Attentionがバラけるのか知らんけど、返答が超ぽんこつになる
  • 入力トークンの最大値はカタログスペックだ、信じてはいけない

返答する口調や言語が入力に引っ張られまくる

  • 超重要!フランクな口調で返事しろ!みたいな感じ(Markdownの強調とかも使う)で書いてるのに、ですますで返事する
  • そもそも日本語で返事しろと書いてるのに日本語ですらなくなる
  • 丁寧に話しかけたら、めっちゃフランクな返事が返ってくるような事態は稀だし、英語で話しかけられたら英語で返すのも当たり前だから、仕方ないよね

USO800 Certified

  • いわゆるハルシネーション。人が自信ないことはLLMも自信ない。当たり前だが
  • ぱっと見わからないところにしれっと嘘を混ぜてくる。プログラミング中も混ざる。そんなメソッドはないと言うておろう…!
  • 新しいバージョンと古いバージョンの使い方を混ぜて覚えてるので、例えばGPT-4oにAPIの叩き方聞いたら、太古の昔の仕様と今の仕様を混ぜて答えてくる
  • すごくマイナーなことは明らかに嘘っぽい返事になる。マイナーすぎてAttentionが妙なとこに飛んでるのかなあ…
  • 自信なさそうなことは素直に言え、と書くだけで、8割方排除できる。あととても申し訳なさそうに返事してくる。かわいい。

人の当たり前や思い込みが通じない

  • 認知バイアスが存在しない。アリスという名の人物はオッサンかもしれないし、9.11は9,9よりも大きいかもしれない
  • なので、そのような認知バイアスも含めて、一から十まで説き伏せるかのように正確かつ厳密にプロンプトを書く必要がある。むり。
  • シンボルグラウンディング問題の解決手法も、人が勝手に持ってる「常識」をデータセットとして用意するプロセスにすぎないかもしれないね
  • でもそんなことを目いっぱいやると推論性能が落ちるらしく「いい塩梅」が難しい。LLM作ってる中の人がめっちゃ困ってるのはたぶんそのへん
  • 真に人っぽいAIを作るためには、入力するデータセットを、人間が認知できる狭い世界で生まれたデータに偏らせるとかやるといいんだろう

『推論』してるようでしてない

  • 『文章を書くことでしか考えることができない』という変な癖がある。人間も確かにそうだけど、その傾向がとてもひどい
  • なので初期のころに流行った「ステップバイステップで考えてください」とかはまだ余裕で有効
  • 初手(Zero-shot)の回答はだいたいぽんこつなので、ありったけダメ出ししよう
  • わかんないことがわかんないなら「今のあなたの回答は60点です、100点になるよう頑張ってください」とオウム返しするとよい。ひどいユーザーだなあ
  • 上記やその類似プロンプトのループを自動化して無限に回答をリファインさせる手法もある。いわゆるChain-of-Thoughtやらその亜種やら

「脳内」をLLMで実装する

OpenAI o1というなんか新しいやつが出ました。

openai.com

今までの評価ループをぐるぐる回して試行錯誤させるプロセスをアルゴリズム的に組んでいた部分を、代わりに自分自身で行えるようトレーニングしたモデルってことですかね。

たぶん普通の質問したら、今までとたいして変わらない回答が返ってきて、「処理が遅いだけやん!」って失望してる人も割と居るんじゃないかと思いますが、難しい疑問を簡単な問い合わせで解決できる方法の一つとしては有力でしょう。

あと、これはまだはじまりにすぎないって感じなので、最初のテスト版を触って失望するのはまだ早いかなぁと。

似たようなことを既存のLLMでできないの?

真似事レベルなら、プロンプトの工夫+再評価させるループを組むコードで、できると思います。

一度考えをユーザーから見えない部分で繰り返しリファインしてまとめさせてから、その結果を使って再度発言させるって形にすれば、どうにかなりそうですよね。

OpenAI o1は論理面に絞って推論させてるので、ぱっと見地味でつまらない、っていう評価をする人も居ると思うんですけど、同様なことを人間の心の理論に沿った方向で推論させる(ユーザーが今抱いている感情は何かとか、過去ログからユーザーの発言に至る背景を探せとか)なら、より人っぽい出力をさせるという方向での改善ができると思います。

そういうならアンタがやってよ

めんどくさいからだれかやって。