Supervisión de la desviación en la atribución de características de los modelos en producción - Amazon SageMaker

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.

Supervisión de la desviación en la atribución de características de los modelos en producción

Una desviación en la distribución de los datos en tiempo real para los modelos en producción puede provocar una desviación correspondiente en los valores de atribución de las características, del mismo modo que podría provocar una desviación en el sesgo al supervisar las métricas de sesgo. La supervisión de la atribución de funciones de Amazon SageMaker Clarify ayuda a los científicos de datos y a los ingenieros de aprendizaje automático a supervisar las predicciones sobre la desviación de la atribución de funciones de forma regular. A medida que se monitorea el modelo, los clientes pueden ver informes y gráficos exportables que detallan las atribuciones de funciones en SageMaker Studio y configurar alertas en Amazon CloudWatch para recibir notificaciones si se detecta que los valores de atribución sobrepasan un umbral determinado.

Para ilustrar esto con una situación específica, considere un escenario hipotético de admisión a la universidad. Suponga que observa los siguientes valores de atribución de características (agregados) en los datos de entrenamiento y en los datos en tiempo real:

Escenario hipotético de admisión a la universidad

Característica Atribución en los datos de entrenamiento Atribución en datos en tiempo real
SATpuntuación 0.70 0.10
GPA 0.50 0.20
Clasificación de clase 0,05 0,70

El cambio de los datos de entrenamiento a los datos en tiempo real parece significativo. La clasificación de características se ha invertido por completo. Al igual que ocurre con la desviación de sesgo, las desviaciones en la atribución de las características pueden deberse a un cambio en la distribución de los datos en tiempo real y justifican un análisis más detallado del comportamiento del modelo con los datos en tiempo real. Una vez más, el primer paso en estos escenarios es dar la alarma de que se ha producido una desviación.

Podemos detectar la desviación al comparar la forma en que la clasificación de las características individuales cambió de los datos de entrenamiento a los datos en tiempo real. Además de ser sensibles a los cambios en el orden de clasificación, también hay que tener en cuenta la puntuación bruta de atribución de las características. Por ejemplo, dado que dos características se sitúan en la clasificación en el mismo número de posiciones, pasando del entrenamiento a los datos en tiempo real, queremos ser más sensibles a la característica que tenga una puntuación de atribución más alta en los datos de entrenamiento. Teniendo en cuenta estas propiedades, utilizamos la puntuación de ganancia acumulada descontada normalizada (NDCG) para comparar las clasificaciones de las atribuciones de características de los datos de entrenamiento y en tiempo real.

En concreto, suponga que tenemos lo siguiente:

  • F=[f1​,…,fm​] es la lista de características ordenadas según sus puntuaciones de atribución en los datos de entrenamiento, donde m es el número total de características. Por ejemplo, en nuestro caso, F = [SATPuntuaciónGPA, clasificación por clase].

  • a(f) es una función que devuelve la puntuación de atribución de la característica en los datos de entrenamiento de una característica f. Por ejemplo, a (SATPuntuación) = 0,70.

  • F′=[f′​1​, …, f′​m​] es la lista de características ordenadas según sus puntuaciones de atribución en los datos en tiempo real. Por ejemplo, F ′= [Rango de claseGPA, SAT Puntuación].

Luego, podemos calcularlos NDCG como:

        NDCG= DCG /i DCG

with

  • DCG= 1 m a (f' i) /log 2​ (i +1)

  • i DCG = ↻ 1 m a (f i) /log 2​ (i +1)

La cantidad DCG mide si las entidades con una alta atribución en los datos de entrenamiento también ocupan un lugar más alto en la atribución de características calculada a partir de los datos en tiempo real. La cantidad i DCG mide la puntuación ideal y es solo un factor de normalización para garantizar que la cantidad final se encuentre dentro del rango [0, 1], siendo 1 el mejor valor posible. Un NDCG valor de 1 significa que la clasificación de atribución de características en los datos en tiempo real es la misma que en los datos de entrenamiento. En este ejemplo concreto, dado que la clasificación ha cambiado bastante, el NDCG valor es de 0,69.

En SageMaker Clarify, si el NDCG valor es inferior a 0,90, emitimos automáticamente una alerta.

Cuaderno de ejemplo del monitor de modelos

SageMaker Clarify proporciona el siguiente cuaderno de ejemplo que muestra cómo capturar datos de inferencia para un punto final en tiempo real, crear una línea base para monitorear la evolución del sesgo e inspeccionar los resultados:

Se ha comprobado que este portátil solo funciona en SageMaker Studio. Si necesita instrucciones sobre cómo abrir un bloc de notas en SageMaker Studio, consulteCrear o abrir un bloc de notas Amazon SageMaker Studio Classic. Si se le pide que elija un kernel, elija Python 3 (ciencia de datos). Los siguientes temas contienen los aspectos más destacados de los dos últimos pasos y contienen ejemplos de código del cuaderno de ejemplos.