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?
- Leia acerca das práticas recomendadas para trabalhar com GPUs do Dataflow.
- Execute um pipeline com GPUs.
- Saiba mais sobre o Dataflow ML.