NVIDIA® L4 GPU タイプを使用する

このページでは、NVIDIA® L4 GPU タイプで Dataflow パイプラインを実行する方法について説明します。L4 GPU タイプは、ML 推論パイプラインの実行に役立ちます。

要件

  • Apache Beam SDK バージョン 2.46 以降を使用します。Apache Beam 2.50 以降をおすすめします。
  • ジョブが実行されるリージョンに L4 GPU 割り当て(NVIDIA_L4_GPUS)が必要です。詳細については、GPU 割り当てをご覧ください。
  • L4 GPU タイプは、G2 アクセラレータ最適化マシンタイプでのみ使用できます。詳細については、G2 マシンシリーズをご覧ください。L4 GPU タイプを使用するパイプラインには、G2 標準の制限が適用されます。
  • NVIDIA L4 GPU タイプは、NVIDIA ドライバ バージョン 525.0 以降と CUDA ツールキット バージョン 12.0 以降を使用します。パイプラインで使用するコードは、NVIDIA ドライバのバージョンと CUDA ツールキットのバージョンと互換性がある必要があります。たとえば、PyTorch を使用する場合は、PyTorch バージョン 23.01 以降を使用する必要があります。

NVIDIA® L4 GPU タイプでパイプラインを実行する

NVIDIA L4 GPU タイプを使用するには、パイプライン コードに次のパイプライン オプションサービス オプションを含める必要があります。

Java

--workerMachineType=G2_MACHINE_TYPE
--dataflowServiceOptions="worker_accelerator=type:nvidia-l4;count:GPU_COUNT;install-nvidia-driver"

Python

--machine_type=G2_MACHINE_TYPE
--dataflow_service_options="worker_accelerator=type:nvidia-l4;count:GPU_COUNT;install-nvidia-driver"

Go

--worker_machine_type=G2_MACHINE_TYPE
--dataflow_service_options="worker_accelerator=type:nvidia-l4;count:GPU_COUNT;install-nvidia-driver"

次の値を置き換えます。

  • G2_MACHINE_TYPE: 使用する G2 マシンタイプ
  • GPU_COUNT: 使用する GPU の数。各 G2 マシンタイプには、固定数の NVIDIA L4 GPU があります。マシンタイプに適した GPU の数を確認するには、G2 標準マシンタイプの表の GPU 数の列をご覧ください。

GPU を使用したパイプラインの実行の詳細については、GPU を使用してパイプラインを実行するをご覧ください。

依存関係を管理する

依存関係を管理するには、カスタム コンテナを使用します。詳細については、Dataflow でカスタム コンテナを使用するをご覧ください。

次の Dockerfile の例には、NVIDIA L4 GPU タイプを使用するパイプラインと互換性のある依存関係が含まれています。

RUN apt-get -y update
RUN apt-get install [system packages]

# Install the SDK.
RUN pip install --no-cache-dir apache-beam[gcp]==2.51.0
# Install the machine learning dependencies.
RUN pip install --no-cache-dir tensorflow[and-cuda]
RUN pip install xgboost
RUN pip install transformers accelerate
(etc…..)
# Verify that the image doesn't have conflicting dependencies.
RUN pip check

# Copy files from official SDK image, including the script and dependencies.
COPY --from=apache/beam_python3.10_sdk:2.51.0 /opt/apache/beam /opt/apache/beam

# Set the entrypoint to Apache Beam SDK launcher.
ENTRYPOINT ["/opt/apache/beam/boot"]

次のステップ