自前ハードウェアでLLMを動かす
70B超のパラメータを持つモデルを、クラウドAPIの代わりにローカルで動かす際の実コスト、トレードオフ、必要なハードウェアを解説します。

去年、70Bパラメータのモデルを実用的な速度で動かせるローカル推論マシンの構築に4,200ドルをかけました。同僚が私の構成を見て、当然の疑問を投げかけてきました。「APIを使えばいいじゃないか。それってAPIクレジット8年分だぞ」。計算だけ見れば彼の言うことは間違っていません。ただ、彼は判断の前提そのものを見誤っていたんです。
かつて大規模言語モデルのローカル実行は、ラックマウント型GPUクラスターを備えた研究機関の領域でした。それが急速に変わりつつあります。コンシューマー向けハードウェア、量子化技術、最適化された推論エンジンのおかげで、70B以上のモデルも個人の愛好家や小規模チームの手が届く範囲に入ってきました。Tinyboxのようなデバイスはさらに先を行っています。120Bパラメータのモデルをクラウド不要でオフライン実行するために専用設計されたハードウェアです。
ただ、「可能」と「実用的」は別物です。大規模モデルをローカルで動かすには実際に何が必要なのか、どんな場合に意味があるのか、そしていつAPIにお金を払った方がましなのかを見ていきましょう。
そもそもなぜローカルで動かすのか?
APIモデル、つまりデータをクラウドプロバイダーに送り、結果を受け取る方式は、ほとんどのユースケースでうまく機能します。簡単で、低ボリュームならクエリ単価も安く、常に最新のモデルを使えます。では、なぜわざわざローカル推論をやる人がいるのでしょうか。
- プライバシーとコンプライアンス。 データによってはネットワークの外に出せないものがあります。医療記録、法律文書、社外秘のコード、金融データなど、規制の厳しい業界ではデータの所在に関する厳格な要件があることが多いです。患者の記録を、たとえ暗号化されていてもAPIエンドポイントに送ると、HIPAAに違反する可能性があります。ローカル推論なら、すべてを社内に留められます。
- レイテンシ。 API呼び出しにはネットワークの往復、キューでの待ち時間、レート制限がつきものです。ローカル推論にはネットワーク遅延がなく、キューで待つこともありません。リアルタイムのコーディング支援、端末上での翻訳、音声インターフェースのような対話型アプリケーションでは、50ミリ秒と500ミリ秒の差が「反応がいい」と「もたつく」の差になります。
- 大規模利用時のコスト。 APIの料金はトークン単位です。少量なら無視できる額ですが、大量になると一気に効いてきます。大量のコードレビュー、文書分析、バッチ処理を行うチームは、月に数千ドルのAPI費用をあっという間に消費しかねません。ローカルのハードウェアは固定費です。一度購入すれば、推論のコストは実質ゼロになります。
- 可用性。 クラウドAPIはダウンします。レート制限はかかりますし、料金は予告なく変わります。モデルは非推奨になります。プロダクトがサードパーティのAPIに依存しているなら、相手の事業判断に振り回されることになります。ローカル推論なら、他社のサーバーが不調だからといって自社の機能が消えることはありません。
- 実験の自由度。 APIプロバイダーには利用規約があり、モデルで何ができて何ができないかを決めています。ローカルモデルにはそうした制限がありません。ファインチューニングも改変も、どんな目的での利用も、回数を気にせず好きなだけ実行できます。
ハードウェアの現実
LLM推論における根本的な制約は、計算能力よりもメモリです。モデルのパラメータは、何かを処理する前にメモリ(GPUのVRAMまたはシステムRAM)に収まっている必要があります。16ビット浮動小数点で70Bパラメータのモデルは、約140GBのメモリを必要とします。これは、どのコンシューマー向けGPUが提供する容量よりも多いです。
ここで効いてくるのが量子化です。モデルの重みの精度を16ビットから8ビット、4ビット、あるいは2ビットまで落とすことで、メモリ要件を大幅に減らせます。
Memory requirements for a 70B parameter model:
FP16 (full precision): ~140 GB → requires multiple A100s
INT8 (8-bit quant): ~70 GB → requires 2x RTX 4090 (48GB total)
Q4_K_M (4-bit quant): ~40 GB → fits on 2x RTX 3090 or 1x A6000
Q2_K (2-bit quant): ~25 GB → fits on 1x RTX 4090 (24GB)
For a 120B parameter model:
FP16: ~240 GB → enterprise GPU territory
INT8: ~120 GB → 5x RTX 4090 or purpose-built device
Q4_K_M: ~70 GB → 3x RTX 4090
Q2_K: ~40 GB → 2x RTX 4090
4ビット量子化(llama.cppエコシステムではQ4_K_M)が、現時点でのスイートスポットです。品質の劣化は測定可能ですが、実用上は許容できることが多いです。ブラインドテストでは、ほとんどの人がQ4の出力と完全精度の出力を見分けられません。2ビット量子化は、特に推論を多用するタスクで品質に明確な影響が出ます。ただ、テキスト分類や要約のような単純な用途ならまだ機能します。
コンシューマー向けハードウェア構成
自分でローカル推論環境を組むなら、価格性能比の異なる3つの基本的な道があります。
単一GPUの構成
RTX 4090(VRAM 24GB、約1,600ドル)1枚で、約30Bパラメータまでの4ビット量子化モデルなら余裕を持って動かせます。積極的な2ビット量子化なら70Bモデルも動きます。7B〜13Bクラスのモデルには明らかにオーバースペックです。毎秒40トークン以上出るので、ほとんどの人が読むより速いです。最も簡単な道で、GPUを買い、llama.cppかOllamaを入れれば、すぐに始められます。
マルチGPUの構成
GPUを2枚以上使えば、テンソル並列処理でモデルを複数のデバイスに分散できます。RTX 3090を2枚(合計VRAM 48GB、中古で約2,200ドル)あれば、4ビット量子化の70Bモデルを余裕を持って動かせます。問題は、PCIeレーンが十分にあるマザーボードと、フルサイズGPUを複数収めるスペースが必要なことです。エアフローが現実的な課題になります。350WのGPUを2枚ケースに入れると、かなりの熱が出ます。
ユニファイドメモリの構成
大容量のユニファイドメモリを持つApple SiliconのMacは、意外と有力な選択肢です。192GBのユニファイドメモリを搭載したM2 Ultraなら、フル精度の70Bモデルをメモリ上に丸ごと載せられます。推論速度は専用GPUより遅く、70Bモデルで毎秒10〜15トークン程度ですが、手軽さは他に比類がありません。ドライバーの問題も、マルチGPUの設定も、熱管理も不要です。デスクの上にMac Studioを置くだけで、70Bモデルが動きます。
M系チップはユニファイドメモリアーキテクチャによってこれを実現しています。CPUとGPUが同じメモリプールを共有するので、CPUのRAMとGPUのVRAMの間でデータをコピーするボトルネックがありません。メモリ帯域は専用GPU構成より低く、そのため推論は遅くなります。それでも、消費電力60ワットのデバイスで192GBのアドレス可能なメモリを持つのは、本当に印象的です。
専用推論デバイス
最も新しいカテゴリが、大規模モデルを効率よく動かすために設計された専用のローカル推論ハードウェアです。複数のコンシューマー向けGPUをケーブル配線の悪夢と格闘しながら組み合わせる手間をなくすことを目指しています。推論のためにゼロから設計されたアプライアンスのような製品を手に入れられます。
魅力は明快です。電源を入れて、アプリケーションをそこに向けるだけで、モデルが動きます。ドライバーの競合もCUDAバージョンの管理も不要で、誰かがGPUを3枚詰め込んだせいのサーマルスロットリングも起きません。トレードオフはコストです。専用デバイスは、同等のコンシューマー向けGPUに比べてFLOPあたりの価格が高いのが普通です。統合された信頼性と、PCIeレーンの割り当てをデバッグしなくて済むことに対して対価を払っているわけです。
ローカル推論が必要だけれど、ハードウェアエンジニアを抱えていない小規模企業にとっては、こうしたデバイスは合理的です。ものを作るのが好きな趣味の人にとっては、自作のマルチGPU構成のほうが安くて自由度も高いままです。
ソフトウェアスタック
ハードウェアは物語の半分にすぎません。推論ソフトウェアのスタックは急速に進化しており、適切なソフトウェアを選べば、同じハードウェアでもスループットが倍になることがあります。
- llama.cpp — ローカル推論のスイスアーミーナイフです。C/C++で書かれ、Raspberry Piから複数GPUのサーバーまで、あらゆる環境で動きます。多数のモデルアーキテクチャと量子化フォーマットに対応しています。必ずしも最速ではありませんが、最も移植性が高く、活発にメンテナンスされています。
- vLLM — NVIDIA GPU上でのスループットに最適化されています。PagedAttentionを使ってGPUメモリを効率的に管理し、バッチ推論を大幅に改善します。1台のマシンで複数ユーザーにサービスを提供するなら、通常はvLLMが最適な選択です。
- Ollama — 「LLM版Docker」のアプローチです。llama.cppをモデルレジストリ付きの使いやすいインターフェースで包んでいます。
ollama run llama3:70bを実行すれば、モデルのダウンロード、量子化の設定、サービングの開始まで行われます。始めるには最適ですが、生のllama.cppほど細かい設定はできません。 - MLX — Appleの機械学習フレームワークで、Apple Silicon向けに最適化されています。M系チップのMacを使っているなら、MLXはユニファイドメモリアーキテクチャをより効果的に活かすことで、通常llama.cppより高い性能を出します。
# Getting started with Ollama (the easiest path)
# Install: https://ollama.ai
# Run a 7B model (downloads automatically, ~4GB)
$ ollama run mistral
# Run a 70B model (needs ~40GB RAM/VRAM)
$ ollama run llama3:70b-instruct-q4_K_M
# Serve as an API endpoint (OpenAI-compatible)
$ ollama serve
$ curl http://localhost:11434/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "mistral",
"messages": [{"role": "user", "content": "Explain TCP handshakes"}]
}'
正直なコスト比較
本当に重要な計算をしてみましょう。70Bモデルを動かし、1日に約100万トークンを処理すると仮定します(おおよそ50〜100件の文書の分析、または数百件のチャット会話の処理に相当します)。
Cloud API (approximate pricing for 70B-class model):
Input: $0.50 per million tokens
Output: $1.50 per million tokens
Daily cost: ~$2.00
Monthly cost: ~$60
Yearly cost: ~$720
Local inference (2x RTX 4090 build):
Hardware: $4,200 (one-time)
Electricity: ~$30/month (assuming 700W, 8h/day, $0.15/kWh)
Break-even: ~5.5 years
Local inference (Mac Studio M2 Ultra 192GB):
Hardware: $5,800 (one-time)
Electricity: ~$3/month (60W)
Break-even: ~8 years
1日100万トークンなら、クラウドAPIは何年もの間、安上がりです。ただし、ボリュームが増えるとこの計算は大きく変わります。1日1,000万トークンになると、APIの費用は年7,200ドルになり、ローカルのハードウェアは約7か月で元が取れます。1日5,000万トークンなら、ローカル推論は数週間で投資を回収します。
このコスト比較は、非金銭的な要素を無視しています。プライバシー、レイテンシ、可用性、実験の自由度です。もしそれらが「あれば嬉しい」ではなく「必須要件」なら、金銭的な比較は二次的な問題になります。
量子化で失われるもの
量子化は大規模モデルのローカル推論を可能にするものですが、タダではありません。精度を下げると一部の情報が失われ、その劣化はタスクによって均一ではありません。
私のテストでは、4ビット量子化モデルは、テキスト生成、要約、単純なQ&A、翻訳、よくあるパターンのコード生成において、完全精度とほぼ同じ性能を示しました。劣化が現れたのは、複雑な多段階の推論、数学的計算、学習データの正確な想起が必要なタスク、そして微妙な指示への追従でした。
実践的な含意としては、ローカルモデルをコード補完、文書要約、対話型AIに使うなら、4ビット量子化で完全に問題ありません。複雑な分析的推論や、微妙な精度の差が重要なタスクに使うなら、慎重にテストし、必要に応じてメモリをより多く使うか、より小さなモデルを使ってでも高い精度を選ぶ必要があるでしょう。
判断の仕方
1年間ローカルでモデルを動かしてきた経験から、ローカルかクラウド推論かを決める私の判断基準を紹介します。
クラウドAPIを使うべきとき: 最高品質のモデルが絶対に必要なとき、ボリュームが少なめから中程度のとき、ハードウェアの専門知識がないとき、頻繁にモデルを切り替える必要があるとき、またはレイテンシが致命的でないとき(数百ミリ秒なら問題ない場合)。
ローカルで動かすべきとき: データをネットワーク外に出せないとき、一貫して100ミリ秒未満のレイテンシが必要なとき、トークンのボリュームがハードウェアコストを正当化できるほど多いとき、クエリごとの費用を気にせず自由に実験したいとき、またはサードパーティの稼働状況に左右されない推論の可用性が必要なとき。
状況は急速に変わりつつあります。モデルは小型化・効率化し、量子化技術も進歩し、ハードウェアも安くなっています。ローカル推論が金銭的に意味を持つボリュームの閾値は、毎年下がっています。今日あなたにとって意味がなくても、18か月後には意味を持つかもしれません。その間にも、ソフトウェアスタックは使いやすくなり続けるでしょう。


