TPU インスタンスを作成する
このドキュメントでは、TPU 仮想マシン(VM)インスタンスを作成し、それに接続して、計算を実行する方法について説明します。このクイックスタートで作成する TPU インスタンスは、デフォルトの消費オプションであるオンデマンドを使用します。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Compute Engine API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。gcloud services enable compute.googleapis.com
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
Compute Engine API を有効にします。
API を有効にするために必要なロール
API を有効にするには、
serviceusage.services.enable権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。詳しくは、ロールを付与する方法をご覧ください。gcloud services enable compute.googleapis.com
必要なロール
TPU インスタンスの作成、SSH を使用した接続、コマンドの実行に必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
- Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1) - サービス アカウント ユーザー(
roles/iam.serviceAccountUser) - Service Usage 管理者(
roles/serviceusage.serviceUsageAdmin)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
TPU インスタンスを作成する
ローカル ターミナルまたは Cloud Shell を使用して、次のコマンドを実行します。
TPU インスタンスを作成するには、次の
gcloud compute instances createコマンドを実行します。gcloud compute instances create quickstart-tpu \ --machine-type=ct6e-standard-4t \ --zone=us-east5-b \ --image-project=ubuntu-os-accelerator-images \ --image-family=ubuntu-accelerator-2204-amd64-with-tpu-v6e必要に応じて、
gcloud compute instances describeコマンドを使用して、インスタンスが実行されていることを確認します。gcloud compute instances describe quickstart-tpu --zone=us-east5-b出力で、
statusフィールドを調べて、インスタンスが実行中か、まだ保留中かを確認します。
TPU インスタンスに接続する
TPU インスタンスには、 Google Cloud コンソールまたは gcloud CLI を使用して接続できます。
SSH を使用して VM に接続するには、次の gcloud compute
ssh コマンドを実行します。
gcloud compute ssh quickstart-tpu --project=PROJECT_ID --zone=us-east5-b
JAX をインストールする
TPU インスタンスで次のコマンドを実行して、JAX フレームワークをインストールします。
pip install jax[tpu] -f https://storage.googleapis.com/jax-releases/libtpu_releases.html
システム チェックを実行する
TPU インスタンスで次のコマンドを実行して、JAX が TPU にアクセスできること、基本オペレーションを実行できることを確認します。
Python 3 インタプリタを起動します。
python3JAX モジュールをインポートします。
>>> import jax使用可能な TPU コアの数を表示します。
>>> jax.device_count()出力に TPU コアの数が表示されます。コア数は、使用している TPU のバージョンによって異なります。詳細については、TPU のバージョンをご覧ください。
計算を実行する
次のコマンドを実行して、2 つの数値を加算します。
>>> jax.numpy.add(1, 1)出力例を以下に示します。
>>> Array(2, dtype=int32, weak_type=True)Python インタプリタを終了する
>>> exit()
クリーンアップ
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、リソースを含む Google Cloud プロジェクトを削除します。
このページで使用したリソースについて、 Google Cloud アカウントに課金されないようにするには、gcloud compute instances
delete コマンドを使用して TPU インスタンスを削除します。
gcloud compute instances delete quickstart-tpu --zone=us-east5-b