Auf dieser Seite wird erläutert, wie Sie Ihre Dataflow-Pipeline mit dem NVIDIA® L4-GPU-Typ ausführen. Der L4-GPU-Typ ist nützlich, um Inferenz-Pipelines für maschinelles Lernen auszuführen.
Voraussetzungen
- Verwenden Sie das Apache Beam SDK in der Version 2.46 oder höher. Apache Beam 2.50 oder höher wird empfohlen.
- Sie benötigen ein L4-GPU-Kontingent (
NVIDIA_L4_GPUS
) in der Region, in der Ihr Job ausgeführt wird. Weitere Informationen finden Sie unter GPU-Kontingente. - Der L4-GPU-Typ ist nur mit dem G2-beschleunigungsoptimierten Maschinentyp verfügbar. Weitere Informationen finden Sie unter G2-Maschinenserie. Pipelines, die den L4-GPU-Typ verwenden, unterliegen den G2-Standardeinschränkungen.
- Der NVIDIA L4-GPU-Typ verwendet die NVIDIA-Treiberversion 525.0 oder höher und das CUDA-Toolkit Version 12.0 oder höher. Jeder Code, den Sie in Ihrer Pipeline verwenden, muss mit der NVIDIA-Treiberversion und der CUDA-Toolkitversion kompatibel sein. Wenn Sie beispielsweise PyTorch verwenden, müssen Sie die PyTorch-Version 23.01 oder höher verwenden.
Pipelines mit dem NVIDIA® L4-GPU-Typ ausführen
Wenn Sie den NVIDIA L4-GPU-Typ verwenden möchten, müssen Sie die folgenden Pipelineoptionen und Dienstoptionen in Ihren Pipelinecode einfügen.
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"
Ersetzen Sie die folgenden Werte:
- G2_MACHINE_TYPE: der zu verwendende G2-Maschinentyp.
- GPU_COUNT: die Anzahl der zu verwendenden GPUs. Jeder G2-Maschinentyp hat eine feste Anzahl von NVIDIA L4-GPUs. Die richtige Anzahl von GPUs für Ihren Maschinentyp finden Sie in der Spalte GPU-Anzahl in der Tabelle G2-Standardmaschinentypen.
Weitere Informationen zum Ausführen von Pipelines mit GPUs finden Sie unter Pipeline mit GPUs ausführen.
Abhängigkeiten verwalten
Verwenden Sie zum Verwalten von Abhängigkeiten einen benutzerdefinierten Container. Weitere Informationen finden Sie unter Benutzerdefinierte Container in Dataflow verwenden.
Das folgende Dockerfile-Beispiel enthält kompatible Abhängigkeiten für eine Pipeline, die den NVIDIA L4-GPU-Typ verwendet.
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"]