gpt-6-astra を選ぶ場合も、gpt-5.6-terra のような小型モデルを選ぶ場合も、適切なモデルを選択するには、 精度、 レイテンシ、 コストのバランスを取る必要があります。このガイドでは、十分な情報に基づいて判断するための基本原則を、実例とともに説明します。
基本原則
モデル選択の原則はシンプルです。
- まず精度を最適化: 目標の精度に達するまで、精度の最適化を進めます。
- 次にコストとレイテンシを最適化: 精度を維持しながら、できるだけ安価で高速なモデルを使うことを目指します。
1. 精度を最優先
まず、ユースケースに応じた精度の目標を明確に設定します。本番環境で運用するために「十分」といえる精度を、はっきりさせておきます。そのために、次の手順を進めます。
- 精度の目標を明確に設定: 精度を測る指標と、その目標値を決めます。
- たとえば、カスタマーサービスへの電話の 90% を、最初のやり取りで正しく振り分けることを目標にします。
- 評価用データセットの作成: 目標に照らしてモデルの性能を測定できるデータセットを作成します。
- 先ほどの例でいえば、やり取りの例を 100 件集め、ユーザーの問い合わせ内容、LLM による振り分け先、正しい振り分け先、判定の正誤を記録します。
- 最も高性能なモデルで最適化: 精度の目標を達成するため、まずは利用できる中で最も高性能なモデルを使います。小型モデルへの蒸留に使えるよう、すべての応答を記録します。
- 検索拡張生成による精度の最適化
- ファインチューニングによる一貫性と振る舞いの最適化
この過程で、評価、フューショット学習、ファインチューニングに使うプロンプトと生成結果のペアを収集します。 プロンプトベーキングと呼ばれるこの手法は、後で活用できる質の高い例の作成に役立ちます。
ほかの手法やツールについては、精度の最適化ガイドを参照してください。
現実的な精度目標の設定
モデルの判断がもたらす金銭的な影響を評価し、現実的な精度目標を算出します。たとえば、フェイクニュースを分類する場合を考えます。
- ニュースを正しく分類した場合: モデルが正しく分類すれば、人によるレビューのコストを削減できます。ここでは、そのコストを $50 とします。
- ニュースを誤って分類した場合: 問題のない記事を誤判定したり、フェイクニュースの記事を見逃したりすると、レビューや苦情への対応が必要になり、 $300 のコストがかかる可能性があります。
このニュース分類の例では、コストを回収するには 85.8% の精度が必要です。そのため、90% 以上を目標にすれば、全体として投資に対する利益を確保できます。このように計算することで、実際のコスト構造に基づいた適切な精度目標を設定できます。
2. コストとレイテンシの最適化
コストとレイテンシの優先順位が低いのは、モデルが精度の目標を達成できなければ、これらを検討しても意味がないためです。ただし、ユースケースに使えるモデルが見つかったら、次の 2 つの方法のいずれかを取れます。
- 小型モデルのゼロショットまたはフューショットと比較: より小型で安価なモデルに切り替え、コストとレイテンシを抑えながら精度を維持できるかをテストします。
- モデルの蒸留: 精度の最適化中に収集したデータを使って、小型モデルをファインチューニングします。
コストとレイテンシは通常、相互に関連しています。トークン数とリクエスト数を減らすと、一般に処理も速くなります。
ここで検討すべき主な方法は次のとおりです。
- リクエスト数の削減: タスクの完了に必要なリクエスト数を抑えます。
- トークン数の最小化: 入力トークン数を減らし、モデルの出力が短くなるように最適化します。
- 小型モデルの選択: 精度の維持と、コストおよびレイテンシの削減を両立できるモデルを使います。
詳しくは、レイテンシの最適化ガイドを参照してください。
原則の例外
これらの原則には、明確な例外があります。コストやレイテンシの制約が非常に厳しいユースケースでは、テストを始める前に各指標の上限を定め、それを超えるモデルを候補から外します。基準を設定した後は、このガイドの指針に沿って、制約の範囲内でモデルの精度を高められます。
実例
これらの原則を具体的に示すため、次の指標を目標にフェイクニュース分類器を開発します。以下の実験では、過去の GPT-4o 系列のモデルによる結果を使って、ワークフローを説明します。現在のモデルを評価する際は、gpt-6-astra から始め、小型モデルやファインチューニング済みモデルと比較してください。
- 精度: 分類の正解率 90% を達成
- コスト: 記事 1,000 件あたり $5 未満に抑制
- レイテンシ: 記事 1 件あたりの処理時間を 2 秒未満に維持
実験
目標を達成するため、3 つの実験を行いました。
- ゼロショット:
GPT-4oと基本的なプロンプトを使って 1,000 件のレコードを処理しましたが、精度の目標に届きませんでした。 - フューショット学習: フューショットの例を 5 件含めることで精度の目標を達成しましたが、プロンプトのトークン数が増え、コストの上限を超えました。
- ファインチューニング済みモデル: ラベル付きの例 1,000 件で
GPT-4o-miniをファインチューニングしました。同程度のレイテンシと精度を維持しながらコストを大幅に削減し、すべての目標を達成しました。
| ID | 手法 | 精度 | 精度の目標 | コスト | コストの目標 | 平均レイテンシ | レイテンシの目標 |
|---|---|---|---|---|---|---|---|
| 1 | gpt-4o ゼロショット | 84.5% | $1.72 | < 1s | |||
| 2 | gpt-4o フューショット (n=5) | 91.5% | ✓ | $11.92 | 1 秒未満 | ✓ | |
| 3 | 1,000 件の例でファインチューニングした gpt-4o-mini | 91.5% | ✓ | $0.21 | ✓ | 1 秒未満 | ✓ |
まとめ
わずか 1,000 件のラベル付きデータを使い、gpt-4o からファインチューニングした gpt-4o-mini に切り替えることで、 2% 未満のコストで同等の性能 を実現しました。
この手順を踏むことが重要です。必要な最適化にファインチューニングが適しているか分からなかったり、ラベル付きデータが十分になかったりするため、最初からファインチューニングに取りかかれない場合が多くあります。まず gpt-6-astra を使って精度の目標を定め、コストとレイテンシが重要な場合は、その後で小規模なモデルやファインチューニング済みのモデルを試してください。