この計算機の仕組み
の サーバーレス GPU プラットフォームの請求計算ツール を使用して、毎日のトラフィックを 2 つのバケットに分割します。 コールドスタート率: コールドリクエスト (1 日あたりのリクエスト数 × コールド スタート レート) は、コンテナーがゼロにスケールされた後に到着するリクエストであり、全額を支払う必要があります コールドスタート期間 プラス ウォーム推論期間; 温かいリクエスト (残りは) すでにロードされているコンテナにヒットし、推論期間のみを支払います。その後、各プラットフォームは独自の課金ロジックをこれら 2 つのバケットに適用します。 ランポッド コンテナがコールドまたはウォームでアクティブになっている秒ごとの秒あたりの請求額なので、1 日あたりの請求額は単純にアクティブな合計秒数 ÷ 3,600 × になります。 GPU 時間当たり料金. ベーステン 請求は分単位で行われ、すべての呼び出しは次の 1 分単位で四捨五入されるため、3 秒のウォーム コールと 11 秒のコールド コールでも、それぞれ 1 分が請求されます。 1 日あたりの請求額は、合計請求分数 ÷ 60 × 時間料金です。 モーダル 実際のコンピューティングについては RunPod と同様に秒単位で課金されますが、 保温アイドルバッファ ウォーム リクエストごとに追加で請求される秒数として、コンテナは生き続けてそのバッファ ウィンドウに対して課金されるため、次のリクエストはそれ自体のコールド スタートをスキップできます。
注目すべき数字は、 毎月のコストスプレッド 最も安価なプラットフォームと最も高価なプラットフォームの間 — 計算機自身の作業済みデフォルト (1 日あたり 200 リクエスト、ウォーム 3 秒、コールド スタート 8 秒、コールド スタート レート 40%、2.49 ドル/時間) では、スプレッドはおおよそ次のようになります。 9-10x RunPod と Baseten の間では、まったく同じ公称時間当たり GPU レートで動作します。このギャップは価格設定のトリックではありません。これは、ワークロードの通常の通話時間 (数秒) が、より長いジョブ用に構築された請求の粒度 (丸 1 分) と衝突したときに起こるものです。通話が短く散発的であればあるほど、時間あたりの固定料金よりもこの形状の方が重要になります。このツールは、これらの種類のプラットフォーム (秒単位の請求、分単位の丸め、保温バッファー) によって公的に文書化されている MECHANICS を、違いの形状を示す近似値としてモデル化します。正確なレートと丸めルールは変更される可能性があるため、コミットする前に必ず現在のベンダーの価格ページを確認してください。
よくある質問
同じ GPU に対して Baseten のコストが RunPod よりも高いのはなぜですか?
基礎となる GPU レートが異なるためではなく (この比較では、両方とも同じ $/時間で請求されます)、各プラットフォームの 24 時間の処理方法が原因です。 RunPod のサーバーレス請求は秒単位です。料金は、コールド スタートのロード時間を含む、コンテナーがアクティブになっている秒数に対してのみお支払いいただきます。 Baseten は 1 分ごとに請求し、すべての呼び出しを次の 1 分に丸めます。 3 秒間のウォーム推論呼び出しは依然として 60 秒丸ごととして請求され、11 秒のコールドスタート呼び出しも同じ丸ごと 1 分として請求されます。これは、両方とも 1 に切り上げられるためです。ほとんどの個々の呼び出しの長さがわずか数秒であるバースト性の低い QPS ワークロードの場合、この丸めは残酷です。実際には、各呼び出しで実際に使用した計算時間の 15 ~ 20 倍のコンピューティング時間を支払っていることになります。このギャップは価格設定のからくりではなく、非常に短いジョブに適用される純粋な細かい単位の丸めであり、ワークロードがこれほど短く、これほど頻繁になるたびに、ギャップはさらに大きくなります。
「コールド スタート」とは何ですか?なぜ費用がかかるのですか?
サーバーレス GPU プラットフォームは、何も起こっていないときにコンテナーを実行し続ける (そして料金を請求する) ことはありません。一定期間非アクティブになった後、コンテナーをゼロにスケールダウンして、アイドル時間のコストを節約します。トレードオフは、ゼロへのスケール後の次のリクエストは、新しいコンテナーがスピンアップするまで待機する必要があることです。つまり、コンテナー イメージをプルし、モデルの重みを GPU にロードし、ランタイムを初期化してから、実際の推論を開始します。このロード プロセスは「コールド スタート」であり、GPU でホストされる LLM または推論ワークロードでは、モデルの重みがギガバイトになる可能性があり、それらを GPU メモリに移動するのは即時ではないため、通常は数秒から数十秒かかります。重要なのは、そのロード時間は提供される無料のコンピューティング時間ではありません。実際の推論中とまったく同様に、ここでモデル化されているすべてのプラットフォームで GPU が完全に割り当てられ、その間に課金されます。したがって、すべてのコールド スタート リクエストには、コールド スタートの秒数と実際の推論の秒数が実質的にかかり、トラフィックが分散 (バースト) すればするほど、リクエストがまだ温かいコンテナではなくコールド コンテナにヒットすることが多くなり、合計請求額のうち、有用なコンピューティングではなく純粋な読み込みのオーバーヘッドが多くなります。
推論ワークロードには保温バッファを使用する必要がありますか?
それはレイテンシーを最適化するかコストを最適化するかによって異なり、これら 2 つの目標はバースト性トラフィックに対しては逆の方向に進みます。キープウォーム バッファ (ここでは Modal のアプローチとしてモデル化されています) はコンテナを生きたまま保持し、各リクエストの終了後にウィンドウにロードされるため、次のリクエストがそのウィンドウ内に到着すると、コールド スタートを完全にスキップして高速に応答します。これは、遅延の影響を受けやすいトラフィックにとって、ユーザー エクスペリエンスにとって真のメリットとなります。ただし、別のリクエストが時間内に到着するかどうかに関係なく、コンテナが待機しているアイドル秒ごとに GPU アクティブ料金を全額支払うことになります。計算機のモーダル モデルでは、ウォーム コンテナの恩恵を受けるリクエストごとにアイドル バッファが課金秒数として追加されます。非常に散発的なトラフィック (呼び出し間の長く予測できないギャップ) の場合、そのアイドル時間はほとんどお金の無駄です。次のリクエストが表示される前にバッファの有効期限が切れてしまい、料金は無料で支払われるからです。キープウォーム バッファは、リクエスト ギャップがバッファ ウィンドウのすぐ内側に集中している場合に最も経済的です。本当にランダムなトラフィックやまれなトラフィックの場合、次の呼び出しがすぐに到着する可能性がある場合に GPU を温めておくためにお金を払うよりも、時折コールド スタートを実行するほうが通常は安価です。
GPU の請求は秒単位と分単位のどちらがバースト性の高いトラフィックに適していますか?
バースト的で短期間のトラフィックの場合は、ほとんどの場合、秒単位の課金の方が優れており、通常の推論呼び出しが 1 分に比べて短ければ短いほど、利点は大きくなります。切り上げられる分単位の請求 (ここでの Baseten のモデルのように) では、実際の計算にかかった時間が 3 秒か 55 秒かに関係なく、1 分単位で請求されます。請求の粒度はワークロードよりも粗いため、パーセンテージで言えば、短い通話に最も重く課税されます。秒単位の請求 (ここでは RunPod や Modal のアクティブ コンピューティング部分など) は実際に使用された金額に近い料金が発生するため、3 秒の通話の料金は 60 秒の通話と同じではなく、およそ 20 分の 1 になります。通常の通話時間がすでに 1 分に近いかそれを超えている場合、1 分あたり 1 か所での請求が停止することは明らかな欠点です。通話時間が請求の粒度に近づくにつれて、丸めの無駄がゼロに向かって縮小します。内部ツールや、数秒間の応答で 1 日に数百回呼び出される散発的な API の場合、分単位で丸められた請求は、同じ名目時間ごとの GPU レートでの秒単位の請求よりも桁違いに高価になる可能性があります。