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. Cloud TPU サービス エージェントを作成します。

    サービス ID の一種であるサービス エージェントは、Google Cloud プロジェクトでオペレーションを実行するために Cloud TPU サービスによって使用される Google 管理のサービス ID です。たとえば、サービス エージェントは Cloud TPU リソースの作成と管理に使用されます。

      $ gcloud beta services identity create --service tpu.googleapis.com --project $PROJECT_ID
    
  4. TPU サービス アカウントを作成します。

    サービス アカウントは、TPU VM の認証情報として機能します。サービス アカウントに関連付けられたロールは、Google Cloud リソースへのアクセス権を付与します。TPU VM に必要な権限のみを付与する、ユーザー管理のサービス アカウントの使用をおすすめします。ユーザー管理のサービス アカウントを使用する場合は、TPU VM を作成するときに --service-account フラグを使用して指定する必要があります。

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

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

Cloud TPU の作成を準備する

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

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

    Cloud TPU を作成するには、作成する TPU のバージョンとサイズ、作成するゾーンの割り当てが Google Cloud プロジェクトにある必要があります。たとえば、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 サービス アカウントが使用されます。

    • 割り当てタイプ: 使用する割り当てタイプに対応するフラグを追加します。

      割り当てのタイプ フラグ
      予約済み --reserved
      Spot VM --spot
      プリエンプティブル(キューに格納されたリソースには使用できません。代わりに --spot を使用してください) --preemptible
      オンデマンド フラグの追加は不要
    • 高度な構成: リクエストにフラグを追加して TPU を構成できます。詳細については、gcloud compute tpus tpu-vm create のドキュメントTPU を管理するの次のセクションをご覧ください。

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

次のステップ

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