Bewährte Modelltrainingsmethoden - Amazon Neptune

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.

Bewährte Modelltrainingsmethoden

Sie können die Leistung von Neptune ML-Modellen auf verschiedene Arten verbessern.

Auswahl der richtigen Knoteneigenschaft

Möglicherweise sind nicht alle Eigenschaften im Diagramm für Ihre Machine-Learning-Aufgaben sinnvoll oder relevant. Irrelevante Eigenschaften sollten vom Datenexport ausgeschlossen werden.

Dies sind einige bewährte Methoden:

  • Lassen Sie sich von Fachexperten helfen, die Bedeutung von Features und die Möglichkeit ihrer Verwendung für Vorhersagen zu bewerten.

  • Entfernen Sie die Features, die Sie als überflüssig oder irrelevant betrachten, um das Datenrauschen und die Zahl der nicht wichtigen Korrelationen zu reduzieren.

  • Führen Sie während der Erstellung des Modells Iterationen durch. Passen Sie Features, Feature-Kombinationen und Optimierungsziele über die Zeit an.

im Abschnitt Feature-Verarbeitung im Amazon-Machine-Learning-Entwicklerhandbuch enthält weitere Anleitungen für die Feature-Verarbeitung, die für Neptune ML relevant sind.

Behandlung von Ausreißer-Datenpunkten

Ein Ausreißer ist ein Datenpunkt, der sich erheblich von den übrigen Daten unterscheidet. Datenausreißer können den Trainingsvorgang korrumpieren oder fehlleiten, was zu längeren Trainingszeiten oder weniger genauen Modellen führt. Wenn sie nicht wirklich wichtig sind, sollten Sie Ausreißer vor dem Exportieren der Daten entfernen.

Entfernen duplizierter Knoten und Kanten

In Neptune gespeicherte Diagramme können duplizierte Knoten oder Kanten enthalten. Diese redundanten Elemente führen beim Trainieren für ML-Modelle zu Rauschen. Entfernen Sie duplizierte Knoten oder Kanten, bevor Sie die Daten exportieren.

Optimieren der Diagrammstruktur

Wenn das Diagramm exportiert wird, können Sie die Verarbeitung von Features und die Konstruktion des Diagramms ändern, um die Modellleistung zu verbessern.

Dies sind einige bewährte Methoden:

  • Wenn eine Kanteneigenschaft die Bedeutung von Kantenkategorien hat, lohnt es sich in einigen Fällen, sie in Kantentypen zu konvertieren.

  • Die Standard-Normalisierungsrichtlinie für eine numerische Eigenschaft ist min-max. In einigen Fällen funktionieren andere Normalisierungsrichtlinien jedoch besser. Sie können die Eigenschaft vorab verarbeiten und die Normalisierungsrichtlinie wie in Elemente einer model-HPO-configuration.json-Datei beschrieben.

  • Beim Exportvorgang werden automatisch Feature-Typen basierend auf Eigenschaftstypen generiert. Beispielsweise werden String-Eigenschaften als kategorische Features und Float- und Int-Eigenschaften als numerische Features behandelt. Wenn notwendig, können Sie den Feature-Typ nach dem Export ändern (siehe Elemente einer model-HPO-configuration.json-Datei).

Optimieren von Hyperparameter-Bereichen und -Standardwerten

Die Datenverarbeitungsoperation leitet Hyperparameter-Konfigurationsbereiche aus dem Diagramm ab. Wenn die generierten Hyperparameterbereiche und Standardwerte des Modells für Ihre Grafikdaten nicht gut funktionieren, können Sie die HPO Konfigurationsdatei bearbeiten, um Ihre eigene Hyperparameter-Tuning-Strategie zu erstellen.

Dies sind einige bewährte Methoden:

  • Wenn das Diagramm groß wird, reicht die Standardgröße ausgeblendeter Dimensionen möglicherweise nicht aus, um alle Informationen aufzunehmen. Sie können den Hyperparameter num-hidden ändern, um die Größe ausgeblendeter Dimensionen zu steuern.

  • Bei Modellen zur Einbettung von Wissensgraphen (KGE) möchten Sie möglicherweise das spezifische Modell, das verwendet wird, entsprechend Ihrer Graphstruktur und Ihrem Budget ändern.

    TrainsEModelle haben Schwierigkeiten, mit one-to-many (1-N), many-to-one (N-1) und many-to-many (N-N) Beziehungen umzugehen. DistMultModelle haben Schwierigkeiten, mit symmetrischen Beziehungen umzugehen. RotatEist gut darin, alle Arten von Beziehungen zu modellieren, ist aber teurer als TrainsE und DistMult während des Trainings.

  • In einigen Fällen, in denen sowohl die Knoten-ID als auch Informationen zu Knoten-Features wichtig sind, sollten Sie das Neptune-ML-Modell mit `concat-node-embed` anweisen, die anfängliche Darstellung eines Knotens durch die Verkettung seiner Features mit den anfänglichen Einbettungen abzurufen.

  • Wenn Sie für einige Hyperparameter eine angemessene Leistung erzielen, können Sie die Hyperparameter-Suchumgebung entsprechend diesen Ergebnissen anpassen.

Vorzeitiges Stoppen des Modelltrainings in Neptune ML

Ein vorzeitiger Stopp kann die Ausführungszeit und die Kosten für das Modelltraining deutlich reduzieren, ohne die Modellleistung zu beeinträchtigen. Dies verhindert auch, dass sich das Modell zu stark an die Trainingsdaten anpasst.

Ein vorzeitiger Abbruch ist von regelmäßigen Messungen der Validierungssatzleistung abhängig. Zunächst wird die Leistung mit fortschreitendem Training besser. Wenn sich das Modell jedoch zu stark anpasst, nimmt sie wieder ab. Das Feature für vorzeitige Stopps identifiziert den Punkt, ab dem sich ein Modell zu sehr anpasst, und stoppt das Modelltraining an diesem Punkt.

Neptune ML überwacht die Validierungsmetrikaufrufe und vergleicht die neueste Validierungsmetrik mit dem Durchschnitt der Validierungsmetriken der letzten n Auswertungen, wobei n ein Zahlensatz ist, der den Parameter window-for-early-stop verwendet. Sobald die Validierungsmetrik schlechter als dieser Durchschnitt ist, stoppt Neptune ML das Modelltraining und speichert das bisher beste Modell.

Sie können das vorzeitige Stoppen wie folgt mit den folgenden Parametern steuern:

  • window-for-early-stop   –   Der Wert dieses Parameters ist eine Ganzzahl und gibt die Zahl der letzten Validierungsergebnisse an, die für die Berechnung des Durchschnitts verwendet werden sollen, um über einen vorzeitigen Stopp zu entscheiden. Der Standardwert ist 3.

  • enable-early-stop   –   Mit diesem booleschen Parameter können Sie das Feature für vorzeitiges Stoppen deaktivieren. Der Standardwert ist true.

Vorzeitiges Stoppen des HPO Prozesses in Neptune ML

Die Early-Stop-Funktion in Neptune ML stoppt mithilfe der SageMaker HPO KI-Warmstart-Funktion auch Trainingsjobs, die im Vergleich zu anderen Trainingsjobs nicht gut abschneiden. Auch dies kann die Kosten senken und die Qualität von verbessern. HPO

In Ausführen eines Warmstart-Optimierungsaufgabe für Hyperparameter finden Sie eine Beschreibung der Funktionsweise.

Der Warmstart ermöglicht die Übergabe von Informationen aus früheren Trainingsaufträgen an nachfolgende Trainingsaufträge und hat zwei entscheidende Vorteile:

  • Erstens werden die Ergebnisse vorheriger Trainingsaufträge für die Auswahl guter Kombinationen von Hyperparametern verwendet, um sie im neuen Optimierungsauftrag zu durchsuchen.

  • Zweitens ermöglicht der Warmstart vorzeitige Stopps, um auf weitere Modellausführungen zugreifen zu können, was die Optimierungszeit reduziert.

Dieses Feature ist in Neptune ML automatisch aktiviert und ermöglicht Ihnen, ein Gleichgewicht zwischen Trainingszeit und Leistung herzustellen. Wenn Sie mit der Leistung des aktuellen Modells zufrieden sind, können Sie dieses Modell verwenden. Andernfalls führen Sie mehr Tests durchHPOs, die mit den Ergebnissen früherer Läufe warmgestartet wurden, um ein besseres Modell zu finden.

Professionelle Support-Services

AWS bietet professionelle Support-Services, um Ihnen bei Problemen bei Ihren Projekten im Bereich maschinelles Lernen auf Neptune zu helfen. Wenn Sie nicht weiterkommen, nehmen Sie bitte Kontakt mit dem AWS -Support auf.