Documentación

La Agencia Española de Protección de Datos ha publicado recientemente la traducción al español de la Guía sobre generación de datos sintéticos, elaborada originalmente por la Autoridad de Protección de Datos de Singapur. Este documento ofrece orientación técnica y práctica para personas responsables, encargadas y delegadas de protección de datos sobre cómo implementar esta tecnología que permite simular datos reales manteniendo sus características estadísticas sin comprometer información personal.

La guía destaca cómo los datos sintéticos pueden impulsar la economía del dato, acelerar la innovación y mitigar riesgos en brechas de seguridad. Para ello, presenta casos prácticos, recomendaciones y buenas prácticas orientadas a reducir los riesgos de reidentificación. En este post, analizamos los aspectos clave de la Guía destacando casos de uso principales y ejemplos de aplicación práctica.

¿Qué son los datos sintéticos? Concepto y beneficios

Los datos sintéticos son datos artificiales generados mediante modelos matemáticos específicamente diseñados para sistemas de inteligencia artificial (IA) o aprendizaje automático (ML). Estos datos se crean entrenando un modelo con un conjunto de datos de origen para imitar sus características y estructura, pero sin replicar exactamente los registros originales.

Los datos sintéticos de alta calidad conservan las propiedades estadísticas y los patrones de los datos originales. Por lo tanto, permiten realizar análisis que produzcan resultados similares a los que se obtendrían con los datos reales. Sin embargo, al ser artificiales, reducen significativamente los riesgos asociados con la exposición de información sensible o personal.

Para profundizar en este tema, tienes disponible este Informe monográfico sobre datos sintéticos: ¿Qué son y para qué se usan? con información detallada sobre los fundamentos teóricos, metodologías y aplicaciones prácticas de esta tecnología.

La implementación de datos sintéticos ofrece múltiples ventajas para las organizaciones, por ejemplo:

  • Protección de la privacidad: permiten realizar análisis de datos manteniendo la confidencialidad de la información personal o comercialmente sensible.
  • Cumplimiento normativo: facilitan el seguimiento de regulaciones de protección de datos mientras se maximiza el valor de los activos de información.
  • Reducción de riesgos: minimizan las posibilidades de brechas de datos y sus consecuencias.
  • Impulso a la innovación: aceleran el desarrollo de soluciones basadas en datos sin comprometer la privacidad.
  • Mejora en la colaboración: posibilitan compartir información valiosa entre organizaciones y departamentos de forma segura.

Pasos para generar datos sintéticos

Para implementar correctamente esta tecnología, la Guía sobre generación de datos sintéticos recomienda seguir un enfoque estructurado en cinco pasos:

  1. Conocer los datos: comprender claramente el propósito de los datos sintéticos y las características de los datos de origen que deben preservarse, estableciendo objetivos precisos respecto al umbral de riesgo aceptable y la utilidad esperada.
  2. Preparar los datos: identificar las ideas clave que deben conservarse, seleccionar los atributos relevantes, eliminar o seudonimizar identificadores directos, y estandarizar los formatos y estructuras en un diccionario de datos bien documentado.
  3. Generar datos sintéticos: seleccionar los métodos más adecuados según el caso de uso, evaluar la calidad mediante comprobaciones de integridad, fidelidad y utilidad, y ajustar iterativamente el proceso para lograr el equilibrio deseado.
  4. Evaluar riesgos de reidentificación: aplicar técnicas basadas en ataques para determinar la posibilidad de inferir información sobre individuos o su pertenencia al conjunto original, asegurando que los niveles de riesgo sean aceptables.
  5. Gestionar riesgos residuales: implementar controles técnicos, de gobernanza y contractuales para mitigar los riesgos identificados, documentando adecuadamente todo el proceso.

Aplicaciones prácticas y casos de éxito

Para obtener todas estas ventajas, los datos sintéticos pueden aplicarse en diversos escenarios que responden a necesidades específicas de las organizaciones. La Guía menciona, por ejemplo:

1. Generación de conjuntos de datos para entrenar modelos de IA/ML: los datos sintéticos resuelven el problema de la escasez de datos etiquetados (es decir, que se pueden utilizar) para entrenar modelos de IA. Cuando los datos reales son limitados, los datos sintéticos pueden ser una alternativa rentable. Además, permiten simular eventos extraordinarios o incrementar la representación de grupos minoritarios en los conjuntos de entrenamiento. Una aplicación interesante para mejorar el rendimiento y la representatividad de todos los grupos sociales en los modelos de IA.

2. Análisis de datos y colaboración: este tipo de datos facilitan el intercambio de información para análisis, especialmente en sectores como la salud, donde los datos originales son particularmente sensibles. Tanto en este sector como en otros, proporcionan a las partes interesadas una muestra representativa de los datos reales sin exponer información confidencial, permitiendo evaluar la calidad y potencial de los datos antes de establecer acuerdos formales.

3. Pruebas de software: son muy útiles para el desarrollo de sistemas y la realización de pruebas de software porque permiten utilizar datos realistas, pero no reales en entornos de desarrollo, evitando así posibles brechas de datos personales en caso de comprometerse el entorno de desarrollo.

La aplicación práctica de datos sintéticos ya está demostrando resultados positivos en diversos sectores:

I. Sector financiero: detección de fraudes. J.P. Morgan ha utilizado con éxito datos sintéticos para entrenar modelos de detección de fraude, creando conjuntos de datos con un mayor porcentaje de casos fraudulentos que permitieron mejorar significativamente la capacidad de los modelos para identificar comportamientos anómalos.

II. Sector tecnológico: investigación sobre sesgos en IA. Mastercard colaboró con investigadores para desarrollar métodos de prueba de sesgos en IA mediante datos sintéticos que mantenían las relaciones reales de los datos originales, pero eran lo suficientemente privados como para compartirse con investigadores externos, permitiendo avances que no habrían sido posibles sin esta tecnología.

III. Sector salud: salvaguarda de datos de pacientes. Johnson & Johnson implementó datos sintéticos generados por IA como alternativa a las técnicas tradicionales de anonimización para procesar datos sanitarios, logrando una mejora significativa en la calidad del análisis al representar eficazmente a la población objetivo mientras se protegía la privacidad de los pacientes.

El equilibrio entre utilidad y protección

Es importante destacar que los datos sintéticos no están inherentemente libres de riesgos. La semejanza con los datos originales podría, en determinadas circunstancias, permitir la filtración de información sobre individuos o datos confidenciales. Por ello, resulta crucial encontrar un equilibrio entre la utilidad de los datos y su protección.

Este equilibrio puede lograrse mediante la implementación de buenas prácticas durante el proceso de generación de datos sintéticos, incorporando medidas de protección como:

  • Preparación adecuada de los datos: eliminación de valores atípicos, seudonimización de identificadores directos y generalización de datos granulares.
  • Evaluación de riesgos de reidentificación: análisis de la posibilidad de que se puedan vincular los datos sintéticos con individuos reales.
  • Implementación de controles técnicos: añadir ruido a los datos, reducir la granularidad o aplicar técnicas de privacidad diferencial.

Los datos sintéticos representan una oportunidad excepcional para impulsar la innovación basada en datos mientras se respeta la privacidad y se cumple con las normativas de protección de datos. Su capacidad para generar información estadísticamente representativa pero artificial los convierte en una herramienta versátil para múltiples aplicaciones, desde el entrenamiento de modelos de IA hasta la colaboración entre organizaciones y el desarrollo de software.

Al implementar adecuadamente las buenas prácticas y controles descritos en Guía sobre generación de datos sintéticos que ha traducido la AEPD, las organizaciones pueden aprovechar los beneficios de los datos sintéticos minimizando los riesgos asociados, posicionándose a la vanguardia de la transformación digital responsable. La adopción de tecnologías de mejora de la privacidad como los datos sintéticos no solo representa una medida defensiva, sino un paso proactivo hacia una cultura organizacional que valora tanto la innovación como la protección de datos, aspectos fundamentales para el éxito en la economía digital del futuro.

calendar icon
Blog

La evolución de la IA generativa está siendo vertiginosa: desde los primeros grandes modelos del lenguaje que nos impresionaron con su capacidad para reproducir la lecto-escritura de los humanos, pasando por las avanzadas técnicas de RAG (Retrieval-Augmented Generation) que mejoraron cuantitativamente la calidad de las respuestas proporcionadas y la aparición de agentes inteligentes, hasta llegar a una innovación que redefine nuestra relación con la tecnología: Computer use.

A finales del mes de abril del año 2020, tan solo un mes después de que comenzara un periodo inédito de confinamiento domiciliario de alcance mundial debido a la pandemia mundial del SAR-Covid19, difundíamos desde datos.gob.es los grandes modelos del lenguaje GPT-2 y GPT-3. OpenAI, fundada en 2015, había presentado prácticamente un año antes (febrero del 2019) un nuevo modelo del lenguaje que era capaz de generar texto escrito prácticamente indistinguible del creado por un humano. GPT-2 se había entrenado con un corpus (conjunto de textos preparados para entrenar modelos del lenguaje) de unos 40 GB (Gigabytes) de tamaño (unos 8 millones de páginas web), mientras que la última familia de modelos basados en GPT-4 se estima que han sido entrenados con corpus del tamaño de TB (Terabytes); mil veces más.

En este contexto, es importante hablar de dos conceptos:

  • LLM (Large Language Models): son modelos de lenguaje de gran escala, entrenados con vastas cantidades de datos y capaces de realizar una amplia gama de tareas lingüísticas. Hoy, disponemos de incontables herramientas basadas en estos LLM que, por campos de especialidad, son capaces de generar código de programación, imágenes y videos ultra-realistas y resolver problemas matemáticos complejos. Todas las grandes empresas y organizaciones del sector tecnológico-digital se han lanzado a integrar estas herramientas en sus diferentes productos de software y hardware, desarrollando casos de uso que resuelven u optimizan tareas y actividades concretas que previamente tenían alta intervención humana.
  • Agentes: la experiencia de uso con los modelos de inteligencia artificial cada vez es más completa, de forma que le podemos pedir a nuestra interfaz no sólo respuestas a nuestras preguntas, sino también que realice tareas complejas que requieren integración con otras herramientas informáticas. Por ejemplo, no solo le preguntamos a un chatbot información sobre los mejores restaurantes de la zona, sino que le pedimos que busque disponibilidad de mesa para unas fechas concretas y realice una reserva por nosotros. Esta experiencia de uso extendida es lo que nos proporcionan los agentes de inteligencia artificial. Basados en los grandes modelos del lenguaje, estos agentes son capaces de interaccionar con el mundo exterior (al modelo) y “hablar” con otros servicios mediante API e interfaces de programación preparadas para tal fin.

Computer use

Sin embargo, la capacidad de los agentes para realizar acciones de forma autónoma depende de dos elementos clave: por un lado, su programación concreta -la funcionalidad que se les haya programado o configurado-; por otro lado, la necesidad de que el resto de programas estén preparados para “hablar” con estos agentes. Es decir, sus interfaces de programación han de estar listas para recibir instrucciones de estos agentes. Por ejemplo, la aplicación de reservas del restaurante ha de estar preparada, no solo para recepcionar formularios rellenados por un humano, sino también, peticiones realizadas por un agente que previamente ha sido invocado por un humano mediante lenguaje natural. Este hecho impone una limitación sobre el conjunto de actividades y/o tareas que podemos automatizar desde un interfaz conversacional. Es decir, el interfaz conversacional puede proporcionarnos respuestas casi infinitas a las cuestiones que le planteemos, pero encuentra grandes limitaciones para interactuar con el mundo exterior debido a la falta de preparación del resto de aplicaciones informáticas.

Aquí es donde entra Computer use. Con la llegada del modelo Claude 3.5 Sonnet, la empresa Anthropic ha introducido Computer use, una capacidad en fase beta que permite a la IA interactuar directamente con interfaces gráficas de usuario.

¿Cómo funciona Computer use?

Claude puede mover el cursor de tu ordenador como si fueras tú, hacer clic en botones y escribir texto, emulando la forma en que los humanos operamos con un ordenador. La mejor forma de entender cómo funciona Computer use en la práctica es viéndolo en acción. Aquí os dejamos un link directo al canal de YouTube de la sección específica de Computer use.

Figura 1. Captura del canal de YouTube de Anthropic, sección específica de Computer use.

¿Te animas a probarlo?

Si has llegado hasta aquí, no te puedes quedar sin probarlo con tus propias manos.

A continuación, te proponemos una sencilla guía para poder probar Computer use en un entorno aislado. Es importante tener en cuenta las recomendaciones de seguridad que Antrophic propone en sus guías de Computer use. Esta característica del modelo Claude Sonet puede realizar acciones sobre un ordenador y esto puede ser potencialmente peligroso, por lo que se recomienda revisar cuidadosamente la advertencia de seguridad de Computer use.

Toda la documentación oficial para desarrolladores se encuentra en el repositorio oficial de Github de Antrophic. En este post, nosotros hemos optado por ejecutar Computer use en un entorno de un contenedor de Docker. Es la forma más sencilla y segura de probarlo. Si no lo tienes ya, puedes seguir las sencillas guías oficiales para pre-instalarlo en tu sistema.

Para reproducir esta prueba os proponemos seguir este guion paso a paso:

  1. Antropic API Key. Para interactuar con Claude Sonet necesitas una cuenta de Antropic que puedes crear gratuitamente aquí. Una vez dentro, puedes ir a la sección de API Keys y crear una nueva para tu prueba
  1. Una vez tengas tu API Key, deberás de ejecutar este comando en tu terminal, sustituyendo tu clave donde indica “%your_api_key%”:

3. Si todo ha ido bien, verás estos mensajes en tu terminal y ya solo te queda abrir tu navegador y escribir esta url en la barra de navegación: http://localhost:8080/

Verás que se abre tu interfaz:

Figura 2. Interfaz de Computer use.

Ya puedes emplazar a explorar cómo funciona Computer use. Te sugerimos el siguiente prompt para empezar:

Te proponemos que empieces poco a poco. Por ejemplo, pídele que abra un navegador y busque algo. También puedes pedirle que te de información sobre tu ordenador o sistema operativo. Poco a poco, puedes ir pidiendo tareas más complejas. Nosotros hemos probado este prompt y tras varias pruebas hemos conseguido que Computer use realice la tarea completa.

Abre un navegador, navega hasta el catálogo de datos.gob.es, usa el buscador para localizar un conjunto de datos sobre: Seguridad ciudadana. Siniestralidad Tráfico. 2014; Localiza el fichero en formato csv; descárgalo y ábrelo con libre Office.

Potenciales usos en plataformas de datos como datos.gob.es

A la vista de esta primera versión experimental de Computer use parece que el potencial de la herramienta es muy alto. Podemos imaginar cuantas más cosas podemos hacer gracias a esta herramienta. Aquí os dejamos algunas ideas:

  • Podríamos pedirle al sistema que realice una búsqueda completa de datasets relacionados con una temática concreta y que hiciera un resumen en un documento de los principales resultados. De esta manera, si por ejemplo escribimos un artículo sobre datos del tráfico en España, podríamos obtener de forma desatendida un listado con los principales datasets abiertos de datos de tráfico en España en el catálogo de datos.gob.es.
  • De la misma forma, podríamos solicitar un resumen igual, pero en este caso, no de dataset, sino de artículos de la plataforma.
  • Un ejemplo un poco más sofisticado sería pedirle a Claude, mediante el interfaz conversacional de Computer use que nos haga una serie de llamadas a la API de datos.gob.es para obtener información de ciertos datasets de forma programática. Para ello, abrimos un navegador y nos logueamos en una aplicación como Postman (recordemos en este punto que Computer use está en modo experimental y no nos permite introducir datos sensibles como credenciales de usuario en páginas web). A continuación le podemos pedimos que busque información sobre la API de datos.gob.es y ejecute una llamada http aprovechando que dicha API no requiere autenticación.

A través de estos sencillos ejemplos, esperamos haberte presentado una nueva aplicación de la IA generativa y que hayas entendido el cambio de paradigma que supone esta nueva capacidad. Si la máquina es capaz de emular el uso de un ordenador como lo hacemos los humanos, se abren nuevas oportunidades inimaginables para los próximos meses.


Contenido elaborado por Alejandro Alija, experto en Transformación Digital e Innovación. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su auto

calendar icon
Blog

La enorme aceleración de la innovación en torno a la inteligencia artificial (IA) en estos últimos años gira, en gran medida, en torno al desarrollo de los llamados “modelos fundacionales”. También conocidos como modelos grandes (Large [X] Models o LxM), Los modelos fundacionales, según la definición del Center for Research on Foundation Models (CRFM) del Institute for Human-Centered Artificial Intelligence's (HAI) de la Universidad de Stanford son modelos que han sido entrenados con conjuntos de datos de gran tamaño y gran diversidad y que pueden adaptarse a realizar una amplia gama de tareas mediante técnicas como el ajuste fino (fine-tuning).

Precisamente es esta versatilidad y capacidad de adaptación lo que ha convertido a los modelos fundacionales en la piedra angular de las numerosas aplicaciones de la inteligencia artificial que están desarrollándose, ya que una única arquitectura base puede utilizarse en multitud de casos de uso con un esfuerzo adicional limitado.

Tipos de modelos fundacionales

La "X" en LxM puede sustituirse por varias opciones según el tipo de datos o tareas para las que el modelo está especializado. Los más conocidos por el público son los LLM (Large Language Models), que están en la base de aplicaciones como ChatGPT o Gemini, y que se centran en la comprensión y generación de lenguaje natural. Por su parte, los LVM (Large Vision Models), como DINOv2 o CLIP, están diseñados para interpretar imágenes y vídeos, reconocer objetos o generar descripciones visuales. También existen modelos como como Operator o Rabbit R1 que se encuentran en la categoría de LAM (Large Action Models) y que están orientados a ejecutar acciones a partir de instrucciones complejas.

A medida que han ido surgiendo regulaciones en distintas partes del mundo, también han aparecido otras definiciones que buscan establecer criterios y responsabilidades sobre estos modelos para fomentar la confianza y la seguridad. La definición más relevante para nuestro contexto es la establecida en el Reglamento de IA de la Unión Europea (AI Act), el cual los denomina “modelos de IA de uso general” y los distingue por su “capacidad de realizar de manera competente una amplia variedad de tareas diferenciadas” y porque “suelen entrenarse usando grandes volúmenes de datos y a través de diversos métodos, como el aprendizaje autosupervisado, no supervisado o por refuerzo”.

Modelos fundacionales en español y otras lenguas cooficiales

Históricamente, el inglés ha sido el idioma dominante en el desarrollo de los grandes modelos de IA, hasta el punto de que en torno al 90% de los tokens de entrenamiento de los grandes modelos actuales se han extraído de textos en inglés. Por ello resulta lógico que los modelos más conocidos, por ejemplo la familia GPT de OpenAI, Gemini de Google o Llama de Meta, sean más competentes respondiendo en inglés y presenten menor desempeño al usarlos en otros idiomas​ como el español.

Por tanto, la creación de modelos fundacionales en español, como ALIA,  no es un simple ejercicio técnico o de investigación, sino que se trata de un movimiento estratégico para garantizar que la inteligencia artificial no haga aún más profundas las asimetrías lingüísticas y culturales que ya existen en las tecnologías digitales en general. El desarrollo de ALIA, impulsado por la Estrategia de Inteligencia Artificial 2024 de España, “partiendo del amplio alcance de nuestras lenguas, habladas por 600 millones de personas, tiene como objetivo facilitar el desarrollo de servicios y productos avanzados en tecnologías del lenguaje, ofreciendo una infraestructura marcada por la máxima transparencia y apertura”.

Este tipo de iniciativas no son exclusivas de España. Otros proyectos similares incluyen BLOOM, un modelo multilingüe de 176 mil millones de parámetros desarrollado por más de 1.000 investigadores de todo el mundo y que soporta 46 lenguas naturales y 13 lenguajes de programación. En China, Baidu ha desarrollado ERNIE, un modelo con fuerte capacidad en mandarín, mientras que en Francia el modelo PAGNOL se ha centrado en mejorar las capacidades en francés. Estos esfuerzos paralelos muestran una tendencia global hacia la "democratización lingüística" de la IA.

Desde principios de 2025, están disponibles los primeros modelos de lenguaje en las cuatro lenguas cooficiales, dentro del proyecto ALIA. En la familia de modelos ALIA destaca ALIA-40B, un modelo con 40.000 millones de parámetros, que es por el momento el modelo fundacional multilingüe público más avanzado de Europa​ y que fue entrenado durante más de 8 meses en el supercomputador MareNostrum 5, procesando 6,9 billones de tokens que equivaldrían a unos 33 terabytes de texto (¡unos 17 millones de libros!). Aquí se incluyen todo tipo de documentos oficiales y repositorios científicos en español​, desde los diarios de sesiones del Congreso hasta repositorios científicos o boletines oficiales para asegurar la riqueza y calidad de su conocimiento.

Aunque se trata de un modelo multilingüe, el español y lenguas cooficiales tienen un peso muy superior al habitual en estos modelos, en torno al 20%, ya que el entrenamiento del modelo se diseñó específicamente para estas lenguas, reduciendo la relevancia del inglés y adaptando los tokens a las necesidades del español, catalán, euskera y gallego​. Gracias a ello, ALIA “entiende” mejor nuestras expresiones locales y matices culturales que un modelo genérico entrenado mayoritariamente en inglés​.

Aplicaciones de los modelos fundacionales en español y lenguas cooficiales

Aún es muy pronto para juzgar el impacto en sectores y aplicaciones concretas que puedan tener ALIA y otros modelos que puedan desarrollarse a partir de esta experiencia. Sin embargo, se espera que sirvan de base para mejorar multitud de aplicaciones y soluciones de Inteligencia Artificial:

  • Administración pública y gobierno: ALIA podría dar vida a asistentes virtuales que atiendan a la ciudadanía las 24 horas en trámites como pagar impuestos, renovar el DNI, solicitar becas, etc. ya que está entrenado específicamente con la normativa española. De hecho, ya se anunció un piloto para la Agencia Tributaria usando ALIA, que tendría como objetivo agilizar gestiones internas​.
  • Educación: un modelo como ALIA podría ser también la base de tutores virtuales personalizados que orienten a estudiantes en español y lenguas cooficiales. Por ejemplo, asistentes que expliquen conceptos de matemáticas o historia en lenguaje sencillo y respondan preguntas del alumnado, adaptándose a su nivel ya que, al conocer bien nuestra lengua, serían capaces de aportar matices importantes en las respuestas y entender las dudas típicas de hablantes nativos en estos idiomas. También podrían ayudar a profesores, generando ejercicios o resúmenes de lecturas o asistiéndoles en la corrección de los trabajos de los alumnos.
  • Salud: ALIA podría servir para analizar textos médicos y ayudar a profesionales de la salud con informes clínicos, historiales, folletos informativos, etc. Por ejemplo, podría revisar expedientes de pacientes para extraer elementos clave, o asistir a los profesionales en el proceso de diagnóstico. De hecho, el Ministerio de Sanidad planea una aplicación piloto con ALIA para mejorar la detección temprana de insuficiencias cardíacas en atención primaria.
  • Justicia: en el ámbito jurídico, ALIA entendería términos técnicos y contextos del derecho español mucho mejor que un modelo no especializado ya que ha sido entrenada con vocabulario legal de documentos oficiales. Un asistente legal virtual basado en ALIA podría ser capaz de contestar consultas básicas del ciudadano como, por ejemplo, cómo iniciar un determinado trámite legal, citando la normativa aplicable. La administración de justicia podría beneficiarse también con unas traducciones automáticas de documentos judiciales entre lenguas cooficiales mucho más precisas.

Líneas futuras

El desarrollo de modelos fundaciones en español, al igual que en otros idiomas, comienza a considerarse fuera de Estados Unidos como una cuestión estratégica que contribuye a garantizar la soberanía tecnológica de los países. Por supuesto, será necesario seguir entrenando versiones más avanzadas (se apunta a modelos de hasta 175 mil millones de parámetros, que serían equiparables a los más potentes del mundo​), incorporando nuevos datos abiertos, y afinando las aplicaciones. Desde la Dirección del Dato y la SEDIA se pretende continuar apoyando el crecimiento de esta familia de modelos, para mantenerla en vanguardia y asegurar su adopción.

Por otra parte, estos primeros modelos fundacionales en español y lenguas cooficiales se han centrado inicialmente en el lenguaje escrito, así que la siguiente frontera natural podría estar en la multimodalidad. Integrar la capacidad de gestionar imágenes, audio o vídeo en español junto con el texto multiplicaría sus aplicaciones prácticas ya que en la interpretación de imágenes en español es uno de los ámbitos donde se detectan mayores deficiencias en los grandes modelos genéricos.

También habrá que vigilar los aspectos éticos para asegurarse que estos modelos no perpetúen sesgos y sean útiles para todos los colectivos, incluyendo aquellos que hablan en distintas lenguas o que tienen diferentes niveles educativos. En este aspecto la  Inteligencia Artificial Explicable (XAI) no es algo opcional, sino un requisito fundamental para garantizar su adopción responsable. La Agencia Nacional de Supervisión de la IA, la comunidad investigadora y la propia sociedad civil tendrán aquí un rol importante.


Contenido elaborado por Jose Luis Marín, Senior Consultant in Data, Strategy, Innovation & Digitalization. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.

calendar icon
Entrevista

¿Sabías que las habilidades de ciencia de datos están entre las más demandadas por las empresas? En este pódcast, te vamos a contar cómo puedes formarte en este campo, de manera autodidacta. Para ello, contaremos con dos expertos en ciencia de datos:

  • Juan Benavente, ingeniero industrial e informático con más de 12 años de experiencia en innovación tecnológica y transformación digital. Además, lleva años formando a nuevos profesionales en escuelas tecnológicas, escuelas de negocio y universidades.
  • Alejandro Alija, doctor en física, científico de datos y experto en transformación digital. Además de su amplia experiencia profesional enfocada en el Internet of Things (internet de las cosas), Alejandro también trabaja como profesor en diferentes escuelas de negocio y universidades.

 

Escuchar el pódcast completo

Resumen de la entrevista

  1. ¿Qué es la ciencia de datos? ¿Por qué es importante y para qué nos puede servir? 

Alejandro Alija: La ciencia de datos podría definirse como una disciplina cuyo principal objetivo es entender el mundo, los procesos propios de un negocio y de la vida, analizando y observando los datos. En los últimos 20 años ha cobrado una relevancia excepcional debido a la explosión en la generación de datos, principalmente por la irrupción de internet y del mundo conectado.

Juan Benavente:  El término ciencia de datos ha ido evolucionando desde su creación. Hoy, un científico de datos es la persona que está trabajando en el nivel más alto en análisis de datos, frecuentemente asociado con la construcción de algoritmos de machine learning o inteligencia artificial para empresas o sectores específicos, como predecir u optimizar la fabricación en una planta.

La profesión está evolucionando rápidamente, y probablemente en los próximos años se vaya fragmentando. Hemos visto aparecer nuevos roles como ingenieros de datos o especialistas en MLOps. Lo importante es que hoy cualquier profesional, independientemente de su área, necesita trabajar con datos. No cabe duda de que cualquier posición o empresa requiere análisis de datos, cada vez más avanzados. Da igual si estás en marketing, ventas, operaciones o en la universidad. Cualquiera hoy en día está trabajando con datos, manipulándolos y analizándolos. Si además aspiramos a la ciencia de datos, que sería el mayor nivel de expertise, estaremos en una posición muy beneficiosa. Pero, sin duda, recomendaría a cualquier profesional que tenga esto en radar.

  1. ¿Cómo os iniciasteis en la ciencia de datos y qué hacéis para manteneros actualizados? ¿Qué estrategias recomendaríais tanto para principiantes como para perfiles más experimentados?

Alejandro Alija: Mi formación básica es en física, e hice mi doctorado en ciencia básica. En realidad, podría decirse que cualquier científico, por definición, es un científico de datos, porque la ciencia se basa en formular hipótesis y demostrarlas con experimentos y teorías. Mi relación con los datos comenzó temprano en la academia. Un punto de inflexión en mi carrera fue cuando empecé a trabajar en el sector privado, específicamente en una compañía de gestión medioambiental que se dedica a medir y observar la contaminación atmosférica. El medio ambiente es un campo que tradicionalmente es gran generador de datos, especialmente por ser un sector regulado donde las administraciones y empresas privadas están obligadas, por ejemplo, a registrar los niveles de contaminación atmosférica en determinadas condiciones. Encontré series históricas de hasta 20 años de antigüedad que estaban a mi disposición para analizar. A partir de ahí empezó mi curiosidad y me especialicé en herramientas concretas para analizar y entender lo que está ocurriendo en el mundo.

Juan Benavente: Yo me identifico con lo que ha comentado Alejandro porque tampoco soy informático. Me formé en ingeniería industrial y aunque la informática es uno de mis intereses, no fue mi base. A diferencia, hoy en día,  sí veo que se están formando más especialistas desde la universidad. Actualmente, un científico de datos tiene muchas skills a la espalda como cuestiones de estadística, matemáticas y la capacidad de entender todo lo que pasa en el sector. Yo he ido adquiriendo estos conocimientos en base a la práctica. Sobre cómo mantenerse actualizado, yo creo que, en muchos casos, puedes estar en contacto con empresas que están innovando en este campo. También en eventos sectoriales o tecnológicos se puede aprender mucho. Yo empecé en las smart cities y he ido pasando por el mundo industrial hasta aprender poco a poco.

Alejandro Alija: Por añadir otra fuente en la que mantenerse actualizado. A parte de las que ha comentado Juan, creo que es importante identificar lo que llamamos outsiders, los fabricantes de tecnologías, los actores del mercado. Son una fuente de información muy útil para estar actualizado: identificar sus estrategias de futuros y por qué apuestan.

  1. Pongámonos en el caso hipotético de que alguien con pocos o nulos conocimientos técnicos, quiera aprender ciencia de datos, ¿por dónde empieza?

Juan Benavente: En formación, me he encontrado perfiles muy diferentes: desde gente que acabe de salir de la carrera hasta perfiles que se han formado en ámbitos muy diferentes y encuentran en la ciencia de datos una oportunidad para transformarse y dedicarse a esto. Pensando en alguien que está empezando, creo que lo mejor es poner en práctica tus conocimientos. En proyectos en los que he trabajado definíamos la metodología en tres fases: una primera fase más de aspectos teóricos teniendo en cuenta matemáticas, programación y todo lo que necesita saber un científico de datos; una vez tengas esas bases, cuanto antes empieces a trabajar y practicar esos conocimientos, mejor. Creo que la habilidad agudiza el ingenio y, tanto para estar actualizado, como para formarte e ir adquiriendo conocimiento útil, cuanto antes entres en proyecto, mejor. Y más, hablando de un mundo que se actualiza tan recurrentemente. Estos últimos años, la aparición de la IA generativa ha supuesto otras oportunidades. En estas herramientas también hay oportunidades para nuevos perfiles que quieran formarse. Aunque no seas experto en programación tienes herramientas que te puedan ayudar a programar, y lo mismo te puede suceder en matemáticas o estadística.

Alejandro Alija: Por complementar un poco lo que dice Juan desde una perspectiva diferente. Creo que vale la pena destacar la evolución de la profesión de ciencia de datos. Recuerdo cuando se hizo famoso aquel paper en el que se hablaba de "la profesión más sexy del mundo", que se volvió muy viral, aunque luego las cosas se fueron ajustando. Los primeros pobladores del mundo de la ciencia de datos no venían tanto de ciencias de la computación o informática. Eran más los outsiders: físicos, matemáticos, con bases robustas en matemáticas y física, e incluso algunos ingenieros que por su trabajo y desarrollo profesional terminaban utilizando muchas herramientas del ámbito informático. Poco a poco se ha ido balanceando. Ahora es una disciplina que sigue teniendo esas dos vertientes: personas que vienen del mundo de la física y matemáticas hacia los datos más básicos, y personas que vienen con conocimientos de programación. Cada uno sabe lo que tiene que balancear de su caja de herramientas. Pensando en un perfil junior que esté empezando, creo que una cosa muy importante - y así lo vemos cuando damos clase - es la capacidad de programación. Diría que tener skills de programación no es solo un plus, sino un requisito básico para avanzar en esta profesión. Es verdad que algunas personas pueden desempeñarse bien sin muchas habilidades de programación, pero yo diría que un principiante necesita tener esas primeras skills de programación con un toolset básico. Estamos hablando de lenguajes como Python y R, que son los lenguajes de cabecera. No se trata de ser un gran codificador, pero sí de tener conocimientos básicos para poder arrancar. Luego, evidentemente, la formación específica sobre fundamentos matemáticos de la ciencia de datos es crucial. La estadística fundamental y la estadística más avanzada son complementos que, si se tienen, harán que la persona avance mucho más rápido en la curva de aprendizaje de la ciencia de datos. En tercer lugar, diría que la especialización en herramientas particulares es importante. Hay gente que se orienta más hacia la ingeniería de datos, otros hacia el mundo de los modelos. Lo ideal es especializarse en algunos frameworks y utilizarlos de manera conjunta, de la forma más óptima posible.

  1. Además de como profesores, ambos trabajáis en empresas tecnológicas, ¿qué certificaciones técnicas son más valoradas en el sector empresarial y qué fuentes abiertas de conocimiento recomendáis para prepararse para ellas?

Juan Benavente: Personalmente, no es lo que más miro, pero creo que puede ser relevante, sobre todo para personas que están comenzando y que necesitan ayuda para estructurar su forma de aproximarse al problema y entenderlo. Recomiendo certificaciones de tecnologías que están en uso en cualquier empresa donde quieras acabar trabajando. Especialmente de proveedores de cloud computing y herramientas ampliamente extendidas de análisis de datos. Son certificaciones que recomendaría para alguien que quiere aproximarse a este mundo y necesita una estructura que le ayude. Cuando no tienes una base de conocimiento, puede ser un poco confuso entender por dónde empezar. Quizás deberías reforzar primero la programación o los conocimientos matemáticos, pero todo puede parecer un poco lioso. Donde sin duda te ayudan estas certificaciones es, además de reforzar conceptos, para garantizar que te mueves bien y conoces el ecosistema de herramientas típico con el que vas a trabajar mañana. No se trata solo de conceptos teóricos, sino de conocer los ecosistemas que te encontrarás cuando empieces a trabajar, ya sea fundando tu propia empresa o trabajando en una empresa establecida. Te facilita mucho conocer el ecosistema típico de herramientas. Llámalo Microsoft Computing, Amazon u otros proveedores de este tipo de soluciones. Así podrás centrarte más rápidamente en el trabajo en sí, y no tanto en todas las herramientas que lo rodean. Creo que este tipo de certificaciones son útiles, sobre todo para perfiles que se están acercando a este mundo con ilusión. Les ayudará tanto a estructurarse como a aterrizar bien en su destino profesional. Probablemente también se valoren en los procesos de selección.

Alejandro Alija: Si alguien nos escucha y quiere directrices más específicas, se podría estructurar en bloques. Hay una serie de cursos masivos en línea que, para mí, fueron un punto de inflexión. En mis comienzos, traté de inscribirme en varios de estos cursos en plataformas como Coursera, edX, donde incluso los propios fabricantes de tecnología son los que diseñan estos cursos. Creo que este tipo de cursos online masivos, que se pueden hacer de manera autoservicio, proporcionan una buena base inicial. Un segundo bloque serían los cursos y las certificaciones de los grandes proveedores de tecnología, como Microsoft, Amazon Web Services, Google y otras plataformas que son referentes en el mundo de los datos. Estas compañías tienen la ventaja de que sus rutas de aprendizaje están muy bien estructuradas, lo que facilita el crecimiento profesional dentro de sus propios ecosistemas. Se pueden ir combinando certificaciones de diferentes proveedores. Para una persona que quiera dedicarse a este campo, el camino va desde las certificaciones más sencillas hasta las más avanzadas, como ser un arquitecto de soluciones en el área de datos o un especialista en un servicio o producto específico de análisis de datos. Estos dos bloques de aprendizaje están disponibles en internet, la mayoría son abiertos y gratuitos o cercanos a la gratuidad. Más allá del conocimiento, lo que se valora es la certificación, especialmente en las compañías que buscan estos perfiles profesionales.

  1. Además de la formación teórica, la práctica es clave, uno de los métodos más interesantes para aprender es replicar ejercicios paso a paso. En este sentido, desde datos.gob.es ofrecemos recursos didácticos, muchos de ellos desarrollados por vosotros como expertos en el proyecto, ¿nos podéis contar en qué consisten estos ejercicios? ¿Cómo se plantean?

Alejandro Alija: El planteamiento que siempre hicimos fue pensado para un público amplio, sin requisitos previos complejos. Queríamos que cualquier usuario del portal pudiera replicar los ejercicios, aunque es evidente que cuanto más conocimiento se tiene, más se puede aprovechar. Los ejercicios tienen una estructura bien definida: un apartado documental, generalmente un post de contenido o un informe que describe en qué consiste el ejercicio, qué materiales se necesitan, cuáles son los objetivos y qué se pretende conseguir. Además, acompañamos cada ejercicio con dos recursos adicionales. El primer recurso es un repositorio de código donde subimos los materiales necesarios, con una descripción breve y el código del ejercicio. Puede ser un notebook de Python, un Jupyter Notebook o un script simple, donde está el contenido técnico. Y luego otro elemento fundamental que creemos importante y que va dirigido a facilitar la ejecución de los ejercicios. En ciencia de datos y programación, los usuarios no especialistas suelen tener dificultades para configurar un entorno de trabajo. Un ejercicio en Python, por ejemplo, requiere tener instalado un entorno de programación, conocer las librerías necesarias y realizar configuraciones que para profesionales son triviales, pero para principiantes pueden ser muy complejas. Para mitigar esta barrera, publicamos la mayoría de nuestros ejercicios en Google Colab, una herramienta maravillosa y abierta. Google Colab es un entorno de programación web donde el usuario solo necesita un navegador para acceder. Básicamente, Google nos proporciona un ordenador virtual donde podemos ejecutar nuestros programas y ejercicios sin necesidad de configuraciones especiales. Lo importante es que el ejercicio esté listo para usarse y siempre lo verificamos en este entorno, lo que facilita enormemente el aprendizaje para usuarios principiantes o con menos experiencia técnica.

Juan Benavente: Sí, siempre planteamos un enfoque orientado para cualquier usuario, paso a paso, intentando que sea abierto y accesible. Se busca que cualquiera pueda ejecutar un ejercicio sin necesidad de configuraciones complejas, centrándose en temáticas lo más cercanas a la realidad que sea posible. Aprovechamos, muchas veces, datos abiertos publicados por entidades como la DGT u otros organismos para hacer análisis realistas. Hemos desarrollado ejercicios muy interesantes, como predicciones del mercado energético, análisis de materiales críticos para baterías y electrónica, que permiten aprender no solo tecnología, sino también sobre la temática específica. En seguida puedes ponerte manos a la obra, no solo aprender, sino además averiguar sobre la temática.

  1. Para cerrar, nos gustaría que pudierais ofrecer un consejo más orientado a actitud que a conocimientos técnicos, ¿qué le diríais a alguien que esté empezando en ciencia de datos?

Alejandro Alija:  En cuanto a un consejo de actitud para alguien que está empezando en ciencia de datos, sugiero ser valiente. No hay que preocuparse por no estar preparado, porque en este campo todo está por hacer y cualquier persona puede aportar valor. La ciencia de datos tiene múltiples vertientes: hay profesionales más cercanos al mundo de negocio que pueden aportar conocimientos valiosos, y otros más técnicos que necesitan comprender el contexto de cada área. Mi consejo es formarse con los recursos disponibles sin asustarse, porque, aunque el camino parezca complejo, las oportunidades son muy altas. Como consejo técnico, es importante tener sensibilidad hacia el desarrollo y uso de datos. Cuanta más comprensión se tenga de este mundo, más fluida será la aproximación a los proyectos.

Juan Benavente: Suscribo el consejo de ser valiente y añado una reflexión sobre la programación: mucha gente encuentra atractivo el concepto teórico, pero cuando llegan a la práctica y ven la complejidad de programar, algunos se desaniman por falta de conocimientos previos o expectativas diferentes. Es importante añadir los conceptos de paciencia y constancia. Al comenzar en este campo, te enfrentas a múltiples áreas que necesitas dominar: programación, estadística, matemáticas, y conocimiento específico del sector en el que trabajarás, ya sea marketing, logística u otro ámbito. La expectativa de convertirse en un experto rápidamente no es realista. Es una profesión que, aunque se puede comenzar sin miedo y colaborando con profesionales, requiere un recorrido y un proceso de aprendizaje. Hay que ser constante y paciente, gestionando las expectativas adecuadamente. La mayoría de las personas que llevan tiempo en este mundo coinciden en que no se arrepienten de dedicarse a la ciencia de datos. Es una profesión muy atractiva donde puedes aportar valor significativo, con un componente tecnológico importante. Sin embargo, el camino no siempre es directo. Habrá proyectos complejos, momentos de frustración cuando los análisis no arrojan los resultados esperados o cuando trabajar con datos resulta más desafiante de lo previsto. Pero mirando hacia atrás, son pocos los profesionales que se arrepienten de haber invertido tiempo y esfuerzo en formarse y desarrollarse en este campo. En resumen, los consejos fundamentales son: valentía para empezar, constancia en el aprendizaje y desarrollo de habilidades de programación.

Suscríbete a nuestro perfil de Spotify para estar al día de nuestros pódcasts

Clips de la entrevista

 1. ¿Merece la pena formarse en ciencia de datos?

2. ¿Cómo se plantean los ejercicios de ciencia de datos de datos.gob.es?

 

3. ¿Qué es la ciencia de datos? ¿Qué competencias son necesarias?

calendar icon
Blog

La Unión Europea se encuentra a la vanguardia del desarrollo de la inteligencia artificial (IA) segura, ética y centrada en las personas. A través de un marco reglamentario sólido, basado en los derechos humanos y valores fundamentales, la UE está construyendo un ecosistema de IA que beneficia simultáneamente a la ciudadanía, las empresas y las administraciones públicas. Como parte de su compromiso por el correcto desarrollo de esta tecnología, la Comisión Europea ha propuesto un conjunto de acciones para impulsar su excelencia.

En este sentido, destaca una normativa pionera que establece un marco jurídico global: la Ley de IA. En ella, los modelos de inteligencia artificial se clasifican según su nivel de riesgo y se establecen obligaciones concretas para los proveedores relativas a los datos y su gobernanza. Paralelamente, el Plan Coordinado sobre la IA actualizado en 2021 establece una hoja de ruta para impulsar la inversión, armonizar políticas y fomentar la adopción de la IA en toda la UE. 

España está alineada con Europa en esta materia y por ello cuenta con una estrategia para acelerar su desarrollo y expansión. Además, recientemente, se ha aprobado la trasposición de la ley IA, con el anteproyecto de ley para un uso ético, inclusivo y beneficioso de la inteligencia artificial.

Proyectos europeos que transforman sectores clave

En este contexto, la UE está financiando numerosos proyectos que utilizan tecnologías de inteligencia artificial para resolver desafíos en diversos ámbitos. A continuación, destacamos algunos de los más innovadores, algunos de ellos ya finalizados y otros en marcha:

Agricultura y sostenibilidad alimentaria

Proyectos actualmente en curso:

  • ANTARES: desarrolla tecnologías de sensores inteligentes y big data para ayudar a los agricultores a producir más alimentos de manera sostenible, beneficiando a la sociedad, los ingresos agrícolas y el medio ambiente.

Ejemplos de otros proyectos ya finalizados:

  • Pantheon: desarrolló un sistema de control y adquisición de datos, equivalente al industrial SCADA, para la agricultura de precisión en grandes huertos de avellanas, aumentando la producción, reduciendo insumos químicos y simplificando la gestión.

  • Trimbot2020: investigó tecnologías de robótica y visión para crear el primer robot de jardinería para exteriores, capaz de navegar por terrenos variados y recortar rosales, setos y topiarios.

Industria y manufactura

Proyectos actualmente en curso:

  • SERENA: aplica técnicas de IA para predecir necesidades de mantenimiento de equipos industriales, reduciendo costes y tiempo, y mejorando la productividad de los procesos de producción.

  • SecondHands: ha desarrollado un robot capaz de ofrecer ayuda proactiva a técnicos de mantenimiento, reconociendo la actividad humana y anticipando sus necesidades, lo que aumenta la eficiencia y productividad en entornos industriales.

Ejemplos de otros proyectos ya finalizados:

  • QU4LITY: combinó datos e IA para aumentar la sostenibilidad de la fabricación, proporcionando un modelo de fabricación de cero defectos basado en datos compartidos, amigable para las PYME, estandarizado y transformador.

  • KYKLOS 4.0: estudió cómo los sistemas ciberfísicos, la gestión del ciclo de vida del producto, la realidad aumentada y la IA pueden transformar la fabricación circular mediante siete proyectos piloto a gran escala.

Transporte y movilidad

Proyectos actualmente en curso

  • VI-DAS: proyecto de una empresa española que trabaja en sistemas avanzados de asistencia al conductor y ayudas a la navegación, combinando la comprensión del tráfico con la consideración del estado físico, mental y conductual del conductor para mejorar la seguridad vial.

  • PILOTING: adapta, integra y demuestra soluciones robóticas en una plataforma integrada para la inspección y mantenimiento de refinerías, puentes y túneles. Uno de sus focos es el impulso de la producción y acceso a datos de inspecciones.

Ejemplos de otros proyectos ya finalizados:

  • FABULOS: ha desarrollado y probado un sistema de transporte público local que utiliza minibuses autónomos, demostrando su viabilidad y promoviendo la introducción de tecnologías robóticas en la infraestructura pública.

Investigación en impacto social

Proyectos actualmente en curso:

  • HUMAINT: proporciona una comprensión multidisciplinaria del estado actual y evolución futura de la inteligencia de las máquinas y su impacto potencial en el comportamiento humano, enfocándose en capacidades cognitivas y socioemocionales.

  • AI Watch: monitorea la capacidad industrial, tecnológica y de investigación, las iniciativas políticas en los Estados miembros, la adopción y desarrollos técnicos de la IA y su impacto en la economía, sociedad y servicios públicos.

Ejemplos de otros proyectos ya finalizados:

  • TECHNEQUALITY: examinó las consecuencias sociales potenciales de la era digital, estudiando cómo la IA y los robots afectan al trabajo y cómo la automatización puede impactar de manera diferente a diversos grupos sociales.

Salud y bienestar

Proyectos actualmente en curso:

  • DeepHealth: desarrolla herramientas avanzadas para el procesamiento de imágenes médicas y modelos predictivos, facilitando el trabajo diario del personal sanitario sin necesidad de combinar múltiples herramientas.

  • BigO: recopila y analiza datos anónimos sobre patrones de comportamiento infantil y su entorno para extraer evidencias sobre factores locales involucrados en la obesidad infantil.

Ejemplos de otros proyectos ya finalizados:

  • PRIMAGE: ha creado una plataforma basada en la nube para apoyar la toma de decisiones relativa a tumores sólidos malignos, ofreciendo herramientas predictivas para su diagnóstico, pronóstico y seguimiento, mediante biomarcadores de imagen y simulación del crecimiento tumoral.

  • SelfBACK: proporcionó apoyo personalizado a pacientes con dolor lumbar a través de una aplicación móvil, utilizando datos recogidos por sensores para adaptar las recomendaciones a cada usuario.

  • EYE-RISK: desarrolló herramientas que predicen la probabilidad de desarrollar enfermedades oculares relacionadas con la edad y medidas para reducir este riesgo, incluyendo un panel diagnóstico para evaluar la predisposición genética.

  • Solve-RD: mejoró el diagnóstico de enfermedades raras mediante la agrupación de datos de pacientes y métodos genéticos avanzados.

El futuro de la IA en Europa

Estos ejemplos, tanto pasados como presentes, son casos de uso muy interesantes del desarrollo de la inteligencia artificial en Europa. No obstante, la apuesta de la UE por la IA también es a futuro. Y se refleja en un ambicioso plan de inversión: la Comisión planea invertir 1.000 millones de euros anuales en IA, procedentes de los programas Europa Digital y Horizonte Europa, con el objetivo de atraer más de 20.000 millones de euros de inversión total en IA al año durante esta década.

El desarrollo de una IA ética, transparente y centrada en el ser humano es ya un objetivo de la UE que va más allá del marco jurídico. Con un enfoque práctico, la Unión Europea financia proyectos que no solo impulsan la innovación tecnológica, sino que abordan retos sociales fundamentales, desde la salud hasta el cambio climático, construyendo un futuro más sostenible, inclusivo y próspero para todos los ciudadanos europeos.

calendar icon
Noticia

No hay duda de que la inteligencia artificial se ha convertido en un pilar fundamental de la innovación tecnológica. Hoy en día, mediante inteligencia artificial (IA) se pueden crear chatbots especializados en datos abiertos, aplicaciones que faciliten el trabajo profesional e incluso un gemelo digital de la Tierra para anticiparse a desastres naturales.

Las posibilidades son infinitas, sin embargo, el futuro de la IA también tiene retos a superar para que los modelos sean más inclusivos, accesibles y transparentes. En este sentido, la Unión Europea está desarrollando diversas iniciativas para conseguir avanzar en este campo.

Marco regulatorio europeo a favor de una IA más abierta y transparente

El planteamiento de la UE en materia de IA busca ofrecer a los ciudadanos la confianza necesaria para adoptar estas tecnologías y animar a las empresas a desarrollarlas. Para ello, el Reglamento Europeo de IA establece unas pautas de desarrollo de la inteligencia artificial alineadas con los valores europeos de privacidad, seguridad y diversidad cultural. Por otro lado, el Reglamento de Gobernanza de Datos (DGA) define que se debe garantizar un acceso amplio a los datos sin comprometer derechos de propiedad intelectual, privacidad y equidad.

Junto con la Ley de Inteligencia Artificial, la actualización del Plan Coordinado sobre la IA garantiza la seguridad y los derechos fundamentales de las personas y las empresas, reforzando al mismo tiempo la inversión y la innovación en todos los países de la UE. La Comisión también ha puesto en marcha un paquete de innovación en materia de inteligencia artificial para ayudar a las empresas emergentes y pymes europeas a que desarrollen una IA fiable que respete los valores y normas de la UE.

Otras instituciones también están trabajando en el impulso de una inteligencia impulsando los modelos de IA de código abierto como una solución muy interesante. Un informe reciente de Open Future y Open Source Initiative (OSI) define cómo debería ser la gobernanza de datos en los modelos de IA open source. Uno de los desafíos que destaca el informe es, precisamente, lograr un equilibrio entre apertura de datos y derechos sobre los mismos, conseguir más transparencia y evitar sesgos culturales. De hecho, los expertos en la materia Ricard Martínez y Carmen Torrijos debatieron sobre este tema en el pódcast de datos.gob.es.

El proyecto OpenEuroLLM

Con el objetivo de solventar los posibles desafíos y planteándose como una solución innovadora y abierta, la Unión Europea, a través del programa Europa Digital ha presentado  A través de este proyecto de inteligencia artificial de código abierto se esperan crear modelos de lenguaje eficientes, transparentes y alineados con la normativa europea de IA.

El proyecto OpenEuroLLM tiene como meta principal el desarrollo de modelos de lenguaje de última generación que sirvan para una amplia variedad de aplicaciones tanto públicas como privadas. Entre los objetivos más destacados, podemos mencionar:

  1. Extender las capacidades multilingües de los modelos existentes: esto incluye no solo las lenguas oficiales de la Unión Europea, sino también otras lenguas que son de interés social y económico. Europa es un continente rico en diversidad lingüística, y el proyecto busca reflejar esa diversidad en los modelos de IA.
  2. Acceso sostenible a modelos fundamentales: los modelos desarrollados dentro del proyecto serán fáciles de acceder y estarán listos para ser ajustados a diversas aplicaciones. Esto no solo beneficiará a grandes empresas, sino también a pequeñas y medianas empresas (PYMES) que deseen integrar la IA en sus procesos sin enfrentar barreras tecnológicas.
  3. Evaluación de resultados y alineación con la normativa europea: los modelos serán evaluados de acuerdo con rigurosos estándares de seguridad y alineación con el Reglamento Europeo de IA y otros marcos regulatorios europeos. Esto garantizará que las soluciones de IA sean seguras y respetuosas con los derechos fundamentales.
  4. Transparencia y accesibilidad: una de las premisas del proyecto es compartir de manera abierta las herramientas, procesos y resultados intermedios de los procesos de entrenamiento. Esto permitirá que otros investigadores y desarrolladores puedan reproducir, mejorar y adaptar los modelos para sus propios propósitos.
  5. Fomento de la comunidad: OpenEuroLLM no se limita a la creación de modelos, sino que también tiene como objetivo construir una comunidad activa y comprometida, tanto en el sector público como en el privado, que pueda colaborar, compartir conocimientos y trabajar en conjunto para avanzar en la investigación de IA.

El Consorcio OpenEuroLLM: un proyecto colaborativo y multinacional

El proyecto OpenEuroLLM está siendo desarrollado por un consorcio de 20 instituciones europeas de investigación, empresas tecnológicas y centros de supercomputación, bajo la coordinación de la Universidad de Charles (República Checa) y la colaboración de Silo GenAI (Finlandia). El consorcio reúne a algunas de las instituciones y empresas líderes en el campo de la inteligencia artificial en Europa, creando una colaboración multinacional para desarrollar modelos de lenguaje de código abierto.

Entre las principales instituciones que participan en el proyecto se encuentran universidades de renombre como la Universidad de Helsinki (Finlandia) o la Universidad de Oslo (Noruega), así como empresas tecnológicas como Aleph Alpha Research (Alemania) o la empresa ilicitana prompsit (España), entre otras. Además, los centros de supercomputación como Barcelona Supercomputing Center (España) o SURF (Países Bajos) proporcionan la infraestructura necesaria para entrenar modelos a gran escala.

Diversidad lingüística, transparencia y conformidad con las normas de la UE

Uno de los mayores desafíos de la inteligencia artificial globalizada es la inclusión de múltiples idiomas y la preservación de las diferencias culturales. Europa, con su vasta diversidad lingüística, presenta un entorno único para abordar estos problemas. OpenEuroLLM se compromete a preservar esa diversidad y garantizar que los modelos de IA desarrollados sean sensibles a las variaciones lingüísticas y culturales de la región.

Como hemos visto al inicio del post, el desarrollo tecnológico debe ir de la mano de los valores éticos y responsables. En este sentido, una de las características clave del proyecto OpenEuroLLM es su enfoque en la transparencia. Los modelos, los datos, la documentación, el código de entrenamiento y las métricas de evaluación estarán completamente disponibles para el público. Esto permitirá que investigadores y desarrolladores puedan auditar, modificar y mejorar los modelos, garantizando un enfoque abierto y colaborativo.

Además, el proyecto se alinea con las estrictas normativas europeas de IA. OpenEuroLLM está diseñado para cumplir con la Ley de IA de la UE, que establece criterios rigurosos para garantizar la seguridad, la equidad y la privacidad en los sistemas de inteligencia artificial.

Democratización del acceso a la IA

Uno de los logros más importantes de OpenEuroLLM es la democratización del acceso a la IA de alto rendimiento. Los modelos de código abierto permitirán que empresas, instituciones académicas y organizaciones del sector público de toda Europa tengan acceso a tecnología de vanguardia, independientemente de su tamaño o presupuesto.

Esto es especialmente relevante para las pequeñas y medianas empresas (PYMES), que a menudo enfrentan dificultades para acceder a soluciones de IA debido a los altos costos de licencias o las barreras tecnológicas. OpenEuroLLM eliminará estas barreras y permitirá que las empresas desarrollen productos y servicios innovadores utilizando IA, lo que contribuirá al crecimiento económico de Europa.

El proyecto OpenEuroLLM también es una apuesta de la UE por la soberanía digital que está invirtiendo de manera estratégica en el desarrollo de infraestructura tecnológica que reduzca la dependencia de actores globales y refuerce la competitividad europea en el ámbito de la inteligencia artificial. Este es un paso importante hacia una inteligencia artificial que no solo sea más avanzada, sino también más justa, segura y responsable.

calendar icon
Blog

La creciente adopción de sistemas de inteligencia artificial (IA) en ámbitos críticos como la administración pública, los servicios financieros o la atención sanitaria ha puesto en primer plano la necesidad de transparencia algorítmica. La complejidad de los modelos de IA que se utilizan para tomar decisiones como la concesión de un crédito o la realización de un diagnóstico médico, especialmente en lo que se refiere a algoritmos de aprendizaje profundo, a menudo da lugar a lo que comúnmente se conoce como el problema de la "caja negra", esto es, la dificultad de interpretar y comprender cómo y por qué un modelo de IA llega a una determinada conclusión. Los LLM o SLM que tanto utilizamos últimamente son un claro ejemplo de un sistema de caja negra donde ni los propios desarrolladores son capaces de prever sus comportamientos.

En sectores regulados, como el financiero o el sanitario, las decisiones basadas en IA pueden afectar significativamente la vida de las personas y, por tanto, no es admisible que generan dudas sobre su posible sesgo o atribución de responsabilidades. Por ello, los gobiernos han comenzado a desarrollar marcos normativos como el Reglamento de Inteligencia Artificial que exigen mayor explicabilidad y supervisión en el uso de estos sistemas con el fin adicional de generar confianza en los avances de la economía digital.

La inteligencia artificial explicable (conocida como XAI, del inglés explainable artificial intelligence) es la disciplina que surge como respuesta a este desafío, proponiendo métodos para hacer comprensibles las decisiones de los modelos de IA. Al igual que en otras áreas relacionados con la inteligencia artificial, como el entrenamiento de los LLM, los datos abiertos son un aliado importante de la inteligencia artificial explicable para construir mecanismos de auditoría y verificación de los algoritmos y sus decisiones.

¿Qué es la IA explicable (XAI)?

La IA explicable se refiere a métodos y herramientas que permiten a los humanos comprender y confiar en los resultados de los modelos de aprendizaje automático. Según el Instituto Nacional de Estándares y Tecnología (NIST) de EE. UU. son cuatro los principios clave de la Inteligencia Artificial Explicable de forma que se pueda garantizar que los sistemas de IA sean transparentes, comprensibles y confiables para los usuarios:

  • Explicabilidad (Explainability): la IA debe proporcionar explicaciones claras y comprensibles sobre cómo llega a sus decisiones y recomendaciones.
  • Justificabilidad (Meaningful): las explicaciones deben ser significativas y comprensibles para los usuarios.
  • Precisión (Accuracy): la IA debe generar resultados precisos y confiables, y la explicación de estos resultados debe reflejar fielmente su desempeño.
  • Límites del conocimiento (Knowledge Limits): la IA debe reconocer cuándo no tiene suficiente información o confianza en una decisión y abstenerse de emitir respuestas en esos casos.

A diferencia de los sistemas de IA tradicionales de "caja negra", que generan resultados sin revelar su lógica interna, XAI trabaja sobre la trazabilidad, interpretabilidad y responsabilidad de estas decisiones. Por ejemplo, si una red neuronal rechaza una solicitud de préstamo, las técnicas de XAI pueden destacar los factores específicos que influyeron en la decisión. De este modo, mientras un modelo tradicional simplemente devolvería una calificación numérica del expediente de crédito, un sistema XAI podría decirnos además algo como que "El historial de pagos (23%), la estabilidad laboral (38%) y el nivel de endeudamiento actual (32%) fueron los factores determinantes en la denegación del préstamo”. Esta transparencia es vital no solo para el cumplimiento normativo, sino también para fomentar la confianza del usuario y la mejora de los propios sistemas de IA.

Técnicas clave en XAI

El Catálogo de herramientas y métricas IA confiable del Observatorio de Políticas de Inteligencia Artificial de la OCDE (OECD.AI) recopila y comparte herramientas y métricas diseñadas para ayudar a los actores de la IA a desarrollar sistemas confiables que respeten los derechos humanos y sean justos, transparentes, explicables, robustos, seguros y confiables. Por ejemplo, dos metodologías ampliamente adoptadas en XAI son Local Interpretable Model-agnostic Explanations (LIME) y SHapley Additive exPlanations (SHAP).

  • LIME aproxima modelos complejos con versiones más simples e interpretables para explicar predicciones individuales. Es una técnica en general útil para interpretaciones rápidas, pero no muy estable en la asignación de la importancia de las variables entre unos ejemplos y otros.
  • SHAP cuantifica la contribución exacta de cada variable de entrada a una predicción utilizando principios de teoría de juegos. Se trata de una técnica más precisa y matemáticamente sólida, pero mucho más costosa computacionalmente.

Por ejemplo, en un sistema de diagnóstico médico, tanto LIME como SHAP podrían ayudarnos a interpretar que la edad y la presión arterial de un paciente fueron los principales factores que concluyeron en un diagnóstico de alto riesgo de infarto, aunque SHAP nos daría la contribución exacta de cada variable a la decisión.

Uno de los desafíos más importantes en XAI es encontrar el equilibrio entre la capacidad predictiva de un modelo y su explicabilidad. Por ello suelen utilizarse enfoques híbridos que integren métodos de explicación a posteriori de las decisiones tomadas con modelos complejos. Por ejemplo, un banco podría implementar un sistema de aprendizaje profundo para la detección de fraude, pero usar valores SHAP para auditar sus decisiones y garantizar que no se toman decisiones discriminatorias.

Los datos abiertos en la XAI

Existen, al menos, dos escenarios en los que se puede generar valor combinando datos abiertos con técnicas de inteligencia artificial explicable:

  • El primero de ellos es el enriquecimiento y validación de las explicaciones obtenidas con técnicas XAI. Los datos abiertos permiten añadir capas de contexto a muchas explicaciones técnicas, algo que también es válido para la explicabilidad de los modelos de IA. Por ejemplo, si un sistema XAI indica que la contaminación atmosférica influyó en un diagnóstico de asma, vincular este resultado con conjuntos de datos abiertos de calidad del aire de las áreas de residencia de los pacientes permitiría validar si el resultado es correcto.
  • La mejora del rendimiento de los propios modelos de IA es otra área en el que los datos abiertos aportan valor. Por ejemplo, si un sistema XAI identifica que la densidad de espacios verdes urbanos afecta significativamente los diagnósticos de riesgo cardiovascular, se podrían utilizar datos abiertos de urbanismo para mejorar la precisión del algoritmo.

Sería ideal que se pudiesen compartir como datos abiertos los conjuntos de datos de entrenamiento de los modelos de IA, de forma que fuese posible verificar el entrenamiento del modelo y replicar los resultados. En todo caso, lo que sí es posible es compartir de forma abierta son metadatos detallados sobre dichos entrenamientos como promueve la iniciativa Model Cards de Google, facilitando así explicaciones post-hoc de las decisiones de los modelos. En este caso se trata de un instrumento más orientado a los desarrolladores que a los usuarios finales de los algoritmos.

En España, en una iniciativa más dirigida a los ciudadanos, pero igualmente destinada a fomentar la transparencia en el uso de algoritmos de inteligencia artificial, la Administración Abierta de Cataluña ha comenzado a publicar fichas comprensibles para cada algoritmo de IA aplicado a los servicios de administración digital. Ya están disponibles algunas, como, por ejemplo, la de los Chatbots conversacionales de la AOC o la de la Videoidentificación para obtener el idCat Móvil.

Ejemplos reales de datos abiertos y XAI

Un artículo reciente publicado en Applied Sciences por investigadores portugueses ejemplifica la sinergia entre XAI y datos abiertos en el ámbito de la predicción de precios inmobiliarios en ciudades inteligentes. La investigación destaca cómo la integración de conjuntos de datos abiertos que abarcan características de propiedades, infraestructuras urbanas y redes de transporte, con técnicas de inteligencia artificial explicable, como el análisis SHAP, permite desentrañar los factores clave que influyen en los valores de las propiedades. Este enfoque pretende apoyar la generación de políticas de planificación urbana que respondan a las necesidades y tendencias evolutivas del mercado inmobiliario, promoviendo un crecimiento sostenible y equitativo de las ciudades.

Otro estudio realizado por investigadores de INRIA (Instituto francés de investigación en ciencias y tecnologías digitales), también sobre datos inmobiliarios, profundiza en los métodos y desafíos asociados a la interpretabilidad en el aprendizaje automático apoyándose en datos abiertos enlazados. El artículo analiza tanto técnicas intrínsecas, que integran la explicabilidad en el diseño del modelo, como métodos post hoc que permiten examinar y explicar las decisiones de sistemas complejos para fomentar la adopción de sistemas de IA transparentes, éticos y confiables.

A medida que la IA continúa evolucionando, las consideraciones éticas y las medidas regulatorias tienen un papel cada vez más relevante en la creación de un ecosistema de IA más transparente y confiable. La inteligencia artificial explicable y los datos abiertos están interconectados en su objetivo de fomentar la transparencia, la confianza y la responsabilidad en la toma de decisiones basadas en IA. Mientras que la XAI ofrece las herramientas para diseccionar la toma de decisiones de la IA, los datos abiertos proporcionan la materia prima no solo para el entrenamiento, sino para comprobar algunas explicaciones de la XAI y mejorar los rendimientos de los modelos. A medida que la IA continúa permeando en cada faceta de nuestras vidas, fomentar esta sinergia contribuirá a construir sistemas que no solo sean más inteligentes, sino también más justos.


Contenido elaborado por Jose Luis Marín, Senior Consultant in Data, Strategy, Innovation & Digitalization. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.

calendar icon
Blog

No hay duda de que la formación en competencias digitales es necesaria hoy en día. Los conocimientos digitales básicos son fundamentales para poder interactuar en una sociedad en la que la tecnología ya juega un papel transversal. En concreto, es importante conocer aspectos básicos de la tecnología para trabajar con datos.

En este contexto, las trabajadoras y trabajadores del sector público también deben mantenerse en constante actualización. Capacitarse en este ámbito es clave para optimizar procesos, garantizar la seguridad de la información y fortalecer la confianza en las instituciones.

En este post, identificamos habilidades digitales relacionadas con los datos abiertos tanto dirigidas a la publicación como al uso de estos. No solo identificamos las competencias profesionales que deben tener y mantener los empleados públicos que trabajan con open data, también recopilamos una serie de recursos formativos que están a su disposición.

Competencias profesionales para trabajar con datos

En el Encuentro Nacional de Datos Abiertos de 2024 se constituyó un grupo de trabajo con un objetivo: identificar las competencias digitales que debían tener los profesionales de la administración pública que trabajasen con datos abiertos. Más allá de las conclusiones de este evento de relevancia nacional, el grupo de trabajo definió perfiles y roles necesarios para la apertura de datos, recogiendo información sobre sus funciones y las capacidades y conocimientos necesarios. Los principales roles identificados fueron:

  • Rol responsable: tiene funciones de responsabilidad técnica en el impulso de políticas de datos abiertos y organiza actividades de definición de las políticas y modelos de datos. Algunos conocimientos necesarios son:
    • Liderazgo en el impulso de estrategias para impulsar la apertura del dato.
    • Impulsar la estrategia del dato para impulsar la apertura con propósito.
    • Comprender el marco normativo relacionado con los datos para actuar dentro de la legalidad en todo el ciclo de vida del dato.
    • Fomentar el uso de herramientas y procesos para la gestión del dato.
    • Capacidad de generar sinergias para consensuar instrucciones transversales a toda la organización.
  • Rol técnico de apertura de datos (perfil TIC): desarrolla actividades de ejecución más vinculadas con la gestión de los sistemas, los procesos de extracción, limpieza de datos, etc. Este perfil debe conocer, por ejemplo:
    • Cómo estructurar el conjunto de datos, el vocabulario de metadatos, calidad del dato, estrategia a seguir...
    • Ser capaz de analizar un conjunto de datos e identificar los procesos de depuración y limpieza de manera rápida e intuitiva.
    • Generar visualizaciones de datos, conectando bases de datos de diferentes formatos y orígenes, y así obtener gráficos, indicadores y mapas dinámicos e interactivos.
    • Dominar las funcionalidades de la plataforma, es decir, saber aplicar soluciones tecnológicas para la gestión de datos abiertos o conocer técnicas y estrategias para acceder, extraer e integrar datos de diferentes plataformas.
  • Rol funcional de apertura de datos (técnico de un servicio): ejecuta actividades más vinculadas con la selección de datos a publicar, la calidad, promoción de los datos abiertos, visualización, analítica de datos, etc. Por ejemplo:
    • Manejar herramientas de visualización y dinamización.
    • Conocer la economía del dato y conocer la información referente al dato en toda su extensión (generación por las AAPP, datos abiertos, infomediarios, reutilización de la información pública, Big Data, Data Driven, roles implicados, etc.).
    • Conocer y aplicar los aspectos éticos y de protección de datos de carácter personal que aplican a la apertura de datos.
  • Uso de datos por parte de los trabajadores públicos: este perfil lleva a cabo actividades sobre el uso de los datos para la toma de decisiones, analítica básica de datos, entre otros. Para ello, deberá tener estas competencias:
    • Navegación, búsqueda y filtrado de datos.
    • Evaluación de datos.
    • Almacenamiento y explotación de datos.
    • Análisis y explotación de datos.

Además, como parte de este reto para incrementar las capacidades para la apertura de datos, se elaboró un listado de formaciones y guías gratuitas en materia de datos abiertos y análisis de datos. Recopilamos algunas de ellas que están disponibles online y en formato abierto.

Institución Recurso Enlace Nivel
Centro Knight para el Periodismo en las Américas Periodismo de datos y visualización con herramientas gratuitas https://journalismcourses.org/es/course/dataviz/ Principiante
Data Europa Academy Introducción a los datos abiertos https://data.europa.eu/en/academy/introducing-open-data Principiante
Data Europa Academy Comprender el lado legal de los datos abiertos https://data.europa.eu/en/academy/understanding-legal-side-open-data Principante
Data Europa Academy Mejorar la calidad de los datos abiertos y los metadatos https://data.europa.eu/en/academy/improving-open-data-and-metadata-quality Avanzado
Data Europa Academy Medir el éxito en las iniciativas de datos abiertos https://data.europa.eu/en/training/elearning/measuring-success-open-data-initiatives  Avanzado
Escuela de Datos Curso de tubería de datos – Data Pipeline https://escueladedatos.online/curso/curso-tuberia-de-datos-data-pipeline/  Intermedio
FEMP Guía estratégica para su puesta en marcha – Conjuntos de datos mínimos a publicar https://redtransparenciayparticipacion.es/download/guia-estrategica-para-su-puesta-en-marcha-conjuntos-de-datos-minimos-a-publicar/  Intermedio
Datos.gob.es Pautas metodológicas para la apertura de datos /es/conocimiento/pautas-metodologicas-para-la-apertura-de-datos  Principiante
Datos.gob.es Guía práctica para la publicación de datos abiertos usando APIs /es/conocimiento/guia-practica-para-la-publicacion-de-datos-abiertos-usando-apis Intermedio
Datos.gob.es Guía práctica para la publicación de datos espaciales /es/conocimiento/guia-practica-para-la-publicacion-de-datos-espaciales  Intermedio
Junta de Andalucía Tratar conjuntos de datos con Open Refine https://www.juntadeandalucia.es/datosabiertos/portal/tutoriales/usar-openrefine.html Principiante

Figura 1. Tabla de elaboración propia con recursos formativos. Fuente: https://encuentrosdatosabiertos.es/wp-content/uploads/2024/05/Reto-2.pdf

El Instituto Nacional de Administración Pública (INAP) cuenta con un Programa de Actividades Formativas para 2025, enmarcado en la Estrategia de Aprendizaje del INAP 2025-2028. Este catálogo formativo incluye más de 180 actividades organizadas en diferentes programas de aprendizaje, que se desarrollarán a lo largo del año con el objetivo de fortalecer las competencias del personal público en ámbitos clave como la gestión de datos abiertos y el uso de tecnologías relacionadas.

En el programa formativo de INAP para 2025 se ofrece una amplia variedad de cursos orientados a mejorar las capacidades digitales y la alfabetización en datos abiertos. Algunas de las formaciones destacadas incluyen:

  • Fundamentos y herramientas del análisis de datos.
  • Introducción a SQL de Oracle.
  • Datos abiertos y reutilización de la información.
  • Análisis y visualización de datos con Power BI.
  • Blockchain: aspectos técnicos.
  • Programación en Python avanzado.

Estos cursos, dirigidos a distintos perfiles de empleados públicos, desde responsables de datos abiertos hasta técnicos en gestión de información, permiten adquirir conocimientos sobre extracción, tratamiento y visualización de datos, así como sobre estrategias para la apertura y reutilización de datos abiertos en la Administración Pública. Puedes consultar el catálogo completo aquí.

Otras referencias formativas

Algunas administraciones públicas o entidades disponen de oferta de cursos de formación vinculadas a los datos abiertos. Para más información de su oferta formativa, se facilita el catálogo con la oferta de cursos programados.

En resumen, la formación en competencias digitales, en general, y en datos abiertos, en particular, es una práctica que recomendamos desde datos.gob.es. ¿Necesitas algún recurso formativo en específico? Escríbenos en comentarios, ¡te leemos!

calendar icon
Blog

La inteligencia artificial (IA) de código abierto es una oportunidad para democratizar la innovación y evitar la concentración de poder en la industria tecnológica. Sin embargo, su desarrollo depende en gran medida de la disponibilidad de conjuntos de datos de alta calidad y de la implementación de marcos sólidos de gobernanza de datos. Un informe reciente de Open Future y la Open Source Initiative (OSI) analiza los desafíos y oportunidades en esta intersección, proponiendo soluciones para una gobernanza de datos equitativa y responsable. Puedes leer aquí el informe completo.

En este post, analizaremos las ideas más relevantes del documento, así como los consejos que ofrece para garantizar una correcta y efectiva gobernanza de datos en la inteligencia artificial open source y aprovechar todas sus ventajas.

Los retos de la gobernanza de datos en la IA

A pesar de la gran cantidad de datos disponibles en la web, su acceso y uso para entrenar modelos de IA plantean importantes desafíos éticos, legales y técnicos. Por ejemplo:

  1. Equilibrio entre apertura y derechos: en línea con el Reglamento de Gobernanza de Datos (DGA), se debe garantizar un acceso amplio a los datos sin comprometer derechos de propiedad intelectual, privacidad y equidad.
  2. Falta de transparencia y estándares de apertura: es importante que los modelos etiquetados como “abiertos” cumplan con criterios claros de transparencia en el uso de datos.
  3. Sesgos estructurales: muchos conjuntos de datos reflejan sesgos lingüísticos, geográficos y socioeconómicos que pueden perpetuar desigualdades en los sistemas de IA.
  4. Sostenibilidad ambiental: el uso intensivo de recursos para entrenar modelos de IA plantea desafíos de sostenibilidad que deben abordarse con prácticas más eficientes.
  5. Involucrar a más actores: actualmente, los desarrolladores y las grandes corporaciones dominan la conversación sobre IA, dejando fuera a comunidades afectadas y organizaciones públicas.

Una vez identificados los retos, el informe propone una estrategia para alcanzar el objetivo principal: una gobernanza de datos adecuada en los modelos de IA de código abiertos. Este enfoque está basado en dos pilares fundamentales.

Hacia un nuevo paradigma de gobernanza de datos

En la actualidad, el acceso y la gestión de los datos para entrenar modelos de IA están marcados por una creciente desigualdad. Mientras algunas grandes corporaciones tienen acceso exclusivo a vastos repositorios de datos, muchas iniciativas de código abierto y comunidades marginadas carecen de los recursos para acceder a datos representativos y de calidad. Para abordar este desequilibrio es necesario un nuevo enfoque en la gestión y uso de los datos en la IA de código abierto. El informe destaca dos cambios fundamentales en la manera en que se concibe la gobernanza de datos:

Por un lado, adoptar un enfoque de data commons que no es más que un modelo de acceso que garantiza el equilibrio entre la apertura de datos y la protección de derechos. Para ello, sería importante utilizar licencias innovadoras que permitan compartir datos sin explotación indebida. También es relevante crear estructuras de gobernanza que regulen el acceso y uso de datos. Y, por último, implementar mecanismos de compensación para comunidades cuyos datos son utilizados en inteligencia artificial.

Por otro lado, es necesario trascender la visión centrada en desarrolladores de IA e incluir a más actores en la gobernanza de datos, como:

  • Propietarios de los datos y comunidades que generan contenido.
  • Instituciones públicas que pueden promover estándares de apertura.
  • Organizaciones de la sociedad civil que velen por la equidad y el acceso responsable a los datos.

Al adoptar estos cambios, la comunidad de IA podrá establecer un sistema más inclusivo, en el que los beneficios del acceso a datos se distribuyan de manera equitativa y respetuosa con los derechos de todas las partes interesadas. Según el informe, la implementación de estos modelos no solo aumentará la cantidad de datos disponibles para la IA de código abierto, sino que también fomentará la creación de herramientas más justas y sostenibles para la sociedad en su conjunto.

Consejos y estrategia

Para hacer efectiva una gobernanza de datos robusta en la IA de código abierto, el informe propone seis áreas de acción prioritarias:

  1. Preparación y trazabilidad de datos: mejorar la calidad y documentación de los conjuntos de datos.
  2. Mecanismos de licenciamiento y consentimiento: permitir a los creadores de datos definir su uso de manera clara.
  3. Custodia de datos: fortalecer la figura de intermediarios que gestionen datos de forma ética.
  4. Sostenibilidad ambiental: reducir el impacto del entrenamiento de IA con prácticas eficientes.
  5. Compensación y reciprocidad: garantizar que los beneficios de la IA lleguen a quienes contribuyen con datos.
  6. Intervenciones de política pública: promover regulaciones que incentiven la transparencia y el acceso equitativo a datos.

 ¿Cómo conseguir una correcta gobernanza de datos en IA de código abiertos?   1. Mejorar la calidad y trazabilidad de los datos  2. Permitir licenciamiento y consentimiento claro  3. Fortalecer la custodia de datos de los intermediarios  4. Reducir el impacto ambiental del entrenamiento de IA  5. Garantizar una correcta compensación de los beneficios de la IA  6. Promover políticas públicas que incentiven la transparencia y el acceso equitativo a los datos   Fuente: "Data Governance in Open Source AI". Open Source Initiative y Open Future. Disponible aquí : https://opensource.org/blog/reimagining-data-for-open-source-ai-a-call-to-action

La inteligencia artificial de código abierto puede impulsar la innovación y la equidad, pero para lograrlo es necesario un enfoque de gobernanza de datos más inclusivo y sostenible. Adoptar modelos de datos comunes y ampliar el ecosistema de actores permitirá construir sistemas de IA más justos, representativos y responsables con el bien común.

El informe que publican Open Future y Open Source Initiative hace una llamada a la acción a desarrolladores, legisladores y sociedad civil para establecer normas compartidas y soluciones que equilibren la apertura de datos con la protección de derechos. Con una gobernanza de datos sólida, la IA de código abierto podrá cumplir su promesa de servir al interés público.

calendar icon
Documentación

Introducción

En anteriores contenidos, hemos explorado a fondo el apasionante mundo de los Modelos Grandes de Lenguaje (LLM) y, en particular, las técnicas de Generación Aumentada por Recuperación (RAG) que están revolucionando la forma en que interactuamos con los agentes conversacionales. Este ejercicio marca un hito en nuestra serie, ya que no solo explicaremos los conceptos, sino que también te guiaremos paso a paso en la construcción de tu propio agente conversacional potenciado con RAG. Para ello, utilizaremos un notebook de Google Colab.

 

Accede al repositorio del laboratorio de datos en Github.

Ejecuta el código de pre-procesamiento de datos sobre Google Colab.

A través de este notebook, construiremos un chat que utiliza RAG para mejorar sus respuestas, partiendo desde cero. El notebook guiará al usuario a través de todo el proceso:

  • Instalación de dependencias.
  • Configuración del entorno.
  • Integración de una fuente de información en forma de post.
  • Incorporación de dicha fuente a la base de conocimiento del chat utilizando técnicas RAG.
  • Finalmente, podremos observar cómo la respuesta del modelo cambia antes y después de proporcionar el post y realizar una pregunta específica sobre su contenido.

Herramientas utilizadas

Antes de comenzar, es necesario introducir y explicar qué herramientas hemos utilizado y por qué hemos escogido estas. Para la construcción de esta aplicación RAG hemos utilizado 3 piezas de tecnología o herramientas: Google Colab, OpenAI y LangChain. Tanto Google Colab como OpenAI son viejos conocidos y los hemos utilizado varias veces en contenidos previos. Por eso, en esta sección, ponemos especial atención en explicar qué es LangChain puesto que es una nueva herramienta que no hemos utilizado en anteriores posts.

  • Google Colab. Como es habitual en nuestros ejercicios, cuando son necesarios recursos de computación, así como un entorno de programación amigable, empleamos Google Colab, en la medida de lo posible. Google Colab nos garantiza que cualquier usuario que quiera reproducir el ejercicio lo pueda hacer sin complicaciones derivadas de la configuración de los entornos particulares de cada programador. Cabe destacar que adecuar este ejercicio inspirado en recursos previos disponibles en LangChain al entorno de Google Colab ha sido un reto.
  • OpenAI. Como proveedor del modelo grande del lenguaje (LLM) Chat GPT, OpenAI ofrece una variedad de modelos de lenguaje potentes, como GPT-4, GPT-4o, GPT-4o mini, etc. que se utilizan para procesar y generar texto en lenguaje natural. En este caso, el modelo de lenguaje de OpenAI se utiliza en la zona de generación de la respuesta, donde se combinan la pregunta del usuario y los documentos recuperados para producir una respuesta precisa.
  • LangChain. Es un framework (conjunto de bibliotecas) de código abierto diseñado para facilitar el desarrollo de aplicaciones basadas en modelos de lenguaje de gran escala (LLM). Este framework es especialmente útil para integrar y gestionar flujos complejos que combinan múltiples componentes, como modelos de lenguaje, bases de datos vectoriales, y herramientas de recuperación de información, entre otros.

LangChain es ampliamente utilizado en el desarrollo de aplicaciones como:

  • Sistemas de preguntas y respuestas (QA systems).
  • Asistentes virtuales con conocimiento específico.
  • Sistemas de generación de texto personalizados.
  • Herramientas de análisis de datos basadas en lenguaje natural.

Características principales de LangChain

  • Modularidad y flexibilidad. LangChain está diseñado con una arquitectura modular que permite a los desarrolladores conectar diferentes herramientas y servicios. Esto incluye modelos de lenguaje (como OpenAI, Hugging Face, o LLM locales) y bases de datos vectoriales (como Pinecone, ChromaDB o Weaviate). La La lista de modelos de chat con los que se puede interactuar a través de Langchain es muy amplia.
  • Soporte para técnicas RAG (Recuperación Aumentada por Generación). Langhain facilita la implementación de técnicas RAG al permitir la integración directa de modelos de recuperación de información y generación de texto. Esto mejora la precisión de las respuestas al permitir que los LLM trabajen con conocimiento actualizado y específico.
  • Optimización del manejo de prompts. Langhain ayuda a diseñar y gestionar prompts complejos de manera eficiente. Permite construir dinámicamente un contexto relevante que se trabaja con el modelo, optimizando el uso de tokens y asegurando que las respuestas sean precisas y útiles.
    • Los tokens representan las unidades básicas que un modelo de IA utiliza para procesar texto. Un token puede ser una palabra completa, una parte de una palabra o un signo de puntuación. En la frase "¡Hola mundo!" existen, por ejemplo, cuatro tokens distintos: "¡", "Hola", "mundo", "!". El procesamiento de texto requiere más recursos computacionales a medida que aumenta el número de tokens. Las versiones gratuitas de modelos de IA, incluida la que usamos en este ejercicio, establecen límites en la cantidad de tokens procesables.
  • Integración con múltiples fuentes de datos. El framework puede conectarse a diversas fuentes de datos, como bases de datos, API o documentos cargados por los usuarios. Esto lo hace ideal para construir aplicaciones que necesitan acceso a grandes volúmenes de información estructurada o no estructurada.
  • Interoperabilidad con múltiples LLM. LangChain es agnóstico (se puede adaptar a varios proveedores de modelos de lenguaje) respecto al proveedor del modelo de lenguaje, lo que significa que puedes utilizar OpenAI, Cohere, Anthropic o incluso modelos de lenguaje alojados localmente.

Para terminar con esta sección, cabe destacar el carácter open source de Langhain, algo que facilita la colaboración y la innovación en el desarrollo de aplicaciones basadas en modelos de lenguaje. Además, LangChain nos aporta una increíble flexibilidad porque permite a los desarrolladores integrar fácilmente diferentes LLM, vectorizadores y hasta interfaces web finales en sus aplicaciones.

Exploración del ejercicio paso a paso

Introducción al Repositorio

El repositorio de Github que utilizaremos contiene todos los recursos necesarios para construir nuestra aplicación RAG. En su interior, encontrarás:

  • README: este archivo proporciona una descripción general del proyecto, instrucciones de uso y recursos adicionales.
  • Jupyter Notebook: el ejemplo lo hemos desarrollado usando un formato de Jupyter Notebook que ya hemos empleado en el pasado para codificar ejercicios prácticos combinando un documento de texto con fragmentos de código ejecutable en Google Colab. Aquí se encuentra la implementación detallada de la aplicación, incluyendo la carga y procesamiento de datos, la integración con modelos de lenguaje como GPT-44, la configuración de sistemas de recuperación de información y la generación de respuestas basadas en los datos recuperados.

Notebook: preparando el entorno

Antes de comenzar, es recomendable contar con los siguientes requisitos.

  • Conocimientos básicos de Python y Procesamiento de Lenguaje Natural (PLN): si bien el notebook es autoexplicativo, una comprensión básica de estos conceptos facilitará el aprendizaje.
  • Acceso a Google Colab: el notebook se ejecuta en este entorno, que nos proporciona la infraestructura necesaria.
  • Cuentas activas en OpenAI y LangChain con claves de API válidas. Estos servicios son gratuitos y esenciales para la ejecución del notebook. Una vez que te registres en estos servicios, necesitarás generar una API Key para interactuar con los servicios. Deberás tener a mano esta clave para poder pegarla en el momento de ejecutar el fragmento de código correspondiente. Si necesitas ayuda para obtener estas claves, cualquier asistente conversacional como chatGPT o Google Gemini te pueden ayudar paso a paso a conseguir las claves. Si necesitas guía visual en youtube encontraras miles de tutoriales
  • OpenAI API: https://openai.com/api/
  • Lanchain API: https://www.langchain.com/

Explorando el Notebook: bloque por bloque

El notebook se divide en varios bloques, cada uno dedicado a una etapa específica del desarrollo de nuestra aplicación RAG. A continuación, describiremos cada bloque en detalle, incluyendo el código utilizado y su explicación.

Nota para el usuario. A continuación, vamos a ir reproduciendo bloques del código presentes en el notebook de Colab. Por claridad hemos dividido el código en unidades autocontenidas y hemos formateado el código para resaltar la sintaxis del lenguaje de programación Python. Además, las salidas que el Notebook proporciona, las hemos formateado y resaltado en formato JSON para que sean más legibles. Ha de tenerse en cuenta que este Notebook invoca API de modelos del lenguaje y por lo tanto, la respuesta del modelo cambia con cada ejecución. Esto hace que las salidas (las respuestas) que presentamos en este post puedan no ser exactamente iguales a las que el usuario reciba cuándo ejecute el Notebook en Colab

Bloque 1: instalación y configuración inicial

import os
os.kill(os.getpid(), 9)

 

Es muy importante que ejecutes estas dos líneas al principio del ejercicio y luego ya no lo vuelvas a ejecutar más hasta que cierres y salgas de Google Colab.

%%capture
!pip install openai==1.55.3 httpx==0.27.2 --force-reinstall --quiet

 

!pip install langchain --quiet
%pip install --quiet --upgrade langchain-text-splitters langchain-community

 

import getpass
import os

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()

 

Cuando ejecutes este fragmento, aparecerá un pequeño cuadro de diálogo debajo del fragmento. Ahí debes de pegar tu API Key de Langchain.

!pip install -qU langchain-openai
!pip install -qU langgraph

 

import getpass
import os
os.environ["OPENAI_API_KEY"] = getpass.getpass()
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini")

 

Cuando ejecutes este fragmento, aparecerá un pequeño cuadro de diálogo debajo del fragmento. Ahí debes de pegar tu API Key de OpenAI.

En este primer bloque, hemos instalado las bibliotecas necesarias para nuestro proyecto. Algunas de las más relevantes son:

  • openai: Para interactuar con la API de OpenAI y acceder a modelos como GPT-4.
  • langchain: Un framework que simplifica el desarrollo de aplicaciones con LLM.
  • langchain-text-splitters: Para dividir textos largos en fragmentos más pequeños que puedan ser procesados por los modelos de lenguaje.
  • langchain-community: Una colección de herramientas y componentes adicionales para LangChain.
  • langchain-openai: Para integrar LangChain con la API de OpenAI.
  • langgraph: Para visualizar el flujo de trabajo de nuestra aplicación RAG.
  • Además de instalar las bibliotecas, también configuramos las claves de API para OpenAI y LangChain, utilizando la función getpass.getpass() para introducirlas de forma segura.

Bloque 2: inicializamos la interacción con el LLM

A continuación, iniciamos la primera interacción programática (le pasamos nuestro primer prompt) con el modelo del lenguaje. Para comprobar que todo funciona le pedimos traducir una sencilla frase.

import getpass

import os
os.environ["OPENAI_API_KEY"] = getpass.getpass()
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4o-mini")
from langchain_core.messages import HumanMessage, SystemMessage
messages = [
SystemMessage("Translate the following from English into Italian"),
HumanMessage("hi!"),

]
llm.invoke(messages)

 

Si todo ha ido bien obtendremos una salida como esta:

{
  "content": "Ciao!",
  "additional_kwargs": {
    "refusal": null
  },
  "response_metadata": {
    "token_usage": {
      "completion_tokens": 3,
      "prompt_tokens": 20,
      "total_tokens": 23,
      "completion_tokens_details": {
        "accepted_prediction_tokens": 0,
        "audio_tokens": 0,
        "reasoning_tokens": 0,
        "rejected_prediction_tokens": 0
      },
      "prompt_tokens_details": {
        "audio_tokens": 0,
        "cached_tokens": 0
      }
    },
    "model_name": "gpt-4o-mini-2024-07-18",
    "system_fingerprint": "fp_bd83329f63",
    "finish_reason": "stop",
    "logprobs": null
  },
  "id": "run-ca631c07-fb63-47b2-8e78-339460c8a508-0",
  "usage_metadata": {
    "input_tokens": 20,
    "output_tokens": 3,
    "total_tokens": 23,
    "input_token_details": {
      "audio": 0,
      "cache_read": 0
    },
    "output_token_details": {
      "audio": 0,
      "reasoning": 0
    }
  }
}

 

Este bloque es una introducción básica a la utilización de un LLM para una tarea sencilla: la traducción. Se configura la clave de API de OpenAI y se instancia un modelo de lenguaje gpt-4o-mini utilizando ChatOpenAI.

Se definen dos mensajes:

  • SystemMessage: Instrucción al modelo para traducir del inglés al italiano.
  • HumanMessage: El texto que se desea traducir ("hi!").

Finalmente, se invoca al modelo con llm.invoke(messages) para obtener la traducción.

Bloque 3: creando Embeddings

Para entender el concepto del Embeddings aplicado al contexto del procesamiento del lenguaje natural recomendamos leer este post.

import getpass
os.environ["OPENAI_API_KEY"] = getpass.getpass()
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="text-embedding-3-large")

pip install -qU langchain-core

from langchain_core.vectorstores import InMemoryVectorStore
vector_store = InMemoryVectorStore(embeddings)

 

Cuando ejecutes este fragmento, aparecerá un pequeño cuadro de diálogo debajo del fragmento. Ahí debes de pegar tu API Key de OpenAI.

Este bloque se centra en la creación de embeddings (representaciones vectoriales de texto) que capturan su significado semántico. Utilizamos la clase OpenAIEmbeddings para acceder al modelo text-embedding-3-large de OpenAI, que genera embeddings de alta calidad.

Los embeddings se almacenarán en un InMemoryVectorStore, una estructura de datos en memoria que permite realizar búsquedas eficientes basadas en similitud semántica.

Bloque 4: implementando RAG

#RAG

import bs4

from langchain_community.document_loaders import WebBaseLoader

# Manten únicamente el título del post, los encabezados y el contenido del HTML       

bs4_strainer = bs4.SoupStrainer(class_=("post-title", "post-header", "post-content"))

loader = WebBaseLoader(

web_paths=("https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",)

)

docs = loader.load()

assert len(docs) == 1

print(f"Total characters: {len(docs.page_content)}")

from langchain_text_splitters import RecursiveCharacterTextSplitter

text_splitter = RecursiveCharacterTextSplitter(

chunk_size=1000,

chunk_overlap=200,

add_start_index=True,

)

all_splits = text_splitter.split_documents(docs)

print(f"Split blog post into {len(all_splits)} sub-documents.")

document_ids = vector_store.add_documents(documents=all_splits)

print(document_ids[:3])

 

Este bloque es el corazón de la implementación RAG. Comienza cargando el contenido de un post, utilizando WebBaseLoader y la URL del post sobre SLM, LLM, RAG y Fine-tuning.

Para preparar nuestro sistema de Recuperación Aumentada por Generación (RAG), comenzamos procesando el texto del post mediante técnicas de segmentación. Este paso inicial resulta fundamental, ya que dividimos el contenido en fragmentos más pequeños pero completos en significado. Utilizamos las herramientas de LangChain para realizar esta segmentación, asignando a cada fragmento un identificador único (id). Esta preparación previa nos permite posteriormente realizar búsquedas eficientes y precisas cuando el sistema necesite recuperar información relevante para responder a las consultas.

Se utiliza bs4.SoupStrainer para extraer solo las secciones relevantes del HTML. El texto del post se divide en fragmentos más pequeños con RecursiveCharacterTextSplitter, asegurando un solapamiento entre fragmentos para mantener el contexto. Estos fragmentos se añaden al vector_store creado en el bloque anterior, generando embeddings para cada uno.

Vemos que el resultado de uno de los fragmentos nos informa que ha dividido el documento en 21 sub-documentos.

Split blog post into 21 sub-documents.

 

Los documentos tienen un identificador propio. Por ejemplo, los 3 primeros se identifican como:

["409f1bcb-1710-49b0-80f8-e45b7ca51a96", "e242f16c-71fd-4e7b-8b28-ece6b1e37a1c", "9478b11c-61ab-4dac-9903-f8485c4770c6"]

 

Bloque 5: definiendo el Prompt y visualizando el flujo de trabajo

from langchain import hub

prompt = hub.pull("rlm/rag-prompt")

example_messages = prompt.invoke(

{"context": "(context goes here)", "question": "(question goes here)"}

).to_messages()

assert len(example_messages) == 1

print(example_messages.content)

from langchain_core.documents import Document

from typing_extensions import List, TypedDict

class State(TypedDict):

question: str

context: List[Document]

answer: str

def retrieve(state: State):

retrieved_docs = vector_store.similarity_search(state["question"])

return {"context": retrieved_docs}

def generate(state: State):

docs_content = "\n\n".join(doc.page_content for doc in state["context"])

messages = prompt.invoke({"question": state["question"], "context": docs_content})

response = llm.invoke(messages)

return {"answer": response.content}

from langgraph.graph import START, StateGraph

graph_builder = StateGraph(State).add_sequence([retrieve, generate])

graph_builder.add_edge(START, "retrieve")

graph = graph_builder.compile()

from IPython.display import Image, display

display(Image(graph.get_graph().draw_mermaid_png()))

result = graph.invoke({"question": "What is Task Decomposition?"})

print(f"Context: {result["context"]}\n\n")

print(f"Answer: {result["answer"]}")

for step in graph.stream(

{"question": "¿Cual es el futuro de la IA Generativa?"}, stream_mode="updates"

):

print(f"{step}\n\n----------------\n")

 

Este bloque define el prompt que se utilizará para interactuar con el LLM. Se utiliza un prompt predefinido de LangChain Hub (rlm/rag-prompt) que está diseñado para tareas RAG.

Se definen dos funciones:

  • retrieve: busca en el vector_store los fragmentos más similares a la pregunta del usuario.
  • generate: genera una respuesta utilizando el LLM, teniendo en cuenta el contexto proporcionado por los fragmentos recuperados.

Se utiliza langgraph para visualizar el flujo de trabajo RAG.

 

start -> retrieve -> generate

Figura 1: flujo de trabajo RAG. Elaboración propia.

Finalmente, se prueba el sistema con dos preguntas: una en inglés ("What is Task Decomposition?") y otra en español ("¿Cual es el futuro de la IA Generativa?").

La primera pregunta, "What is Task Decomposition?, está en inglés y es una pregunta genérica, sin relación con nuestro post de contenido. Por esto, pese a que el sistema, busca en su base de conocimiento previamente creada con la vectorización del documento (post) no encuentra relación entre la pregunta y este contexto.

Este texto puede variar con cada ejecución

Answer: No se menciona explícitamente el concepto de "Task Decomposition" en el contexto proporcionado. Por lo tanto, no tengo información sobre qué es Task Decomposition.

 

Answer: Task Decomposition es un proceso que descompone una tarea compleja en subtareas más pequeñas y manejables. Esto permite abordar cada subtarea de manera independiente, facilitando su resolución y mejorando la eficiencia general. Aunque el contexto proporcionado no define explícitamente Task Decomposition, este concepto es común en la IA y optimización de tareas.

 

Esta respuesta es la que proporciona el modelo del lenguaje sin ninguna base de conocimiento específica. Ahora bien, cuando preguntamos por algo que tiene que ver con el post que hemos cargado como base de conocimiento, la técnica RAG entra en funcionamiento y ejecuta los mecanismos secuenciales de retrieve y generate.

{
  "retrieve": {
    "context": [
      {
        "id": "53962c40-c08b-4547-a74a-26f63cced7e8",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación"
,
          "language": "es",
          "start_index": 12763
        },
        "page_content": "La verdadera magia ocurre cuando estos elementos se combinan de formas innovadoras, creando sistemas de IA Generativa más potentes, precisos y adaptables que nunca. A medida que estas tecnologías continúen evolucionando, podemos esperar ver aplicaciones cada vez más sofisticadas y útiles en una amplia gama de campos, desde la atención médica hasta la creación de contenido creativo.\nEl desafío para los desarrolladores e investigadores será encontrar el equilibrio óptimo entre estos elementos, considerando factores como la eficiencia computacional, la precisión, la adaptabilidad y la ética. El futuro de la IA Generativa promete ser fascinante, y estos cuatro conceptos estarán sin duda en el centro de su desarrollo y aplicación en los años venideros."
      },
      {
        "id": "2dcdfcb3-e9cf-440b-a08a-6db6d5ddb356",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación",
          "language": "es",
          "start_index": 11496
        },
        "page_content": "Conclusiones y futuro de la IA\nLa combinación de estos cuatro pilares está abriendo nuevas posibilidades en el campo de la IA Generativa:\n\nSistemas híbridos: combinación de SLM y LLM para diferentes aspectos de una misma aplicación, optimizando rendimiento y eficiencia.\nRAG avanzado: implementación de sistemas RAG más sofisticados que utilicen múltiples fuentes de información y técnicas de recuperación más avanzadas.\nFine-tuning continuo: desarrollo de técnicas para el ajuste continuo de modelos en tiempo real, adaptándose a nuevos datos y necesidades.\nPersonalización a escala: creación de modelos altamente personalizados para individuos o pequeños grupos, combinando fine-tuning y RAG.\nIA Generativa ética y responsable: implementación de estas técnicas con un enfoque en la transparencia, la verificabilidad y la reducción de sesgos."
      },
      {
        "id": "9478b11c-61ab-4dac-9903-f8485c4770c6",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación",
          "language": "es",
          "start_index": 1341
        },
        "page_content": "Fecha de la noticia: 09-09-2024\n\nEn el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación (RAG) y el Fine-tuning. En este artículo, exploraremos cada uno de estos términos, sus interrelaciones y cómo están moldeando el futuro de la IA generativa.\nEmpecemos por el principio. Definiciones."
      },
      {
        "id": "d6dd28f3-5a20-4cee-8cbf-6bc39adbf098",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación",
          "language": "es",
          "start_index": 12341
        },
        "page_content": "SLM, LLM, RAG y Fine-tuning representan los pilares fundamentales sobre los que se está construyendo el futuro de la IA Generativa. Cada uno de estos conceptos aporta fortalezas únicas:\n\nLos SLM ofrecen eficiencia y especialización.\nLos LLM proporcionan versatilidad y capacidad de generalización.\nRAG mejora la precisión y relevancia de las respuestas.\nEl Fine-tuning permite la adaptación y personalización de modelos."
      }
    ]
  }
}

 

Cómo se ve en la respuesta, el sistema recupera 4 documentos (en el diagrama anterior, esto corresponde a la etapa de “Retrieve”) con sus correspondientes “id” (identificadores) cómo por ejemplo, el primer documento "id": "53962c40-c08b-4547-a74a-26f63cced7e8" que se corresponde con un fragmento del post original "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es"

Con esos 4 fragmentos el sistema considera que tiene suficiente información relevante para proporcionar (en el diagrama anterior, la etapa “generate”) una respuesta satisfactoria a la pregunta.

{
  "generate": {
    "answer": "El futuro de la IA Generativa promete ser fascinante, con el desarrollo de sistemas más potentes, precisos y adaptables gracias a la combinación de los modelos de lenguaje pequeños (SLM), los grandes (LLM), la generación aumentada por recuperación (RAG) y el fine-tuning. Esperamos ver aplicaciones cada vez más sofisticadas en campos como la atención médica y la creación de contenido creativo, mientras se busca un equilibrio entre eficiencia, precisión y ética. La implementación de estas tecnologías con un enfoque ético y responsable será clave en su evolución."
  }
}

 

Bloque 6: personalizando el prompt

from langchain_core.prompts import PromptTemplate

template = """Use the following pieces of context to answer the question at the end.

If you don"t know the answer, just say that you don"t know, don"t try to make up an answer.

Use three sentences maximum and keep the answer as concise as possible.

Always say "thanks for asking!" at the end of the answer.

{context}

Question: {question}

Helpful Answer:"""

custom_rag_prompt = PromptTemplate.from_template(template)

 

Este bloque personaliza el prompt para que las respuestas sean más concisas y añadan una frase de cortesía al final. Se utiliza PromptTemplate para crear un nuevo prompt con las instrucciones deseadas.

Bloque 7: añadiendo metadatos y refinando la búsqueda

total_documents = len(all_splits)

third = total_documents // 3

for i, document in enumerate(all_splits):

if i < third:

document.metadata["section"] = "beginning"

elif i < 2 * third:

document.metadata["section"] = "middle"

else:

document.metadata["section"] = "end"

all_splits.metadata

from langchain_core.vectorstores import InMemoryVectorStore

vector_store = InMemoryVectorStore(embeddings)

_ = vector_store.add_documents(all_splits)

from typing import Literal

from typing_extensions import Annotated

class Search(TypedDict):

"""Search query."""

query: Annotated[str, ..., "Search query to run."]

section: Annotated(

Literal["beginning", "middle", "end"],

...,

"Section to query.",

]

class State(TypedDict):

question: str

query: Search

context: List[Document]

answer: str

def analyze_query(state: State):

structured_llm = llm.with_structured_output(Search)

query = structured_llm.invoke(state["question"])

return {"query": query}

def retrieve(state: State):

query = state["query"]

retrieved_docs = vector_store.similarity_search(

query["query"],

filter=lambda doc: doc.metadata.get("section") == query["section"],

)

return {"context": retrieved_docs}

def generate(state: State):

docs_content = "\n\n".join(doc.page_content for doc in state["context"])

messages = prompt.invoke({"question": state["question"], "context": docs_content})

response = llm.invoke(messages)

return {"answer": response.content}

graph_builder = StateGraph(State).add_sequence([analyze_query, retrieve, generate])

graph_builder.add_edge(START, "analyze_query")

graph = graph_builder.compile()

display(Image(graph.get_graph().draw_mermaid_png()))

for step in graph.stream(

{"question": "¿Cual es el furturo de la IA Generativa en palabras del autor?"},

stream_mode="updates",

):

print(f"{step}\n\n----------------\n")

 

En este bloque, se añaden metadatos a los fragmentos del post, dividiéndolos en tres secciones: "beginning", "middle" y "end". Esto permite realizar búsquedas más refinadas, limitando la búsqueda a una sección específica del post.

Se introduce una nueva función analyze_query que utiliza el LLM para determinar la sección del post más relevante para la pregunta del usuario. El flujo de trabajo RAG se actualiza para incluir esta nueva etapa.

Finalmente, se prueba el sistema con una pregunta en español ("¿Cuál es el futuro de la IA Generativa en palabras del autor?"), observando cómo el sistema utiliza la información de la sección "end" del post para generar una respuesta más precisa.

Veamos el resultado:

start -> analyze query -> retrieve -> generate

Figura 2: flujo de trabajo RAG. Elaboración propia.

{
  "analyze_query": {
    "query": {
      "query": "futuro de la IA Generativa",
      "section": "end"
    }
  }
}

----------------

{
  "retrieve": {
    "context": [
      {
        "id": "887fa76d-5bda-41fb-8976-eca46cff194e",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación",
          "language": "es",
          "start_index": 11496,
          "section": "end"
        },
        "page_content": "Conclusiones y futuro de la IA\nLa combinación de estos cuatro pilares está abriendo nuevas posibilidades en el campo de la IA Generativa: Sistemas híbridos: combinación de SLM y LLM para diferentes aspectos de una misma aplicación, optimizando rendimiento y eficiencia. RAG avanzado: implementación de sistemas RAG más sofisticados que utilicen múltiples fuentes de información y técnicas de recuperación más avanzadas. Fine-tuning continuo: desarrollo de técnicas para el ajuste continuo de modelos en tiempo real, adaptándose a nuevos datos y necesidades. Personalización a escala: creación de modelos altamente personalizados para individuos o pequeños grupos, combinando fine-tuning y RAG. IA Generativa ética y responsable: implementación de estas técnicas con un enfoque en la transparencia, la verificabilidad y la reducción de sesgos."
      },
      {
        "id": "383ed352-8245-40e1-8249-7efbc6cbfd28",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación",
          "language": "es",
          "start_index": 12763,
          "section": "end"
        },
        "page_content": "La verdadera magia ocurre cuando estos elementos se combinan de formas innovadoras, creando sistemas de IA Generativa más potentes, precisos y adaptables que nunca. A medida que estas tecnologías continúen evolucionando, podemos esperar ver aplicaciones cada vez más sofisticadas y útiles en una amplia gama de campos, desde la atención médica hasta la creación de contenido creativo. El desafío para los desarrolladores e investigadores será encontrar el equilibrio óptimo entre estos elementos, considerando factores como la eficiencia computacional, la precisión, la adaptabilidad y la ética. El futuro de la IA Generativa promete ser fascinante, y estos cuatro conceptos estarán sin duda en el centro de su desarrollo y aplicación en los años venideros."
      },
      {
        "id": "d0fd32fa-5fb9-49a1-9d23-7368cb3d30e2",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación",
          "language": "es",
          "start_index": 12341,
          "section": "end"
        },
        "page_content": "SLM, LLM, RAG y Fine-tuning representan los pilares fundamentales sobre los que se está construyendo el futuro de la IA Generativa. Cada uno de estos conceptos aporta fortalezas únicas: Los SLM ofrecen eficiencia y especialización. Los LLM proporcionan versatilidad y capacidad de generalización. RAG mejora la precisión y relevancia de las respuestas. El Fine-tuning permite la adaptación y personalización de modelos."
      },
      {
        "id": "c064efe8-e782-4fde-9944-9a1ffd88ff7f",
        "metadata": {
          "source": "https://datos.gob.es/es/blog/slm-llm-rag-y-fine-tuning-pilares-de-la-ia…",
          "title": "SLM, LLM, RAG y Fine-tuning: Pilares de la IA Generativa Moderna | datos.gob.es",
          "description": "En el vertiginoso mundo de la Inteligencia Artificial (IA) Generativa, encontramos diversos conceptos que se han convertido en fundamentales para comprender y aprovechar el potencial de esta tecnología. Hoy nos centramos en cuatro: los Modelos de Lenguaje Pequeños (SLM, por sus siglas en inglés), los Modelos de Lenguaje Grandes (LLM), la Generación Aumentada por Recuperación",
          "language": "es",
          "start_index": 13522,
          "section": "end"
        },
        "page_content": "Contenido elaborado por Alejandro Alija, experto en Transformación Digital e Innovación. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor. inteligencia artificial procesamiento del lenguaje natural PLN RAG LLM SLM fine-tuning algoritmos deep learning"
      }
    ]
  }
}

 

{
  "generate": {
    "answer": "El futuro de la IA Generativa se centra en la combinación de SLM, LLM, RAG y fine-tuning, que permiten crear sistemas más potentes, precisos y adaptables. A medida que estas tecnologías evolucionen, se espera ver aplicaciones sofisticadas en diversos campos. Sin embargo, el reto será equilibrar eficiencia, precisión, adaptabilidad y ética en su desarrollo."
  }
}

 

Conclusiones

A través de este recorrido por el notebook de Google Colab, hemos experimentado de primera mano la construcción de un agente conversacional con RAG. Hemos aprendido a:

  • Instalar las bibliotecas necesarias.
  • Configurar el entorno de desarrollo.
  • Cargar y procesar datos.
  • Crear embeddings y almacenarlos en un vector_store.
  • Implementar las etapas de recuperación y generación de RAG.
  • Personalizar el prompt para obtener respuestas más específicas.
  • Añadir metadatos para refinar la búsqueda.

Este ejercicio práctico te proporciona las herramientas y conocimientos necesarios para comenzar a explorar el potencial de RAG y desarrollar tus propias aplicaciones.

¡Anímate a experimentar con diferentes fuentes de información, modelos de lenguaje y prompts para crear agentes conversacionales cada vez más sofisticados!


Contenido elaborado por Alejandro Alija,experto en Transformación Digital e Innovación. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.

calendar icon