Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Prácticas recomendadas de entrenamiento de modelos
Hay cosas que puede hacer para mejorar el rendimiento de los modelos de Neptune ML.
Selección de la propiedad de nodo correcta
Es posible que no todas las propiedades del gráfico sean significativas o relevantes para las tareas de machine learning. Debe excluirse cualquier propiedad irrelevante durante la exportación de datos.
A continuación le presentamos algunas prácticas recomendadas:
Recurra a expertos en la materia para que le ayuden a evaluar la importancia de las características y la viabilidad de utilizarlas para hacer predicciones.
Elimine las características que considere redundantes o irrelevantes para reducir el ruido en los datos y las correlaciones sin importancia.
Realice iteraciones a medida que crea el modelo. Ajuste las características, las combinaciones de características y ajuste los objetivos a medida que avanza.
En la sección Procesamiento de características de la Guía para desarrolladores de Amazon Machine Learning se proporcionan directrices adicionales para el procesamiento de características que son relevantes para Neptune ML.
Gestión de puntos de datos atípicos
Un valor atípico es un punto de datos que difiere bastante del resto de datos. Los valores atípicos de los datos pueden confundir o engañar al proceso de entrenamiento, lo que se traduce en un tiempo de entrenamiento más prolongado o en modelos menos precisos. A menos que sean realmente importantes, debe eliminar los valores atípicos antes de exportar los datos.
Eliminación de los nodos y bordes duplicados
Los gráficos almacenados en Neptune pueden tener nodos o bordes duplicados. Estos elementos redundantes introducirán ruido durante el entrenamiento de modelos de ML. Elimine los nodos o bordes duplicados antes de exportar los datos.
Ajuste de la estructura del gráfico
Al exportar el gráfico, puede cambiar la forma en que se procesan las características y cómo se crea el gráfico para mejorar el rendimiento del modelo.
A continuación le presentamos algunas prácticas recomendadas:
Cuando una propiedad de borde tiene el significado de categorías de bordes, en algunos casos, merece la pena convertirla en tipos de borde.
La política de normalización predeterminada que se utiliza para una propiedad numérica es
min-max
, pero, en algunos casos, otras políticas de normalización funcionan mejor. Puede preprocesar la propiedad y cambiar la política de normalización, tal y como se explica en Elementos de un archivo model-HPO-configuration.json.El proceso de exportación genera automáticamente tipos de características en función de los tipos de propiedad. Por ejemplo, trata las propiedades de
String
como características categóricas y las propiedades deFloat
yInt
como características numéricas. Si fuera necesario, puede modificar el tipo de característica después de la exportación (consulte Elementos de un archivo model-HPO-configuration.json).
Ajuste de los rangos y valores predeterminados de los hiperparámetros
La operación de procesamiento de datos infiere los rangos de configuración de los hiperparámetros a partir del gráfico. Si los rangos de hiperparámetros y los valores predeterminados del modelo generados no funcionan bien con los datos de su gráfico, puede editar el archivo de HPO configuración para crear su propia estrategia de ajuste de hiperparámetros.
A continuación le presentamos algunas prácticas recomendadas:
Al ampliar el gráfico, es posible que el tamaño predeterminado de la dimensión oculta no sea lo suficientemente grande como para incluir toda la información. Puede cambiar el hiperparámetro
num-hidden
para controlar el tamaño de la dimensión oculta.-
En el caso de los modelos Knowledge Graph Embedding (KGE), puede que desee cambiar el modelo específico que se está utilizando de acuerdo con su estructura gráfica y su presupuesto.
TrainsE
los modelos tienen dificultades para tratar las relaciones one-to-many (1-N), many-to-one (N-1) y many-to-many (N-N).DistMult
los modelos tienen dificultades para tratar las relaciones simétricas.RotatE
es bueno para modelar todo tipo de relaciones, pero es más caro queTrainsE
yDistMult
durante el entrenamiento. En algunos casos, cuando la identificación del nodo y la información de las características del nodo son importantes, debe utilizar
`concat-node-embed`
para indicar al modelo de Neptune ML que obtenga la representación inicial de un nodo mediante la concatenación de sus características con sus incrustaciones iniciales.Si obtiene un rendimiento razonablemente bueno con algunos hiperparámetros, puede ajustar el espacio de búsqueda de hiperparámetros en función de estos resultados.
Detención temprana del proceso de entrenamiento de modelos en Neptune ML
La detención temprana puede reducir considerablemente el tiempo de ejecución del entrenamiento de modelos y los costos asociados sin degradar el rendimiento de los modelos. También evita que el modelo se sobreajuste a los datos de entrenamiento.
La detención temprana depende de las mediciones periódicas del rendimiento del conjunto de validación. Inicialmente, el rendimiento mejora a medida que avanza el entrenamiento, pero cuando el modelo comienza a sobreajustarse, vuelve a disminuir. La característica de detención temprana identifica el punto en el que el modelo comienza a sobreajustarse y detiene el entrenamiento del modelo en ese momento.
Neptune ML supervisa las llamadas a las métricas de validación y compara la métrica de validación más reciente con el promedio de las métricas de validación de las últimas evaluaciones de n
, donde n
es un número establecido mediante el parámetro window-for-early-stop
. En cuanto la métrica de validación es inferior al promedio, Neptune ML detiene el entrenamiento del modelo y guarda el mejor modelo hasta el momento.
Puede controlar la detención temprana mediante los siguientes parámetros:
-
window-for-early-stop
: el valor de este parámetro es un número entero que especifica el número de puntuaciones de validación recientes que se van a promediar cuando se decide si realizar una detención temprana. El valor predeterminado es3
. -
enable-early-stop
: utilice este parámetro booleano para desactivar la característica de detención temprana. De forma predeterminada su valor estrue
.
Detención temprana del HPO proceso en Neptune ML
La función de parada temprana de Neptune ML también detiene los trabajos de formación que no tienen un buen rendimiento en comparación con otros trabajos de formación, mediante la función de arranque en HPO caliente de SageMaker IA. Esto también puede reducir los costos y mejorar la calidad de. HPO
Consulte Ejecución de un trabajo de ajuste de hiperparámetros de inicio en caliente para obtener una descripción de su funcionamiento.
El inicio en caliente permite transferir la información aprendida en trabajos de entrenamiento anteriores a trabajos de entrenamiento posteriores y ofrece dos ventajas bien diferenciadas:
En primer lugar, los resultados de los trabajos de entrenamiento anteriores se utilizan para seleccionar combinaciones correctas de hiperparámetros para realizar búsquedas en el nuevo trabajo de ajuste.
En segundo lugar, permite una detención temprana para acceder a más ejecuciones del modelo, lo que reduce el tiempo de ajuste.
Esta característica se habilita automáticamente en Neptune ML y le permite lograr un equilibrio entre el tiempo de entrenamiento del modelo y el rendimiento. Si está satisfecho con el rendimiento del modelo actual, puede utilizar ese modelo. De lo contrario, se utilizan más HPOs máquinas que se inicien en caliente con los resultados de las tiradas anteriores para encontrar un modelo mejor.
Obtener servicios de soporte profesional
AWS ofrece servicios de asistencia profesional para ayudarle con los problemas de aprendizaje automático en los proyectos de Neptune. Si se queda bloqueado, póngase en contacto con AWS Support