Cerrar panel

Cerrar panel

Cerrar panel

Cerrar panel

Tecnología> Programación 11 may 2023

BBVA comparte su librería de código Mercury con la comunidad de desarrolladores ‘open source’

La librería Mercury recopila el código que los científicos de datos de BBVA reutilizan para desarrollar los modelos analíticos integrados en diferentes productos financieros. Siguiendo la filosofía ‘open source’, o de código abierto, el banco publica Mercury en el portal colaborativo Github para que otros programadores puedan utilizarla en sus desarrollos, lo que ayudará a impulsar la innovación empresarial ‘fintech’ y evolucionará la librería con las contribuciones de la comunidad.

Vanessa Pombo Nartallo (BBVA Creative)

El desarrollo de productos basados en inteligencia artificial y ‘machine learning’ requiere una gran inversión de tiempo y recursos para diseñar, implementar y probar algoritmos de datos. En BBVA trabajan más de 900 científicos de datos en diferentes países, que habitualmente necesitan generar soluciones parecidas a retos de negocio similares. Para evitar duplicidades, eficientar los desarrollos y potenciar la globalización y reutilización de sus productos analíticos, la disciplina de Advanced Analytics de Data en BBVA ha impulsado la librería Mercury, que centraliza los algoritmos generados y que ahora hace pública en la plataforma Github para que los programadores externos puedan utilizarla en sus desarrollos.

Los componentes de código presentes en Mercury han sido generados por científicos de datos e ingenieros de ‘machine learning’ de España, México y América Latina para responder a los retos de negocio de áreas tan diversas como Finanzas, Banca Corporativa y de Inversión o desarrollo de soluciones para clientes. En la actualidad, más de un tercio de los casos de uso de análisis avanzados más importantes del banco utilizan código procedente de esta librería, que abarcan una amplia gama de funcionalidades: monitorizar la robustez de los algoritmos, garantizar que cumplen con la regulación, diseñar sistemas de recomendación, como la funcionalidad de la ‘app’ de BBVA que detecta hechos relevantes en los movimientos bancarios de los clientes y les sugiere líneas de acción, o acelerar el proceso de etiquetado de datos con el que el banco ha añadido nuevas categorías de gastos en la aplicación, entre otras.

La comunidad externa de desarrolladores puede acceder libremente al código, que no incluye datos internos ni de clientes, desde Github, donde está alojado, o desde una página web creada al efecto que ayuda a navegar por la información. El principal objetivo de esta liberación es contribuir a impulsar la innovación ‘fintech’. “Aunque tenemos desarrollos de todo tipo, en general se trata de componentes con especial interés para el desarrollo de soluciones analíticas en el entorno financiero”, explica Curro Maturana, responsable de la especialidad de Grandes Modelos de Lenguaje y Mercury en BBVA. “Este tipo de algoritmos no son muy frecuentes en el ámbito ‘open source’, por lo que suponen un valor añadido a la comunidad, especialmente para quienes trabajan en áreas ‘fintech’ o ‘insurtech’”.

“Haciendo públicos nuestros desarrollos analíticos devolvemos a la comunidad parte del valor que nos ha ayudado a generar para nuestros clientes”.

Sus responsables también esperan hacer evolucionar la librería con las contribuciones de la comunidad. “Centralizar y publicar internamente en Mercury el código que generamos nos ha permitido enriquecerlo enormemente con las aportaciones de todos los equipos de Advanced Analytics del banco”, afirma Maturana. “Liberando el repositorio no solo estamos visibilizando el trabajo de nuestros desarrolladores y aportando esta riqueza a toda la comunidad, sino que también esperamos que las contribuciones externas nos ayuden a seguir robusteciendo nuestros algoritmos”.

“Por otro lado, nosotros también utilizamos librerías ‘open source’ para resolver casos de uso en el día a día, como Tensorflow, Spark o Scikit-Learn”, añade. “Haciendo públicos nuestros desarrollos analíticos devolvemos a la comunidad parte del valor que nos ha ayudado a generar para nuestros clientes”.

Algoritmos más robustos y ‘explicables’

Mercury nació en 2019 en BBVA AI Factory, el centro de inteligencia artificial del banco. Dos años después, de la mano de la disciplina de Advanced Analytics de BBVA, se decidió utilizar esta librería para centralizar en un solo repositorio los algoritmos de uso común para múltiples equipos de desarrolladores, así como aquellos con gran potencial de reutilización. Los componentes alojados deben cumplir una serie de requisitos, como aportar un valor añadido a las opciones ya existentes en otras librerías, tener un código testado de alta calidad y ser completamente funcionales.

Los científicos de datos e ingenieros de ‘machine learning’ del banco hacen uso de esta librería reutilizando sus componentes y contribuyendo con otros nuevos desde áreas muy diversas, tras pasar una aprobación previa por parte del equipo responsable de su mantenimiento y organización. De esta forma, los productos de BBVA pueden desarrollarse y llegar a los clientes de los diferentes países con mayor rapidez.

Los desarrolladores externos que accedan a Mercury encontrarán componentes que aportan explicabilidad a sus algoritmos de ‘machine learning’, es decir, entender cómo llega a sus conclusiones o predicciones; una funcionalidad especialmente importante en la industria de los servicios financieros, donde los reguladores exigen que los algoritmos sean comprensibles para asegurar que las decisiones que se toman con su ayuda no presenten riesgos para los clientes.

Con el ‘software’ alojado en esta librería, los científicos de datos también podrán medir la robustez de sus modelos de aprendizaje automático, lo que reduce los riesgos de que arrojen resultados erróneos, o detectar cambios significativos en los datos con los que trabajan los modelos, lo que podría reducir la calidad de sus predicciones, sobre todo en entornos dinámicos como el financiero.

'Blockchain', de las criptomonedas a la innovación del sistema financiero

00:00 32:48