Usa el tipo de GPU NVIDIA® L4

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

Requisitos

  • Usa la versión 2.46 o posterior del SDK de Apache Beam. Se recomienda usar Apache Beam 2.50 o una versión posterior.
  • Necesitas una cuota de GPU L4 (NVIDIA_L4_GPUS) en la región en la que se ejecuta tu trabajo. Para obtener más información, consulta Cuotas de GPU.
  • El tipo de GPU L4 solo está disponible con el tipo de máquina optimizado para acelerador G2. 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 NVIDIA y el kit de herramientas CUDA 12.0 o posterior. Cualquier código que uses en tu canalización debe ser compatible con la versión del controlador NVIDIA y de la versión del kit de herramientas CUDA. Por ejemplo, si usas PyTorch, debes usar la versión 23.01 o una posterior de PyTorch.

Ejecuta canalizaciones con el tipo de GPU NVIDIA® L4

Para usar el tipo de GPU NVIDIA L4, debes incluir las siguientes opciones de canalización y opciones de servicio en tu código de 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"

Reemplaza los siguientes valores:

  • G2_MACHINE_TYPE: Es el tipo de máquina G2 que se usará.
  • GPU_COUNT: Es la cantidad de GPU que se usará. Cada tipo de máquina G2 tiene una cantidad fija de GPU NVIDIA L4. Para encontrar la cantidad correcta de GPU para tu tipo de máquina, consulta la columna Recuento de GPU en la tabla Tipos de máquinas estándar G2.

Para obtener más información sobre la ejecución de canalizaciones con GPU, consulta Ejecuta una canalización con GPU.

Administra dependencias

Para administrar dependencias, usa un contenedor personalizado. Para obtener más información, consulta Usa contenedores personalizados en Dataflow.

En el siguiente ejemplo de Dockerfile, se incluyen 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"]

¿Qué sigue?