Nvidia Rapids GPUs für Datenanalyse, KI und maschinelles Lernen nutzen
Anbieter zum Thema
Rapids ist eine Software-Suite, die auf die grafikprozessorbeschleunigten Bibliotheken Nvidia Cuda-X-AI aufbaut. Diese kommen vor allem bei Berechnungen im Bereich KI/ML, HPC und zur Datenanalyse zum Einsatz. Rapids verkürzt Berechnungen von Tagen auf Minuten.

Rapids ist eine Software-Suite, die auf die Cuda-X-AI-Bibliotheken von Nvidia aufbaut. Bestandteil sind auch verschiedene APIs, mit denen sich Data Science Pipelines umfassend mit GPUs berechnen lassen. Das beschleunigt die Berechnung enorm und verkürzt Rechenzeiten deutlich. Der Code und verschiedene Beispiele stehen auf Github bereit.
Die Software kann auf Linux betrieben werden, aber durch das Windows-Subsystem für Linux 2.0 (WSL) auch auf Windows 11 und Windows Server 2022. Das ist durchaus relevant, da nach der Python Developers Survey 2021 mehr als die Hälfte der Python-Entwickler mit Windows arbeiten. Rapids lässt sich auch über pip in Python laden.
Zum Einsatz kommen die Bibliotheken an Stellen, bei denen eine maximale Leistung bei der Berechnung notwendig ist und daher auf GPUs gesetzt wird. Häufige Einsatzgebiete sind vor allem Data Science, KI/ML oder HPC. Rapids nutzt Cuda-X-AI zum Optimieren von Berechnungen auf mehreren GPUs parallel und bietet dazu Schnittstellen zu Python. Das stellt einen weiteren Vorteil dar. Zum Optimieren eines KI-Modells ist kein neuer Code notwendig, sondern vorhandener Python-Code lässt sich über Rapids auf GPUs ausführen und ohne große Änderungen am Code deutlich beschleunigen.
Rapids arbeitet dazu mit vielen Frameworks im Bereich Data Science zusammen, zum Beispiel Apache Spark, cuPY oder Numba. Bei KI/ML und vor allem im Deep Learning spielt Rapids durch seine GPU-Beschleunigung ihre Vorteile aus. Durch die Zusammenarbeit mit PyTorch, TensorFlow, Apache Arrow oder Apache MxNet sind KI-Projekte mit Python und Rapids problemlos umsetzbar.
KI-Modelle genauer und schneller berechnen
Im Fokus von Rapids steht das Optimieren von KI-Modellen. Diese sollen sich wesentlich schneller berechnen lassen als bei der Verwendung von CPUs. Modelle, die in anderen Umgebungen berechnet wurden, können mit Rapids nachträglich verbessert werden. Selbst leichte Verbesserungen bedeuten für eine KI oft schon enorme Vorteile. Nachteil von Optimierungen ist aber oft, dass diese Tage oder sogar Wochen benötigen und danach schon wieder veraltet sein können. Rapids verkürzt diese Zeit durch GPU-Parallelität auf Minuten. Die Software-Suite ist bei der Bereitstellung sehr flexibel. Lokale Bereitstellungen auf herkömmlichen Computern ist genauso möglich wie die Skalierung auf spezielle Server mit mehreren GPUs. Das Auslagern in die Cloud ist eine weitere Möglichkeit, die Rapids bietet. Auch hybride Ansätze lassen sich umsetzen.
Schnelleres und kostengünstigeres Big-Data-Umfeld
Rapids ist nicht nur schneller in der Berechnung von Daten im Big-Data-Umfeld, sondern in den meisten Fällen sehr viel kostengünstiger. Um große Datenmengen zu berechnen, zum Beispiel zehn Terabyte, benötigen herkömmliche Server und CPU-basierte Berechnungen teilweise mehr als 20-mal so lange wie ein GPU-optimierter Server, der Rapids nutzt. Ein GPU-Server kann in diesem Bereich schnell mehrere Hundert herkömmliche Server bei Berechnungen ersetzen und dadurch Investitions-, Verwaltungs- und Ressourcenkosten einsparen.
Dazu kommt die wesentlich schnellere Bereitstellung der Umgebung. Nach verschiedenen Erfahrungen sind Data Science Workflows auf Basis von GPUs etwa 10-mal schneller als bei der Verwendung von CPUs. Ein Einstieg ist auch ohne eine umfassende Server-Infrastruktur möglich, indem der Betrieb zum Beispiel auf einer Linux-Arbeitsstation oder über WSL in Windows mit einer oder mehreren Nvidia-Grafikadaptern erfolgt. Wichtig ist dazu, dass die aktuellsten Treiber für die Grafikadapter installiert sind und die Adapter auch richtig im System angezeigt werden.
Test- und Entwicklungs-Umgebung auf einer Linux-Arbeitsstation mit Ubuntu
Um Rapids zu testen, kann ein kostenloses Konto bei SageMaker Studio Lab zum Einsatz kommen. Die Freischaltung kann aber einige Tage bis Woche dauern, da es eine Warteliste gibt.
Für die erste Inbetriebnahme auf einem lokalen Computer ist der Nvidia Data Science Stack notwendig, der auf Github als Open Source bereitsteht. Auf Ubuntu erfolgt die Installation zum Beispiel mit:
git clone https://github.com/NVIDIA/data-science-stack
cd data-science-stack
./data-science-stack setup-system
Mit dem Befehl „ubuntu-drivers devices“ werden die Grafikadapter angezeigt. Diese müssen korrekt erkannt sein, um mit Rapids genutzt zu werden. Ob die richtigen Treiber für Rapids installiert sind zeigt wiederum der Befehl „nvidia-smi“ an. Die Bereitstellung von Rapids kann anschließend über Conda erfolgen:
data-science-stack create-conda-env
data-science-stack run-jupyter
Auch die Bereitstellung mit Docker ist möglich, zum Beispiel über:
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
docker pull nvcr.io/nvidia/tensorflow:20.12-tf2-py3
docker run –gpus all –shm-size=1g –ulimit memlock=-1 –ulimit stack=67108864 -it –rm -v ~/shared_dir:/container_dir nvcr.io/nvidia/tensorflow:20.12-tf2-py3
Azure Machine Learning, AWS und GCP mit Nvidia Rapids
In vielen Fällen erfolgen Berechnungen auf diesem Niveau nicht im lokalen Rechenzentrum, sondern in der Cloud. Microsoft bietet mit AWS Machine Learning ebenfalls eine Integration von Rapids an und auch in den verschiedenen Diensten zu Datenanalyse in AWS und GCP steht Rapids zur Verfügung.
Sobald ein Arbeitsbereich in Azure Machine Learning zur Verfügung steht, lässt sich Rapids aus Github nachladen. Zum Einsatz kommt ein Jupyter-Notebook genauso wie bei der lokalen Installation von Rapids, zum Beispiel auf Ubuntu oder per WSL. Auf Github gibt es dazu verschiedene, vorbereitete Notebooks der Community. Parallel dazu bietet auch Nvidia einige Notebooks an.
(ID:49251238)