Nesta página, explicamos 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 machine learning.
Requisitos
- Use a versão 2.46 ou posterior do SDK do Apache Beam. Recomendamos o Apache Beam 2.50 ou mais recente.
- É preciso ter uma cota de GPU L4 (
NVIDIA_L4_GPUS
) na região em que o job é executado. Para mais informações, consulte as cotas de GPU. - O tipo de GPU L4 está disponível apenas com o tipo de máquina otimizado para acelerador G2. Para mais informações, consulte A série de máquinas G2. Os pipelines que usam o tipo de GPU L4 estão sujeitos às limitações padrão da G2.
- O tipo de GPU NVIDIA L4 usa o driver NVIDIA versão 525.0 ou mais recente e o kit de ferramentas CUDA versão 12.0 ou mais recente. Todo código usado no pipeline precisa ser compatível com a versão do driver da NVIDIA e do kit de ferramentas CUDA. Por exemplo, se você usar o PyTorch, será necessário usar a versão 23.01 ou posterior.
Executar pipelines com o tipo de GPU NVIDIA® L4
Para usar o tipo de GPU NVIDIA L4, inclua as seguintes opções de pipeline e opções de serviço no código de 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 ser usado.
- GPU_COUNT: o número de GPUs a serem usadas. Cada tipo de máquina G2 tem um número fixo de GPUs NVIDIA L4. Para encontrar o número correto de GPUs para seu tipo de máquina, consulte a coluna Contagem de GPUs na tabela Tipos de máquina padrão G2.
Para mais informações sobre como executar pipelines com GPUs, consulte Executar um pipeline com GPUs.
Gerenciar dependências
Para gerenciar dependências, use um contêiner personalizado. Para mais informações, consulte Usar contêineres personalizados no Dataflow.
O exemplo de Dockerfile a seguir 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"]
A seguir
- Leia sobre as práticas recomendadas para trabalhar com GPUs do Dataflow.
- Executar um pipeline com GPUs.
- Saiba mais sobre o Dataflow ML.