Nvidia Orin Board

Künstliche Intelligenz im HomeLAB

Der Wunsch eine eigene Künstliche Intelligenz Zuhause zu betreiben, scheitert oft daran, dass die Kosten für Hardware und Energie zu hoch sind. Derzeit umgeht man das Problem damit, dass man Cloud Services von großen Anbietern wie Amazon, Google, OpenAI benutzt.

Nun habe ich eine Möglichkeit gefunden, die bezahlbar ist, in allen Bereichen. Der Energiebedarf liegt bei 7 bis max. 15 Watt. Der Grafikprozessor hat 40 TOPS für KI-Funktionen.

In der aufstrebenden Welt der künstlichen Intelligenz hat NVIDIA mit dem Jetson Orin Nano einen neuen Meilenstein gesetzt. Dieses kompakte System-on-Module (SoM) vereint beeindruckende Leistung und Energieeffizienz, um Entwicklern und Enthusiasten eine leistungsstarke Plattform für AI-Anwendungen zu bieten.

Die Konnektivitätsoptionen des Jetson Orin Nano sind ebenfalls beachtlich. Mit verschiedenen Schnittstellen wie Ethernet, USB und PCIe können Entwickler problemlos auf Peripheriegeräte zugreifen und ihre Systeme erweitern. Dies erleichtert die Integration des Jetson Orin Nano in bestehende Hardwarelösungen und eröffnet neue Möglichkeiten für innovative Anwendungen.

Hardware

  • CPU – ARM Cortex A78 1.500 MHz , 64Bit
  • Kern(e) 6
  • GPU – NVIDIA CUDA, 512-Core NVIDIA mit 16 Tensor Kernen @625 MHz
  • RAM 8096 MB
  • Speichertyp – DDR5
  • Speicher – 128 GB NVRAM
  • GPIO – 40 PINS

Was wird benötigt

  • Jetson Nvidia Orin Nano Development Kit SUB mit 8GB RAM https://amzn.to/3R5Ya1n
  • Ein Rechner mit Ubuntu 20.04 für den SDK-Manager
Jetson Orin Nano 8GB Hardware für die Erstellung und Arbeiten mit künstlicher Intelligenz.

Das Set beinhaltet ein SSD-Drive 128 NVRAM, eine Trägerplatine, ein WLAN-Modul, ein Gehäuse mit Lüfter, einige externe Anschlüsse und ein Netzteil. Diese Variante hat keine SD-Karte, was ich sehr als Vorteil finde. Eine ganz wichtige Empfehlung meinerseits: Benutze einen Laptop oder Rechner mit einer nativen Ubuntu Installation. Ein WSL mit Windows bringt nur Ärger und einen enormen Zeitaufwand mit dem “sdkmanager”. Dieses Programm installiert Ubuntu auf dem Jetson, sowie die notwendigen Nvidia Treiber inkl. Development Tools.

Die Integration von Docker und GPUs bietet somit eine flexible, effiziente und skalierbare Lösung, die rechenintensive Anwendungen in unterschiedlichen Umgebungen bereitgestellt werden können. Dies ist besonders relevant in Bereichen wie maschinelles Lernen, Deep Learning und anderen KI-Anwendungen, bei denen die GPU-Beschleunigung einen signifikanten Leistungsvorteil bringt.

Inzwischen sind auf dem Jetson 21 Docker Anwendungen installiert, die die CPU kaum im laufenden Betrieb belasten. Es ist beeindruckend wie dieses Taschenformat von Hardware, Rechenleistung abliefert. 

Es gibt ein Docker Container “Stable Diffusion Web UI” Image welches ca. 16GB beträgt. Die Installation erfolgt über ein Github Repository um es auf dem Rechner zu laden. Im Anschluss wird ein Python Script gestartet, was den Docker Container mit allen nötigen Sprachmodulen, Overlays etc. startet. Die Anwendung ist nun über einen lokalen Browser im gleichen Netzwerk erreichbar wie z.B. http://jetson.local:7860 . Diese Anwendung benötigt fast die 8GB RAM Speicher, daher ist eine Optimierung der Umgebung empfehlenswert wie z.B. das Abschalten des Gnome-Desktop mit “init 3” was den Rechner in Single User Mode setzt.

So sieht das Webinterface aus, wenn dieses im Browser gestartet wird.

Stable Diffusion zum erstellen von AI-Bilder

Der Energieverbrauch im “IDLE” Modus liegt bei ca. 6.5 Watt, was zirka dem Stromverbrauch eines Raspberry Pi entspricht. Derzeit laufen 21 Docker Container.

Jetson Orin Nano Power

Bei der Benutzung von “Stable Diffusion” wird die volle Leistung von ca. 15 Watt benötigt.
Man beachte den grünen Balken bei der GPU:

Jetson Orin Nano Power

Kommen wir zurück zu normalen Docker Anwendungen. Inzwischen habe ich an die 24 Docker Container installiert und am laufen. Die Performance ist einfach genial da alle Container in der Nvidia Docker Container Kernel Umgebung laufen. Dafür sorgt ein einfacher Eintrag in der Datei “/etc/docker/daemon.json”.

{
    "runtimes": {
        "nvidia": {
            "args": [],
            "path": "nvidia-container-runtime"
        }
    },
    "default-runtime": "nvidia"
}

Unter dem Befehl “docker info” wird folgendes ausgegeben:

 Runtimes: io.containerd.runc.v2 nvidia runc
 Default Runtime: nvidia
 Init Binary: docker-init
 containerd version:
 runc version: 629a689
 init version:
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 5.10.120-tegra
 Operating System: Ubuntu 20.04.6 LTS

Hier ein paar KI-Generierte Bilder :

Fazit: Die Plattform Nvidia Jetson ist wirklich sehr gut für KI-Anwendungen. Wobei ich hier sagen muss, dass die 8GB RAM schon sehr schnell an seine Grenzen kommen. Die neuere Version Stable Diffusion XL benötigt schon ein Jetson Board mit mindestens 32GB AGX Orin Module. Das Modul alleine kostet nun schon über 1000 Euro ohne WLAN, Netzteil, Trägerboard und Gehäuse.  Man muss für sich selbst entscheiden, was jemand machen möchte. Für mich war es erstmal wichtig, Docker Anwendungen auf einer energiesparenden Hardware mit einer GPU lauffähig zu bekommen. Dies ist mir mit dem Einsteiger Modell Nvidia Jetson Orin Nano 8GB gelungen. Die Hardware ermöglicht einen experimentellen Einstieg in KI-Anwendungen.

Einen guten Einstieg für KI-Anwendungen gibt diese Seite: https://www.jetson-ai-lab.com/ . Der Tower Computer der unter meinem Schreibtisch stand und zirka 80 Watt verbrauchte, steht nun zum Verkauf :-). Moment da gibt es einen anderen Verwendungszweck.

Der Jetson Computer, kann Headless wie ein Raspberry Pi in Betrieb genommen werden, es ist kein Monitor nötig. SSH-Zugriff, ein Browserzugriff ( z.B. für Portainer ) ist für diesen Fall ausreichend.

Für Fragen bitte Kommentarfunktion nutzen.

Viel Spaß beim KI-Experiment wünscht Joachim

Joachim

Aus Leidenschaft für Technik. Aktuelle Themen sind Datensicherheit, Software für Datenschutz, Mobile Geräte, Smartphone Sicherheit und Anwendungen, Raspberry Pi Geek.

Alle Beiträge ansehen von Joachim →

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert