PyTorch für Deep Learning. Ian Pointer

PyTorch für Deep Learning - Ian Pointer


Скачать книгу
durchdenken, wie groß ein SSD-Laufwerk im Rahmen Ihres Budgets sein mag, damit Sie so schnell wie möglich auf Ihre Festplatte zugreifen können. Auch ich war davor nicht gefeit; ich habe vor ein paar Jahren einen Monat damit verbracht, eine Liste mit Komponenten zu erstellen und einen neuen Computer auf meinem Esstisch zusammenzubauen.

      Mein Rat – vor allem wenn Sie neu in die Welt des Deep Learning einsteigen – lautet: Tun Sie es nicht. Sie können leicht mehrere Tausend Euro in einen Rechner investieren, den Sie möglicherweise gar nicht so oft benutzen. Stattdessen empfehle ich Ihnen, dieses Buch mithilfe von Cloud-Ressourcen (entweder in Amazon Web Services, Google Cloud oder Microsoft Azure) durchzuarbeiten und erst dann über den Bau eines eigenen Rechners nachzudenken, wenn Sie das Gefühl haben, dass Sie einen eigenen Rechner für den 24/7-Betrieb benötigen. Sie müssen in keiner Weise große Investitionen in Hardware tätigen, um den Code in diesem Buch ausführen zu können.

      Unter Umständen werden Sie nie in die Lage kommen, einen maßgeschneiderten Rechner für sich selbst bauen zu müssen. Es gibt sicherlich Fälle, in denen es billiger sein kann, einen maßgeschneiderten Rechner zu bauen, insbesondere wenn Sie wissen, dass sich Ihre Berechnungen immer auf einen einzigen Rechner (mit bestenfalls einer Handvoll GPUs) beschränken werden. Wenn Ihre Berechnungen jedoch allmählich mehrere Rechner und GPUs erfordern, erscheint die Cloud-Lösung attraktiver. Angesichts der Kosten für die Zusammenstellung eines maßgeschneiderten Rechners würde ich vor einem möglichen Kauf lange und intensiv nachdenken.

      Falls es mir nicht gelungen ist, Sie vom Bau Ihres eigenen Rechners abzubringen, finden Sie in den folgenden Absätzen Vorschläge dazu, was Sie dafür benötigen würden.

       Grafikprozessor (GPU)

      Das Herzstück jedes Deep-Learning-Rechners ist der Grafikprozessor bzw. die GPU. Sie ist die Grundlage für die Vielzahl an Berechnungen in PyTorch und wird die wahrscheinlich teuerste Komponente in Ihrem Computer sein. In den letzten Jahren sind die Preise für GPUs aufgrund ihres Einsatzes beim Mining von Krypto-Währungen wie dem Bitcoin gestiegen und die Vorräte spürbar gesunken. Glücklicherweise scheint diese Blase allmählich zu verschwinden, und das Angebot an GPUs ist wieder etwas größer geworden.

      Zum Zeitpunkt des Verfassens dieses Buchs empfehle ich die Beschaffung der NVIDIA GeForce RTX 2080 Ti. Eine billigere Variante ist die GTX 1080 Ti (wenn Sie jedoch die Entscheidung für die 1080 Ti aus Budgetgründen abwägen, schlage ich erneut vor, stattdessen die Cloud-Optionen in Betracht zu ziehen). Obwohl es auch Grafikkarten von AMD gibt, ist ihre Unterstützung in PyTorch derzeit nicht gut genug, um etwas anderes als eine NVIDIA-Karte zu empfehlen. Aber behalten Sie ihre ROCm-Technologie im Auge, die sie allmählich zu einer ernst zu nehmenden Alternative im GPU-Bereich machen sollte.

       Hauptprozessor (CPU) und Motherboard

      Wahrscheinlich werden Sie sich für ein Motherboard der Z370-Serie entscheiden wollen. Viele Menschen werden Ihnen sagen, dass die CPU für das Deep Learning keine Rolle spielt und dass Sie mit einer CPU mit einer relativ geringen Rechengeschwindigkeit auskommen können, solange Sie eine leistungsstarke GPU haben. Meiner Erfahrung nach werden Sie überrascht sein, wie oft die CPU zum Engpass werden kann, insbesondere bei der Arbeit mit augmentierten Daten.

       Arbeitsspeicher (RAM)

      Mehr Arbeitsspeicher ist immer ratsam, da Sie dadurch mehr Daten im Speicher halten können, ohne auf den viel langsameren Festplattenspeicher zurückgreifen zu müssen (besonders wichtig während des Trainings). Sie sollten mindestens 64 GB DDR4-Speicher für Ihren Rechner in Betracht ziehen.

       Speicher

      Der Speicher für ein individuelles System sollte zwei Arten umfassen: zum einen eine Festplatte mit M2-Schnittstelle (SSD) – so groß wie möglich – für Ihre »heißen« Daten, damit Sie so schnell wie möglich auf diese zugreifen können, wenn Sie aktiv an einem Projekt arbeiten. Als zweites Speichermedium fügen Sie ein 4 TB (Terabyte) großes Serial-ATA-(SATA-)Laufwerk für Daten hinzu, an denen Sie nicht aktiv arbeiten; wechseln Sie je nach Bedarf zwischen »heißem« und »kaltem« Speicher.

      Ich empfehle Ihnen, einen Blick auf die Webseite PCPartPicker (https://pcpartpicker.com) zu werfen, um einen Eindruck von den Deep-Learning-Rechnern anderer Leute zu bekommen. (Sie können sich auch all die schrägen und verrückten Ideen ansehen!) Sie erhalten ein Gefühl für die Auswahl an möglichen Computerteilen und den dazugehörigen Preisen, die insbesondere bei Grafikkarten sehr stark schwanken können.

      Nachdem Sie nun die Möglichkeiten für Ihren lokalen physischen Rechner gesehen haben, ist es an der Zeit, auf die Cloud-Alternativen zu sprechen zu kommen.

       Deep Learning in der Cloud

      Okay, nun könnten Sie fragen, warum die Cloud-Variante besser sein sollte – besonders dann, wenn Sie sich das Preisschema von Amazon Web Services (AWS) angeschaut und herausgefunden haben, dass sich der Eigenbau eines leistungsfähigen Rechners innerhalb von sechs Monaten bezahlt macht. Denken Sie darüber nach: Wenn Sie gerade erst anfangen, werden Sie diesen Rechner in den besagten sechs Monaten nicht rund um die Uhr nutzen. Sie werden es schlichtweg nicht tun. Das bedeutet, dass Sie den Cloud-Rechner abschalten und in der Zwischenzeit lediglich ein paar Cents für die gespeicherten Daten bezahlen dürften.

      Sie brauchen nicht gleich zu Beginn eine von NVIDIAs Profikarten wie die Tesla V100 zu verwenden, die ebenfalls in Ihrer Cloud-Instanz verfügbar sind. Sie können mit einer der wesentlich preisgünstigeren (manchmal sogar kostenlosen) K80-basierten Instanz beginnen und zu einer leistungsstärkeren Grafikkarte wechseln, sobald diese benötigt wird. Das ist ein wenig günstiger als der Kauf einer einfachen GPU-Karte und die Aufrüstung auf eine RTX 2080 Ti für Ihre eigene Rechnerumgebung. Wenn Sie acht V100-Karten zu einer einzelnen Instanz hinzufügen möchten, können Sie dies mit nur wenigen Klicks erledigen. Versuchen Sie das einmal mit Ihrer eigenen Hardware.

      Ein weiterer Punkt ist die Wartung. Wenn Sie es sich zur Gewohnheit machen, Ihre Cloud-Instanzen regelmäßig neu zu erstellen (idealerweise jedes Mal, wenn Sie wieder an Ihren Projekten arbeiten), werden Sie fast immer auf einem Rechner arbeiten, der auf dem neuesten Stand ist. Gehört der Rechner Ihnen, obliegt Ihnen auch die Aktualisierung. An dieser Stelle muss ich gestehen, dass ich meinen eigenen, speziell konzipierten Deep-Learning-Rechner habe und die Ubuntu-Installation darauf so lange ignoriert habe, bis sie nicht mehr unterstützt wurde. Dies führte dazu, dass ich schließlich einen Tag damit verbrachte, das System erneut an einen Punkt zu bringen, an dem es wieder Updates erhalten konnte. Peinlich.

      Wie dem auch sei, nehmen wir an, Sie haben die Entscheidung getroffen, die Cloud zu nutzen. Hurra! Nun zur nächsten Frage: Welchen Anbieter sollten Sie wählen?

       Google Colaboratory

      Doch warten Sie, bevor wir uns die Anbieter ansehen: Was ist, wenn Sie überhaupt keine Lust haben, einen nennenswerten Aufwand zu treiben? Keine Lust auf das lästige Aufbauen eines Rechners oder die ganze Mühe, Instanzen in der Cloud einzurichten? Was wäre denn tatsächlich die bequemste Wahl? Dafür hat Google das Richtige für Sie. Colaboratory (oder Colab) (https://colab.research.google.com) ist eine weitgehend kostenlose, installationsfreie, benutzerdefinierte Jupyter-Notebook-Umgebung, für die Sie ein Google-Konto benötigen, um Ihre eigenen Notebooks einzurichten. Abbildung 1-1 zeigt einen Screenshot eines in Colab erstellten Notebooks.


Скачать книгу