Usar el tipo de GPU NVIDIA® L4

En esta página se explica cómo ejecutar una canalización de Dataflow con el tipo de GPU NVIDIA® L4. El tipo de GPU L4 es útil para ejecutar las canalizaciones de inferencia de aprendizaje automático.

Requisitos

  • Usa la versión 2.46 o una posterior del SDK de Apache Beam. Se recomienda Apache Beam 2.50 o una versión posterior.
  • Necesitas cuota de GPU L4 (NVIDIA_L4_GPUS) en la región en la que se ejecute tu trabajo. Para obtener más información, consulta las cuotas de GPU.
  • El tipo de GPU L4 solo está disponible con el tipo de máquina G2 optimizado para aceleradores. Para obtener más información, consulta la serie de máquinas G2. Las canalizaciones que usan el tipo de GPU L4 están sujetas a las limitaciones estándar de G2.
  • El tipo de GPU NVIDIA L4 usa la versión 525.0 o posterior del controlador de NVIDIA y la versión 12.0 o posterior del kit de herramientas CUDA. El código que uses en tu canalización debe ser compatible con la versión del controlador de NVIDIA y la versión del kit de herramientas de CUDA. Por ejemplo, si usas PyTorch, debes usar la versión 23.01 o una posterior.

Ejecutar canalizaciones con el tipo de GPU NVIDIA® L4

Para usar el tipo de GPU NVIDIA L4, debes incluir las siguientes opciones de la canalización y opciones de servicio en el código de la canalización.

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"

Sustituye los siguientes valores:

  • G2_MACHINE_TYPE: el tipo de máquina G2 que se va a usar
  • GPU_COUNT: número de GPUs que se van a usar. Cada tipo de máquina G2 tiene un número fijo de GPUs NVIDIA L4. Para saber cuántas GPUs necesita tu tipo de máquina, consulta la columna Número de GPUs de la tabla Tipos de máquinas estándar G2.

Para obtener más información sobre cómo ejecutar flujos de trabajo con GPUs, consulta Ejecutar un flujo de trabajo con GPUs.

Gestionar dependencias

Para gestionar las dependencias, usa un contenedor personalizado. Para obtener más información, consulta el artículo sobre cómo usar contenedores personalizados en Dataflow.

El siguiente ejemplo de Dockerfile contiene dependencias compatibles para una canalización que usa el tipo de GPU NVIDIA L4.

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"]

Siguientes pasos