ローカルLLMとクラウドLLMの一貫したベンチマーク手法

✍️ OpenClawRadar📅 公開日: April 14, 2026🔗 Source
ローカルLLMとクラウドLLMの一貫したベンチマーク手法
Ad

r/LocalLLaMAの開発者が、ローカルLLMとクラウドAPIを比較する際に一貫性のあるベンチマーク数値を得るための方法論を詳述し、異なるレイテンシ、スコアリング、方法論による不公平な比較によくある不満に対処しています。

ベンチマークの核心的な問題

ローカルモデルとクラウドモデルの両方にリクエストを送る素朴な比較では、異なる要素を測定してしまいます。クラウドAPIにはキューイング、負荷分散、ルーティングが関与します。ローカルモデルにはウォームアップ、バッチ処理、GPU競合が関与します。実装された解決策は、順次リクエストのみを使用することです。遅くはありますが(60回の呼び出しベンチマークで約45秒ではなく約3分かかります)、各測定がクリーンであることを保証し、推論時間をキュー時間から分離します。

測定セットアップ

このセットアップでは、ZenMuxを統一エンドポイントとして使用し、GPT-5.4、Claude Sonnet 4.6、Gemini 3.1 Pro、ローカルのLlama 4量子化モデルの4つのモデルに対して1つのベースURLを提供します。このアプローチは、以下のようなOpenAI互換エンドポイントであれば動作します:

  • llama.cppサーバー: curl http://localhost:8080/v1/chat/completions ...
  • vLLM: curl http://localhost:8000/v1/chat/completions ...
  • Ollama: curl http://localhost:11434/v1/chat/completions ...

重要なのは、すべてに対して同じクライアントコード、タイムアウト設定、リトライロジックを使用することです。

Ad

測定の仕組み

システムは5つのモジュールで構成されています:YAML設定 → BenchRunner → AIClient → Analyzer → Reporter。

YAML設定ではタスクとモデルを定義します。例:

suite: coding-benchmark
models:
  - gpt-5.4
  - claude-sonnet-4.6
  - gemini-3.1-pro
  - llama-4
runs_per_model: 3
tasks:
  - name: fizzbuzz
    prompt: "1から100までの数字に対してFizzBuzzを出力するPython関数を書いてください"
  - name: refactor-suggestion
    prompt: "このコードを改善する提案をしてください:\n\ndef calc(x):\n if x == 0: return 0\n if x == 1: return 1\n return calc(x-1) + calc(x-2)"

BenchRunnerは、タスク×モデル×実行回数の直積を取り、APIを順次呼び出し、レイテンシ、プロンプトトークン、完了トークンを記録します。

スコアリング部分

品質スコアリングは、自己選好バイアスを避け、再現性を確保するために、LLMを審判とするのではなくルールベースです。_quality_score関数は3つのシグナルを使用します:

  • 応答長:50〜3000文字で4.0点、短い場合は1.0点、長い場合は3.0点。
  • フォーマット:箇条書きの存在に応じて最大3.0点を追加。
  • コードの存在:コードブロックや関数定義を検出すると2.0点を追加。

最高スコアは9.0点です。これにより、「良い構造化された応答」と「ゴミ/空/幻覚」を相対的にランク付けする信頼性が得られます。レイテンシについては、95パーセンタイル応答時間(P95)も計算されます。

📖 Read the full source: r/LocalLLaMA

Ad

👀 See Also

ClaudeとOpenAIの使用におけるモデルルーティングのベースライン
Guides

ClaudeとOpenAIの使用におけるモデルルーティングのベースライン

開発者がClaude Haiku 4.5、Sonnet 4.6、Opus 4.6、ChatGPT 5.3 Codexを異なるタスクタイプに割り当てるモデルルーティング戦略を共有。必要に応じてGPT-5 MiniやGPT-5.4へのフォールバックも設定。

OpenClawRadar
Claude Codeの27フックライフサイクル ビジュアルガイド
Guides

Claude Codeの27フックライフサイクル ビジュアルガイド

コミュニティによって作成されたリソースは、Claude Codeの全27種類のフックについて、視覚的かつ音声による解説を提供しています。各フックがいつ発火するか、その順序、受け取るデータを示しています。このプロジェクトはClaude Code自体を使用して完全に構築されました。

OpenClawRadar
GitHubリポジトリオーナー: Gitの--authorフラグを使ってAIボットスパムをブロックせよ
Guides

GitHubリポジトリオーナー: Gitの--authorフラグを使ってAIボットスパムをブロックせよ

Archestraは、GitHubの「過去のコントリビューターのみ」設定とGitの--authorフラグを悪用し、キャプチャベースのオンボーディングフローを通じて人間をホワイトリストに登録することで、AIによるコメント/PRスパムと戦いました。

OpenClawRadar
Claude VS Code拡張機能のエラー修正:「command claude-vscode.editor.openLast not found」
Guides

Claude VS Code拡張機能のエラー修正:「command claude-vscode.editor.openLast not found」

Claude VS Code拡張機能バージョン2.1.51には、重大なバグが含まれており、ユーザーが操作しようとすると「コマンド 'claude-vscode.editor.openLast' が見つかりません」というエラーが発生します。回避策はバージョン2.1.49にダウングレードすることです。

OpenClawRadar