v6e TPU VM での JetStream PyTorch 推論
このチュートリアルでは、JetStream を使用して TPU v6e で PyTorch モデルをサービングする方法について説明します。JetStream は、XLA デバイス(TPU)での大規模言語モデル(LLM)推論用にスループットとメモリが最適化されたエンジンです。このチュートリアルでは、Llama2-7B モデルの推論ベンチマークを実行します。
始める前に
4 個のチップを搭載した TPU v6e をプロビジョ��ングする準備を行います。
Cloud TPU 環境を設定するガイドに沿って、 Google Cloud プロジェクトを設定して、Google Cloud CLI の構成を行い、Cloud TPU API を有効にして、Cloud TPU を使用するためのアクセス権があることを確認します。
Google Cloud で認証し、Google Cloud CLI のデフォルトのプロジェクトとゾーンを構成します。
gcloud auth login gcloud config set project PROJECT_ID gcloud config set compute/zone ZONE
容量を確保する
TPU 容量を確保する準備ができたら、Cloud TPU 割り当てで Cloud TPU 割り当ての詳細を確認してください。容量の確保についてご不明な点がございましたら、Cloud TPU のセールスチームまたはアカウント チームにお問い合わせください。
Cloud TPU 環境をプロビジョニングする
TPU VM は、GKE、GKE と XPK、またはキューに格納されたリソースとしてプロビジョニングできます。
前提条件
- プロジェクトに十分な
TPUS_PER_TPU_FAMILY
割り当てがあることを確認します。これは、Google Cloud プロジェクト内でアクセスできるチップの最大数を指します。 - プロジェクトの次の TPU 割り当てが十分にあることを確認します。
- TPU VM の割り当て
- IP アドレスの割り当て
- Hyperdisk Balanced の割り当て
- ユーザー プロジェクトの権限
- GKE と XPK を使用している場合は、XPK の実行に必要な権限について、ユーザーまたはサービス アカウントに対する Google Cloud コンソールの権限をご覧ください。
環境変数を作成する
Cloud Shell で、次の環境変数を作成します。
export PROJECT_ID=your-project-id export TPU_NAME=your-tpu-name export ZONE=us-central2-b export ACCELERATOR_TYPE=v6e-4 export RUNTIME_VERSION=v2-alpha-tpuv6e export SERVICE_ACCOUNT=your-service-account export QUEUED_RESOURCE_ID=your-queued-resource-id
環境変数の説明
変数 | 説明 |
---|---|
PROJECT_ID |
実際の Google Cloud のプロジェクト ID。既存のプロジェクトを使用するか、新しいプロジェクトを作成します。 |
TPU_NAME |
TPU の名前。 |
ZONE |
TPU VM を作成するゾーン。サポートされているゾーンの詳細については、TPU のリージョンとゾーンをご覧ください。 |
ACCELERATOR_TYPE |
アクセラレータ タイプでは、作成する Cloud TPU のバージョンとサイズを指定します。TPU の各バージョンでサポートされているアクセラレータ タイプの詳細については、TPU のバージョンをご覧ください。 |
RUNTIME_VERSION |
Cloud TPU ソフトウェアのバージョン。 |
SERVICE_ACCOUNT |
サービス アカウントのメールアドレス。これは、 Google Cloud コンソールの [サービス アカウント] ページで確認できます。 例: |
QUEUED_RESOURCE_ID |
キューに格納されたリソース リクエストのユーザー割り当てテキスト ID。 |
TPU v6e をプロビジョニングする
gcloud alpha compute tpus queued-resources create ${QUEUED_RESOURCE_ID} \ --node-id ${TPU_NAME} \ --project ${PROJECT_ID} \ --zone ${ZONE} \ --accelerator-type ${ACCELERATOR_TYPE} \ --runtime-version ${RUNTIME_VERSION} \ --service-account ${SERVICE_ACCOUNT}
list
コマンドまたは describe
コマンドを使用して、キューに格納されたリソースのステータスをクエリします。
gcloud alpha compute tpus queued-resources describe ${QUEUED_RESOURCE_ID} \
--project ${PROJECT_ID} --zone ${ZONE}
キューに格納されたリソース リクエストのステータスの一覧については、キューに格納されたリソースのドキュメントをご覧ください。
SSH を使用して TPU に接続する
gcloud compute tpus tpu-vm ssh ${TPU_NAME}
JetStream PyTorch Llama2-7B ベンチマークを実行する
JetStream-PyTorch を設定し、モデル チェックポイントを変換して推論ベンチマークを実行するには、GitHub リポジトリの手�����沿って���作します。
推論ベンチマークが完了したら、TPU リソースを必ずクリーンアップしてください。
クリーンアップ
TPU を削除します。
gcloud compute tpus queued-resources delete ${QUEUED_RESOURCE_ID} \
--project ${PROJECT_ID} \
--zone ${ZONE} \
--force \
--async