Cloud TPU 環境を設定する

Cloud TPU リソースを使用してモデルをトレーニングまたは推論で実行するには、まず次の設定手順を行う必要があります。

Google Cloud プロジェクトを設定する

Cloud TPU を使用するには、Google Cloud アカウントとプロジェクトが必要です。

  1. Google Cloud コンソールで、Google アカウントにログインするか、新しいアカウントを登録します。

  2. Google Cloud CLI をインストールします。 Google Cloud CLI は、Google Cloud リソースとサービスにアクセスして管理するためのインターフェースです。

  3. Google Cloud プロジェクトを選択または作成します。

    Google Cloud コンソールで、プロジェクト セレクタから Cloud プロジェクトを選択または作成します。

    Cloud Shell で、gcloud CLI を使用してプロジェクト ID を設定します。プロジェクト ID は、Google Cloud コンソールに表示されるプロジェクトの名前です。

    $ gcloud config set project PROJECT-ID
    
  4. Google Cloud プロジェクトに対して課金が有効になっていることを確認します

    Google Cloud の使用にはすべて、お支払い情報の設定が必要です。Google Cloud リソースの使用を開始するまでは、課金は発生しません。詳細については、Cloud Billing のドキュメントをご覧ください。

    すべての Cloud TPU バージョンの使用料金は、Cloud TPU 料金ページに記載されている標準のリージョン料金に従います。

Cloud TPU を使用するための環境を設定する

Cloud TPU をリクエストする前に、Cloud TPU API をアクティブにして、プロジェクト内でアクセスを管理し、Cloud TPU を作成する権限があることを確認する必要があります。TPU に関連付けるユーザー管理のサービス アカウントを作成することもおすすめします。

  1. Google Cloud コンソールまたは Cloud Shell で gcloud CLI を使用して、Cloud TPU API を有効にします。

    gcloud

    $ gcloud services enable tpu.googleapis.com
    

    コンソール

    1. Google Cloud コンソールで、Cloud TPU API ページに移動します。

    [Cloud TPU API] ページに移動

    1. [有効にする] をクリックします。
  2. プロジェクトで次のロールがあることを確認します。

    現在のアクセス権を表示するの手順に沿って、プロジェクト、フォルダ、組織にアクセスできるユーザーを表示します。自分のアクセス権を表示するには、[プリンシパル] 列で、自分のメールアドレスを含む行を見つけます。自分のメールアドレスがその列にない場合、ロールは割り当てられていません。 自分のメールアドレスを含む行の [ロール] 列で、ロールのリストに必要なロールが含まれているかどうかを確認します。

    必要なロールがない場合は、ロールを付与するか、管理者にロールの付与を依頼します。

  3. TPU サービス アカウントを作成します。

    サービス アカウントにより、Cloud TPU サービスが他の Google Cloud サービスにアクセスできるようになります。 ユーザー管理のサービス アカウントは、Google Cloud で推奨される方法です。--service-account フラグを使用してサービス アカウントを作成するときに、サービス アカウントを TPU に接続します。

    1. サービス アカウントを作成するの手順に沿って、サービス アカウントを作成します。

    2. プロジェクト、フォルダ、組織へのアクセスを管理するの手順に従って、TPU がアクセスする Google Cloud サービスへのアクセスをサービス アカウントに付与します。TPU が一般的に使用される Google Cloud サービスにアクセスするには、次のロールをおすすめします。

Cloud TPU の作成を準備する

Cloud TPU を作成する前に、割り当てをリクエストする必要があります。キューに登録されたリソースと、TPU の構成に使用するパラメータの使用も検討する必要があります。

  1. 割り当てをリクエストします。

    Cloud TPU を作成するには、Google Cloud プロジェクトに、作成する TPU のバージョンとサイズ、および作成するゾーンの割り当てが必要です。たとえば、us-central2-b で TPU v4-8 を作成する場合は、us-central2-b で 8 個の TPU v4 コアの割り当てをリクエストします。Cloud TPU を利用できるゾーンの詳細については、TPU のリージョンとゾーンをご覧ください。

    割り当ては、TPU のバージョンによって異なります。割り当てのタイプによって可用性の期待値が異なります。割り当て、割り当てタイプ、割り当てのリクエスト方法については、割り当てをご覧ください。

  2. キューに格納されたリソースを使用するかどうかを決定します。

    Cloud TPU をキューに登録されたリソースとして作成することをおすすめします。キューに格納されたリソースでは、使用可能になったときに容量を受信できます。リクエストが入力される開始時間と終了時間を指定できます(省略可)。

    キューに格納されたリソースを操作するためのさまざまな gcloud CLI コマンドがあります。詳細については、キューに格納されたリソース ユーザーガイドをご覧ください。

  3. Cloud TPU の作成パラメータを決定します。

    • ゾーン: TPU を作成するゾーンに --zone フラグを設定します。このゾーンにキューが割り当てられている必要があります。詳細については、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 サービス アカウントが使用されます。

    • 割り当てタイプ: 予約済み割り当てを使用して TPU を作成する場合は、--reserved フラグをリクエストに追加します。

      プリエンプティブル割り当てを使用して TPU を作成し、キューに格納されたリソースをリクエストする場合は、リクエストに --best-effort フラグを追加します。

      プリエンプティブル割り当てを使用して TPU を作成し、キューに格納されたリソースをリクエストしない場合は、--preemptible フラグをリクエストに追加します。

      オンデマンド割り当てを使用して TPU を作成する場合は、フラグを追加する必要はありません。

    • 高度な構成: リクエストにフラグを追加して、TPU を構成できます。詳細については、gcloud compute tpus tpu-vm create のドキュメントTPU を管理するの次のセクションをご覧ください。

Cloud TPU の作成方法の例については、スタートガイドをご覧ください。

次のステップ

  1. VM と TPU のリソースを作成、管理する方法について確認する
  2. Cloud TPU クイックスタートを実行する