Cloud TPU 環境を設定する
Cloud TPU リソースを使用してモデルのトレーニングや推論を実行する前に、次の操作を行う必要があります。
Google Cloud プロジェクトを設定する
Cloud TPU を使用するには、 Google Cloud アカウントとプロジェクトが必要です。
Google Cloud コンソールで、Google アカウントにログインするか、新しいアカウントを登録します。
Google Cloud プロジェクトを作成します。詳細については、プロジェクトを作成するをご覧ください。
Google Cloud プロジェクトに対する課金を有効にします。
Google Cloud を利用するには、お支払い情報の設定が必要です。 Google Cloud リソースの使用を開始するまでは、課金は発生しません。詳細については、Cloud Billing のドキュメントをご覧ください。
すべての Cloud TPU バージョンの使用量に対する課金は、Cloud TPU の料金ページに記載されている標準のリージョン料金に基づいています。
Google Cloud CLI をインストールします。Google Cloud CLI は、 Google Cloud リソースとサービスにアクセスして管理するための一連のライブラリとツールです。
Google Cloud CLI の一部としてインストールした
gcloud
コマンドを構成します。次のコマンドを実行して、 Google Cloudプロジェクトを使用するように
gcloud
を構成します。$ gcloud config set project PROJECT_ID
Google Cloud プロジェクトに対して課金が有効になっていることを確認します。
Google Cloud を利用するには、お支払い情報の設定が必要です。 Google Cloud リソースの使用を開始するまでは、課金は発生しません。詳細については、Cloud Billing のドキュメントをご覧ください。
すべての Cloud TPU バージョンの使用量に対する課金は、Cloud TPU の料金ページに記載されている標準のリージョン料金に基づいています。
Cloud TPU を使用するための環境を設定する
Cloud TPU をリクエストする前に、Cloud TPU API を有効にして、プロジェクトでアクセスを管理し、Cloud TPU を作成するための権限があることを確認する必要があります。また、TPU に接続するユーザー管理のサービス アカウントを作成することをおすすめします。
Google Cloud コンソールから、または Cloud Shell で gcloud CLI を使用して、Cloud TPU API を有効にします。
gcloud
$ gcloud services enable tpu.googleapis.com
コンソール
- Google Cloud コンソールで、Cloud TPU API ページに移動します。
- [有効にする] をクリックします。
プロジェクトに次のロールが割り当てられていることを確認します。
- サービス アカウント管理者: サービス アカウントを作成するために必要です。
- プロジェクト IAM 管理者: プロジェクトでロールを付与するために必要です。
- TPU 管理者: TPU を作成するために必要です。
現在のアクセス権を表示するの手順に沿って、プロジェクト、フォルダ、組織にアクセスできるプリンシパルを確認します。自分のアクセス権を表示するには、[プリンシパル] 列で、自分のメールアドレスを含む行を見つけます。自分のメールアドレスがその列にない場合、ロールは割り当てられていません。自分のメールアドレスを含む行の [ロール] 列で、ロールのリストに必要なロールが含まれているかどうかを確認します。
必要なロールがない場合は、ロールを付与するか、管理者に付与するよう依頼してください。
Cloud TPU サービス エージェントを作成する
サービス ID の一種であるサービス エージェントは、 Google Cloud プロジェクトでオペレーションを実行するために Cloud TPU サービスによって使用される Google 管理のサービス ID です。たとえば、サービス エージェントは Cloud TPU リソースの作成と管理に使用されます。
$ gcloud beta services identity create --service tpu.googleapis.com --project PROJECT_ID
TPU サービス アカウントを作成します。
サービス アカウントは、TPU VM の認証情報として機能します。サービス アカウントに関連付けられたロールは、 Google Cloud リソースへのアクセス権を付与します。ユーザー管理のサービス アカウントを使用して、TPU VM に必要な権限のみを付与することをおすすめします。ユーザー管理のサービス アカウントを使用する場合は、
--service-account
フラグを使用して TPU VM を作成するときに指定する必要があります。サービス アカウントを作成するの手順に沿って、ユーザー管理のサービス アカウントを作成します。
プロジェクト、フォルダ、組織へのアクセスを管理するの手順に沿って、TPU がアクセスする Google Cloud サービスへのアクセス権をサービス アカウントに付与します。TPU が一般的なGoogle Cloud サービスにアクセスできるようにするには、次のロールをおすすめします。
- TPU 管理者: TPU リソースへの完全アクセス権に必要です。
- ストレージ管理者: Cloud Storage にアクセスするために必要です。
- ログ書き込み: Logging API でログを書き込むために必要です。
- モニタリング指標の書き込み: Cloud Monitoring に指標を書き込むために必要です。
Cloud TPU の作成を準備する
Cloud TPU を作成する前に、割り当てをリクエストする必要があります。また、キューに格納されたリソースの使用と、TPU の構成に使用するパラメータも検討する必要があります。
使用オプションを選択します。
使用オプションは、Cloud TPU 容量をリクエストするために使用される方法です。使用オプションは、次の要素に基づいて選択してください。
- 容量をどの程度早く必要とするか
- 容量が必要な期間
- 容量が必要な期間は固定か柔軟か
- 容量がプリエンプトされるかどうか
- 料金
詳細については、Cloud TPU の使用オプションをご覧ください。
割り当てをリクエストします。
TPU の割り当ては、Google Cloud プロジェクトで使用できる Cloud TPU コアの数の上限です。各バージョンの TPU には独自の割り当てが関連付けられています。Cloud TPU を作成するには、作成する TPU のバージョンとサイズ、作成するゾーンに対する割り当てが Google Cloud プロジェクトに存在している必要があります。割り当て量の配分、割り当てタイプ、割り当てのリクエスト方法について詳しくは、割り当てをご覧ください。
Google Kubernetes Engine または Vertex AI で TPU を作成する場合は、代わりにこれらのサービスの割り当てが必要です。GKE の割り当てについて詳しくは、GKE で TPU 構成を計画するをご覧ください。Vertex AI の割り当ての詳細については、Vertex AI の割り当てと上限をご覧ください。
キューに格納されたリソースを使用するかどうかを判断します。
Cloud TPU をキューに格納されたリソースとして作成することをおすすめします。キューに格納されたリソースを使用することで、容量が利用可能になった時点で使用できるようになります。必要に応じて、リクエストを処理する開始時刻と終了時刻を指定できます。
キューに格納されたリソースを操作するための gcloud CLI コマンドはいくつかあります。詳細については、キューに格納されたリソースのユーザーガイドをご覧ください。
Cloud TPU の作成パラメータを決定します。
ゾーン:
--zone
フラグに、TPU を作成するゾーンを設定します。このゾーンにキューが割り当てられている必要があります。詳細については、TPU のリージョンとゾーンをご覧ください。TPU 構成: カスタム トポロジを指定する必要がないか、TPU v2 または v3 を使用している場合は、
--accelerator-type
フラグをvVERSION-TENSORCORES
に設定します。VERSION は、使用する TPU のバージョン番号に置き換えます。TENSORCORES は、使用する TensorCore の数に置き換えます。TPU の物理トポロジをカスタマイズする場合は、
--version
フラグと--topology
フラグを使用します。--version
フラグを、使用する TPU バージョンに設定します。--topology
フラグを、使用するトポロジに設定します。サポートされている構成やトポロジ バリアントなど、TPU 構成の詳細については、TPU のバージョンをご覧ください。
ソフトウェア バージョン: キューに格納されたリソースをリクエストする場合は、
--runtime-version
フラグに、使用するソフトウェア バージョンの名前を設定します。それ以外の場合は、--version
フラグを使用します。TPU ソフトウェア バージョンは、TensorFlow、PyTorch、JAX フレームワークで使用できます。サポートされているソフトウェア バージョンの詳細については、TPU VM ソフトウェア バージョンをご覧ください。サービス アカウント: サービス アカウントのメールアドレスに
--service-account
を設定します。サービス アカウントを作成した場合は、サービス アカウントを TPU に関連付けます。空白にすると、デフォルトの Compute Engine サービス アカウントが使用されます。割り当てタイプ: 使用する割り当てタイプに対応するフラグを追加します。
割り当てのタイプ フラグ 予約済み --reserved
Spot VM --spot
プリエンプティブル(キューに格納されたリソースには使用できません。代わりに --spot
を使用してください)--preemptible
オンデマンド フラグの追加は不要 高度な構成: リクエストにフラグを追加して TPU を構成できます。詳細については、
gcloud compute tpus tpu-vm create
のドキュメントと次のセクションをご覧ください。
Cloud TPU の作成方法の例については、スタートガイドをご覧ください。
次のステップ
- VM と TPU のリソースを作成、管理する方法について確認する
- Cloud TPU クイックスタートを実行する