第2話「VRAM16GBの中の戦争」30万→?万/ ローカルLLMマシン構築記【実録】
前回、「16GBあれば結構いける」と思っていた、という話を書いた。
この慢心が具体的にどう覆されていくか——それが今回の話だ。
結論から言うと、数ヶ月後の私は、真夜中にモニタリングツールとにらめっこしながら、「なぜメモリが溢れるのか」を延々と考える人間になっていた。
この記事は、【実録】大人の失敗談で学ぶハードウェアの沼 30万円のゲーミングPCが、1年でAI専用機に変貌するまで。VRAM 16GB → 48GB → 64GBへと突き進む、あるエンジニアのノンフィクション・コメディです。
第1話がまだの方はこちらから→第1話 始まりは30万16GBのゲーミングPCだった
第2話は、約3分で読めます。。ちょっとしたスキマ時間にどうぞ。
SEの経験を、趣味に持ち込んだ結果
Ollamaを軽い気持ちでインストールした後、すぐに本格的な環境構築が始まった。
SEとしての経験を活かし、いきなりOllamaを推論サーバーとして構築。
さらに、余っていた古いノートパソコンにOpenWebUI(ブラウザからチャットできるUI)を立ち上げて、外からもアクセスできる環境を作った。
次に触ったのはLM Studio。
画面の情報量に圧倒されたが、Ollamaのコマンド一発でモデルをダウンロードできる手軽さは、今でも重宝している。
このときはまだ、「便利なツールが増えた」くらいの感覚だった。
「今日の天気」に3分かけて出た答えが「わかりません」
当時試していたのはQwen3.5 9B、Gemma4 E4Bあたり(まだGemma4 12Bは登場していない頃)。
調子に乗ってGemma4 26Bを試すと、メモリに収まりきらないことも知らずに何度もロードを試みる、という試行錯誤を繰り返した。
極めつけは、OpenWebUIのWeb検索機能を試したときだ。
今日の天気を聞くと、
Web検索 →Embedding→Reranker(リランカー、検索結果を並べ替えるモデル) → 3分待機 → 「私は外の天気はわかりません」
当時はEmbeddingモデルやRerankerモデルがLLMと同時にロードされていることすら知らず、遅いノートPCのCPUが裏で頑張っていた。
3分待たせた挙句の「わかりません」に、思わず画面を二度見した。
「嘘だと言ってよ、ジェマ」
同時実行数無制限によるメモリ事故
Excelの議事録が、メモリ事故を起こした。
もう一つ、忘れられない事故がある。
きっかけは「ユーザーとの議事録(Excel)をどうやって読み込ませるか」。
当時すでにZed(コード編集用のAIエディタ)を導入していたので、Zedのエージェントでバイブコーディングをしながら、MicrosoftのMarkItDownを使ってExcelをMarkdownに変換するPythonコードを生成した。
出来上がったmdファイルをナレッジに投入する。
……すると、メモリ使用量のモニタが一気に右肩上がりに!
ものすごい勢いでVRAM16GBが溢れ、RAM64GBまでもが食いつぶそうとしていた!
私は、大慌てで処理を停止した。
原因は「エクセル方眼紙」形式でタブだらけになった数十MBのmdファイルを、そのままチャンク分割にかけてしまったことだった。
同時実行数も無制限のままだったため、全てのチャンクが同時に計算を開始していた。
原因がわかったので、同時実行数を有限に指定して再実行。
気づけば時計は深夜1時を回っていた。
モニターにはメモリ使用量。横にはターミナル。そして、まだ終わらないモデルのロード。
「なんで動かないんだ……」
無駄なタブがチャンクを食い潰し、タブだけのチャンクを数値ベクトルしていた。無意味な計算が素直に実行されていた。
対策として、Zedのインラインアシスタントでタブを除去し、文章として読めるMarkdownに整形した事で、読込が完了した。
「便利なツールが増えた」なんて思っていたのが、もう懐かしい。
「俺、いる?」と思っていた矢先に
その後もQwen3.5 9BやGemma4 E4Bあたりで、特に不満なく使っていた。
ところが6月。
Gemma4 12BとOrnith-1.0 9Bが登場した。
ここから私は、KVキャッシュや量子化を調べ始める。
コンテキスト長を設定したり、Temperatureを変えたり、用途によってモデルを使い分けたり。
気づけば、「試す」から「調整する」に変わっていた。
同じ頃、AI界隈では「ループエンジニアリング」という概念が広まり始めた。
バイブコーディング中にターミナルでエラーが出ては、脳死でチャット欄に貼り付け、返ってきた回答をまたターミナルに貼り付ける。
——そんな日々の中で「俺、いる?」と思っていた矢先に見つけたのが、自律成長するAIエージェントをGUIで使える「Hermes Desktop」だった。
「こいつら、同じモデルなら同時に推論してる」
Hermes DesktopとZedエージェントを併用し始めてすぐ気づいた。
「こいつら、同じモデルなら同時に推論してる」
ここから、同時実行数、モデルロード、量子化をいじってはVRAMからあふれる、を繰り返す日々が始まった。
30B級(Gemma4 31BやHermes 4.3 36B)を使ってみたいのに、どうしてもVRAMからあふれてしまう。
タイトルの「VRAM 16GBの中の戦争」は、この2つの事件の話だ。全てはVRAM 16GBの領地を取り合うモデルとツールたちの戦争だった。
ここで初めて、VRAMを増やすことを本気で検討し始めることになる。
まとめ
Ollama→OpenWebUI→LM Studio→RAG構築→マルチエージェントと、16GBのVRAMで試行錯誤を重ねた
天気予報の失敗と、Excel議事録のメモリ事故という2つの「事件」を経験した
Gemma4 31BやHermes 4.3 36Bを使いたくてもVRAM 16GBでは限界に達し、VRAM増設を検討し始めた
次回予告
「VRAM、もっと欲しくない?」
そう思った瞬間から、私は調べ始めた。
結局、ローカルLLMにVRAMは何GBあれば足りるのか。
答えは、単純な掛け算ではなかった。
よくある質問
Q. ローカルLLMでRAG(社内文書検索など)は簡単にできますか?
A. ツール自体は用意されていますが、Excelのような表形式データをそのまま読み込ませると、チャンク分割やメモリ消費で失敗しやすいです。事前にテキスト整形が必要になるケースが多いです。
Q. VRAM 16GBでどんなモデルが動きますか?
A. Qwen3.5 9BやGemma4 e4bクラスは問題なく動きましたが、Gemma4 26Bクラスや30B級モデルはVRAMからあふれました。
関連記事
次の話はこちら→第3話「世界の中心で VRAM16GB は足りないと叫ぶ!」
前の話はこちら→第1話 始まりは16GBのゲーミングPCだった
ローカルLLMを始めて専用AIに育てるまでのステップはこちら→ローカルLLM完全ロードマップ
いいなと思ったら応援しよう!
日頃からのご愛読を感謝いたします。