OOM

OOM
読み: オーオーエム

読み: オーオーエム

OOMとはメモリ不足エラーの原因と対策

OOMとはOut Of Memoryの略で、必要なメモリを確保できず処理が止まる状態を指す。AI開発ではGPUのVRAM不足として現れやすく、モデルサイズ、入力長、バッチ設定のどれかが器を超えたときに起こる。

かんたんに言うと

大きなモデルを小さなGPUにそのまま載せようとすると、処理は計算の前に止まる。OOMは性能不足というより、今の設定とメモリ容量の組み合わせが噛み合っていないという合図である。

AI開発でどの瞬間に起きるか

OOMは、モデルを読み込む瞬間だけでなく、推論中にコンテキスト長が伸びたときや、学習時に中間テンソルが増えたときにも起こる。最初は動いていたのに、入力が長くなった途端に落ちるケースは珍しくない。

現場では、モデルが大きすぎるのか、精度設定が重いのか、同時実行数が多すぎるのかを切り分ける必要がある。症状は同じでも、詰まっている場所は毎回同じではない。

原因を切り分ける順番

まず確認したいのは、モデルサイズ、量子化の有無、コンテキスト長、バッチサイズである。ここが大きいままだと、ほかを少し調整しても焼け石に水になりやすい。次に見るのが、キャッシュ、同時実行、不要プロセス、メモリリークの有無である。

OOMを見たときに、すぐGPUの買い替えに進むのは早い。設定を少し変えるだけで収まる場合も多く、特に推論基盤では、入力長と同時実行数の管理が効くことがある。

実務での対処と判断

対処は大きく3つである。モデルを軽くする、処理を小分けにする、ハードウェアを増強する。量子化、オフロード、バッチ縮小、コンテキスト制御は、比較的すぐ試せる手段である。

経営層や導入担当が見るべきなのは、OOMが単発の事故か、今の構成では構造的に避けられないのかという点である。頻発するなら、モデル選定やインフラ方針そのものを見直す合図と考えた方がよい。

当社の見解

当社は機密情報のマスキング処理を全てローカルAIで行っている。これにより機密情報を外部に送信せずにAI処理できるようになった。だが、AIが嘘をつくハルシネーションの問題は依然としてある。確認していないのに「確認しました」と言う。当社はこの前提で運用を設計している。事実と推測の強制分離、ファクトチェック機能、3つのAIと人間の同士の三重検証を行っている。どこまでいっても、AIは完璧ではない。理論上100%安全設計をしていても、AIも人間も想定しないことは起こるものだ。その万が一に備えておくことが、AIを使う上では前提になっている。だろうではなく、かもしれない運用がAIを使う上での安全基盤となっている。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する