Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi - 2019

Es ist an der Zeit, dass ich mir selber einmal einen PC zusammen bauen den ich für Aufgaben rund um das Thema Deep Learning einsetzen kann. Ich beschäftige mich jetzt seit ca. Ende 2017 mit dem Thema Deep-Learning also dem Training von neuronalen Netzen auf Basis von großen Datenmengen. So hatte ich is jetzt immer mein schon in die Jahre gekommenes ThinkPad Laptop mit i5 CPU und 12GB Ram dafür genutzt. Das Training von neuronalen Netzen auf diesem alten Laptop, auch wenn es von mir privat nur ein Hobby ist, dauert auf einer so schwachen CPU sehr lange und teilweise sogar mehrere Tage. So dauert es ca. 28 Stunden ein kleines neuronales Netz mit 120.000 Datensätze zu trainieren. Im Vergleich auf einer RTX 8000 von NVIDIA, die ich bei meinem Arbeitgeber nutzen konnte, hatte das Training des gleichen Netzes ebenfalls mit den 120.000 Datensätzen ca. 12 Minuten gedauert. Dabei sei aber angemerkt, dass die RTX 8000 nur zu ca. 15% bis 20% ausgelastet war, da die Programmierung der Trainings-Pipeline keine Parallelisierung vorgesehen hatte und somit die AMD Thread Ripper CPU des Systems zum Flaschenhals geworden ist. Denn diese konnte aufgrund der schlechten Python Programmierung die Daten nicht schnell genug an die Grafikkarte übertragen.

So manifestierte sich bei mir der Wunsch nach einem eigenen Rechner mit GPU für meine privaten Projekte. Im Frühjahr 2021 hatte ich mein E-Book zu dem Donkey Car Projekt und dem Simulator veröffentlicht. Dieses E-Book beschäftigt sich mit dem Donkey Car Framework. Dieses ermöglicht es ein neuronales Netz zu trainieren, dass selbständig in einem Rennsimulator ein Auto um die Rennstrecke steuern kann. Aber das Buch erklärt auch wie auf Basis einen 1:10 RC Modells ein echtes physisches selbstfahrendes Donkey Car gebaut werden kann. So habe ich immer eine leistungsstarke GPU vermisst und konnte mir auch kein Wissen aufbauen wie das Donkey Car Framework bzw. dieses Projekt mit einer GPU beschleunigt werden kann.

Das E-Book ist kostenlos in Deutsch und Englisch auf meinem Blog Custom-Build-Robots für alle interessierten zum download erhältlich: Donkey Car – E-Book

So habe ich mich jetzt dazu entschieden einen eigenen Rechner für Deep Learning Anwendungsfälle aufzubauen. Daher wird diese Beitragsserie Schritt für Schritt erklären wie ich beim Bau des Computers vorgegangen bin und welche Erfahrungen ich dabei gemacht habe.

Deep Learning Computer components

Deep Learning Computer components

Bevor es los geht mit dem Kauf der Komponenten sind ein paar Fragen zu klären auf was bei der Auswahl der Komponenten zu achten ist und was ich mit dem System überhaupt machen möchte sowie dessen Nutzung.

Art der Nutzung des Rechners festlegen

Als erstes muss man sich darüber klar werden wie möchte man den Rechner nutzen. Es gibt sicher einige und auch sehr individuelle Aspekte die die Nutzung solch eines Rechners betreffen und über die man sich im Vorfeld Gedanken machen muss. Ich möchte jetzt hier auf zwei Aspekte eingehen die für mich als private Person wichtig waren und die ich berücksichtigen wollte. Diese sind einmal der Ort an dem der Rechner betrieben wird und die Art wie dieser genutzt werden soll. Daher gehe ich auf diese beiden Punkte nachfolgend ein.

Wo wird der Rechner die meiste Zeit betrieben?

Der Standort des Rechners war für mich einer der wichtigsten Punkte. Denn damit geht einher wie laut das gesamte System werden darf. Bei mir soll der Rechner die meiste Zeit im Büro meiner Wohnung stehen und auch dort in Betrieb sein. Ich hatte die Geglegenheit eine Zeitlang ein System zuhause in meinem Büro nutzen zu dürfen das zwei NVIDIA RTX 8000 Grafikkarten eingebaut hatte sowie einen der Leistungsstärksten AMD Thread Ripper CPUs. Da dieser Rechner mit Standardkomponenten aus dem Rechenzentrumsbereich aufgebaut worden war, konnte der Computer aufgrund seiner Lautstärke der 7+ Lüfter im Gehäuse sowie der beiden reundaten 2.000 Watt Netzteile nicht in einem Büro betrieben werden. Das Wohnzimmer liegt drei Türen entfernt auf dem gleichen Stockwerk und selbst dort war der Rechner noch zu hören wenn dieser unter Last arbeitete. Im Leerlauf war er immer noch so laut das er nicht für einen Betrieb in einem Büro geeignet war. Zu bedenken ist natürlich auch die Abwärme die solch ein System erzeugt wenn wie bei mir das Büro nicht aktiv klimatisiert ist. Die Wärme war trotz Minustemperaturen im Freien und abgeschaltener Heizung bei offenen Fenster kaum auszuhalten. Daher konnte dieser Rechner am Ende nur remote genutzt werden als leistungsstarke Recheneinheit aufgestellt z. B. in einem trockenen, Kühlen Keller mit Gigabit Anbindung oder eben in einem Rechenzentrum in dem sich keine Menschen aufhalten. Der Stromverbrauch dieses System bei einem 24 Stunden Betrieb unter hoher Last betrug ca. 12 KW/h.

Mit dieser wertvollen Erfahrung ging ich nun auf die Suche nach der für mich passenden Hardware. Die einmal leise ist, leistungsstark und nicht zu teuer ist.

Jetzt aber zu dem wesentlichen Punkt der viel Einfluss auf die auszuwählende Hardware nimmt. Wie wird das System genutzt? Darauf gehe ich im folgenden Abschnitt näher ein.

Wie nutze ich den Rechner?

Eine Nutzung mit Monitor in einem Büro setzt ein leises System vorraus mit z. B. einer Wasserkühlung aller Komponeten wenn möglich. Dann sollten die CPU also auch die GPU Wassergekühlt sein wenn es das Budget zuläßt. Wenn nicht dann stellt sich die Frage wie oft die GPUs unter voller Last laufen und ob im privaten Bereich z. B. Berechnungen über Nacht angestoßen werden können. Dann könnte es ausreichen nur die CPU mit einem geschlossenen Kühlsystem zu kühlen. Denn eine Wassergekühlte Grafikkarte kostet deutlich mehr vom Umbau als eine Luftgekühlte Version ab Werk kostet.

Auch sollte man, wie im vorherigen Abschnitt erwähnt, die Abwärme solch eines auf Maschinenlernen ausgelegten Systems berücksichtigen. Vorallem im Sommer im eigenen Büro ohne Klimaanlage kann dies bei einem persönlich und auch für den Computer zu Problemen führen. Eine permanente Wäremzuvor von ca. 400 Watt heizt ein 11 m² im Laufe eines Tages doch sehr auf.

Natürlich kann solch ein Rechner, dessen Aufbau ich hier Schritt für Schritt beschreibe, nicht nur für Deep Learning Projekte genutzt werden. Er kann für verschiedene Aufgaben eingesetzt werden wie z. B. zum Video schneiden und Codieren oder bei der eingesetzten Hardware auch schlicht als Office Rechner wobei er dafür viel zu teuer wäre. Aber wenn man auch gerne mal ein Spiel spielt wie einen Flugsimulator ist sochl ein System mit seiner Leistung sicher gut dafür geeignet.

Wird der Rechner, wie bei mir auch viel im Office und Forschungsbetrieb Betrieb gentutz und die Grafikkarte nur hin und wieder unter voller Last betrieben dann reicht es wohl aus, wenn die CPU Wassergekühlt ist und die Grafikkarte nicht. So ist das System die meiste Zeit schon einmal sehr leise und kann unter dem Schreibtisch stehen ohne für die Wassergekühlte Grafikkarte viel Geld ausgegeben zu haben. Wenn die GPU rechenintensive Aufgaben berechnen muss dann wird der Lüfter der Grafikkarte sicher sehr laut. Dann aber können diese Berechnungen bei einer privaten Nutzung auf Büro Randzeiten gelegt werden oder eben in die Nacht wenn es eh bei offenen Fenster kühler ist.

Warum kein Laptop?

Ich habe mir verschiedene Laptops angeschaut die entsprechende GPUs verbaut haben und sich somit auch für das Training von neuronalen Netzen eignen. Einmal waren mir diese Laptops zu schwer, die verbauten GPUs häufig mobile Versionen mit weniger Leistung und ich hatte kein Vertrauen in die Kühlung solch eines Systems. Meine Sorge hier war, dass solch ein Laptop generell laut ist. Häufig habe ich auch gelesen, dass die kleinen Lüfter in solchen Laptops ein sehr Hochfrequentes Geräusch machen und wenn die Komponenten im Laptop nicht ausreichend gekühlt werden verringert sich die Lebenszeit dieser Komponenten im Laptop ganz schnell um bis zu 40%.

Daher habe ich den Weg eingeschlagen einen großen Desktop-Computers aufzubauen den ich viel flexibler gestalten kann. Groß wurde dann auch das Gehäuse damit ich dort die Wasserkühlung und Lüfter gut unterbringen konnte. Mehr dazu dann aber in einem extra Bericht zum Gehäuse.

Fazit zur Nutzung

Ich habe mich persönlich für den Aufbau eines Deep-Learning Büro Systems entschieden, dass mir viel Leitung bietet und ohne viel Lärm auskommt wenn gerade nicht rechenintensiven Aufgaben auf der GPU anstehen. Diese Berechnungen werde ich wenn möglich auf die Nacht verlegen und so stört der Lärm des Lüfters der Grafikkarte nicht sonderlich. Mit dieser Art der Nutzung die ich mir vorstelle,  soll auch ein Schall gedämmtes Gehäuse zum Einsatz kommen und eine Wasserkühlung für die CPU. Mehr zu der Hardware und im speziellen zu der Grafikkarte die ich plane zu verbauen dann in diesem Bericht: Deep-Learning PC selber bauen – Auswahl der Grafikkarte


Artikelübersicht - Wie baue ich einen PC für Deep Learning Aufgaben

Die nachfolgenden Artikel beschreiben den Bau eines PC Systems für Deep Learning Aufgaben.

Deep-Learning PC selber bauen – eine Schritt für Schritt Anleitung
Deep-Learning PC selber bauen – Auswahl der Grafikkarte
Deep-Learning PC selber bauen – Auswahl des Gehäuses
Deep-Learning PC selber bauen – Auswahl des Betriebssystems

BlogYourEarth


Ich lebe in Bayern nahe München. In meinem Kopf habe ich immer viele Themen und probiert gerade im Bereich Internet neue Medien viel in meiner Freizeit aus. Ich schreibe an dem Blog da es mir Spaß macht über die Dinge zu berichten die mich begeistern. Ich freue mich über jeden Kommentar, über Anregung aber auch über Fragen.

(Visited 74 times, 1 visits today)