Author: Denis Reis

¿Cómo puedes confiar en un modelo para apoyar decisiones financieras si no puedes entender sus decisiones? Para nosotros, esto no era solo una pregunta académica. Era un requisito fundamental para la seguridad, la depuración (debugging) y la implementación responsable. Aquí en Nubank, estamos aprovechando el auge de las arquitecturas basadas en transformer, que han permitido el desarrollo de modelos fundacionales (foundation models) que descubren automáticamente características generales y aprenden representaciones directamente a partir de datos de transacciones brutos. Al procesar secuencias de transacciones (a menudo convirtiéndolas en tokens, como lo haría un modelo de lenguaje natural), estos sistemas pueden resumir de manera eficiente comportamientos financieros complejos.

En esta publicación, exploramos la explicabilidad de dichos modelos, es decir, la capacidad de examinar cómo una sola transacción, y sus propiedades individuales, influye en la predicción final producida por un modelo. En este nuevo escenario, donde un transformer procesa una secuencia de transacciones, las herramientas estándar presentan limitaciones y requisitos que hacen difícil su mantenimiento en un entorno en rápida evolución como el nuestro. Sin embargo, adoptamos un enfoque más simple: Leave One Transaction Out (LOTO), que se traduce como Dejar una Transacción Afuera. Puede proporcionar una buena evaluación del impacto de las transacciones (y sus propiedades) en la predicción final del modelo, al mismo tiempo que es fácilmente compatible con prácticamente cualquier arquitectura de modelo.

Por Qué la Explicabilidad es Crucial para los Modelos Fundacionales de Transacciones

Comprender cómo la entrada (input) influye en la salida (output) de estos modelos es primordial para la implementación responsable, la mejora continua y, fundamentalmente, para el monitoreo y la prevención de explotaciones maliciosas.

  • Monitoreo del Comportamiento del Modelo y Desviación (Drift): La explicabilidad nos permite rastrear cambios en la importancia relativa de diferentes tipos de transacciones a lo largo del tiempo. Tales cambios pueden indicar un giro en la forma en que los clientes interactúan con sus finanzas, lo que podría requerir la actualización de nuestros modelos y reglas de decisión.
  • Depuración y Obtención de Insights: Es esencial entender cómo las diferentes partes de la entrada contribuyen a la salida de un modelo, tanto para predicciones individuales (explicabilidad local) como en todo el conjunto de datos (explicabilidad global). Este insight es invaluable para depurar anomalías del modelo, profundizar nuestra comprensión de los comportamientos financieros y guiar la selección de características (feature selection) al destacar qué tipos de transacciones son más relevantes.
  • Monitoreo y Prevención de Explotabilidad Maliciosa (Exploitability): Esta es una preocupación central. Definimos explotabilidad como una vulnerabilidad del modelo que usuarios maliciosos podrían aprovechar para manipular evaluaciones de comportamiento, lo que podría llevar a beneficios injustificados u otros resultados indeseables. En el caso de estos modelos, una vulnerabilidad podría ser una transacción fácilmente producida por un actor malicioso y que, cuando está presente, hace que el modelo produzca una salida que conduce a un resultado irrazonablemente más favorable para el actor. Al monitorear cambios en el comportamiento del cliente, podemos detectar explotaciones activas, y al examinar cuán relevantes son las transacciones para la predicción antes de la implementación, podemos detectar vulnerabilidades potenciales.

¿Cómo Explicar?

Al abordar la explicabilidad del modelo, un enfoque estándar en la literatura y la industria es SHAP [1], un potente framework para la explicabilidad local que posee varias propiedades beneficiosas para nuestro caso de uso.

Para cada punto de datos, SHAP asigna un valor —al que nos referiremos como importancia— a cada componente de la entrada que representa cuánto ese componente está alejando la predicción del modelo de una predicción de línea de base (generalmente, la predicción promedio de un conjunto de datos proporcionado como “datos de fondo”). Por ejemplo, si el valor SHAP de un atributo es grande para un punto de datos específico, esa característica está empujando la predicción del modelo de ese punto hacia arriba. Podemos pasar de estas evaluaciones de explicabilidad local a una global, agregando los valores SHAP, como el valor absoluto promedio, en varios puntos de datos.

En nuestro contexto, nuestra entrada es una secuencia de transacciones, que para transformers se representan como una secuencia de grandes embeddings. En este escenario, al evaluar la relevancia de las transacciones como un todo en la predicción del modelo, los valores SHAP de las dimensiones individuales del embedding no son relevantes. Afortunadamente, en tales casos, SHAP puede agrupar estas partes más pequeñas en entradas de transacción y asignar un único valor SHAP a cada transacción como un todo.

Otro aspecto muy positivo de SHAP es que es agnóstico a la arquitectura del modelo: podemos calcular los valores SHAP independientemente de cómo opere internamente. Esta propiedad es especialmente relevante para nosotros, ya que estamos explorando diversas arquitecturas diferentes, incluidas arquitecturas híbridas que combinan redes neuronales y modelos basados en árboles.

Aunque SHAP satisface nuestros requisitos de explicabilidad, desafortunadamente, es computacionalmente prohibitivo para casos de uso de redes neuronales profundas (deep neural networks) como el nuestro. Esto llevó a la exploración de aproximaciones más eficientes y basadas en gradientes, como Integrated Gradients (IG) [2] o Layer-Wise Relevance Propagation (LRP) [3]. Sin embargo, si bien son más eficientes, perdemos algunas propiedades de SHAP que nos son valiosas, lo que hace que la adopción de estos otros enfoques sea desafiante.

El primer desafío es que, a diferencia de SHAP, estos métodos no pueden agrupar componentes para obtener una única importancia para toda la transacción; necesitaríamos agregar estos valores individuales de alguna manera. Investigamos diferentes esquemas de agregación para atribuciones basadas en gradientes, y los que consideramos mejores tendieron a usar valores absolutos. El problema, en este caso, es que acaban desestimando la direccionalidad (es decir, si una transacción empujó la predicción hacia arriba o hacia abajo).

Además, en nuestro caso particular, no pudimos separar fácilmente la importancia que una transacción tiene debido a sus atributos (valor, día de la semana, etc.) de su posición en la secuencia: el modelo parecía asignar gran importancia a la primera y la última transacción de una secuencia, independientemente de sus otras características. Planteamos la hipótesis de que esto se debe probablemente a cómo el modelo “entiende” la secuencia, es decir, la estructura de los datos de entrada. Este sesgo se visualiza en la figura a continuación, donde las puntuaciones de importancia se concentran fuertemente en ambos extremos de la secuencia de transacciones. Descargo de responsabilidad: esta figura, así como las otras figuras mostradas en esta publicación, se basa en datos sintetizados que ilustran el comportamiento observado en nuestros datos reales.

Otro punto es que los métodos basados en gradiente no son agnósticos a la arquitectura: requieren modelos diferenciables y acceso a los gradientes internos, lo cual es incompatible con algunas de las arquitecturas que estudiamos. Además, ciertos métodos imponen reglas específicas por tipo de capa (como LRP) o exigen la definición de entradas neutrales complejas (como IG). Esto hacía que el mantenimiento de estos métodos fuera muy costoso frente a nuestra velocidad de desarrollo.

Finalmente, también evaluamos LIME (Local Interpretable Model-Agnostic Explanations) [4], otra alternativa agnóstica a la arquitectura. Pero LIME exige generar nuevos conjuntos de datos con perturbaciones y entrenar modelos sustitutos para cada explicación, lo que aumenta el costo computacional e introduce nuevas capas de complejidad.

Estos desafíos nos llevaron a una solución más simple y directa: LOTO (Leave One Transaction Out), que sigue satisfaciendo nuestras necesidades, manteniendo la compatibilidad con cualquier arquitectura, entregando valores direccionales y ofreciendo explicabilidad local y global.

Leave One Transaction Out (LOTO)

Una característica común entre todas las arquitecturas que usamos es la capacidad de manejar secuencias variables de transacciones. Esto permite medir el impacto marginal real de una transacción de forma sencilla: simplemente elimínala y observa qué cambia.

El método es directo: elimine cada transacción de la secuencia de un cliente, una a la vez, y mida la diferencia entre la nueva predicción y la original. Esto revela directamente el impacto de esa transacción específica en ese contexto fijo. Pregunta: ¿Cuál fue la contribución directa de la presencia de esta transacción en particular a la predicción, considerando la presencia de todas las demás transacciones (el contexto)? A esta contribución la llamamos Valor LOTO.

Es importante aclarar qué significa eliminar en este contexto. Esto no es como la ablación tradicional de características, que sería análoga a alterar el espacio de características (por ejemplo, modelarg P(y | a=i, b=j) en lugar del original P(y | a=i, b=j, c=k)).

Dado que nuestros modelos están diseñados para procesar conjuntos o secuencias de transacciones de longitud variable, eliminar una es simplemente un cambio en los datos de entrada para una sola predicción, mientras que la arquitectura del modelo permanece fija. Conceptualmente, es como la diferencia entre evaluar P(y | … transaction_c=PRESENT) and P(y | … transaction_c=ABSENT). Solo estamos alimentando el modelo con una secuencia con un elemento menos para ver cómo cambia su salida.

El principal inconveniente es que LOTO solo prueba las transacciones una por una. Esto significa que nos perdemos los efectos de interacción. Por ejemplo, un pago a una compañía de servicios públicos puede ser insignificante por sí solo, pero cuando se combina con un retiro grande e inesperado, los dos juntos pueden tener un gran impacto. LOTO no puede capturar este efecto combinado (lo que llamamos efectos de interacción). Aceptamos esta compensación por las grandes ganancias en simplicidad y eficiencia computacional, reservando análisis de interacción más complejos para futuros trabajos.

Aplicamos LOTO en dos modos distintos: un análisis global para comprender tendencias generales, eligiendo y eliminando aleatoriamente una transacción de cada cliente en un conjunto grande, y un análisis local para depuración profunda, eliminando cada transacción, una a la vez, de la secuencia de un solo cliente.

En cualquier caso, cada transacción eliminada crea una nueva variante de la entrada original que el modelo debe procesar. En el primer caso, dado que eliminamos solo una transacción de cada punto de datos, el número total de variantes es el mismo que el número de puntos de datos en el dataset. Con cientos de miles a millones de estos puntos de datos, podemos construir agregaciones sólidas o incluso entrenar meta-modelos simples (como un árbol de decisión) en los resultados de LOTO para descubrir automáticamente reglas como: “Las transacciones de tipo X por encima de la cantidad Y tienen consistentemente un impacto negativo”.

Por ejemplo, como se ilustra en la figura a continuación, pudimos identificar que el tipo de transacción tiene un sesgo claro en el impacto sobre un cierto objetivo binario. Una vez más, la figura se basa en datos sintetizados con fines ilustrativos.

Para un análisis local profundo de un solo cliente, eliminamos cada una de sus transacciones, una por una, generando cientos de variantes para cada cliente. Esto es sustancialmente más costoso computacionalmente que las técnicas basadas en gradientes, que generalmente requieren ejecutar el modelo solo una vez. Por esta razón, reservamos los análisis locales para inmersiones profundas específicas. Sin embargo, a este respecto, LOTO proporciona una imagen más clara de la importancia de una transacción, libre del sesgo posicional que puede inducir a error a los métodos basados en gradientes. Al medir directamente el impacto de la eliminación de una transacción, LOTO ayuda a distinguir si una transacción es importante por su contenido o simplemente por su ubicación en la secuencia. Como ilustra la figura a continuación, LOTO revela una distribución mucho más uniforme de transacciones de alto impacto, ayudándonos a diagnosticar con precisión el comportamiento del modelo.

Tenga en cuenta que, en la figura anterior, todavía es visible que las transacciones más recientes suelen tener más impacto. Otra forma de visualizar esto en el análisis global es simplemente verificando la correlación entre la antigüedad de una transacción y su impacto en la predicción, como se muestra a continuación.

Conclusión: La Simplicidad como Característica

En nuestro camino para construir un sistema de IA financiera confiable e interpretable, encontramos que el método de explicabilidad más simple fue también el más efectivo. Al medir directamente el impacto de la eliminación de cada transacción, LOTO proporciona insights claros, procesables e imparciales que son robustos frente a nuestra cambiante arquitectura de modelo.

References

[1] Lundberg, S. M., & Lee, S. I. (2017). A Unified Approach to Interpreting Model Predictions. Advances in Neural Information Processing Systems, 30. arXiv. https://arxiv.org/abs/1705.07874 

[2] Sundararajan, M., Taly, A., & Yan, Q. (2017). Axiomatic Attribution for Deep Networks. Proceedings of the 34th International Conference on Machine Learning, 70, 3319-3328. arXiv. https://arxiv.org/abs/1703.01365 

[3] Bach, S., Binder, A., Montavon, G., Klauschen, F., Müller, K. R., & Samek, W. (2015). On pixel-wise explanations for non-linear classifier decisions by layer-wise relevance propagation. PLoS ONE, 10(7), e0130140. https://doi.org/10.1371/journal.pone.0130140 [4] Ribeiro, M. T., Singh, S., & Guestrin, C. (2016). Why Should I Trust You?: Explaining the Predictions of Any Classifier. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 1135–1144. https://arxiv.org/abs/1602.04938

Descubre las oportunidades