リソース/モデルのトレーニング/トークンとコンテキスト

概念

トークンがコストを左右する理由

トークン数がどのようにトレーニングやモデル使用の価格に換算されるかについて、具体的な数値を交えて解説し、実際にコストを削減するための手段について説明します。

第2章読了時間 2分参考文献 4件

課金対象

モデルが実行する計算量は処理するトークン数に応じて増加するため、プロバイダーは言語モデルの処理をトークン単位で測定します。トレーニングでは、エポックごとにすべてのレコードのすべてのトークンを1回読み込みます。モデルの使用では、すべての入力トークンを読み込み、すべての出力トークンを1つずつ生成します。

トレーニング · トークン単位の課金
トレーニングファイルのトークン数コンテキスト + ターゲット(全レコード)×エポック数×トレーニングトークンあたりの単価=トレーニングコスト
利用 · リクエスト単位
入力トークン数 × 入力単価システムプロンプト、履歴、ドキュメント、質問+出力トークン数 × 出力単価通常はより高い単価=1リクエストあたりのコスト
トレーニング費用は実行ごとに一度だけ発生し、エポック数に応じて増加します。モデルの利用費用はリクエストごとに発生し、その都度入力データが送信されます。

学習コスト

ほとんどのマネージドファインチューニングサービスが採用しているトークン単位のトレーニング課金の場合、計算式はシンプルです。

トークン単位の学習
training cost = tokens in the training file × epochs × price per training token

ターゲットの応答だけでなく、ファイル内のすべてのトークンがカウントされます。モデルの評価はターゲットのみで行われますが、システムプロンプトや各レコードのコンテキストもトレーニング中に読み込まれます。すべてのレコードで繰り返される長いシステムプロンプトや、長い会話履歴は、トレーニングコストを増加させます。

レンタルGPUでのトレーニングは、代わりに時間単位(実行時間 × GPUの時間単価)で課金されます。トークン数が多いほど時間がかかるため、トークン数も依然として重要ですが、モデルのサイズ、トレーニング方法、ハードウェアも同様に重要です。

学習実行のコスト見積もり
  1. 準備されたデータセットに、平均800トークンのレコードが500件ある場合、合計400,000トークンになります。
  2. 3エポックの場合、モデルは120万トークンを処理します。
  3. 学習用トークン100万件あたりの価格を3ドルと仮定すると、約3.60ドルになります。
  4. 200トークンのシステムプロンプトを半分にすると、ファイルから50,000トークンが削減されます — 3エポックで処理されるトークン数は150,000件減少します。

利用コスト

トレーニング済みのモデルは、共有キャパシティ上でトークン単位で提供されるか、使用の有無にかかわらず時間単位で課金される専用デプロイメントで提供されます。トークン単位の料金体系では、入力トークン(送信されるすべてのもの:システムプロンプト、履歴、検索されたドキュメント、質問)と出力トークン(回答)が区別されます。出力トークンは1つずつ生成されるため、通常は数倍高価になります。

トークン単位の利用
cost per request = input tokens × input price  +  output tokens × output price

呼び出しのたびに入力が再送信されるため、長いプロンプトは継続的なコストとなります。これは、ファインチューニングを行う実用的な理由の1つです。重みに学習された動作は、リクエストのたびに説明する必要がなくなるためです。

長いプロンプトの月間コスト
  1. あるアシスタントが月に100,000件のリクエストを処理するとします。その指示は1,500トークンであり、質問と履歴でさらに500トークンが追加されます。
  2. これはリクエストあたり2,000の入力トークン、つまり月間2億の入力トークンに相当します。
  3. ファインチューニング後、指示が150トークンに縮小した場合、リクエストあたりの入力トークンは650、月間では6,500万となり — 約3分の1に減少します。
  4. これによりコストが削減されるかどうかは、ファインチューニング済みモデルの価格に依存します。一部のプロバイダーでは、ベースモデルよりも価格が高く設定されています。決定する前に両者を比較してください。

コストを削減する要素

  • より少なく、より質の高い例。 厳選された数百のレコードは、ノイズの多い数千のレコードを上回ることが多く、トレーニングコストもごくわずかで済みます。
  • より少ないエポック数。 コストはエポック数に比例して増加しますが、エポック数が多ければ多いほど良いとは限りません。
  • より短いレコード。 古い履歴を削除し、システムプロンプトを短く保つことで、トレーニングと使用の両方のトークンを削減できます。
  • より小さなモデル。 トークンあたりの価格は、モデルのサイズが小さくなるにつれて大幅に下がります。
  • 可能な限りトークン単位での提供。 専用デプロイメントは、存在する限り1時間ごとにコストが発生します。

よくある間違い

  • トレーニングトークンを見積もる際に、ターゲットの応答のみをカウントすること。
  • エポック数を掛けるのを忘れること。
  • 通常は出力トークンの方が高価であるにもかかわらず、入力価格のみでモデルを比較すること。
  • 使用が終了した専用のテストデプロイメントを稼働させたままにすること。
  • 概算の見積もりを確定価格として扱うこと。

参考文献および関連資料

外部ソースは新しいタブで開きます。

  1. 01PricingClaude Platform Docs · platform.claude.com入力トークンと出力トークンの価格が異なる例。
  2. 02Amazon Bedrock PricingAmazon Web Services · aws.amazon.comトークン単位の推論、カスタマイズ、および時間単位のホスティング料金を1ページにまとめたもの。
  3. 03Token countingClaude Platform Docs · platform.claude.comリクエスト送信前のトークン数のカウント。
  4. 04Understand and count tokensGemini API docs · ai.google.dev別のプロバイダーによるトークンのカウントと課金の方法。

専門家が数週間かける作業を数分に短縮します

Scalataがお客様のチーム、データ、および統制にどのように適合するかをご確認ください。

営業へのお問い合わせ