主な課金モデル
| 課金単位 | 計算式 | 一般的な用途 |
|---|---|---|
| トレーニングトークン単位 | トレーニングファイル内のトークン数 × エポック数 × トークン単価 | ほとんどのマネージドファインチューニングサービス |
| GPU時間単位 | 実行時間 × 時間単価 × GPU数 | レンタルGPUでのジョブ(通常はオープンモデル) |
| トレーニング時間単位 | 時間 × (高額な)時間単価 | 一部のホスト型強化学習ファインチューニング |
| 推論トークン単位 | 入出力トークン数 × モデルの単価 | 評価、判定、教師モデル、テストチャット |
トークン単位のトレーニング
マネージドのファインチューニングサービスは、トレーニングファイル内のトークン数をカウントし、トレーニングで処理されるすべてのトークンに対して課金します。各エポックでファイル全体が再度処理されるため、請求額はファイルのトークン数にエポック数と単価(通常は100万トークンあたりの料金)を掛けたものになります。料金表をよくご確認ください。一部のサービスでは、検証トークンへの課金、ジョブごとの最低料金の適用、教師あり学習よりも高い選好チューニング料金の設定、またはトレーニング済みモデルの保存に対する月額料金の請求が行われます。
per training token: cost = tokens in the training file × epochs × price per token
per GPU time: cost = runtime in hours × hourly rate × number of GPUs- データ: 準備後、平均1,200トークンの会話が1,500件。計1,800,000トークン。
- エポック数: 3。したがって、5,400,000のトレーニングトークンが処理されます。
- 価格: 100万トレーニングトークンあたり3.00ドルの例では、5.4 × 3.00ドル = 16.20ドル。
- 自動エポックの場合: プロバイダーが2または4エポックを選択した場合、同じジョブのコストは10.80ドルまたは21.60ドルになります。この変動幅があるため、事前の数値はあくまで見積もりとなります。
- トークン数: プロバイダーは独自のトークナイザーでカウントするため、テキストの長さからの見積もりは、増減いずれかの方向に数パーセントの誤差が生じる可能性があります。
GPU時間ベースのトレーニング
オープンモデルで一般的な、レンタルGPU上でトレーニングを実行する場合、時間に対して料金を支払います。つまり、ジョブの実行時間にGPUの時間単価とGPUの数を掛けた金額です。実行時間は、モデルのサイズ、トークン数、エポック数、および手法に応じて増加します。オンポリシー蒸留や強化学習など、トレーニング中にテキストを生成する手法は、トークンごとに回答を記述することに多くの時間を費やすため、教師あり学習よりも1例あたりの処理が遅くなります。また、より大きなモデルでは、より高額な時間単価の大型GPU、あるいは複数のGPUが必要になる場合があります。
- ジョブ: 1基のGPUで45分間実行される、小規模なオープンモデルのLoRAファインチューニング。
- 料金: 1GPU時間あたり1.20ドルの例では、0.75時間 × 1.20ドル = 0.90ドル。
- 2倍のサイズのモデルでは、より大容量のメモリを搭載した高額なGPUが必要になる場合があり、実行時間も長くなります。これら2つの要因が掛け合わされます。
- オーバーヘッドの考慮: 起動、モデルの読み込み、結果の保存は通常、課金対象時間に含まれます。これは短時間のジョブにおいて特に重要になります。
その他のコスト
- 評価: ベースモデルおよびチューニング済みモデルからの回答生成、およびそれらをスコアリングする判定モデルは、トークン単位で課金されます。
- 蒸留における教師モデル: 教師モデルの回答は、生徒モデルのトレーニングに加えて、入力および出力トークン単位で課金されます。
- サービング: 共有(サーバーレス)キャパシティは使用されたトークン単位で課金されます。専用デプロイメントは、アイドル時であっても存在する限り時間単位で課金されます。
- ストレージ: 一部のプロバイダーは、トレーニング済みモデルやアップロードされたファイルの保存に料金を請求します。
すべてのコスト数値の正確性は、その根拠となる情報に依存します。そのため、各数値には状態(Final、Estimated、Pending、またはNot billed)が付与され、それがプロバイダー独自の数値であるか、開始時の見積もりであるか、実行中のジョブであるか、あるいは課金前に停止されたジョブであるかを示します。
コストを抑える方法
- トレーニング前のクレンジング: 重複、エラー応答、および長すぎる会話はすべて、シグナルを追加することなく課金対象のトークンを増加させます。
- 小規模から開始: サブセットでの初回実行、または少ないエポック数での実行により、ジョブ全体の料金を支払う前に、そのアプローチが機能するかどうかを確認できます。
- 評価に合格する最小のベースモデルを使用: トレーニングとサービングの両方のコストが削減されます。
- オープンモデルではLoRAを推奨: メモリ消費量が少なく、より小型のGPUで、より高速な実行が可能です。
- テスト完了後は専用デプロイメントを削除: これらは時間単位で課金されます。
よくある間違い
- エポック数が請求額に掛け合わされることを忘れること。4エポックのコストは1エポックの4倍になります。
- トレーニングの予算のみを確保し、その後専用デプロイメントを何日も稼働させたままにすること。
- エポック数、最低料金、ストレージ料金を比較せずに、プロバイダー間でトークン単価のみを比較すること。
- クレンジングされていないデータでトレーニングを行い、ノイズを学習させるだけのトークンに料金を支払うこと。
- 事前の見積もりを確定額として扱うこと。最終的な金額は、プロバイダー独自のトークン数と選択されたエポック数によって決定されます。
参考文献および関連資料
外部ソースは新しいタブで開きます。
- 01Amazon Bedrock PricingAmazon Web Services · aws.amazon.comコーパストークン × エポック数としてトレーニングされたトークン、さらにストレージおよび時間単位の料金を明記したプロバイダーの料金表。
- 02PricingTogether AI · together.aiモデルサイズ別のトークン単位のファインチューニング料金。最低料金および個別の選好チューニング料金が含まれます。
- 03GPU memory usageHugging Face Transformers docs · huggingface.coモデルサイズがジョブに必要なGPUを決定し、その結果として時間単価が決定される理由。