GPT-6.1 Terra と GPT-6.1 Sol:ベンチマーク、料金、どちらを選ぶべきか
公開された公式仕様やモデルカードを確認できないため、具体的な数値・価格を断定することはできません。以下は比較観点、検証設計、結果記録テンプレート、および擬似的な CometAPI の Python 呼び出し例です。実際の数値・API 名・パラメータは公式ドキュメントに合わせて置き換えてください。
比較観点とチェックリスト
- 公式ベンチマーク
- 推奨指標: MMLU、GSM8K、MATH、HumanEval/MBPP、BBH、TruthfulQA、MT-Bench、Long-context(Needle-in-a-Haystack 等)
- 収集元: 公式モデルカード、評価リポジトリ、技術ブログ、発表スライド
- 記録テンプレ:
- MMLU: Terra [ ], Sol [ ](評価条件: 温度、トップP、停止語、上下文長)
- GSM8K: Terra [ ], Sol [ ](pass@1/consistency)
- HumanEval: Terra [ ], Sol [ ](pass@1、テスト再実行回数)
- Long-context: Terra [ ], Sol [ ](最大コンテキスト、再現率)
- 推論性能(Reasoning)
- 観点: 算術・論理多段推論、長文要約における整合性、コード合成の正当性、ツール利用(関数呼び出し/RAG)での計画精度
- 設定統一: 温度=0~0.2、max_tokens、stop、同一プロンプトとツール可用性、deterministic seed
- 指標: 正答率、反事実混入率、根拠引用率、再現性(同一設定で一致率)、平均/95%レイテンシ
- API 価格と制限
- 入力単価($ / 1K tokens)、出力単価($ / 1K tokens)
- 無料枠・ボリューム割引、バッチ/ストリーミング可否
- コンテキスト長上限、出力上限、レート制限(RPM/TPM)、優先キューの有無
- 記録テンプレ:
- Terra: 入力 [ ], 出力 [ ], コンテキスト [ ], 限流 [ ]
- Sol: 入力 [ ], 出力 [ ], コンテキスト [ ], 限流 [ ]
- 実務ワークロード適合性
- RAG 質疑応答: 出典リンク必須、引用一貫性、ハルシネーション率
- コード生成+単体テスト: pass@1、修正反復回数、実行エラー率
- 構造化抽出: スキーマ準拠率、欠損/重複、数値桁落ち
- 関数呼び出し/ツール連携: 引数整合率、関数選択誤り率、タイムアウト率
- 長文要約/比較: 事実整合性、参照範囲の漏れ、要約圧縮率
- 多言語翻訳/ローカライズ: 用語一貫性、句読点/体裁遵守、固有名詞保持
- 実験設計の注意
- 同一データ・同一前処理、キャッシュ/再試行の管理、API バージョン固定
- ストリーミング/バッチは別評価、ログ: request_id、用量、コスト、レイテンシ、エラー分類
- 出力後検証: 正規表現・スキーマバリデーション・型チェックを自動化
比較の一般的な判断軸(埋め込み用)
- Terra を選ぶ場合の指標候補
- コスト効率・スループットを重視
- 低レイテンシ API、短~中コンテキストの安定運用
- バッチ処理・大量トラフィックでの一貫性
- Sol を選ぶ場合の指標候補
- 高難度推論や長文、厳密な整合性を重視
- 長コンテキストや複雑な関数呼び出しシナリオ
- 高い正答率が費用対効果で許容される場面
結果記録テンプレ(例)
- ベンチマーク
- Terra: MMLU [ ], GSM8K [ ], HumanEval [ ], Long-context [ ]
- Sol: MMLU [ ], GSM8K [ ], HumanEval [ ], Long-context [ ]
- 推論
- Terra: 正答率 [ ], 95%tile レイテンシ [ ], 反事実率 [ ]
- Sol: 正答率 [ ], 95%tile レイテンシ [ ], 反事実率 [ ]
- API/運用
- Terra: 入力単価 [ ], 出力単価 [ ], 限流 [ ], 安定性 [ ]
- Sol: 入力単価 [ ], 出力単価 [ ], 限流 [ ], 安定性 [ ]
- ワークロード別
- RAG: Terra [合格率/引用率], Sol [合格率/引用率]
- 抽出: Terra [スキーマ準拠], Sol [スキーマ準拠]
- コード: Terra [pass@1], Sol [pass@1]
CometAPI Python 例(擬似コード)
- 注意: これは擬似コードです。実際の CometAPI クライアント名、エンドポイント、パラメータ、レスポンス構造は公式仕様に置き換えてください。モデル ID も実環境の名称を使用してください。
# 擬似コード:2 モデルの比較実行と計測
import time
from typing import Dict, Any
# 例: CometAPI のクライアント初期化(実際の SDK に置換)
class CometClient:
def __init__(self, api_key: str, base_url: str = None):
self.api_key = api_key
self.base_url = base_url
def chat(self, model: str, messages: Any, temperature: float = 0.0, max_tokens: int = 512, stream: bool = False) -> Dict[str, Any]:
# 実際の API 呼び出しに置換
# 返却想定: {"id": "...", "usage": {"prompt_tokens": .., "completion_tokens": ..}, "choices": [{"message": {"role": "assistant", "content": "..."}}]}
return {"id": "req_...", "usage": {"prompt_tokens": 100, "completion_tokens": 120}, "choices": [{"message": {"role": "assistant", "content": "回答"}}]}
def run_once(client: CometClient, model: str, prompt: str) -> Dict[str, Any]:
messages = [
{"role": "system", "content": "あなたは正確で簡潔なアシスタントです。根拠は短く述べてください。"},
{"role": "user", "content": prompt}
]
t0 = time.perf_counter()
resp = client.chat(model=model, messages=messages, temperature=0.0, max_tokens=512, stream=False)
t1 = time.perf_counter()
out = {
"request_id": resp.get("id"),
"latency_sec": round(t1 - t0, 3),
"prompt_tokens": resp.get("usage", {}).get("prompt_tokens"),
"completion_tokens": resp.get("usage", {}).get("completion_tokens"),
"content": resp.get("choices", [{}])[0].get("message", {}).get("content")
}
return out
def compare_models():
api_key = "YOUR_API_KEY"
base_url = "https://api.comet.example" # 実際のエンドポイントに置換
client = CometClient(api_key=api_key, base_url=base_url)
models = ["gpt-6.1-terra", "gpt-6.1-sol"] # 実際のモデル ID に置換
prompt = "次の式の値を求めてください: (7×13) - (5×9)。最終答えのみを提示してください。"
results = {}
for m in models:
res = run_once(client, m, prompt)
results[m] = res
print(f"[{m}] latency={res['latency_sec']}s, tokens_in={res['prompt_tokens']}, tokens_out={res['completion_tokens']}")
print(f"output: {res['content']}\n")
return results
if __name__ == "__main__":
compare_models()
評価強化のための追加ヒント
- 同一データセットで少なくとも3回以上リピートし、平均と95%タイルを算出
- 入出力トークン数から推定コストを算出(価格表に基づき $/1K tokens を掛け合わせ)
- 長文/関数呼び出し/RAG などはプロファイルを分け、設定を固定して比較
- 実運用ログ(request_id、エラーコード、再試行回数)を保存して後追い可能にする