DEV Community

Cover image for AIモデル ローカル実行 vs API: どちらを選ぶべき?
Akira
Akira

Posted on • Originally published at apidog.com

AIモデル ローカル実行 vs API: どちらを選ぶべき?

TL;DR(手短に言うと)

ローカルAIは、手元のハードウェアで動作し、リクエストあたりの費用はかからず、データをプライベートに保ちます。APIベースのAIは、開始が速く、より高性能で、インフラなしでスケーラブルです。ほとんどのチームは両方を必要とします。このガイドでは、それぞれの方法が優れるケースを具体的な数値で解説します。

Apidogを今すぐ試す

はじめに

iPhoneでネイティブに動作するGemma 4。APIキーなしで言語モデル全体を組み込むブラウザ拡張機能。これらは18ヶ月前には不可能でした。今日では、HackerNewsで話題になっています。

以前の決定は単純でした。フロンティアモデルはAPI専用であり、それ以外は弱すぎて問題になりませんでした。しかし、それは変わりました。Qwen2.5-72B、Gemma 4、DeepSeek-V3のようなローカルモデルが、実際のベンチマークで競合するようになりました。以前はOpenAIのAPIをデフォルトで使用していた開発者も、特にプライバシーに敏感なアプリケーションや、トークンあたりのコストが急速に累積する大量のタスクでは、再考しています。

この記事は、マーケティングを排除し、費用、レイテンシ、機能に関する具体的な数値を提供し、あなたのユースケースに合った適切な判断を下せるようにします。

💡 モデルがローカルであるかクラウドであるかにかかわらず、AI API連携をテストする場合、Apidogのテストシナリオは両方で機能します。ローカルのllama-serverエンドポイントやOpenAIの/v1/chat/completionsを指し、同じアサーションを実行できます。詳細については後述します。基本的なテストアプローチについては、[internal: api-testing-tutorial]を参照してください。

「AIをローカルで実行する」が実際に意味すること

ローカルAIには、以下の3つの実装パターンがあります。

1. オンデバイス推論

  • モデルがデバイス上で直接動作。例:ブラウザ上のGemma Gem、iPhoneのGemma 4、MacBookのOllamaモデル等。
  • ダウンロード後はネット接続不要。

2. セルフホスト型サーバー

  • 自前のハードウェアやクラウドVMでモデルをAPIとして提供。例:llama-server, Ollama, vLLM。
  • モデルはエンドユーザーのデバイスではなく、管理下のサーバーで動作。

3. プライベートクラウド

  • AWS Bedrock、Azureプライベートエンドポイント、GCP Vertex AIカスタムモデルなどに独自デプロイ。
  • パブリックAPIより制御性高いが、完全セルフホストより導入・運用が容易。

本記事では、開発者が最も直面する「セルフホスト型」と「パブリックAPI」に焦点をあてます。

コスト比較

大量の処理ではローカルAIがコスト面で有利です。

パブリックAPIの料金(2026年4月時点)

モデル 入力 (100万トークン) 出力 (100万トークン)
GPT-4o $2.50 $10.00
Claude 3.5 Sonnet $3.00 $15.00
Gemini 1.5 Pro $1.25 $5.00
GPT-4o mini $0.15 $0.60
Claude 3 Haiku $0.25 $1.25

セルフホスト型のコスト例

  • Lambda LabsのA100 80GB: $1.99/時(オンデマンド)
  • INT4量子化Qwen2.5-72B: 1台のA100で約200トークン/秒
  • 1時間で約720Kトークン、1Kトークンあたり約$0.0028

損益分岐点:

1日に7万出力トークン以上を処理するならセルフホスト型の方が安価。

それ未満はAPI利用の方が効率的。

レイテンシ比較

  • 最初のトークンまでの時間(TTFT)

    • 専用A100+72Bモデル: 800ms~1.5秒
    • OpenAI API: 300~800ms
    • オンデバイス(iPhone等): 200~400ms(ネットワーク遅延ゼロ)
  • スループット

    • 72Bモデル×A100: 単一ユーザーには十分。多数同時・バッチ処理ではvLLM等が有効。
    • パブリックAPI: 並列性を自動処理。
  • ストリーミング

    • 両者対応。オンデバイスはネットワークジッターなし。

まとめ:

  • 最低レイテンシはオンデバイス
  • セルフホストは大量処理/バッチで有利
  • パブリックAPIはバースト対応と導入の容易さで優位

機能比較

  • 推論・複雑タスク: GPT-4o/Claude 3.5 Sonnetが依然優位。Qwen2.5-72B/DeepSeek-V3で差は縮小中。
  • コード生成: DeepSeek-Coder-V2やQwen2.5-Coder-32BはGPT-4oに匹敵。用途に応じて専用モデルを使い分け。
  • コンテキスト長: フロンティアAPIモデルは128K~1M。セルフホストは32K~128Kが現実的。
  • マルチモーダル: GPT-4o、Gemini 1.5 Proが先行。LLaVA、Qwen-VLなどのオープンモデルも進化中。
  • 関数呼び出し/ツール利用: OpenAI/Anthropicが最も安定。オープンモデルは複雑チェーンで安定性低。

プライバシーとデータ管理

  • パブリックAPI

    • プロンプトが外部送信される
    • データ保持ポリシー(例: OpenAIは標準で30日保持)
    • コンプライアンス観点で制約
  • セルフホスト型

    • データは自社インフラ内のみ
    • サードパーティ保持なし
    • GDPR/HIPAA対応が容易

個人健康データや法的文書、自社コードなどを扱う場合はセルフホスト型が必須。

モデルがどこで実行されるかにかかわらず、AI連携をテストする方法

OpenAI API (https://api.openai.com/v1/chat/completions) も、Ollama (http://localhost:11434/api/chat)、llama-server (http://localhost:8080/v1/chat/completions) もOpenAI互換APIを提供しています。

Apidogのテストシナリオは、すべてのHTTPエンドポイントで同様に機能します。

例:1つのシナリオでローカル/クラウド双方をテスト

{
  "scenario": "Chat completion smoke test",
  "environments": {
    "local": {"base_url": "http://localhost:11434"},
    "production": {"base_url": "https://api.openai.com"}
  },
  "steps": [
    {
      "name": "Basic completion",
      "method": "POST",
      "url": "{{base_url}}/v1/chat/completions",
      "body": {
        "model": "{{model_name}}",
        "messages": [{"role": "user", "content": "Say 'test passed' and nothing else"}],
        "max_tokens": 20
      },
      "assertions": [
        {"field": "status", "operator": "equals", "value": 200},
        {"field": "response.choices[0].message.content", "operator": "contains", "value": "test passed"},
        {"field": "response.usage.total_tokens", "operator": "less_than", "value": 50}
      ]
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode
  • 開発中はローカルのOllamaに対して、CIではOpenAI APIに対して実行可能
  • モデル名や関数呼び出し応答構造、ストリーミング形式の違いに注意

ApidogのSmart Mock機能を使えば、GPUなしでもOpenAI互換の応答を返すモックテストが可能です。

モデルごとの細かな応答構造の違いについては[internal: how-to-build-tiny-llm-from-scratch]参照。

10分でローカルモデルサーバーをセットアップする方法

セルフホストをすぐ試したい場合はOllamaが最速。

# Ollamaをインストール
curl -fsSL https://ollama.com/install.sh | sh

# モデルをプル(Gemma 4 12Bは10GB VRAMでOK)
ollama pull gemma4:12b

# サーバー起動(OpenAI互換API/ポート11434)
ollama serve

# テストリクエスト
curl http://localhost:11434/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:12b",
    "messages": [{"role": "user", "content": "Hello"}]
  }'
Enter fullscreen mode Exit fullscreen mode

より高い同時リクエストや本番用途には、vLLMを使用:

pip install vllm
python -m vllm.entrypoints.openai.api_server \
  --model Qwen/Qwen2.5-72B-Instruct-AWQ \
  --quantization awq \
  --max-model-len 32768
Enter fullscreen mode Exit fullscreen mode

これでポート8000でOpenAI互換APIが起動します。Apidogでhttp://your-server:8000を指定しテスト可能です。

どちらのアプローチを選択すべきか

シナリオ ローカル API
大量バッチ処理(10万トークン/日~) 安価 高価
プライバシーに敏感なデータ 必須 リスクあり
オンデバイス最低レイテンシ 最適 不可能
フロンティアモデルの機能 不十分 必須
バースト的なトラフィック スケール難 自動処理
GPUが利用できない 困難 容易
開発/テスト環境 優秀 (Ollama) コスト高
マルチモーダルタスク 限定的 完全対応
規制業界コンプライアンス 容易 DPA必要

実践的な選択肢:

  • 本番は高性能API(GPT-4o, Claude等)
  • 開発・テストはローカル(Ollama等)
  • コスト/品質/運用性のバランスを両立

オープンソースコーディングアシスタントとローカルAIの活用例は、[internal: open-source-coding-assistants-2026]を参照。

結論

ローカルAIとAPIは二者択一ではありません。

  • ボリュームやプライバシー要件、レイテンシや機能水準に応じてハイブリッド構成が最適解です。
  • まずはAPIで始め、月額200~300ドル規模になればセルフホストへ移行を検討しましょう。
  • 開発・テスト環境はOllama等ローカルを利用し、OpenAI互換APIを使うことでプラグインしやすい設計を。

Apidogを活用し、ローカル/クラウド両環境で常にテストを回し、挙動の違いによる本番バグを事前に潰しましょう。

よくある質問

Q: 有用なローカルモデルを動かす最小GPUは?

A: RTX 3060(12GB VRAM)はQwen2.5-7BやGemma 4 4Bをフル品質で処理。RTX 4090(24GB)はINT4で14B-20B、INT2で34Bモデル。72Bモデルは2x 24GB GPUまたはA100/H100が必要。

Q: Apple SiliconでローカルAIは動く?

A: はい。OllamaはApple Siliconをネイティブサポートし、ニューラルエンジンを活用。M3 Pro(18GBメモリ)は14Bモデル、M4 Max(128GB)は70Bモデルも可。

Q: ローカルモデルの出力品質は本番で十分?

A: コード生成・要約・データ抽出は32B+で十分。ただし複雑な推論や知識系はAPIモデルが優位。

Q: ローカルモデルで関数呼び出しは使える?

A: 可能だが一貫性に乏しい。Llama 3.1、Qwen2.5、Mistralなどは対応。複雑なツールチェーンはAPI型に軍配。Apidogで事前に徹底テストを推奨。[internal: claude-code]参照。

Q: AWSで70Bモデルをセルフホストするコストは?

A: p4d.24xlarge(8x A100 40GB)は$32.77/時でINT8 70Bを高速動作。g5.2xlarge(1x A10G 24GB)は$1.21/時で14B INT4。リザーブドで30~40%削減可能。

Q: Ollamaとllama.cppの違いは?

A: llama.cppは推論エンジン本体。OllamaはREST API、モデル管理、CLIを追加したラッパー。開発にはOllamaが推奨。高度な制御や量子化はllama.cpp(llama-server)を直接利用。

Q: コードを変更せずローカル⇔APIを切り替え可能?

A: 可能。OpenAI互換クライアント利用時、base_urlapi_keyを切り替えればコード修正不要。Python例:

openai.OpenAI(base_url='http://localhost:11434/v1', api_key='ollama')
# クラウド利用時
openai.OpenAI(base_url='https://api.openai.com/v1', api_key='sk-...')
Enter fullscreen mode Exit fullscreen mode

環境変数で管理推奨。


ApidogでAPIテストを始める:https://apidog.com/?utm_source=dev.to&utm_medium=wanda&utm_content=n8n-post-automation

Top comments (0)