Amazon EC2 Capacity Blocks for ML をちょっと詳しくなろう
2023 年 11 月に Amazon EC2 Capacity Blocks for ML が GA しました。GPU インスタンスの起動枠を事前に予約できる新サービスなのですが、従来からあるオンデマンドキャパシティ予約との違いがいまいちわからなかったので調べてみました。
確認結果
EC2 Capacity Blocks for ML は事前に使いたい分の GPU インスタンス起動数(容量)を予約できるサービスです。利用や、設計にあたり抑えておきたいポイントをまとめます。
- 予約期間は1 日単位で、最大 14 日間連続で予約できる
- 予約できるインスタンスの数は最大 64 台まで
- 予約できるインスタンスタイプは p5.48xlarge のみ
- インスタンスの利用費は需要と供給に基づき決まるため、オンデマンド利用費よりも高くなる可能性もある
- インスタンスの利用費は前払いが必要であり、予約から 12 時間以内に一括請求となる
- RHEL, Ubuntu Pro などの有償の OS はインスタンスの起動時間に基づいた従量課金で別途請求が発生する
- RI/SP の割引は EC2 Capacity Blocks for ML で予約したインスタンスには適用されない
- 予約した GPU インスタンスは EC2 UltraClusters 内で自動的に近い位置に配置される
EC2 Capacity Blocks for ML とは
事前に使いたい分の GPU インスタンス起動数(容量)を予約できるサービスです。
執筆時点の情報を元に要点をまとめました。
- 予約期間は1 日単位で、最大 14 日間連続で予約できる
- 予約できるインスタンスの数は最大 64 台まで
- 1 台から予約できるが予約できる台数は固定値(1, 2, 4, 8, 16, 32, 64)で任意の台数は指定できない
- 予約できるインスタンスタイプは p5.48xlarge のみ
- スペック: 192vCPU, 2 TiB メモリ, NVIDIA H100 Tensor Core GPU を 8 台搭載
- 提供リージョンはオハイオのみで、東京リージョンは利用不可
ここまでの情報ですと従前から提供されている「オンデマンドキャパシティ予約を使って GPU インスタンスを予約する」のとさほど変わらない印象でした。EC2 Capacity Blocks for ML の大きな違いは以下の 2 点です。
- インスタンスの利用費は需要と供給に基づき決まり、かつ予約のために利用費の前払いが必要である
- 予約した GPU インスタンスは EC2 UltraClusters 内で自動的に近い位置に配置される
GPU インスタンスの料金は需要と供給状況次第
インスタンスの需要と供給状況に基づき価格が決定されるため、いわゆる定価のオンデマンド料金より高くなる場合もあれば、安くなる場合もあります。
p5.54xlage
の利用料金はオンデマンド利用費の 25% 割引からスタートとのことです。出典は re:Invent 2023 の Amazon EC2 Capacity Blocks for ML お披露目セッションより。
ドキュメンでは需要と供給状況に基づくという記述は確認できたのですが、オンデマンド利用費より高くなる可能性について説明はありませんでした。
インスタンス利用料は前払いが必要
需要と供給状況に基づいた価格設定ですが予約後に価格変更はありません。予約するときに必要な金額を確認できます。そして、必要なインスタンスの金額は前払いとなっており 予約後 12 時間以内に請求が発生します。
ハイスペックな GPU インスタンスを最低でも 1 日単位の請求となるため前払い費用はそれなりにします。そのため、ちゃんと確認画面が用意されています。
従量課金ではなく RI/SP 一括前払いと同じ様に予約した期間(最大 14 日)の利用費は一括で請求されることを認識しておきましょう。
OS に依っては別途従量課金あり
「GPU インスタンスの利用費」は前述の通り前払いして予約する形でした。OS に Red Hat Enterprise Linux (RHEL)、SUSE Linux Enterprise(SLES)、Ubuntu Pro などの有償の OS を使う場合は、インスタンスの起動時間に基づいた従量課金で別途請求が発生します。
OS 毎の価格は公式の価格表をご確認ください。
Amazon Linux 2023 を使う場合は OS に関しては追加費用はかかりません。
RI/SP は適用されない
予約した時点の需要と供給状況でインスタンスの価格が決まる EC2 Capacity Blocks for ML には RI/SP は適用されません。
Savings Plans and Reserved Instance discounts don't apply to Capacity Blocks. Capacity Blocks pricing and billing - Amazon Elastic Compute Cloud
オンデマンドキャパシティ予約で予約したインスタンスには リージョナルの RI と、Savings Plans は適用されます。
Billing discounts for Savings Plans and Regional Reserved Instances apply to Capacity Reservations Capacity Reservation pricing and billing - Amazon Elastic Compute Cloud
RI/SP の適用条件の違いがあることを認識しておきましょう。
Amazon EC2 UltraClusters 上で稼働
HPC、機械学習、生成 AI 向けの大規模な分散 ML トレーニングや、HPC ワークロードに適した実行環境である UltraClusters 上で P5 インスタンスは起動します。
EC2 Capacity Blocks for ML が提供している機能ではなく、EC2 Capacity Blocks for ML が現状唯一対応しているインスタンスタイプ P5 インスタンスのみです。その P5 インスタンスは UltraClusters 上で起動するという理解が正しいです。
まとめ
EC2 Capacity Blocks for ML は事前に使いたい分の GPU インスタンス起動数(容量)を予約できるサービスでした。利用や、設計にあたり抑えておきたいポイントをまとめます。
- 予約期間は 1 日単位で、最大 14 日間連続で予約できる
- 予約できるインスタンスの数は最大 64 台まで
- 予約できるインスタンスタイプは p5.48xlarge のみ
- インスタンスの利用費は需要と供給に基づき決まるため、オンデマンド利用費よりも高くなる可能性もある
- インスタンスの利用費は前払いが必要であり、予約から 12 時間以内に一括請求となる
- RHEL, Ubuntu Pro などの有償の OS はインスタンスの起動時間に基づいた従量課金で別途請求が発生する
- RI/SP の割引は EC2 Capacity Blocks for ML で予約したインスタンスには適用されない
- 予約した GPU インスタンスは EC2 UltraClusters 内で自動的に近い位置に配置される
おわりに
やってみたをしたかったのですが、最低利用料金がびっくりスペックの p5.48xlarge を 24 時間起動です。スタート価格の安いとき(25% 割引)だったとしても $1,769 かかるため諦めました。re:Invent 2023 のセッション内で予約のデモが行われているため、実際の操作は方法はこちらを参照してください。