ブログに戻る

コスト最適化比較

DeepSeek をローカルで実行するか API を使うか?ハードウェア、速度、コスト

GPU と RAM で DeepSeek V4-Flash を実行できるか、期待できる速度、base_url を変更する方が簡単な場合を確認。コスト表付き。

投稿者: CheapTokens Team公開日 更新日 読了時間 9 分

ローカルと API の 2 列で、自前のハードウェアで DeepSeek を実行することと、base_url を変更してホスト型 API を呼び出すことを比較
このページの内容
  1. DeepSeek はメモリに収まるか?
  2. 速度はどれくらいか?
  3. 同じワークロードを API 経由で実行した場合のコスト
  4. 自前のハードウェアはいつ元が取れるか?
  5. ローカルからホスト型 API への移行
  6. 動作しない場合
  7. どちらを選ぶか

おそらく無理です。128 GB の RAM か Mac Studio クラスのマシンを所有しているか、すべてのトークンを自分のディスクに置いておく理由がある場合を除いて。DeepSeek V4-Flash のファイルだけで約 100 GB あり、あるコミュニティガイドによれば高価なハードウェアでも毎秒約 6〜10 トークンです。ほとんどのアプリやエージェントループでは、OpenAI クライアントをホスト型 API に向けるのが近道です。base_url とキーを変更するだけで、コードの他の部分は何も変わりません。

以下では、自分のマシンを 5 分で確認する方法、期待できる速度、実際のワークロードを API 経由で実行した場合のコストを説明します。

DeepSeek はメモリに収まるか?#

ここでのサイズは、DeepSeek をローカルで実行するためのコミュニティガイド(GitHub の deepseek-local-guide-ru、18 部構成、CC BY 4.0、2026 年 10 月 22 日閲覧)に基づいています。これは非公式であり、DeepSeek とは提携していません。ガイド自体のページ間でもサイズが完全には一致していないため、100 GB のダウンロードを開始する前に Hugging Face のモデルカードでファイルサイズを確認してください。

ガイドによると、DeepSeek V4-Flash-0731 は 284B パラメータで、そのうちトークンあたり 13B がアクティブです。ファイルは次のとおりです。

量子化 ファイルサイズ(ガイドの数値)
Q3 約 103 GB
Q4 約 155 GB
Q8 約 162 GB

モデル全体をビデオメモリに置く必要はありません。llama.cpp はエキスパート層をシステム RAM に保持できますが、ガイドの経験則は率直です。24 GB の GPU には 128 GB の RAM が必要です。

24 GB の GPU と 64 GB の RAM を搭載した高性能ゲーミング PC があるとします。両方を足して最小のファイルと比較してください。

24 + 64 = 88 GB、Q3 ファイルは 103 GB です。

収まりませんし、OS 自体もメモリを必要とします。24 GB の VRAM と 128 GB の RAM があれば 152 GB となり、103 GB のファイルは余裕を持って収まります。

新しい DeepSeek-V4.1-Flash-1017 はさらに大きく、同じガイドによれば約 552B パラメータに加えて 196B の Engram があり、FP8 で約 510 GB、2 ビットで約 167 GB です。サポートももう一つの問題です。ガイド時点(2026 年 10 月 22 日確認)では、deepseek_v41 アーキテクチャがサポートされていないため Ollama では動作せず、llama.cpp と LM Studio のサポートもメインブランチにはありません。これは急速に変わるため、計画を立てる前に使用するエンジンのリリースノートを確認してください。

速度はどれくらいか?#

ガイドには 2 つの測定値があり、どちらも重い量子化でのコミュニティの数値なので、ベンチマークではなく桁感として読んでください。

  • 128 GB の DGX Spark、IQ2 の V4-Flash:毎秒約 6〜7 トークン。
  • 256 GB の Mac Studio M3 Ultra、MLX 2 ビットの V4.1-Flash:毎秒約 9.5 トークン。

ガイドには RTX 4090 や 5090 の数値はありません。

これはどのくらいの感覚でしょうか?1,000 トークンの回答はおよそ 1 ページ半のテキストです。

1,000 ÷ 9.5 = 105.3 秒

1,000 ÷ 6 = 166.7 秒

ストリーミングしながら読むチャットなら、遅いですが使えます。タスクごとに何十回も呼び出すエージェントなら、すぐに積み上がります。ループが 1 日に 2,000,000 出力トークンを生成し、マシンが休みなく実際に毎秒 9.5 トークンを生成するとします。

2,000,000 ÷ 9.5 = 210,526 秒

210,526 ÷ 3,600 = 58.5 時間

1 日分の作業に対して 1 日以上の生成時間です。実際のサーバーは複数のリクエストをまとめてバッチ処理するので、チームにとってはそれほど厳しい話ではありませんが、製品を作る代わりにエンジンをチューニングすることになります。

同じワークロードを API 経由で実行した場合のコスト#

例を具体的にしましょう。エージェントループが 1 日に 1,000 万入力トークンを送信し、200 万出力トークンを受け取ると仮定します。これらは仮定の数値なので、使用ログから自分の数値に置き換えてください。

DeepSeek 自身の料金ページ(2026 年 10 月 22 日、ページ自体に日付表示なし)には、DeepSeek-V4.1-Flash-1017 が提供する deepseek-flash が 1M トークンあたり、オフピーク / ピークで次の価格で記載されています。キャッシュミスの入力 $0.15 / $0.30、出力 $0.60 / $1.20。ピーク時間は UTC の月曜から金曜の 01:00〜04:00 と 06:00〜10:00(中国の祝日を除く)で、オフピークはピークの半額です。キャッシュヒットの入力ははるかに安い($0.003 / $0.006)ため、同じ長いプレフィックスを再送するループはここに示す数値より低くなります。

仮定のワークロードで、キャッシュミスの場合:

オフピーク:10 × $0.15 + 2 × $0.60 = 1 日あたり $2.70

ピーク:10 × $0.30 + 2 × $1.20 = 1 日あたり $5.40

CheapTokens では、同種のエージェントループに対して MiniMax-M2.7(minimax-m2.7)を選べます。時間帯を問わず固定価格で、ピーク時間帯はなく、回答あたり最大 8,192 出力トークン、180K コンテキスト、すべてのモデルで 1 つの残高です。同じ 1,000 万入力と 200 万出力トークンで 1 日あたり $0.80 です。全体として、入力と出力を合計すると OpenRouter より安くなります。まさにこのワークロードのライブ表は次のとおりです。

モデル コスト OpenRouter
GLM-5.3-Flash $0.28 $0.565
DeepSeek-V4-Flash $0.35 $0.789
MiniMax-M2.7 $0.80 $5.40

合計 10,000,000 入力トークンと 2,000,000 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。

この表は表示されるたびに現在の価格リストを読み込むため、価格が変わっても正しいままです。完全な価格リストは CheapTokens の料金ページ にあり、2026 年の DeepSeek API 料金 ではキャッシュヒットとピーク時間が請求額をどう変えるかを説明しています。

自前のハードウェアはいつ元が取れるか?#

ローカルトークンはリクエストごとのコストはかかりませんが、マシンには費用がかかります。確認する簡単な方法は次のとおりです。

text
payback days = hardware price ÷ (daily API bill − daily electricity)

ハードウェアの価格は変動が大きすぎるためここでは示しません。見積もられた価格を入れてください。感覚をつかむために、上記の DeepSeek 料金ページのオフピーク請求額を使います。ハードウェアの $1,000 ごとに、電気代と自分の時間を除いて、API 請求の何日分で元が取れるか:

1,000 ÷ 2.70 = 370.4 日

そして、これはマシンがそもそもこの量を処理できると仮定した場合です。毎秒 9.5 トークンでは処理できません(上記の速度セクションを参照)。したがって、エージェントのワークロードでは元が取れません。ローカルがより理にかなうのは次の場合です。

  • データがネットワーク外に出てはならず、それが請求額より重要な場合。
  • すでにマシンを所有していて負荷が軽い場合。たとえば個人ツールで 1 日に数百リクエスト程度。
  • 重み自体を試したい場合。量子化、ファインチューニング、好みのエンジンなど。

API がより理にかなうのは、ワークロードがエージェントやサービスである場合、数秒で回答が必要な場合、またはハードウェアが上記のメモリサイズを下回る場合です。マシンが最も軽い DeepSeek ファイルにも小さすぎる場合、MiniMax-M2.7(180K コンテキスト、回答あたり最大 8,192 出力トークン、全体として OpenRouter より安い)は同じクライアント経由で試せるモデルです。

ローカルからホスト型 API への移行#

趣味のプロジェクトは Ollama で始まり、その後大きくなりすぎることがよくあります。良い知らせは、ローカルエンジンが OpenAI プロトコルを話すことです。Ollama の互換性ページ(docs.ollama.com、2026 年 10 月 22 日確認)にはエンドポイント http://localhost:11434/v1/ が示されています。クライアントは何らかの api_key 値を必要としますが、Ollama はそれを無視します。ストリーミング、JSON モード、ツールは動作します。logprobs は動作しません。

したがって、切り替えは 2 行とモデル名だけです。

python
import os
from openai import OpenAI

# Local Ollama: the key is required by the client but ignored by the server
# client = OpenAI(base_url="http://localhost:11434/v1/", api_key="ollama")

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

reply = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",  # take the exact id from the CheapTokens docs
    messages=[{"role": "user", "content": "Summarize this ticket in one sentence: ..."}],
    max_tokens=200,
)
print(reply.choices[0].message.content)
print(reply.usage)

動作すると、1 文の要約と、プロンプトと完了のトークン数を含む usage オブジェクトが表示されます。これは請求額の基になるのと同じ数値です。CheapTokens API は Anthropic Messages 形式も受け付け、ドキュメント では最初のリクエストを段階的に示しています。base_url が初めてなら、OpenAI 互換 API:base_url とは何か が 2 分でわかります。

動作しない場合#

  • localhost:11434 での Connection refused:Ollama が実行されていないか、まだローカルアドレスを指しています。
  • 401:キーが欠落しているか、スペース付きでコピーされています。例のように環境変数から読み取ってください。
  • 404 または不明なモデル:モデル ID が一致していません。ローカル名とホスト名は異なるため、ドキュメントから ID をコピーしてください。

どちらを選ぶか#

128 GB 以上を所有していて興味があるなら、自宅で重みを実行して制御を楽しんでください。1 日に数百万トークンを消費するエージェントや、ユーザーが回答を待つサービスを構築するなら、API を使ってローカル環境は実験用に取っておいてください。コードはどちらでも同じなので、一方で始めてもう一方に後で移行できます。セルフホスティングについては DeepInfer がセルフホスティングに何をもたらすか を、API 経由で DeepSeek を試すには CheapTokens の DeepSeek モデル をご覧ください。