Cette page explique comment exécuter votre pipeline Dataflow à l'aide du type de GPU NVIDIA® L4. Le type de GPU L4 est utile pour exécuter des pipelines d'inférence de machine learning.
Conditions requises
- Utilisez le SDK Apache Beam version 2.46 ou ultérieure. Apache Beam 2.50 ou version ultérieure est recommandé.
- Vous avez besoin d'un quota de GPU L4 (
NVIDIA_L4_GPUS
) dans la région dans laquelle votre job s'exécute. Pour en savoir plus, consultez la page Quotas de GPU. - Le type de GPU L4 n'est disponible qu'avec le type de machine optimisé pour l'accélérateur G2. Pour plus d'informations, consultez la série de machines G2. Les pipelines qui utilisent le type de GPU L4 sont soumis aux limites standards de G2.
- Le type de GPU NVIDIA L4 utilise la version 525.0 ou ultérieure du pilote NVIDIA et la version 12.0 ou ultérieure de CUDA Toolkit. Tout code utilisé dans votre pipeline doit être compatible avec la version du pilote NVIDIA et la version de CUDA Toolkit. Par exemple, si vous utilisez PyTorch, vous devez utiliser PyTorch 23.01 ou une version ultérieure.
Exécuter des pipelines avec le type de GPU NVIDIA® L4
Pour utiliser le type de GPU NVIDIA L4, vous devez inclure les options de pipeline et les options de service suivantes dans le code de votre 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"
Remplacez les valeurs suivantes :
- G2_MACHINE_TYPE : type de machine G2 à utiliser
- GPU_COUNT : nombre de GPU à utiliser. Chaque type de machine G2 dispose d'un nombre fixe de GPU NVIDIA L4. Pour connaître le nombre approprié de GPU pour votre type de machine, consultez la colonne Nombre de GPU dans le tableau Types de machines standards G2.
Pour en savoir plus sur l'exécution de pipelines avec des GPU, consultez la section Exécuter un pipeline avec des GPU.
Gestion des dépendances
Pour gérer les dépendances, utilisez un conteneur personnalisé. Pour en savoir plus, consultez la page Utiliser des conteneurs personnalisés dans Dataflow.
L'exemple Dockerfile suivant contient des dépendances compatibles pour un pipeline utilisant le type 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"]
Étapes suivantes
- Découvrez les bonnes pratiques pour l'utilisation des GPU Dataflow.
- Exécutez un pipeline avec des GPUExécuter un pipeline avec des GPU.
- En savoir plus sur Dataflow ML