La pagina spiega come eseguire la pipeline Dataflow con il tipo di GPU NVIDIA® L4. Il tipo di GPU L4 è utile per eseguire pipeline di inferenza di machine learning.
Requisiti
- Utilizza l'SDK Apache Beam versione 2.46 o successive. È consigliabile Apache Beam 2.50 o versioni successive.
- Devi disporre della quota di GPU L4 (
NVIDIA_L4_GPUS) nella regione in cui viene eseguito il job. Per saperne di più, consulta Quote di GPU. - Il tipo di GPU L4 è disponibile solo con il tipo di macchina G2 ottimizzato per l'acceleratore. Per ulteriori informazioni, vedi La serie di macchine G2. Le pipeline che utilizzano il tipo di GPU L4 sono soggette alle limitazioni standard di G2.
- Il tipo di GPU NVIDIA L4 utilizza la versione 525.0 o successive del driver NVIDIA e la versione 12.0 o successive del toolkit CUDA. Qualsiasi codice utilizzato nella pipeline deve essere compatibile con la versione del driver NVIDIA e del toolkit CUDA. Ad esempio, se utilizzi PyTorch, devi utilizzare PyTorch versione 23.01 o successive.
Esegui pipeline con il tipo di GPU NVIDIA® L4
Per utilizzare il tipo di GPU NVIDIA L4, devi includere le seguenti opzioni della pipeline e opzioni del servizio nel codice della 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"
Sostituisci i seguenti valori:
- G2_MACHINE_TYPE: il tipo di macchina G2 da utilizzare
- GPU_COUNT: Il numero di GPU da utilizzare. Ogni tipo di macchina G2 ha un numero fisso di GPU NVIDIA L4. Per trovare il numero corretto di GPU per il tuo tipo di macchina, consulta la colonna Numero di GPU nella tabella Tipi di macchine standard G2.
Per saperne di più sull'esecuzione di pipeline con GPU, consulta Eseguire una pipeline con GPU.
Gestisci dipendenze
Per gestire le dipendenze, utilizza un container personalizzato. Per saperne di più, consulta Utilizzare container personalizzati in Dataflow.
Il seguente esempio di Dockerfile contiene dipendenze compatibili per una pipeline che utilizza il tipo di 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"]
Passaggi successivi
- Leggi le best practice per lavorare con le GPU Dataflow.
- Esegui una pipeline con GPU.
- Scopri di più su Dataflow ML.