Bonnes pratiques de formation des modèles - Amazon Neptune

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Bonnes pratiques de formation des modèles

Il y a des mesures que vous pouvez faire pour améliorer les performances des modèles Neptune ML.

Choisissez la bonne propriété de nœud

Les propriétés de votre graphique ne sont pas toutes significatives ou pertinentes pour vos tâches d'apprentissage automatique. Toute propriété non pertinente doit être exclue lors de l'exportation des données.

Voici quelques bonnes pratiques :

  • Faites appel à des experts du domaine pour aider à évaluer l'importance des caractéristiques et la faisabilité de les utiliser à des fins de prédictions.

  • Supprimez les fonctions que vous jugez redondantes ou non pertinentes pour réduire le bruit dans les données et les corrélations sans importance.

  • Itérez au fur et à mesure que vous créez votre modèle. Ajustez les fonctions, les combinaisons de fonctionnalités et les objectifs de réglage au fur et à mesure.

Traitement des entitésdans le Amazon Machine Learning Developer Guide, fournit des instructions supplémentaires pour le traitement des fonctionnalités pertinentes pour Neptune ML.

Gérer les points de données aberrants

Une valeur aberrante est un point de données significativement différent des données restantes. Les valeurs aberrantes de données peuvent gâcher ou induire en erreur le processus d'entraînement, ce qui entraîne une durée d'entraînement plus longue ou des modèles moins précis. À moins qu'ils ne soient vraiment importants, vous devez éliminer les valeurs aberrantes avant d'exporter les données.

Supprimer les nœuds et les arêtes en double

Les graphiques stockés dans Neptune peuvent comporter des nœuds ou des arêtes en double. Ces éléments redondants introduiront du bruit pour la formation au modèle ML. Éliminez les nœuds ou les tronçons en double avant d'exporter les données.

Régler la structure du graphique

Lorsque le graphique est exporté, vous pouvez modifier la façon dont les entités sont traitées et comment le graphique est construit, afin d'améliorer les performances du modèle.

Voici quelques bonnes pratiques :

  • Lorsqu'une propriété Edge a la signification de catégories d'arêtes, cela vaut la peine de la transformer en types d'arêtes dans certains cas.

  • La stratégie de normalisation par défaut utilisée pour une propriété numérique estmin-max, mais dans certains cas, d'autres politiques de normalisation fonctionnent mieux. Vous pouvez prétraiter la propriété et modifier la stratégie de normalisation comme expliqué dansÉléments d'unemodel-HPO-configuration.jsonfichier.

  • Le processus d'exportation génère automatiquement des types d'entités basés sur des types de propriétés. Par exemple, il traiteStringpropriétés en tant que caractéristiques catégorielles etFloatetIntpropriétés sous forme de fonctions numériques. Si nécessaire, vous pouvez modifier le type de fonction après l'exportation (voirÉléments d'unemodel-HPO-configuration.jsonfichier).

Régler les plages des hyperparamètres et les valeurs par défaut

L'opération de traitement des données déduit des plages de configuration d'hyperparamètres à partir du graphique. Si les plages d'hyperparamètres et les valeurs par défaut du modèle générées ne fonctionnent pas correctement pour vos données de graphe, vous pouvez modifier le fichier de configuration HPO pour créer votre propre stratégie de réglage des hyperparamètres.

Voici quelques bonnes pratiques :

  • Lorsque le graphique devient grand, la taille de dimension masquée par défaut peut ne pas être suffisamment grande pour contenir toutes les informations. Vous pouvez modifier lenum-hiddenhyperparamètre pour contrôler la taille de cote masquée.

  • Pour les modèles KGE (Knowledge Graph Embedding), vous pouvez modifier le modèle spécifique utilisé en fonction de votre structure graphique et de votre budget.

    TrainsEles modèles ont de la difficulté à gérer des relations un-à-plusieurs (1-N), plusieurs à un (N-1) et plusieurs-à-plusieurs (N-N).DistMultles modèles ont de la difficulté à gérer les relations symétriques.RotatEest bon pour modéliser toutes sortes de relations, mais il est plus cher queTrainsEetDistMultpendant l'entraînement.

  • Dans certains cas, lorsque les informations d'identification des nœuds et des entités de nœud sont importantes, vous devez utiliser`concat-node-embed`pour indiquer au modèle Neptune ML d'obtenir la représentation initiale d'un nœud en concaténant ses fonctions avec ses intégrations initiales.

  • Lorsque vous obtenez des performances raisonnablement bonnes par rapport à certains hyperparamètres, vous pouvez ajuster l'espace de recherche des hyperparamètres en fonction de ces résultats.

Arrêt précoce du processus de formation au modèle dans Neptune ML

L'arrêt anticipé peut réduire considérablement le temps d'exécution de la formation au modèle et les coûts associés sans dégrader les performances du modèle. Cela empêche également le modèle de surajuster les données d'entraînement.

L'arrêt anticipé dépend de mesures régulières des performances du jeu de validation. Au départ, les performances s'améliorent au fur et à mesure que l'entraînement progresse, mais lorsque le modèle commence à surajuster, il recommence à diminuer. La fonction d'arrêt anticipé identifie le point où le modèle commence à surajuster et interrompt l'entraînement du modèle à ce stade.

Neptune ML surveille les appels de mesures de validation et compare la mesure de validation la plus récente à la moyenne des mesures de validation au cours du derniernévaluations, oùnest un nombre défini à l'aide de lawindow-for-early-stop  Paramètre . Dès que la mesure de validation est pire que cette moyenne, Neptune ML arrête l'entraînement du modèle et enregistre le meilleur modèle jusqu'à présent.

Vous pouvez contrôler l'arrêt précoce en utilisant les paramètres suivants :

  • call_to_consider_early_stop— Spécifie l'appel d'évaluation à partir duquel commencer à envisager un arrêt anticipé. La valeur par défaut est zéro.

    Par exemple, si vous définissez ce paramètre sur 4, Neptune ML saute les trois premiers appels d'évaluation à des fins d'arrêt précoce, et uniquement à envisager un arrêt anticipé au quatrième appel. L'ignorance de quelques appels d'évaluation initiaux peut éviter un arrêt précoce déclenché par des oscillations métriques de validation non pertinentes au début de l'entraînement.

  • window-for-early-stop— La valeur de ce paramètre est un entier qui spécifie le nombre de scores de validation récents à moyenne lors de la décision d'un arrêt anticipé. La valeur par défaut est 3.

  • enable_early_stop— Utilisez ce paramètre booléen pour désactiver la fonction d'arrêt anticipé. Par défaut, cette valeur est true.

Arrêt précoce du processus HPO dans Neptune ML

La fonction d'arrêt anticipé de Neptune ML arrête également les tâches d'entraînement qui ne sont pas performantes par rapport aux autres tâches d'entraînement, en utilisant la fonction de démarrage à chaud de SageMaker HPO. Cela peut également réduire les coûts et améliorer la qualité du HPO.

VoirExécutez une tâche de réglage d'hyperparamètres de démarrage à chaudpour obtenir une description de la façon dont cela fonctionne.

Warm Start permet de transmettre les informations tirées des postes de formation antérieurs aux postes de formation suivants et offre deux avantages distincts :

  • Tout d'abord, les résultats des tâches de formation précédentes permettent de sélectionner de bonnes combinaisons d'hyperparamètres pour la nouvelle tâche de réglage.

  • Deuxièmement, il permet un arrêt anticipé pour accéder à plus de séries de modèles, ce qui réduit le temps de réglage.

Cette fonctionnalité est activée automatiquement dans Neptune ML et vous permet de trouver un équilibre entre le temps d'entraînement du modèle et les performances. Si vous êtes satisfait des performances du modèle actuel, vous pouvez utiliser ce modèle. Sinon, vous exécutez plus de HPO démarrés à chaud avec les résultats des essais précédents afin de découvrir un meilleur modèle.

Obtenir des services de support professionnels

AWSoffre des services de support professionnels pour vous aider à résoudre les problèmes de machine learning sur les projets Neptune. Si vous êtes coincé, tendez la main àAWSsoutenir.