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
Vous pouvez prendre certaines mesures 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 peut-être pas toutes significatives ou pertinentes pour vos tâches d'apprentissage automatique. Toutes les propriétés non pertinentes doivent être exclues lors de l'exportation des données.
Voici quelques bonnes pratiques :
Faites appel à des experts du domaine pour vous aider à évaluer l'importance des fonctionnalités et la faisabilité de leur utilisation à des fins de prévisions.
Supprimez les fonctionnalités que vous considérez comme redondantes ou inutiles afin de réduire le bruit dans les données et les corrélations sans importance.
Procédez à l'itération pendant que vous créez votre modèle. Ajustez les fonctionnalités, les combinaisons de fonctionnalités et les objectifs de réglage au fur et à mesure.
Le traitement des fonctionnalités du manuel Amazon Machine Learning Developer Guide fournit des instructions supplémentaires relatives au traitement des fonctionnalités pertinentes pour Neptune ML.
Gestion des points de données aberrants
Une valeur aberrante est un point de données significativement différent des données restantes. Les données aberrantes peuvent gâcher ou induire en erreur le processus de formation, ce qui se traduit par un temps d'entraînement plus long ou des modèles moins précis. À moins qu'elles ne soient vraiment importantes, vous devez éliminer les valeurs aberrantes avant d'exporter les données.
Supprimer les nœuds et les arêtes dupliqués
Les graphes stockés dans Neptune peuvent comporter des nœuds ou des arêtes dupliqués. Ces éléments redondants introduiront du bruit lors de l'entraînement des modèles de machine learning. Éliminez les nœuds ou les tronçons dupliqués 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é d'arête 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 politique de normalisation par défaut utilisée pour une propriété numérique est
min-max
, mais dans certains cas, d'autres politiques de normalisation fonctionnent mieux. Vous pouvez prétraiter la propriété et modifier la politique de normalisation comme expliqué dansÉléments d'unmodel-HPO-configuration.json fichier.Le processus d'exportation génère automatiquement des types de fonctionnalités en fonction des types de propriétés. Par exemple, il traite les
String
propriétés comme des caractéristiques catégoriellesFloat
et lesInt
propriétés comme des caractéristiques numériques. Si nécessaire, vous pouvez modifier le type de fonction après l'exportation (voirÉléments d'unmodel-HPO-configuration.json fichier).
Réglez les plages d'hyperparamètres et les valeurs par défaut
L'opération de traitement des données déduit des plages de configuration des hyperparamètres à partir du graphique. Si les plages d'hyperparamètres et les valeurs par défaut du modèle généré ne fonctionnent pas correctement pour les données de votre graphique, 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 s'agrandit, la taille des dimensions masquées par défaut n'est peut-être pas suffisamment grande pour contenir toutes les informations. Vous pouvez modifier l'
num-hidden
hyperparamètre pour contrôler la taille des dimensions masquées.-
Pour les modèles d'intégration de graphes de connaissances (KGE), vous souhaiterez peut-être modifier le modèle spécifique utilisé en fonction de la structure de votre graphe et de votre budget.
TrainsE
les modèles ont du mal à gérer les relations one-to-many (1-N), many-to-one (N-1) et many-to-many (N-N).DistMult
les modèles ont du mal à gérer les relations symétriques.RotatE
est efficace pour modéliser toutes sortes de relations mais coûte plus cher queTrainsE
etDistMult
pendant la formation. Dans certains cas, lorsque l'identification des nœuds et les informations sur leurs caractéristiques sont importantes, vous
`concat-node-embed`
devez indiquer au modèle Neptune ML d'obtenir la représentation initiale d'un nœud en concaténant ses fonctionnalités avec ses incorporations initiales.Lorsque vous obtenez des performances relativement bonnes sur certains hyperparamètres, vous pouvez ajuster l'espace de recherche des hyperparamètres en fonction de ces résultats.
Arrêt anticipé du processus de formation des modèles dans Neptune ML
Un arrêt anticipé peut réduire de manière significative le temps d'exécution de l'entraînement du modèle et les coûts associés sans dégrader les performances du modèle. Cela permet également d'éviter que le modèle ne soit trop ajusté aux données d'entraînement.
L'arrêt anticipé dépend de mesures régulières des performances des ensembles de validation. Au début, les performances s'améliorent au fur et à mesure de l'entraînement, mais lorsque le modèle commence à se surajuster, il recommence à décliner. La fonction d'arrêt anticipé identifie le moment où le modèle commence à être surajusté et interrompt l'entraînement du modèle à ce moment-là.
Neptune ML surveille les appels de métriques de validation et compare la métrique de validation la plus récente à la moyenne des mesures de validation des dernières n
évaluations, où n
est un nombre défini à l'aide duwindow-for-early-stop
paramètre. Dès que la métrique de validation est inférieure à cette moyenne, Neptune ML arrête l'entraînement du modèle et enregistre le meilleur modèle à ce jour.
Vous pouvez contrôler l'arrêt anticipé à l'aide des paramètres suivants :
-
window-for-early-stop
— La valeur de ce paramètre est un entier qui indique le nombre de scores de validation récents à calculer en moyenne pour décider d'un arrêt anticipé. La valeur par défaut est3
. -
enable-early-stop
— Utilisez ce paramètre booléen pour désactiver la fonction d'arrêt anticipé. Par défaut, cette valeur esttrue
.
Arrêt anticipé 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 donnent pas de bons résultats par rapport à d'autres tâches de formation, à l'aide de la fonction de démarrage à chaud de SageMaker HPO. Cela permet également de réduire les coûts et d'améliorer la qualité du HPO.
Reportez-vous à la section Exécuter une tâche de réglage des hyperparamètres lors d'un démarrage à chaud pour une description de son fonctionnement.
Warm Start permet de transmettre les informations apprises lors de tâches de formation précédentes aux tâches de formation suivantes et offre deux avantages distincts :
Tout d'abord, les résultats des tâches d'entraînement précédentes sont utilisés pour sélectionner de bonnes combinaisons d'hyperparamètres à rechercher dans la nouvelle tâche de réglage.
Ensuite, il permet un arrêt anticipé pour accéder à un plus grand nombre 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 et les performances du modèle. Si vous êtes satisfait des performances du modèle actuel, vous pouvez utiliser ce modèle. Sinon, vous exécutez davantage de HPO démarrés à chaud avec les résultats des essais précédents afin de découvrir un meilleur modèle.
Bénéficiez de services d'assistance professionnels
AWSpropose des services d'assistance professionnels pour vous aider à résoudre les problèmes liés à l'apprentissage automatique sur les projets Neptune. Si vous êtes bloqué, demandez de l'AWSaide