Use o tipo de GPU NVIDIA® L4

A página explica como executar o pipeline do Dataflow com o tipo de GPU NVIDIA® L4. O tipo de GPU L4 é útil para executar pipelines de inferência de aprendizagem automática.

Requisitos

  • Use a versão 2.46 ou posterior do SDK do Apache Beam. Recomendamos o Apache Beam 2.50 ou posterior.
  • Precisa de uma quota de GPU L4 (NVIDIA_L4_GPUS) na região em que a tarefa é executada. Para mais informações, consulte o artigo Quotas de GPU.
  • O tipo de GPU L4 só está disponível com o tipo de máquina otimizado para aceleradores G2. Para mais informações, consulte o artigo A série de máquinas G2. Os pipelines que usam o tipo de GPU L4 estão sujeitos às limitações padrão G2.
  • O tipo de GPU NVIDIA L4 usa a versão 525.0 ou posterior do controlador NVIDIA e a versão 12.0 ou posterior do kit de ferramentas CUDA. Qualquer código que use no seu pipeline tem de ser compatível com a versão do controlador da NVIDIA e a versão do kit de ferramentas CUDA. Por exemplo, se usar o PyTorch, tem de usar a versão 23.01 ou posterior do PyTorch.

Execute pipelines com o tipo de GPU NVIDIA® L4

Para usar o tipo de GPU NVIDIA L4, tem de incluir as seguintes opções de pipeline e opções de serviço no código do pipeline.

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"

Substitua os seguintes valores:

  • G2_MACHINE_TYPE: o tipo de máquina G2 a usar
  • GPU_COUNT: o número de GPUs a usar. Cada tipo de máquina G2 tem um número fixo de GPUs NVIDIA L4. Para encontrar o número correto de GPUs para o seu tipo de máquina, consulte a coluna Número de GPUs na tabela Tipos de máquinas padrão G2.

Para mais informações sobre a execução de pipelines com GPUs, consulte o artigo Execute um pipeline com GPUs.

Faça a gestão das dependências

Para gerir dependências, use um contentor personalizado. Para mais informações, consulte o artigo Use contentores personalizados no Dataflow.

O exemplo de Dockerfile seguinte contém dependências compatíveis para um pipeline que usa o 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"]

O que se segue?