El desarrollo de productos basados en inteligencia artificial (IA) y machine learning (ML) supone una gran inversión de tiempo y de dinero, desde la fase de diseño hasta el proceso de implementación de los algoritmos de datos. Es por ello que el equipo de más de 900 científicos de datos de BBVA ha decidido crear una biblioteca de código abierto ´open source´ bautizada como Mercury.
Gracias a la biblioteca Mercury de BBVA se consigue agilizar los procesos, evitar duplicidades y fomentar la globalización y reutilización de los productos analíticos. Todos esos códigos son compartidos en la plataforma colaborativa Github para que los programadores externos puedan impulsar la innovación empresarial fintech en sus negocios de banca corporativa e inversión.
El equipo de Advanced Analytics Data de BBVA trabaja conjuntamente en sus oficinas de España, México y América Latina para generar un código común que permita acabar con la complejidad de los algoritmos, garantizar el cumplimiento de la normativa vigente y diseñar sistemas de recomendación. Además, impulsa nuevas operaciones como el proceso de etiquetado de datos con el que el banco añade nuevas categorías de gastos en su APP.
Curro Maturana, responsable de la especialidad de Grandes Modelos de Lenguaje y Mercury en BBVA, asegura que este tipo de algoritmos no son muy frecuentes en el ámbito ´open source´, lo que supone un avance en la innovación fintech. No obstante, la clave del éxito de Mercury reside en las contribuciones que otros desarrolladores realicen, permitiendo que sus algoritmos sigan ganando una robustez importante. Desde BBVA se emplean otras librerías ´open source´ para resolver casos, como Spark, Tensorflow o Scikit-Learn.
La esencia de Mercury
Mercury nació en 2019 de la mano de BBVA AI Factory. Se encuentra estructurado en múltiples micro-repositorios, de tal modo que sigue un diseño modular en el que cada uno es independiente y posee más de 300.000 líneas de código. Todos los algoritmos que acoge deben cumplir con una serie de requisitos, especialmente que puedan ser utilizados de manera común por diferentes equipos de desarrolladores. De igual modo, el código debe ser testado de alta calidad y altamente funcional.
Otra de las ventajas que aporta Mercury a los científicos de datos de las diferentes entidades financieras es su poder de medición. Y es que con esta eficiente herramienta los analistas podrán calcular la robustez de sus modelos de ML y reducir el riesgo de emisión de datos erróneos, aportando una mayor calidad en entornos muy cambiantes.
La versión inicial de Mercury poseía funciones limitadas, pero aún así consiguió ir ganando peso en AI Factory gracias a que los científicos de datos fomentaron el proceso de la reutilización de componentes dentro de sus proyectos. De hecho, el equipo de BBVA se ha servido en Mercury de todos los componentes desarrollados con el X-Program, un eficiente dispositivo de experimentación de datos.
La estructuración de Mercury
La biblioteca Mercury tiene la peculiaridad de ser modular, lo que permite a los usuarios instalar solo las partes que precisan. Los micropaquetes independientes en los que se divide son:
-Esquema de datos: Paquete de utilidades que interfiere automáticamente y calcula diferentes estadísticas. Valida si diferentes conjuntos de datos coinciden con el mismo esquema para calcular la deriva.
-Mercurio-explicabilidad: Ofrece métodos y técnicas para interpretar modelos ML, tanto a nivel local como global, ofreciendo una mejor comprensión de cómo funciona un modelo de ML.
-Monitoreo de mercurio: Se trata de un paquete destinado a la monitorización de modelos y el rendimiento de éstos en la producción. De este modo, se pueden detectar cambios en la distribución de datos y estimar la precisión en el momento de la interferencia.
-Carretes de mercurio: Analiza secuencias de eventos extraídos de datos transaccionales, ya sean establecidos de forma manual o automática.
-Resistente al mercurio: Se define como un marco ligero capaz de realizar pruebas robustas en modelos y conjuntos de datos de ML, garantizando que los flujos fuesen sólidos frente a determinadas condiciones (fuga de etiquetas o problemas de esquema de datos de entrada).
-Mercurio-settrie: Se define como una biblioteca de C++ para crear, actualizar y consultar objetos SetTrie, es decir, consultas eficientes de subconjuntos de datos.
La comunidad de usuarios de Mercury no para de crecer y es utilizada en más de un tercio de los análisis avanzados de datos de BBVA. Durante 2023 se espera que esas cifras incluso se dupliquen, demostrando el futuro prometedor de esta eficiente plataforma abierta y colaborativa para los entornos fintech.