

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Optimierung
<a name="tutorial-gpu-opt"></a>

Um das Beste aus Ihrem herauszuholen GPUs, können Sie Ihre Datenpipeline optimieren und Ihr Deep-Learning-Netzwerk optimieren. Wie das folgende Diagramm zeigt, nutzt eine „naive“ oder einfache Implementierung eines neuronalen Netzwerks die GPU möglicherweise inkonsistent und nicht mit ihrem vollen Potenzial. Wenn Sie Ihre Vorverarbeitung und das Laden der Daten optimieren, können Sie den Engpass von CPU zu GPU reduzieren. Sie können das neuronale Netzwerk selbst anpassen, indem Sie Hybridisierung (wenn vom Framework unterstützt) verwenden, die Stapelgröße anpassen sowie Aufrufe synchronisieren. Sie können in den meisten Frameworks auch Schulungen mit mehreren Präzisionen verwenden, was dramatische Verbesserungen des Durchsatzes mit sich bringen kann. 

Das folgende Diagramm zeigt die kumulativen Leistungssteigerungen bei der Anwendung verschiedener Optimierungen. Ihre Ergebnisse hängen von den verarbeiteten Daten und dem optimierten Netzwerk ab.

![\[Leistungsverbesserungen für GPUs\]](http://docs.aws.amazon.com/de_de/dlami/latest/devguide/images/performance-enhancements.png)


In den folgenden Anleitungen werden Optionen vorgestellt, die mit Ihrem DLAMI funktionieren und Ihnen helfen, die GPU-Leistung zu steigern.

**Topics**
+ [

# Vorverarbeitung
](tutorial-gpu-opt-preprocessing.md)
+ [

# Training
](tutorial-gpu-opt-training.md)

# Vorverarbeitung
<a name="tutorial-gpu-opt-preprocessing"></a>

Die Vorverarbeitung von Daten durch Umwandlungen oder Erweiterungen ist oft ein CPU-gebundener Prozess, was zu einem Engpass in Ihrer allgemeinen Pipeline führen kann. Frameworks verfügen über integrierte Operatoren für die Abbildverarbeitung, DALI (Data Augmentation Library) zeigt jedoch eine verbesserte Leistung gegenüber den in Frameworks integrierten Optionen.
+ NVIDIA Data Augmentation Library (DALI): DALI übergibt die Datenerweiterung an die GPU. Es ist nicht auf dem DLAMI vorinstalliert, aber Sie können darauf zugreifen, indem Sie es installieren oder einen unterstützten Framework-Container auf Ihrem DLAMI oder einer anderen Amazon Elastic Compute Cloud-Instanz laden. Einzelheiten finden Sie auf der [DALI-Projektseite](https://docs.nvidia.com/deeplearning/sdk/dali-install-guide/index.html) auf der NVIDIA-Website. [Ein Anwendungsbeispiel und zum Herunterladen von Codebeispielen finden Sie im Beispiel Preprocessing Training Performance. SageMaker ](https://github.com/aws-samples/sagemaker-cv-preprocessing-training-performance)
+ nvJPEG: eine GPU-beschleunigte JPEG-Decoder-Bibliothek für C-Programmierer. Sie unterstützt die Decodierung einzelner Abbilder oder Stapel sowie Transformationsoperationen, die für Deep Learning verbreitet sind. nvJPEG ist mit DALI integriert. Alternativ können Sie es von der [nvjpeg-Seite der NVIDIA-Website](https://developer.nvidia.com/nvjpeg) herunterladen und separat verwenden.

Möglicherweise sind diese weiteren Themen zur GPU-Überwachung und -Optimierung für Sie interessant:
+ [Überwachen](tutorial-gpu-monitoring.md)
  + [Überwachen Sie mit GPUs CloudWatch](tutorial-gpu-monitoring-gpumon.md)
+ [Optimierung](tutorial-gpu-opt.md)
  + [Vorverarbeitung](#tutorial-gpu-opt-preprocessing)
  + [Training](tutorial-gpu-opt-training.md)

# Training
<a name="tutorial-gpu-opt-training"></a>

Mit Schulungen mit gemischter Präzision können Sie größere Netzwerke mit derselben Speichergröße bereitstellen oder die Speichernutzung gegenüber Ihrem Netzwerk mit einzelner oder doppelter Präzision reduzieren - die Rechenleistung wird dadurch sicher gesteigert. Dazu kommt der Vorteil kleinerer und schnellerer Datenübertragungen, ein wichtiger Faktor für verteilte Schulungen mit mehreren Knoten. Um die Schulung mit gemischter Präzision nutzen zu können, müssen Sie das Data Casting und die Verlustskalierung anpassen. Nachfolgend finden Sie Anleitungen dazu, wie Sie dies für Frameworks tun können, die gemischte Präzisionen unterstützen.
+ [NVIDIA Deep Learning SDK](https://docs.nvidia.com/deeplearning/sdk/mixed-precision-training/) — Dokumente auf der NVIDIA-Website, in denen die Implementierung mit gemischter Genauigkeit für, und beschrieben wird. MXNet PyTorch TensorFlow

**Tipp**  
Konsultieren Sie die Website für das von Ihnen gewählte Framework und suchen Sie nach „gemischte Präzision“ oder „fp16“ für die jeweils neuesten Optimierungstechniken. Hier finden Sie einige Anleitungen für gemischte Präzisionen, die möglicherweise nützlich für Sie sind:  
[Training mit gemischter Präzision mit TensorFlow (Video)](https://devblogs.nvidia.com/mixed-precision-resnet-50-tensor-cores/) — auf der NVIDIA-Blogseite.
[Training mit gemischter Präzision mit Float16 mit MXNet](https://mxnet.apache.org/api/faq/float16) - ein FAQ-Artikel auf der Website. MXNet 
[NVIDIA Apex: ein Tool für einfaches Training mit gemischter Präzision mit PyTorch](https://devblogs.nvidia.com/apex-pytorch-easy-mixed-precision-training/) — einem Blogartikel auf der NVIDIA-Website.

Möglicherweise sind diese weiteren Themen zur GPU-Überwachung und -Optimierung für Sie interessant:
+ [Überwachen](tutorial-gpu-monitoring.md)
  + [Überwachen Sie mit GPUs CloudWatch](tutorial-gpu-monitoring-gpumon.md)
+ [Optimierung](tutorial-gpu-opt.md)
  + [Vorverarbeitung](tutorial-gpu-opt-preprocessing.md)
  + [Training](#tutorial-gpu-opt-training)