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.
Desde la semana pasada, ya están disponibles los modelos de lenguaje de inteligencia artificial (IA) entrenados en español, catalán, gallego, valenciano y euskera, que se han desarrollado dentro de ALIA, la infraestructura pública de recursos de IA. A través de ALIA Kit los usuarios pueden acceder a toda la familia de modelos y conocer la metodología utilizada, la documentación relacionada y los conjuntos de datos de entrenamiento y evaluación. En este artículo te contamos sus claves.
¿Qué es ALIA?
ALIA es un proyecto coordinado por el Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC-CNS). Su objetivo es proporcionar una infraestructura pública de recursos de inteligencia artificial abiertos y transparentes, capaces de generar valor tanto en el sector público como en el privado.
En concreto, ALIA es una familia de modelos de texto, voz y traducción automática. El entrenamiento de sistemas de inteligencia artificial demanda una gran cantidad de recursos computacionales, ya que es necesario procesar y analizar enormes volúmenes de datos. Estos modelos han sido entrenados en español, una lengua que hablan más de 600 millones de personas en todo el mundo, pero también en las cuatro lenguas cooficiales. Para ello, se ha contado con la colaboración de la Real Academia Española (RAE) y la Asociación de Academias de la Lengua Española, que agrupa a las entidades del español existentes en todo el mundo.
Para el entrenamiento se ha utilizado el MareNostrum 5, uno de los superordenadores más potentes del mundo, que se encuentra en el Barcelona Supercomputing Center. Han sido necesarias miles de horas de trabajo para tratar varios miles de millones de palabras a una velocidad de 314.000 billones de cálculos por segundo.
Una familia de modelos abiertos y transparentes
Con el desarrollo de estos modelos se proporciona una alternativa que incorpora datos locales. Una de las prioridades de ALIA es ser una red abierta y transparente, lo que significa que los usuarios, además de poder acceder a los modelos, tienen la posibilidad de conocer y descargar los conjuntos de datos utilizados y toda la documentación relacionada. Esta documentación facilita la comprensión del funcionamiento de los modelos y, además, detectar más fácilmente en qué fallan, algo fundamental para evitar sesgos y resultados erróneos. La apertura de los modelos y la transparencia de los datos son fundamentales, ya que crea modelos más inclusivos y socialmente justos, que benefician a la sociedad en su conjunto.
Contar con modelos abiertos y transparentes fomenta la innovación, la investigación y democratiza el acceso a la inteligencia artificial, asegurando además que se parte de datos de entrenamiento de calidad.
¿Qué puedo encontrar en ALIA Kit?
A través de ALIA Kit, es posible acceder actualmente a cinco modelos masivos de lenguaje (LLM) de propósito general, de los que dos han sido entrenados con instrucciones de varios corpus abiertos. Igualmente, están disponibles nueve modelos de traducción automática multilingüe, algunos de ellos entrenados desde cero, como uno de traducción automática entre el gallego y el catalán, o entre el euskera y el catalán. Además, se han entrenado modelos de traducción al aranés, el aragonés y el asturiano.
También encontramos los datos y herramientas utilizadas para elaborar y evaluar los modelos de texto, como el corpus textual masivo CATalog, formado por 17,45 mil millones de palabras (alrededor de 23.000 millones de tokens), distribuidos en 34,8 millones de documentos procedentes de una gran variedad de fuentes, que han sido revisados en buena parte manualmente.
Para entrenar los modelos de voz se han utilizado diferentes corpus de voz con transcripción, como, por ejemplo, un conjunto de datos de las Cortes Valencianas con más de 270 horas de grabación de sus sesiones. Igualmente, es posible conocer los corpus utilizados para el entrenamiento de los modelos de traducción automática.
A través del ALIA Kit también está disponible una API gratuita (desde Python, Javascript o Curl), con la que se pueden realizar pruebas.
¿Para qué se pueden usar estos modelos?
Los modelos desarrollados por ALIA están diseñados para ser adaptables a una amplia gama de tareas de procesamiento del lenguaje natural. Sin embargo, cuando se trata de necesidades específicas es preferible utilizar modelos especializados, que permiten obtener mayor precisión y consumen menos recursos.
Como hemos visto, los modelos están disponibles para todos los usuarios interesados, como desarrolladores independientes, investigadores, empresas, universidades o instituciones. Entre los principales beneficiarios de estas herramientas se encuentran los desarrolladores y las pequeñas y medianas empresas, para quienes no es viable desarrollar modelos propios desde cero, tanto por cuestiones económicas como técnicas. Gracias a ALIA pueden adaptar los modelos ya existentes a sus necesidades específicas.
Los desarrolladores encontrarán recursos para crear aplicaciones que reflejen la riqueza lingüística del castellano y de las lenguas cooficiales. Por su parte, las empresas podrán desarrollar nuevas aplicaciones, productos o servicios orientados al amplio mercado internacional que ofrece la lengua castellana, abriendo nuevas oportunidades de negocio y expansión.
Un proyecto innovador financiado con fondos públicos
El proyecto ALIA está financiado íntegramente con fondos públicos con el objetivo de impulsar la innovación y la adopción de tecnologías que generen valor tanto en el sector público como en el privado. Contar con una infraestructura de IA pública democratiza el acceso a tecnologías avanzadas, permitiendo que pequeñas empresas, instituciones y gobiernos aprovechen todo su potencial para innovar y mejorar sus servicios. Además, facilita el control ético del desarrollo de la IA y fomenta la innovación.
ALIA forma parte de la Estrategia de Inteligencia Artificial 2024 de España, que tiene entre sus objetivos dotar al país de las capacidades necesarias para hacer frente a una demanda creciente de productos y servicios IA e impulsar la adopción de esta tecnología, especialmente en el sector público y pymes. Dentro del eje 1 de dicha estrategia, se encuentra la llamada Palanca 3, que se centra en la generación de modelos y corpus para una infraestructura pública de modelos de lenguaje. Con la publicación de esta familia de modelos, se avanza en el desarrollo de recursos de inteligencia artificial en España.
Los modelos de lenguaje se encuentran en el epicentro del cambio de paradigma tecnológico que está protagonizando la inteligencia artificial (IA) generativa en los últimos dos años. Desde las herramientas con las que interaccionamos en lenguaje natural para generar texto, imágenes o vídeos y que utilizamos para crear contenido creativo, diseñar prototipos o producir material educativo, hasta aplicaciones más complejas en investigación y desarrollo que incluso han contribuido de forma decisiva a la consecución del Premio Nobel de Química de 2024, los modelos de lenguaje están demostrando su utilidad en una gran variedad de aplicaciones, que por otra parte, aún estamos explorando.
Desde que en 2017 Google publicó el influyente artículo "Attention is all you need", donde se describió la arquitectura de los Transformers, tecnología que sustenta las nuevas capacidades que OpenAI popularizó a finales de 2022 con el lanzamiento de ChatGPT, la evolución de los modelos de lenguaje ha sido más que vertiginosa. En apenas dos años, hemos pasado de modelos centrados únicamente en la generación de texto a versiones multimodales que integran la interacción y generación de texto, imágenes y audio.
Esta rápida evolución ha dado lugar a dos categorías de modelos de lenguaje: los SLM (Small Language Models), más ligeros y eficientes, y los LLM (Large Language Models), más pesados y potentes. Lejos de considerarlos competidores, debemos analizar los SLM y LLM como tecnologías complementarias. Mientras los LLM ofrecen capacidades generales de procesamiento y generación de contenido, los SLM pueden proporcionar soporte a soluciones más ágiles y especializadas para necesidades concretas. Sin embargo, ambos comparten un elemento esencial: dependen de grandes volúmenes de datos para su entrenamiento y en el corazón de sus capacidades están los datos abiertos, que son parte del combustible que se utiliza para entrenar estos modelos de lenguaje en los que se basan las aplicaciones de IA generativa.
LLM: potencia impulsada por datos masivos
Los LLM son modelos de lenguaje a gran escala que cuentan con miles de millones, e incluso billones, de parámetros. Estos parámetros son las unidades matemáticas que permiten al modelo identificar y aprender patrones en los datos de entrenamiento, lo que les proporciona una extraordinaria capacidad para generar texto (u otros formatos) coherente y adaptado al contexto de los usuarios. Estos modelos, como la familia GPT de OpenAI, Gemini de Google o Llama de Meta, se entrenan con inmensos volúmenes de datos y son capaces de realizar tareas complejas, algunas incluso para las que no fueron explícitamente entrenados.
De este modo, los LLM son capaces de realizar tareas como la generación de contenido original, la respuesta a preguntas con información relevante y bien estructurada o la generación de código de software, todas ellas con un nivel de competencia igual o superior al de los humanos especializados en dichas tareas y siempre manteniendo conversaciones complejas y fluidas.
Los LLM se basan en cantidades masivas de datos para alcanzar su nivel de desempeño actual: desde repositorios como Common Crawl, que recopila datos de millones de páginas web, hasta fuentes estructuradas como Wikipedia o conjuntos especializados como PubMed Open Access en el campo biomédico. Sin acceso a estos corpus masivos de datos abiertos, la capacidad de estos modelos para generalizar y adaptarse a múltiples tareas sería mucho más limitada.
Sin embargo, a medida que los LLM continúan evolucionando, la necesidad de datos abiertos aumenta para conseguir progresos específicos como:
- Mayor diversidad lingüística y cultural: aunque los LLM actuales manejan múltiples idiomas, en general están dominados por datos en inglés y otros idiomas mayoritarios. La falta de datos abiertos en otras lenguas limita la capacidad de estos modelos para ser verdaderamente inclusivos y diversos. Más datos abiertos en idiomas diversos garantizarían que los LLM puedan ser útiles para todas las comunidades, preservando al mismo tiempo la riqueza cultural y lingüística del mundo.
- Reducción de sesgos: los LLM, como cualquier modelo de IA, son propensos a reflejar los sesgos presentes en los datos con los que se entrenan. Esto, en ocasiones, genera respuestas que perpetúan estereotipos o desigualdades. Incorporar más datos abiertos cuidadosamente seleccionados, especialmente de fuentes que promuevan la diversidad y la igualdad, es fundamental para construir modelos que representen de manera justa y equitativa a diferentes grupos sociales.
- Actualización constante: los datos en la web y en otros recursos abiertos cambian constantemente. Sin acceso a datos actualizados, los LLM generan respuestas obsoletas muy rápidamente. Por ello, incrementar la disponibilidad de datos abiertos frescos y relevantes permitiría a los LLM mantenerse alineados con la actualidad.
- Entrenamiento más accesible: a medida que los LLM crecen en tamaño y capacidad, también lo hace el coste de entrenarlos y afinarlos. Los datos abiertos permiten que desarrolladores independientes, universidades y pequeñas empresas entrenen y afinen sus propios modelos sin necesidad de costosas adquisiciones de datos. De este modo se democratiza el acceso a la inteligencia artificial y se fomenta la innovación global.
Para solucionar algunos de estos retos, en la nueva Estrategia de Inteligencia Artificial 2024 se han incluido medidas destinadas a generar modelos y corpus en castellano y lenguas cooficiales, incluyendo también el desarrollo de conjuntos de datos de evaluación que consideran la evaluación ética.
SLM: eficiencia optimizada con datos específicos
Por otra parte, los SLM han emergido como una alternativa eficiente y especializada que utiliza un número más reducido de parámetros (generalmente en millones) y que están diseñados para ser ligeros y rápidos. Aunque no alcanzan la versatilidad y competencia de los LLM en tareas complejas, los SLM destacan por su eficiencia computacional, rapidez de implementación y capacidad para especializarse en dominios concretos.
Para ello, los SLM también dependen de datos abiertos, pero en este caso, la calidad y relevancia de los conjuntos de datos son más importantes que su volumen, por ello los retos que les afectan están más relacionados con la limpieza y especialización de los datos. Estos modelos requieren conjuntos que estén cuidadosamente seleccionados y adaptados al dominio específico para el que se van a utilizar, ya que cualquier error, sesgo o falta de representatividad en los datos puede tener un impacto mucho mayor en su desempeño. Además, debido a su enfoque en tareas especializadas, los SLM enfrentan desafíos adicionales relacionados con la accesibilidad de datos abiertos en campos específicos. Por ejemplo, en sectores como la medicina, la ingeniería o el derecho, los datos abiertos relevantes suelen estar protegidos por restricciones legales y/o éticas, lo que dificulta su uso para entrenar modelos de lenguaje.
Los SLM se entrenan con datos cuidadosamente seleccionados y alineados con el dominio en el que se utilizarán, lo que les permite superar a los LLM en precisión y especificidad en tareas concretas, como por ejemplo:
- Autocompletado de textos: un SLM para autocompletado en español puede entrenarse con una selección de libros, textos educativos o corpus como los que se impulsarán en la ya mencionada Estrategia de IA, siendo mucho más eficiente que un LLM de propósito general para esta tarea.
- Consultas jurídicas: un SLM entrenado con conjuntos de datos jurídicos abiertos pueden proporcionar respuestas precisas y contextualizadas a preguntas legales o procesar documentos contractuales de forma más eficaz que un LLM.
- Educación personalizada: en el sector educativo, SLM entrenados con datos abiertos de recursos didácticos pueden generar explicaciones específicas, ejercicios personalizados o incluso evaluaciones automáticas, adaptadas al nivel y las necesidades del estudiante.
- Diagnóstico médico: un SLM entrenado con conjuntos de datos médicos, como resúmenes clínicos o publicaciones abiertas, puede asistir a médicos en tareas como la identificación de diagnósticos preliminares, la interpretación de imágenes médicas mediante descripciones textuales o el análisis de estudios clínicos.
Desafíos y consideraciones éticas
No debemos olvidar que, a pesar de los beneficios, el uso de datos abiertos en modelos de lenguaje presenta desafíos significativos. Uno de los principales retos es, como ya hemos mencionado, garantizar la calidad y neutralidad de los datos para que estén libres de sesgos, ya que estos pueden amplificarse en los modelos, perpetuando desigualdades o prejuicios.
Aunque un conjunto de datos sea técnicamente abierto, su utilización en modelos de inteligencia artificial siempre plantea algunas implicaciones éticas. Por ejemplo, es necesario evitar que información personal o sensible se filtre o pueda deducirse de los resultados generados por los modelos, ya que esto podría causar daños a la privacidad de las personas.
También debe tenerse en cuenta la cuestión de la atribución y propiedad intelectual de los datos. El uso de datos abiertos en modelos comerciales debe abordar cómo se reconoce y compensa adecuadamente a los creadores originales de los datos para que sigan existiendo incentivos a los creadores.
Los datos abiertos son el motor que impulsa las asombrosas capacidades de los modelos de lenguaje, tanto en el caso de los SLM como de los LLM. Mientras que los SLM destacan por su eficiencia y accesibilidad, los LLM abren puertas a aplicaciones avanzadas que no hace mucho nos parecían imposibles. Sin embargo, el camino hacia el desarrollo de modelos más capaces, pero también más sostenibles y representativos, depende en gran medida de cómo gestionemos y aprovechemos los datos abiertos.
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.
El procesamiento del lenguaje natural (NLP, por sus siglas en inglés) es una rama de la inteligencia artificial que permite a las máquinas comprender y manipular el lenguaje humano. En el núcleo de muchas aplicaciones modernas, como asistentes virtuales, sistemas de traducción automática y chatbots, se encuentran los word embeddings. Pero, ¿qué son exactamente y por qué son tan importantes?
¿Qué son los word embeddings?
Los word embeddings son una técnica que permite a las máquinas representar el significado de las palabras de manera que se puedan capturar relaciones complejas entre ellas. Para entenderlo, pensemos en cómo las palabras se usan en un contexto determinado: una palabra adquiere significado en función de las palabras que la rodean. Por ejemplo, la palabra banco podría referirse a una institución financiera o a un asiento, dependiendo del contexto en el que se encuentre.
La idea detrás de los word embeddings es que se asigna a cada palabra un vector en un espacio de varias dimensiones. La posición de estos vectores en el espacio refleja la cercanía semántica entre las palabras. Si dos palabras tienen significados similares, sus vectores estarán cercanos. Si sus significados son opuestos o no tienen relación, estarán distantes en el espacio vectorial.
Para visualizarlo, imaginemos que palabras como lago, río y océano estarían cerca entre sí en este espacio, mientras que palabras como lago y edificio estarían mucho más separadas. Esta estructura permite que los algoritmos de procesamiento de lenguaje puedan realizar tareas complejas, como encontrar sinónimos, hacer traducciones precisas o incluso responder preguntas basadas en contexto.
¿Cómo se crean los word embeddings?
El objetivo principal de los word embeddings es capturar relaciones semánticas y la información contextual de las palabras, transformándolas en representaciones numéricas que puedan ser comprendidas por los algoritmos de machine learning (aprendizaje automático). En lugar de trabajar con texto sin procesar, las máquinas requieren que las palabras se conviertan en números para poder identificar patrones y relaciones de manera efectiva.
El proceso de creación de word embeddings consiste en entrenar un modelo en un gran corpus de texto, como artículos de Wikipedia, para aprender la estructura del lenguaje. El primer paso implica realizar una serie de preprocesamientos en el corpus, que incluye tokenizar las palabras, eliminar puntuación y términos irrelevantes, y, en algunos casos, convertir todo el texto a minúsculas para mantener la consistencia.
El uso del contexto para capturar el significado
Una vez preprocesado el texto, se utiliza una técnica conocida como "ventana de contexto deslizante" para extraer información. Esto significa que, para cada palabra objetivo, se toman en cuenta las palabras que la rodean dentro de un cierto rango. Por ejemplo, si la ventana de contexto es de 3 palabras, para la palabra avión en la frase “El avión despega a las seis”, las palabras de contexto serán El, despega, a.
El modelo se entrena para aprender a predecir una palabra objetivo usando las palabras de su contexto (o a la inversa, predecir el contexto a partir de la palabra objetivo). Para ello, el algoritmo ajusta sus parámetros de manera que los vectores asignados a cada palabra se acerquen más en el espacio vectorial si esas palabras aparecen frecuentemente en contextos similares.
Cómo los modelos aprenden la estructura del lenguaje
La creación de los word embeddings se basa en la capacidad de estos modelos para identificar patrones y relaciones semánticas. Durante el entrenamiento, el modelo ajusta los valores de los vectores de manera que las palabras que suelen compartir contextos tengan representaciones similares. Por ejemplo, si avión y helicóptero se usan frecuentemente en frases similares (por ejemplo, en el contexto de transporte aéreo), los vectores de avión y helicóptero estarán cerca en el espacio vectorial.
A medida que el modelo procesa más y más ejemplos de frases, va afinando las posiciones de los vectores en el espacio continuo. De este modo, los vectores no solo reflejan la proximidad semántica, sino también otras relaciones como sinónimos, categorías (por ejemplo, frutas, animales) y relaciones jerárquicas (por ejemplo, perro y animal).
Un par de ejemplos simplificado
Imaginemos un pequeño corpus de solo seis palabras: guitarra, bajo, batería, piano, coche y bicicleta. Supongamos que cada palabra se representa en un espacio vectorial de tres dimensiones de la siguiente manera:
guitarra [0.3, 0.8, -0.1]
bajo [0.4, 0.7, -0.2]
batería [0.2, 0.9, -0.1]
piano [0.1, 0.6, -0.3]
coche [0.8, -0.1, 0.6]
bicicleta [0.7, -0.2, 0.5]
En este ejemplo simplificado, las palabras guitarra, bajo, batería y piano representan instrumentos musicales y están ubicadas cerca unas de otras en el espacio vectorial, ya que se utilizan en contextos similares. En cambio, coche y bicicleta, que pertenecen a la categoría de medios de transporte, se encuentran alejadas de los instrumentos musicales pero cercanas entre ellas. Esta otra imagen muestra cómo se verían distintos términos relacionados con cielo, alas e ingeniería en un espacio vectorial.
Figura1. Ejemplos de representación de un corpus en un espacio vectorial. Fuente: Adaptación de “Word embeddings: the (very) basics”, de Guillaume Desagulier.
Estos ejemplos solo utilizan tres dimensiones para ilustrar la idea, pero en la práctica, los word embeddings suelen tener entre 100 y 300 dimensiones para capturar relaciones semánticas más complejas y matices lingüísticos.
El resultado final es un conjunto de vectores que representan de manera eficiente cada palabra, permitiendo a los modelos de procesamiento de lenguaje identificar patrones y relaciones semánticas de forma más precisa. Con estos vectores, las máquinas pueden realizar tareas avanzadas como búsqueda semántica, clasificación de texto y respuesta a preguntas, mejorando significativamente la comprensión del lenguaje natural.
Estrategias para generar word embeddings
A lo largo de los años, se han desarrollado múltiples enfoques y técnicas para generar word embeddings. Cada estrategia tiene su forma de capturar el significado y las relaciones semánticas de las palabras, lo que resulta en diferentes características y usos. A continuación, se presentan algunas de las principales estrategias:
1. Word2Vec: captura de contexto local
Desarrollado por Google, Word2Vec es uno de los enfoques más conocidos y se basa en la idea de que el significado de una palabra se define por su contexto. Usa dos enfoques principales:
- CBOW (Continuous Bag of Words): en este enfoque, el modelo predice la palabra objetivo usando las palabras de su entorno inmediato. Por ejemplo, dado un contexto como "El perro está ___ en el jardín", el modelo intenta predecir la palabra jugando, basándose en las palabras El, perro, está y jardín.
- Skip-gram: A la inversa, Skip-gram usa una palabra objetivo para predecir las palabras circundantes. Usando el mismo ejemplo, si la palabra objetivo es jugando, el modelo intentaría predecir que las palabras en su entorno son El, perro, está y jardín.
La idea clave es que Word2Vec entrena el modelo para capturar la proximidad semántica a través de muchas iteraciones en un gran corpus de texto. Las palabras que tienden a aparecer juntas tienen vectores más cercanos, mientras que las que no están relacionadas aparecen más distantes.
2. GloVe: enfoque basado en estadísticas globales
GloVe, desarrollado en la Universidad de Stanford, se diferencia de Word2Vec al utilizar estadísticas globales de co-ocurrencia de palabras en un corpus. En lugar de considerar solo el contexto inmediato, GloVe se basa en la frecuencia con la que dos palabras aparecen juntas en todo el corpus.
Por ejemplo, si pan y mantequilla aparecen juntas con frecuencia, pero pan y planeta rara vez se encuentran en el mismo contexto, el modelo ajusta los vectores de manera que pan y mantequilla estén cerca en el espacio vectorial.
Esto permite que GloVe capture relaciones globales más amplias entre palabras y que las representaciones sean más robustas a nivel semántico. Los modelos entrenados con GloVe tienden a funcionar bien en tareas de analogía y similitud de palabras.
3. FastText: captura de sub-palabras
FastText, desarrollado por Facebook, mejora a Word2Vec al introducir la idea de descomponer las palabras en sub-palabras. En lugar de tratar cada palabra como una unidad indivisible, FastText representa cada palabra como una suma de n-gramas. Por ejemplo, la palabra jugando se podría descomponer en ju, uga, ando, etc.
Esto permite que FastText capture similitudes incluso entre palabras que no aparecieron explícitamente en el corpus de entrenamiento, como variaciones morfológicas (jugando, jugar, jugador). Esto es particularmente útil para lenguajes con muchas variaciones gramaticales.
4. Embeddings contextuales: captura de sentido dinámico
Modelos como BERT y ELMo representan un avance significativo en word embeddings. A diferencia de las estrategias anteriores, que generan un único vector para cada palabra independientemente del contexto, los embeddings contextuales generan diferentes vectores para una misma palabra según su uso en la frase.
Por ejemplo, la palabra banco tendrá un vector diferente en la frase "me senté en el banco del parque" que en "el banco aprobó mi solicitud de crédito". Esta variabilidad se logra entrenando el modelo en grandes corpus de texto de manera bidireccional, es decir, considerando no solo las palabras que preceden a la palabra objetivo, sino también las que la siguen.
Aplicaciones prácticas de los word embeddings
Los word embeddings se utilizan en una variedad de aplicaciones de procesamiento de lenguaje natural, como:
- Reconocimiento de Entidades Nombradas (NER, por sus siglas en inglés): permiten identificar y clasificar nombres de personas, organizaciones y lugares en un texto. Por ejemplo, en la frase "Apple anunció su nueva sede en Cupertino", los word embeddings permiten al modelo entender que Apple es una organización y Cupertino es un lugar.
- Traducción automática: ayudan a representar palabras de una manera independiente del idioma. Al entrenar un modelo con textos en diferentes lenguas, se pueden generar representaciones que capturan el significado subyacente de las palabras, facilitando la traducción de frases completas con un mayor nivel de precisión semántica.
- Sistemas de recuperación de información: en motores de búsqueda y sistemas de recomendación, los word embeddings mejoran la coincidencia entre las consultas de los usuarios y los documentos relevantes. Al capturar similitudes semánticas, permiten que incluso consultas no exactas se correspondan con resultados útiles. Por ejemplo, si un usuario busca "medicamento para el dolor de cabeza", el sistema puede sugerir resultados relacionados con analgésicos gracias a las similitudes capturadas en los vectores.
- Sistemas de preguntas y respuestas: los word embeddings son esenciales en sistemas como los chatbots y asistentes virtuales, donde ayudan a entender la intención detrás de las preguntas y a encontrar respuestas relevantes. Por ejemplo, ante la pregunta “¿Cuál es la capital de Italia?”, los word embeddings permiten que el sistema entienda las relaciones entre capital e Italia y encuentre Roma como respuesta.
- Análisis de sentimiento: los word embeddings se utilizan en modelos que determinan si el sentimiento expresado en un texto es positivo, negativo o neutral. Al analizar las relaciones entre palabras en diferentes contextos, el modelo puede identificar patrones de uso que indican ciertos sentimientos, como alegría, tristeza o enfado.
- Agrupación semántica y detección de similaridades: los word embeddings también permiten medir la similitud semántica entre documentos, frases o palabras. Esto se utiliza para tareas como agrupar artículos relacionados, recomendar productos basados en descripciones de texto o incluso detectar duplicados y contenido similar en grandes bases de datos.
Conclusión
Los word embeddings han transformado el campo del procesamiento de lenguaje natural al ofrecer representaciones densas y significativas de las palabras, capaces de capturar sus relaciones semánticas y contextuales. Con la aparición de embeddings contextuales, el potencial de estas representaciones sigue creciendo, permitiendo que las máquinas comprendan incluso las sutilezas y ambigüedades del lenguaje humano. Desde aplicaciones en sistemas de traducción y búsqueda, hasta chatbots y análisis de sentimiento, los word embeddings seguirán siendo una herramienta fundamental para el desarrollo de tecnologías cada vez más avanzadas y humanizadas en el campo del lenguaje natural.
Contenido elaborado por Juan Benavente, ingeniero superior industrial y experto en Tecnologías ligadas a la economía del dato. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
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 (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.
Empecemos por el principio. Definiciones.
Antes de sumergirnos en los detalles, es importante entender brevemente qué representa cada uno de estos términos. Los dos primeros conceptos (SLM y LLM) que abordamos, son lo que se conoce cómo modelos del lenguaje. Un modelo de lenguaje es un sistema de inteligencia artificial que entiende y genera texto en lenguaje humano, como lo hacen los chatbots o los asistentes virtuales. Los siguientes dos conceptos (Fine Tuning y RAG), podríamos definirlos cómo técnicas de optimización de estos modelos del lenguaje previos. En definitiva, estás técnicas, con sus respectivos enfoques, que veremos más adelante, mejoran las respuestas y el contenido que devuelven al que pregunta. Vamos a por los detalles:
- SLM (Small Language Models): Modelos de lenguaje más compactos y especializados, diseñados para tareas específicas o dominios concretos.
- LLM (Large Language Models): Modelos de lenguaje de gran escala, entrenados con vastas cantidades de datos y capaces de realizar una amplia gama de tareas lingüísticas.
- RAG (Retrieval-Augmented Generation): Una técnica que combina la recuperación de información relevante con la generación de texto para producir respuestas más precisas y contextualizadas.
- Fine-tuning: El proceso de ajustar un modelo pre-entrenado para una tarea o dominio específico, mejorando su rendimiento en aplicaciones concretas.
Ahora, profundicemos en cada concepto y exploremos cómo se interrelacionan en el ecosistema de la IA Generativa.
Figura 1. Pilares de la IA genrativa. Elaboración propia.
SLM: La potencia en la especialización
Mayor eficiencia para tareas concretas
Los Modelos de Lenguaje Pequeños (SLM) son modelos de IA diseñados para ser más ligeros y eficientes que sus contrapartes más grandes. Aunque tienen menos parámetros, están optimizados para tareas específicas o dominios concretos.
Características clave de los SLM:
- Eficiencia computacional: requieren menos recursos para su entrenamiento y ejecución.
- Especialización: se centran en tareas o dominios específicos, logrando un alto rendimiento en áreas concretas.
- Rápida implementación: ideal para dispositivos con recursos limitados o aplicaciones que requieren respuestas en tiempo real.
- Menor huella de carbono: al ser más pequeños, su entrenamiento y uso consumen menos energía.
Aplicaciones de los SLM:
- Asistentes virtuales para tareas específicas (por ejemplo, reserva de citas).
- Sistemas de recomendación personalizados.
- Análisis de sentimientos en redes sociales.
- Traducción automática para pares de idiomas específicos.
LLM: El poder de la generalización
La revolución de los Modelos de Lenguaje Grandes
Los LLM han transformado el panorama de la IA Generativa, ofreciendo capacidades sorprendentes en una amplia gama de tareas lingüísticas.
Características clave de los LLM:
- Vastas cantidades de datos de entrenamiento: se entrenan con enormes corpus de texto, abarcando diversos temas y estilos.
- Arquitecturas complejas: utilizan arquitecturas avanzadas, como Transformers, con miles de millones de parámetros.
- Capacidad de generalización: pueden abordar una amplia variedad de tareas sin necesidad de entrenamiento específico para cada una.
- Comprensión contextual: son capaces de entender y generar texto considerando contextos complejos.
Aplicaciones de los LLM:
- Generación de texto creativo (historias, poesía, guiones).
- Respuesta a preguntas complejas y razonamientos.
- Análisis y resumen de documentos extensos.
- Traducción multilingüe avanzada.
RAG: Potenciando la precisión y relevancia
La sinergia entre recuperación y generación
Como ya exploramos en nuestro artículo anterior, RAG combina la potencia de los modelos de recuperación de información con la capacidad generativa de los LLM. Sus aspectos fundamentales son:
Características clave de RAG:
- Mayor precisión en las respuestas.
- Capacidad de proporcionar información actualizada.
- Reducción de "alucinaciones" o información incorrecta.
- Adaptabilidad a dominios específicos sin necesidad de reentrenar completamente el modelo.
Aplicaciones de RAG:
- Sistemas de atención al cliente avanzados.
- Asistentes de investigación académica.
- Herramientas de fact-checking para periodismo.
- Sistemas de diagnóstico médico asistido por IA.
Fine-tuning: Adaptación y especialización
Perfeccionando modelos para tareas específicas
El fine-tuning es el proceso de ajustar un modelo pre-entrenado (generalmente un LLM) para mejorar su rendimiento en una tarea o dominio específico. Sus elementos principales son los siguientes:
Características clave del fine-tuning:
- Mejora significativa del rendimiento en tareas específicas.
- Adaptación a dominios especializados o nichos.
- Reducción del tiempo y recursos necesarios en comparación con el entrenamiento desde cero.
- Posibilidad de incorporar conocimientos específicos de la organización o industria.
Aplicaciones del fine-tuning:
- Modelos de lenguaje específicos para industrias (legal, médica, financiera).
- Asistentes virtuales personalizados para empresas.
- Sistemas de generación de contenido adaptados a estilos o marcas particulares.
- Herramientas de análisis de datos especializadas.
Pongamos algunos ejemplos
A muchos de los que estéis familiarizados con las últimas noticias en IA generativa os sonarán estos ejemplos que citamos a continuación.
SLM: La potencia en la especialización
Ejemplo: BERT para análisis de sentimientos
BERT (Bidirectional Encoder Representations from Transformers) es un ejemplo de SLM cuando se utiliza para tareas específicas. Aunque BERT en sí es un modelo de lenguaje grande, versiones más pequeñas y especializadas de BERT se han desarrollado para análisis de sentimientos en redes sociales.
Por ejemplo, DistilBERT, una versión reducida de BERT, se ha utilizado para crear modelos de análisis de sentimientos en X (Twitter). Estos modelos pueden clasificar rápidamente tweets como positivos, negativos o neutros, siendo mucho más eficientes en términos de recursos computacionales que modelos más grandes.
LLM: El poder de la generalización
Ejemplo: GPT-3 de OpenAI
GPT-3 (Generative Pre-trained Transformer 3) es uno de los LLM más conocidos y utilizados. Con 175 mil millones de parámetros, GPT-3 es capaz de realizar una amplia variedad de tareas de procesamiento de lenguaje natural sin necesidad de un entrenamiento específico para cada tarea.
Una aplicación práctica y conocida de GPT-3 es ChatGPT, el chatbot conversacional de OpenAI. ChatGPT puede mantener conversaciones sobre una gran variedad de temas, responder preguntas, ayudar con tareas de escritura y programación, e incluso generar contenido creativo, todo ello utilizando el mismo modelo base.
Ya a finales de 2020 introducimos en este espacio el primer post sobre GPT-3 como gran modelo del lenguaje. Para los más nostálgicos, podéis consultar el post original aquí.
RAG: Potenciando la precisión y relevancia
Ejemplo: El asistente virtual de Anthropic, Claude
Claude, el asistente virtual desarrollado por Anthropic, es un ejemplo de aplicación que utiliza técnicas RAG. Aunque los detalles exactos de su implementación no son públicos, Claude es conocido por su capacidad para proporcionar respuestas precisas y actualizadas, incluso sobre eventos recientes.
De hecho, la mayoría de asistentes conversacionales basados en IA generativa incorporan técnicas RAG para mejorar la precisión y el contexto de sus respuestas. Así, ChatGPT, la citada Claude, MS Bing y otras similares usan RAG.
Fine-tuning: Adaptación y especialización
Ejemplo: GPT-3 fine-tuned para GitHub Copilot
GitHub Copilot, el asistente de programación de GitHub y OpenAI, es un excelente ejemplo de fine-tuning aplicado a un LLM. Copilot está basado en un modelo GPT (posiblemente una variante de GPT-3) que ha sido específicamente ajustado (fine-tuned) para tareas de programación.
El modelo base se entrenó adicionalmente con una gran cantidad de código fuente de repositorios públicos de GitHub, lo que le permite generar sugerencias de código relevantes y sintácticamente correctas en una variedad de lenguajes de programación. Este es un claro ejemplo de cómo el fine-tuning puede adaptar un modelo de propósito general a una tarea altamente especializada.
Otro ejemplo: en el blog de datos.gob.es, también escribimos un post sobre aplicaciones que utilizaban GPT-3 como LLM base para construir productos concretos ajustados específicamente.
Interrelaciones y sinergias
Estos cuatro conceptos no operan de forma aislada, sino que se entrelazan y complementan en el ecosistema de la IA Generativa:
- SLM y LLM: Mientras que los LLM ofrecen versatilidad y capacidad de generalización, los SLM proporcionan eficiencia y especialización. La elección entre uno u otro dependerá de las necesidades específicas del proyecto y los recursos disponibles.
- RAG y LLM: RAG potencia las capacidades de los LLM al proporcionarles acceso a información actualizada y relevante. Esto mejora la precisión y utilidad de las respuestas generadas.
- Fine-tuning y LLM: El fine-tuning permite adaptar LLM genéricos a tareas o dominios específicos, combinando la potencia de los modelos grandes con la especialización necesaria para ciertas aplicaciones.
- RAG y Fine-tuning: Estas técnicas pueden combinarse para crear sistemas altamente especializados y precisos. Por ejemplo, un LLM con fine-tuning para un dominio específico puede utilizarse como componente generativo en un sistema RAG.
- SLM y Fine-tuning: El fine-tuning también puede aplicarse a SLM para mejorar aún más su rendimiento en tareas específicas, creando modelos altamente eficientes y especializados.
Conclusiones y futuro de la IA
La 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.
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.
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.
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.
En los últimos meses hemos visto cómo los grandes modelos del lenguaje (LLM en sus siglas en inglés) que habilitan las aplicaciones de Inteligencia artificial generativa (GenAI) han ido mejorando en cuanto a su precisión y confiabilidad. Las técnicas de RAG (Retrieval Augmented Generation) nos han permitido utilizar toda la potencia de la comunicación en lenguaje natural (NLP) con las máquinas para explorar bases de conocimiento propias y extraer información procesada en forma de respuestas a nuestras preguntas. En este artículo profundizamos en las técnicas RAG con el objetivo de conocer mejor su funcionamiento y todas las posibilidades que nos ofrecen en el contexto de la IA generativa.
¿Qué son las técnicas RAG?
No es la primera vez que hablamos de las técnicas RAG. En este artículo ya introdujimos el tema, explicando de forma sencilla en qué consisten, cuáles son sus principales ventajas y qué beneficios aporta en el uso de la IA Generativa.
Recordemos por un momento sus principales claves. RAG, del inglés, Retrieval Augmented Generation, viene a traducirse cómo Generación Aumentada por Recuperación (de información). Es decir, RAG consiste en lo siguiente: cuando un usuario realiza una pregunta -normalmente en un interfaz conversacional-, la Inteligencia Artificial (IA), antes de proporcionar la respuesta directa -que podría dar haciendo uso de la base de conocimiento (fijo) con la que ha sido entrenada-, realiza un proceso de búsqueda y procesamiento de información en una base de datos específica proporcionada previamente, complementaria a la del entrenamiento. Cuando hablamos de una base de datos nos referimos a una base de conocimiento previamente preparada a partir de un conjunto de documentos que el sistema utilizará para proporcionar respuestas más precisas. De esta forma, cuando hacen uso de las técnicas RAG, las interfaces conversacionales producen respuestas más precisas y adaptadas a un contexto concreto.
Fuente: Elaboración propia
Diagrama conceptual del funcionamiento de un asistente o interfaz conversacional sin hacer uso de RAG (arriba) y haciendo uso de RAG (abajo).
Haciendo un símil con el ámbito médico, podríamos decir que el uso de RAG es como si un médico, con amplia experiencia y, por lo tanto, altamente entrenado, además de los conocimientos adquiridos durante su formación académica y años de experiencia, tuviera acceso rápido y sin esfuerzo a los últimos estudios, análisis y bases de datos médicas al instante, antes de proporcionar un diagnóstico. La formación académica y los años de experiencia equivalen al entrenamiento del modelo grande del lenguaje (LLM) y el “mágico” acceso a los últimos estudios y bases de datos específicas pueden asimilarse a lo que proporciona las técnicas RAG.
Evidentemente, en el ejemplo que acabamos de poner, la buena práctica médica hace indispensables ambos elementos que el cerebro humano sabe combinar de forma natural, aunque no sin esfuerzo y tiempo, incluso disponiendo de las herramientas digitales actuales, que hacen más sencilla e inmediata la búsqueda de información.
RAG en detalle
Fundamentos de RAG
RAG combina dos fases para conseguir su objetivo: la recuperación y la generación. En la primera, se buscan documentos relevantes en una base de datos que contiene información pertinente a la pregunta planteada (por ejemplo, una base de datos clínicos o una base de conocimiento de preguntas y respuestas más habituales). En la segunda, se utiliza un LLM para generar una respuesta basada en los documentos recuperados. Este enfoque asegura que las respuestas no solo sean coherentes sino también precisas y respaldadas por datos verificables.
Componentes del Sistema RAG
A continuación, vamos a describir los componentes que utiliza un algoritmo de RAG para cumplir con su función. Para ello, en cada componente, vamos a explicar qué función cumple, qué tecnologías se utilizan para cumplir esta función y un ejemplo de la parte del proceso RAG en el que interviene ese componente.
1. Modelo de Recuperación:
- Función: Identifica y recupera documentos relevantes de una base de datos grande en respuesta a una consulta.
- Tecnología: Generalmente utiliza técnicas de recuperación de información (Information Retrieval en inglés o IR) como BM25 o modelos de recuperación basados en embeddings como Dense Passage Retrieval (DPR).
- Proceso: Dada una pregunta, el modelo de recuperación busca en una base de datos para encontrar los documentos más relevantes y los presenta como contexto para la generación de la respuesta.
2. Modelo de Generación:
- Función: Generar respuestas coherentes y contextualmente relevantes utilizando los documentos recuperados.
- Tecnología: Basado en algunos de los principales grandes modelos de Lenguaje (LLM) como GPT-3.5, T5, o BERT, Llama.
- Proceso: El modelo de generación toma la consulta del usuario y los documentos recuperados y utiliza esta información combinada para producir una respuesta precisa.
Proceso Detallado de RAG1
En detalle, un algoritmo RAG realiza las siguientes etapas:
1. Recepción de la pregunta. El sistema recibe una pregunta del usuario. Esta pregunta se procesa para extraer las palabras clave y entender la intención.
2. Recuperación de documentos. La pregunta se envía al modelo de recuperación.
- Ejemplo de Recuperación basada en embeddings:
- La pregunta se convierte en un vector de embeddings utilizando un modelo pre-entrenado.
- Este vector se compara con los vectores de documentos en la base de datos.
- Se seleccionan los documentos con mayor similitud.
- Ejemplo de BM25:
- Se tokeniza la pregunta y se comparan las palabras clave con los índices invertidos de la base de datos.
- Se recuperan los documentos más relevantes según una puntuación de relevancia.
3. Filtrado y clasificación. Los documentos recuperados se filtran para eliminar redundancias y clasificarlos según su relevancia. Pueden aplicarse técnicas adicionales como reranking utilizando modelos más sofisticados.
4. Generación de la respuesta. Los documentos filtrados se concatenan con la pregunta del usuario y se introducen en el modelo de generación. El LLM utiliza la información combinada para generar una respuesta que es coherente y directamente relevante a la pregunta. Por ejemplo, si utilizamos GPT-3.5 como LLM, la entrada al modelo incluye tanto la pregunta del usuario como fragmentos de los documentos recuperados. Finalmente, el modelo genera texto utilizando su capacidad para comprender el contexto de la información proporcionada.
En la siguiente sección vamos a ver algunas aplicaciones en las que la Inteligencia Artificial y los modelos grandes del lenguaje juegan un papel diferenciador y, en concreto, vamos a analizar cómo se benefician estos casos de usos de la aplicación de las técnicas RAG.
Ejemplos de casos de uso que se benefician sustancialmente de usar RAG frente a no usar RAG
1. Atención al Cliente en eCommerce
- Sin RAG:
- Un chatbot básico puede dar respuestas genéricas y potencialmente incorrectas sobre políticas de devolución.
- Ejemplo: Por favor, revise nuestra política de devoluciones en el sitio web.
- Con RAG:
- El chatbot accede a la base de datos de políticas actualizadas y proporciona una respuesta específica y precisa.
- Ejemplo: Puede devolver los productos dentro de 30 días desde la compra, siempre que estén en su embalaje original. Consulte más detalles [aquí].
2. Diagnóstico Médico
- Sin RAG:
- Un asistente virtual de salud podría ofrecer recomendaciones basadas solo en su entrenamiento previo, sin acceso a la información médica más reciente.
- Ejemplo: Es posible que tenga gripe. Consulte a su médico
- Con RAG:
- El asistente puede recuperar información de bases de datos médicas recientes y proporcionar un diagnóstico más preciso y actualizado.
- Ejemplo: Según los síntomas y los estudios recientes publicados en PubMed, podría estar enfrentando una infección viral. Consulte a su médico para un diagnóstico preciso.
3. Asistencia en Investigación Académica
- Sin RAG:
- Un investigador recibe respuestas limitadas a lo que el modelo ya sabe, lo que puede no ser suficiente para temas altamente especializados.
- Ejemplo: Los modelos de crecimiento económico son importantes para entender la economía.
- Con RAG:
- El asistente recupera y analiza artículos académicos relevantes, proporcionando información detallada y precisa.
- Ejemplo: Según el estudio de 2023 en 'Journal of Economic Growth', el modelo XYZ ha mostrado un 20% más de precisión en la predicción de tendencias económicas en mercados emergentes.
4. Periodismo
- Sin RAG:
- Un periodista recibe información genérica que puede no estar actualizada ni ser precisa.
- Ejemplo: La inteligencia artificial está cambiando muchas industrias.
- Con RAG:
- El asistente recupera datos específicos de estudios y artículos recientes, ofreciendo una base sólida para el artículo.
- Ejemplo: Según un informe de 2024 de 'TechCrunch', la adopción de IA en el sector financiero ha aumentado en un 35% en el último año, mejorando la eficiencia operativa y reduciendo costos.
Por supuesto, para la mayoría de los usuarios que hemos experimentado los interfaces conversacionales más accesibles, como ChatGPT, Gemini o Bing, podemos constatar que las respuestas suelen ser completas y bastante precisas cuando se trata de preguntas de ámbito general. Esto es porque estos agentes hacen uso de métodos RAG y otras técnicas avanzadas para proporcionar las respuestas. Sin embargo, no hay que remontarse mucho tiempo atrás en el que los asistentes conversacionales, como Alexa, Siri u OK Google, proporcionaban respuestas extremadamente simples y muy similares a las que explicamos en los ejemplos anteriores cuando no se hace uso de RAG.
Conclusiones
Las técnicas de Generación Aumentada por Recuperación (RAG) mejora la precisión y relevancia de las respuestas de los modelos de lenguaje al combinar recuperación de documentos y generación de texto. Utilizando métodos de recuperación como BM25 o DPR y modelos avanzados de lenguaje, RAG proporciona respuestas más contextualizadas, actualizadas y precisas. En la actualidad, RAG es la clave para el desarrollo exponencial de la IA en el ámbito de los datos privados de empresas y organizaciones. En los próximos meses se espera una adopción masiva de RAG en diversas industrias, optimizando la atención al cliente, diagnósticos médicos, investigación académica y periodismo, gracias a su capacidad para integrar información relevante y actual en tiempo real.
1. Para entender mejor esta sección, recomendamos al lector la lectura de este trabajo previo en el que explicamos de forma didáctica los fundamentos del procesamiento del lenguaje natural y cómo enseñamos a leer a las máquinas.
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.
La transferencia de conocimiento humano hacia los modelos de aprendizaje automático es la base de toda la inteligencia artificial actual. Si queremos que los modelos de IA sean capaces de resolver tareas, primero tenemos que codificar y transmitirles tareas resueltas en un lenguaje formal que puedan procesar. Entendemos como tarea resuelta la información codificada en diferentes formatos, como el texto, la imagen, el audio o el vídeo. En el caso del procesamiento del lenguaje, y con el fin de conseguir sistemas con una alta competencia lingüística para que puedan comunicarse de manera ágil con nosotros, necesitamos trasladar a estos sistemas el mayor número posible de producciones humanas en texto. A estos conjuntos de datos los llamamos corpus.
Corpus: conjuntos de datos en texto
Cuando hablamos de los corpus, corpora (su plural latino) o datasets que se han utilizado para entrenar a los grandes modelos de lenguaje (LLMs por Large Language Models) como GPT-4, hablamos de libros de todo tipo, contenido escrito en páginas web, grandes repositorios de texto e información del mundo como Wikipedia, pero también producciones lingüísticas menos formales como las que escribimos en redes sociales, en reseñas públicas de productos o servicios, o incluso en correos electrónicos. Esta variedad permite que estos modelos de lenguaje puedan procesar y manejar texto en diferentes idiomas, registros y estilos.
Para las personas que trabajan en Procesamiento del Lenguaje Natural (PLN), ciencia e ingeniería de datos, son conocidos y habituales los grandes facilitadores como Kaggle o repositorios como Awesome Public Datasets en GitHub, que proporcionan acceso directo a la descarga de fuentes de datos públicas. Algunos de estos ficheros de datos han sido preparados para su procesamiento y están listos para analizar, mientras que otros se encuentran en un estado no estructurado, que requiere un trabajo previo de limpieza y ordenación antes de poder empezar a trabajar con ellos. Aunque también contienen datos numéricos cuantitativos, muchas de estas fuentes presentan datos en texto que pueden utilizarse para entrenar modelos de lenguaje.
El problema de la legitimidad
Una de las complicaciones que hemos encontrado en la creación de estos modelos es que los datos en texto que están publicados en internet y han sido recogidos mediante API (conexiones directas que permiten la descarga masiva de una web o repositorio) u otras técnicas, no siempre son de dominio público. En muchas ocasiones, tienen copyright: escritores, traductores, periodistas, creadores de contenido, guionistas, ilustradores, diseñadores y también músicos reclaman a las grandes tecnológicas un licenciamiento por el uso de sus contenidos en texto e imagen para entrenar modelos. Los medios de comunicación, en concreto, son actores enormemente impactados por esta situación, aunque su posicionamiento varía en función de su situación y de diferentes decisiones de negocio. Por ello es necesario que existan corpus abiertos que se puedan utilizar para estas tareas de entrenamiento, sin perjuicio de la propiedad intelectual.
Características idóneas para un corpus de entrenamiento
La mayoría de las características, que tradicionalmente han definido a un buen corpus en investigación lingüística, no han variado al utilizarse en la actualidad estos conjuntos de datos en texto para entrenar modelos de lenguaje.
- Sigue siendo beneficioso utilizar textos completos y no fragmentos, para asegurar su coherencia.
- Los textos deben ser auténticos, procedentes de la realidad lingüística y de situaciones naturales del lenguaje, recuperables y verificables.
- Es importante asegurar una diversidad amplia en la procedencia de los textos en cuanto a sectores de la sociedad, publicaciones, variedades locales de los idiomas y emisores o hablantes.
- Además del lenguaje general, debe incluirse una amplia variedad de lenguajes de especialidad, tecnicismos y textos específicos de diferentes áreas del conocimiento.
- El registro es fundamental en una lengua, por lo que debemos cubrir tanto el registro formal como el informal, en sus extremos y regiones intermedias.
- El lenguaje debe estar bien formado para evitar interferencias en el aprendizaje, por lo que es conveniente eliminar marcas de código, números o símbolos que correspondan a metadatos digitales y no a la formación natural del lenguaje.
Como recomendaciones específicas para los formatos de los archivos que van a formar parte de estos corpus, encontramos que los corpus de texto con anotaciones deben almacenarse en codificación UTF-8 y en formato JSON o CSV, no en PDF. Los corpus sonoros tienen como formato preferente WAV 16 bits, 16 KHz. (para voz) o 44.1 KHz (para música y audio). Los corpus en vídeo es conveniente recopilarlos en formato MPEG-4 (MP4), y las memorias de traducción en TMX o CSV.
El texto como patrimonio colectivo
Las bibliotecas nacionales en Europa están digitalizando activamente sus ricos depósitos de historia y cultura, asegurando el acceso público y la preservación. Instituciones como la Biblioteca Nacional de Francia o la British Library lideran con iniciativas que digitalizan desde manuscritos antiguos hasta publicaciones actuales en web. Este atesoramiento digital no solo protege el patrimonio contra el deterioro físico, sino que también democratiza el acceso para los investigadores y el público y, desde hace algunos años, también permite la recopilación de corpus de entrenamiento para modelos de inteligencia artificial.
Los corpus proporcionados de manera oficial por bibliotecas nacionales permiten que las colecciones de textos sirvan para crear tecnología pública al alcance de todos: un patrimonio cultural colectivo que genera un nuevo patrimonio colectivo, esta vez tecnológico. La ganancia es mayor cuando estos corpus institucionales sí están enfocados a cumplir con las leyes de propiedad intelectual, proporcionando únicamente datos abiertos y textos libres de restricciones de derechos de autor, con derechos prescritos o licenciados. Esto, unido al hecho esperanzador de que la cantidad de datos reales necesaria para entrenar modelos de lenguaje va reduciéndose a medida que avanza la tecnología, por ejemplo, con la generación de datos sintéticos o la optimización de determinados parámetros, indica que es posible entrenar grandes modelos de texto sin infringir las leyes de propiedad intelectual que operan en Europa.
En concreto, la Biblioteca Nacional de España está haciendo un gran esfuerzo de digitalización para poner sus valiosos repositorios de texto a disposición de la investigación, y en particular de las tecnologías del lenguaje. Desde que en 2008 se realizó la primera gran digitalización masiva de colecciones físicas, la BNE ha abierto el acceso a millones de documentos con el único objetivo de compartir y universalizar el conocimiento. En 2023, y gracias a la inversión procedente de los fondos de Recuperación, Transformación y Resiliencia de la Unión Europea, la BNE impulsa un nuevo proyecto de preservación digital en su Plan Estratégico 2023-2025, centrada en cuatro ejes:
- la digitalización masiva y sistemática de las colecciones,
- BNELab como catalizador de innovación y reutilización de datos en ecosistemas digitales,
- alianzas y nuevos entornos de cooperación,
- e integración y sostenibilidad tecnológica.
La alineación de estos cuatro ejes con las nuevas tecnologías de inteligencia artificial y procesamiento del lenguaje natural es más que notoria, ya que una de las principales reutilizaciones de datos es el entrenamiento de grandes modelos de lenguaje. Tanto los registros bibliográficos digitalizados como los índices de catalogación de la Biblioteca son materiales de valor para la tecnología del conocimiento.
Modelos de lenguaje en español
En el año 2020, y como una iniciativa pionera y relativamente temprana, en España se presentaba MarIA, un modelo de lenguaje impulsado por la Secretaría de Estado de Digitalización e Inteligencia Artificial y desarrollado por el Centro Nacional de Supercomputación (BSC-CNS), a partir de los archivos de la Biblioteca Nacional de España. En este caso, el corpus estaba compuesto por textos procedentes de páginas web, que habían sido recopilados por la BNE desde el año 2009 y que habían servido para nutrir un modelo basado originalmente en GPT-2.
Han ocurrido muchas cosas entre la creación de MarIA y el anuncio en el Mobile World Congress de 2024 de la construcción de un gran modelo fundacional de lenguaje, entrenado específicamente en español y lenguas cooficiales. Este sistema será de código abierto y transparente, y únicamente utilizará en su entrenamiento contenido libre de derechos. Este proyecto es pionero a nivel europeo, ya que busca proporcionar desde las instituciones una infraestructura lingüística abierta, pública y accesible para las empresas. Al igual que MarIA, el modelo se desarrollará en el BSC-CNS, en un trabajo conjunto con la Biblioteca Nacional de España y otros actores como la Academia Española de la Lengua y la Asociación de Academias de la Lengua Española.
Además de las instituciones que pueden aportar colecciones lingüísticas o bibliográficas, existen muchas más instituciones en España que pueden proporcionar corpus de calidad que pueden servir también para el entrenamiento de modelos en español. El Estudio sobre datos reutilizables como recursos lingüísticos, publicado en 2019 en el marco del Plan de Tecnologías del Lenguaje, ya apuntaba a distintas fuentes: las patentes y los informes técnicos de la Oficina de Patentes y Marcas, tanto españolas como europeas, los diccionarios terminológicos del Centro de Terminología, o datos tan elementales como el padrón, del Instituto Nacional de Estadística, o los topónimos del Instituto Geográfico Nacional. Cuando hablamos de contenido audiovisual, que puede ser transcrito para su reutilización, contamos con el archivo en vídeo de RTVE A la carta, el Archivo Audiovisual del Congreso de los Diputados o los archivos de las diferentes televisiones autonómicas. El propio Boletín Oficial del Estado y sus materiales asociados son una fuente importante de información en texto que contiene conocimientos amplios sobre nuestra sociedad y su funcionamiento. Por último, en ámbitos específicos como la salud o la justicia, contamos con las publicaciones de la Agencia Española de Medicamentos y Productos Sanitarios, los textos de jurisprudencia del CENDOJ o las grabaciones de vistas judiciales del Consejo General del Poder Judicial.
Iniciativas europeas
En Europa no parece haber un precedente tan claro como MarIA o el próximo modelo basado en GPT en español, como proyectos impulsados a nivel estatal y entrenados con datos patrimoniales, procedentes de bibliotecas nacionales u organismos oficiales.
Sin embargo, en Europa hay un buen trabajo previo de disponibilidad de la documentación que podría utilizarse ahora para entrenar sistemas de IA de fundación europea. Un buen ejemplo es el proyecto Europeana, que busca digitalizar y hacer accesible el patrimonio cultural y artístico de Europa en conjunto. Es una iniciativa colaborativa que reúne contribuciones de miles de museos, bibliotecas, archivos y galerías, proporcionando acceso gratuito a millones de obras de arte, fotografías, libros, piezas de música y vídeos. Europeana cuenta con casi 25 millones de documentos en texto, que podrían ser la base para crear modelos fundacionales multilingües o competentes en las distintas lenguas europeas.
Existen también iniciativas no gubernamentales, pero con impacto global, como Common Corpus, que son la prueba definitiva de que es posible entrenar modelos de lenguaje con datos abiertos y sin infringir las leyes de derechos de autor. Common Corpus se liberó en marzo de 2024, y es el conjunto de datos más extenso creado para el entrenamiento de grandes modelos de lenguaje, con 500 mil millones de palabras procedentes de distintas iniciativas de patrimonio cultural. Este corpus es multilingüe y es el más grande hasta la fecha en inglés, francés, neerlandés, español, alemán e italiano.
Y finalmente, más allá del texto, es posible encontrar iniciativas en otros formatos como el audio, que también pueden servir para entrenar modelos de IA. En 2022, la Biblioteca Nacional de Suecia proporcionó un corpus sonoro de más de dos millones de horas de grabación procedentes de la radio pública local, podcasts y audiolibros. El objetivo del proyecto era generar un modelo basado en IA de transcripción de audio a texto competente en el idioma, que maximizase el número de hablantes para conseguir un dataset disponible para todos, diverso y democrático.
Hasta ahora, en la recopilación y la puesta a disposición de la sociedad de datos en texto era suficiente el sentido de lo colectivo y el patrimonio. Con los modelos de lenguaje, esta apertura consigue un beneficio mayor: el de crear y mantener una tecnología que aporte valor a las personas y a las empresas, alimentada y mejorada a partir de nuestras propias producciones lingüísticas.
Contenido elaborado por Carmen Torrijos, experta en IA aplicada al lenguaje y la comunicación. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
La era de la digitalización en la que nos encontramos ha llenado nuestra vida diaria de productos de datos o productos basados en datos. En este post te descubrimos en qué consisten y te mostramos una de las tecnologías de datos clave para diseñar y construir este tipo de productos: GraphQL.
Introducción
Empecemos por el principio, ¿qué es un producto de datos? Un producto de datos es un contenedor digital (una pieza de software) que incluye, datos, metadatos y ciertas lógicas funcionales (qué y cómo manejo los datos). El objetivo de este tipo de productos es facilitar la interacción de los usuarios con un conjunto de datos. Algunos ejemplos son:
- Cuadro de mando de ventas: Los negocios online cuentan con herramientas para conocer la evolución de sus ventas, con gráficos que muestran las tendencias y rankings, para ayudar en la toma de decisiones
- Apps de recomendaciones: Los servicios de TV en streaming disponen de funcionalidades que muestran recomendaciones de contenidos basándose en los gustos históricos del usuario.
- Apps de movilidad. Las aplicaciones móviles de los nuevos servicios de movilidad (como Cabify, Uber, Bolt, etc.) combinan datos y metadatos de usuarios y conductores con algoritmos predictivos, como el cálculo dinámico del precio del viaje o la asignación óptima de conductor, con el fin de ofrecer una experiencia única al usuario.
- Apps de salud: Estas aplicaciones hacen un uso masivo de los datos capturados por gadgets tecnológicos (como el propio dispositivo, los relojes inteligentes, etc.) que se pueden integrar con otros datos externos como registros clínicos y pruebas diagnósticas.
- Monitoreo ambiental: Existen apps que capturan y combinan datos de servicios de predicción meteorológica, sistemas de calidad del aire, información de tráfico en tiempo real, etc. para emitir recomendaciones personalizadas a los usuarios (por ejemplo, la mejor hora para programar una sesión de entrenamiento, disfrutar al aire libre o viajar en coche).
Como vemos, los productos de datos nos acompañan en el día a día, sin que muchos usuarios se den siquiera cuenta. Pero, ¿cómo se captura esa gran cantidad de información heterogénea de diferentes sistemas tecnológicos y se combina para proporcionar interfaces y vías de interacción con el usuario final? Aquí es donde GraphQL se posiciona como una tecnología clave para acelerar la creación de productos de datos, al mismo tiempo que mejora considerablemente su flexibilidad y la capacidad de adaptación a las nuevas funcionalidades deseadas por los usuarios.
¿Qué es GraphQL?
GraphQL vio la luz en Facebook en 2012 y se liberó como Open Source en 2015. Puede definirse como un lenguaje y un intérprete de ese lenguaje, de forma que un desarrollador de productos de datos puede inventarse una forma de describir su producto en base a un modelo (una estructura de datos) que hace uso de los datos disponibles mediante APIs.
Antes de la aparición de GraphQL, teníamos (y tenemos) la tecnología REST, que utiliza el protocolo HTTPs para hacer preguntas y obtener respuestas en base a los datos. En 2021, introducimos un post donde presentamos la tecnológica y realizamos un pequeño ejemplo demostrativo sobre su funcionamiento. En él, explicamos REST API como la tecnología estándar que soporta el acceso a datos por programas informáticos. También destacamos cómo REST es una tecnología fundamentalmente diseñada para integrar servicios (como un servicio de autenticación o login).
De forma sencilla, podemos utilizar la siguiente analogía. Es como si REST fuera el mecanismo que nos da acceso a un diccionario completo. Es decir, si necesitamos buscar cualquier palabra, tenemos un método de acceso al diccionario que es la búsqueda alfabética. Es un mecanismo general para encontrar cualquier palabra disponible en el diccionario. Sin embargo, GraphQL nos permite, previamente, crear un modelo de diccionario para nuestro caso de uso (lo que conocemos como “modelo de datos”). Así por ejemplo, si nuestra aplicación final es un recetario, lo que hacemos es seleccionar un subconjunto de palabras del diccionario que estén relacionadas con recetas de cocina.
Para utilizar GraphQL los datos tienen que estar siempre disponibles mediante una API. GraphQL facilita una descripción completa y comprensible de los datos de dicha API, ofreciendo a los clientes (humanos o aplicación) la posibilidad de solicitar exactamente lo que necesitan. Tal y como citan en este post, GraphQL es como un API al que le añadimos una sentencia “Dónde” al estilo SQL.
A continuación, analizamos en detalle las virtudes de GraphQL cuando el foco se pone en el desarrollo de productos de datos.
Beneficios de usar GraphQL en productos de datos:
- Con GraphQL se optimiza de forma considerable la cantidad de datos y consultas sobre las APIs. Las APIs de acceso a determinados datos no están pensadas para un producto (o un caso de uso) específico sino como una especificación general de acceso (véase el ejemplo anterior del diccionario). Esto hace que, en muchas ocasiones, para acceder a un subconjunto de datos disponibles en un API, tengamos que realizar varias consultas encadenadas, descartando la mayor parte de información por el camino. GraphQL optimiza este proceso, puesto que define un modelo de consumo predefinido (aunque adaptable a futuro) por encima de una API técnica. Reducir la cantidad de datos solicitados impacta positivamente en la racionalización de recursos informáticos, como el ancho de banda o el almacenamiento transitorio (cachés), y mejora la velocidad de respuesta de los sistemas.
- Lo anterior, tiene un efecto inmediato sobre la estandarización de acceso a datos. El modelo definido gracias a GraphQL crea un estándar de consumo de datos para una familia de casos de uso. De nuevo, en el contexto de una red social, si lo que queremos es identificar conexiones entre personas, no nos interesa un mecanismo general de acceso a todas las personas de la red, sino un mecanismo que nos permita indicar aquellas personas con las que tengo algún tipo de conexión. Esta especie de filtro en el acceso a los datos, se puede pre-configurar gracias a GraphQL.
- Mejora de seguridad y rendimiento: A través de la definición precisa de consultas y la limitación de acceso a datos sensibles, GraphQL puede contribuir a una aplicación más segura y de mejor rendimiento.
Gracias a estas ventajas, el uso de este lenguaje representa una evolución significativa en la manera de interactuar con datos en aplicaciones web y móviles, ofreciendo ventajas claras sobre enfoques más tradicionales como REST.
La Inteligencia Artificial generativa. Un nuevo superhéroe en la ciudad.
Si el uso del lenguaje GraphQL para acceder a los datos de forma mucho más eficiente y estándar es una evolución significativa para los productos de datos, ¿qué pasará si podemos interactuar con nuestro producto en lenguaje natural? Esto es ahora posible gracias a la explosiva evolución en los últimos 24 meses de los LLMs (Modelos Grandes del Lenguaje) y la IA generativa.
La siguiente imagen muestra el esquema conceptual de un producto de datos, integrado con LLMS: un contenedor digital que incluye datos, metadatos y funciones lógicas que se expresan como funcionalidades para el usuario, junto con las últimas tecnologías para exponer información de forma flexible, como GraphQL y las interfaces conversacionales construidas sobre Modelos Grandes del Lenguaje (LLMs).
¿Cómo se pueden beneficiar los productos de datos de la combinación de GraphQLy el uso de los LLMs?
- Mejora de la experiencia de usuario. Mediante la integración de LLMs, las personas puedan hacer preguntas a los productos de datos usando lenguaje natural. Esto representa un cambio significativo en cómo interactuamos con los datos, haciendo que el proceso sea más accesible y menos técnico. De forma práctica sustituiremos los clicks por frases en el momento de pedir un taxi.
- Mejoras en la seguridad a lo largo de la cadena de interacción en el uso de un producto de datos. Para que esta interacción sea posible, se necesita un mecanismo que conecte de manera eficaz el backend (donde residen los datos) con el frontend (donde se hacen las preguntas). GraphQL se presenta como la solución ideal debido a su flexibilidad y capacidad para adaptarse a las necesidades cambiantes de los usuarios, ofreciendo un enlace directo y seguro entre los datos y las preguntas realizadas en lenguaje natural. Es decir, GraphQL puede pre-seleccionar los datos que se van a mostrar en una consulta, evitando así que la consulta general pueda hacer visibles algunos datos privados o innecesarios para una aplicación particular.
- Potenciando las consultas con Inteligencia Artificial: La inteligencia artificial no solo juega un papel en la interacción en lenguaje natural con el usuario. Se puede pensar en escenarios donde el propio modelo que se define con GraphQL esté asistido por la propia inteligencia artificial. Esto enriquecería las interacciones con los productos de datos, permitiendo una comprensión más profunda y una exploración más rica de la información disponible. Por ejemplo, le podemos pedir a una IA generativa (como ChatGPT) que tome estos datos del catálogo que se exponen como un API y que nos cree un modelo y un endpoint de GraphQL.
En definitiva, la combinación de GraphQL y los LLMs, supone una auténtica evolución en la forma en la que accedemos a los datos. La integración de GraphQL con los LLMs apunta hacia un futuro donde el acceso a los datos puede ser tan preciso como intuitivo, marcando un avance hacia sistemas de información más integrados, accesibles para todos y altamente reconfigurables para los diferentes casos de uso. Este enfoque abre la puerta a una interacción más humana y natural con las tecnologías de información, alineando la inteligencia artificial con nuestras experiencias cotidianas de comunicación usando productos de datos en nuestro día a día.
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.
La estandarización es fundamental para mejorar la eficiencia y la interoperabilidad en el gobierno y la gestión de datos. La adopción de estándares proporciona un marco común para organizar, intercambiar e interpretar los datos, facilitando la colaboración y garantizando la consistencia y calidad de los mismos. Los estándares ISO, elaborados a nivel internacional y las normas UNE, desarrolladas específicamente para el mercado español, son ampliamente reconocidos en este ámbito. Ambos catálogos de buenas prácticas, aunque comparten objetivos similares, difieren en su alcance geográfico y enfoque de desarrollo, permitiendo a las organizaciones seleccionar las normas más adecuadas para sus necesidades y contexto específico.
Ante la publicación, hace unos meses, de las especificaciones UNE 0077, 0078, 0079, 0080, y 0081 sobre gobierno, gestión, calidad, madurez, y evaluación de calidad de datos, los usuarios pueden tener dudas sobre cómo se relacionan estas y las normas ISO que ya tienen implementadas en su organización. Con este post se busca contribuir a paliar estas dudas. Para ello, se presenta un resumen de los principales estándares relacionados con las TIC, poniendo el foco en dos de ellos: ISO 20000 sobre gestión del servicio, e ISO 27000, sobre seguridad y privacidad de la información, y se establece la relación entre estos y las especificaciones UNE.
Normas ISO más habituales relacionadas con el dato
Los estándares ISO tiene la gran ventaja de ser abiertos, dinámicos y agnósticos a las tecnologías subyacentes. Del mismo modo, se encargan de aunar las mejores prácticas consensuadas y decididas por distintos grupos de profesionales e investigadores en cada uno de los campos de actuación. Si ponemos el foco en los estándares relacionados con las TIC, ya existe un marco de estándares sobre gobierno, gestión y calidad de los sistemas de información donde destacan, entre otras:
A nivel de gobierno:
- ISO 38500 para el gobierno de TI.
A nivel de gestión:
- ISO 8000 para sistemas de gestión de datos y datos maestros.
- ISO 20000 para la gestión de los servicios.
- ISO 25000 para la calidad del producto generado (tanto software como datos).
- ISO 27000 e ISO 27701 para la gestión de la seguridad y privacidad de la información.
- ISO 33000 para la evaluación de procesos.
A estos estándares hay que sumar otros que también son de uso habitual en las empresas como:
- Sistema de gestión de calidad basado en ISO 9000
- Sistema de gestión medioambiental propuesto en ISO 14000
Estas normas se usan desde hace años para el gobierno y gestión de las TIC y tienen la gran ventaja de que, al basarse en los mismos principios, pueden usarse perfectamente de manera conjunta. Así, por ejemplo, es muy útil reforzar mutuamente la seguridad de los sistemas de información basados en la familia de normas ISO/IEC 27000 con la gestión de servicios basados en la familia de normas ISO/IEC 20000.
La relación entre las normas ISO y las especificaciones UNE sobre el dato
Las especificaciones UNE 0077, 0078, 0079, 0080 y 0081 complementan las normas ISO existentes sobre gobierno, gestión y calidad de datos al proporcionar directrices específicas y detalladas que se enfocan en los aspectos particulares del entorno español y las necesidades del mercado nacional.
Cuando se plantearon las especificaciones UNE 0077, 0078, 0079, 0080, y 0081, se basaron en los principales estándares ISO, con el fin de integrarse fácilmente en los sistemas de gestión ya disponibles en las organizaciones (mencionados anteriormente), como puede verse en la siguiente figura:
Figura 1. Relación de las especificaciones UNE con los diferentes estándares ISO para las TIC.
Ejemplo de aplicación de la norma UNE 0078
A continuación, se presenta un ejemplo para ver cómo se integran de una forma más clara las normas UNE y las ISO que muchas organizaciones ya tienen implantadas desde hace años, tomando como referencia la UNE 0078. Aunque todas las especificaciones UNE del dato se encuentran entrelazadas con la mayoría de las normas ISO de gobierno, gestión y calidad de TI, la especificación UNE 0078 de gestión de datos está más relacionada con los sistemas de gestión de seguridad de la información (ISO 27000) y gestión de los servicios de TI (ISO 20000). En la Tabla 1 se puede ver la relación para cada proceso con cada estándar ISO.
Proceso UNE 0078: Gestión de Datos | Relacionado con ISO 20000 | Relacionado con ISO 27000 |
---|---|---|
(ProcDat) Procesamiento del dato | ||
(InfrTec) Gestión de la infraestructura tecnológica | X | X |
(ReqDat) Gestión de requisitos del dato | X | X |
(ConfDat) Gestión de la configuración del dato | ||
(DatHist) Gestión de datos histórico | X | |
(SegDat) Gestión de la seguridad del dato | X | X |
(Metdat) Gestión del metadato |
X | |
(ArqDat) Gestión de la arquitectura y diseño del metadato |
X |
|
(CIIDat) Compartición, intermediación e integración del dato |
X |
|
(MDM) Gestión del dato maestro |
|
|
(RRHH) Gestión de recursos humanos |
|
|
(CVidDat) Gestión del ciclo de vida del dato |
X |
|
D(AnaDat) Análisis del dato esigualdad |
|
Tabla. 1. Relación de procesos de UNE 0078 con ISO 27000 e ISO 20000.
Relación de la norma UNE 0078 con ISO 20000
En cuanto a la interrelación ISO 20000-1 con la especificación UNE 0078 a continuación se presenta un caso de uso en el que una organización quiere poner a disposición datos relevantes para su consumo en toda la organización a través de distintos servicios. La implementación integrada de UNE 0078 e ISO 20000-1 permite a las organizaciones:
- Asegurar que los datos críticos para el negocio son gestionados y protegidos adecuadamente.
- Mejorar la eficiencia y efectividad de los servicios de TI, asegurando que la infraestructura tecnológica respalda las necesidades del negocio y de los usuarios finales
- Alinear la gestión de datos y la gestión de servicios de TI con los objetivos estratégicos de la organización, mejorando la toma de decisiones y la competitividad en el mercado
La relación entre ambas se manifiesta en cómo la infraestructura tecnológica gestionada según la UNE 0078 soporta la entrega y gestión de servicios de TI conforme a ISO 20000-1.
Para ello, es necesario contar, al menos, con:
- En primer lugar, para el caso de puesta a disposición de datos como un servicio, es necesario contar con una infraestructura de TI bien gestionada y segura. Esto es esencial, por un lado, para la implementación efectiva de procesos de gestión de servicios de TI, como los incidentes y problemas, y por otro, para asegurar la continuidad del negocio y la disponibilidad de los servicios de TI.
- En segundo lugar, una vez se dispone de la infraestructura, y se es consciente de que el dato va a ser dispuesto para su consumo en algún momento, es necesario gestionar los principios de compartición e intermediación de dicho dato. Para ello, en la especificación UNE 0078, se cuenta con el proceso de Compartición, intermediación e integración del dato. Su principal objetivo es habilitar su adquisición y/o entrega para su consumo o compartición, observando si fuese necesario el despliegue de mecanismos de intermediación, así como la integración del mismo. Este proceso de la UNE 0078 estaría relacionado con varios de los planteados en ISO 20000-1, tales como el proceso de Gestión de relaciones con el negocio, gestión de niveles de servicio, la gestión de la demanda y la gestión de la capacidad de los datos que son puestos a disposición.
Relación de la norma UNE 0078 con ISO 27000
Así mismo, la infraestructura tecnológica creada y gestionada para un objetivo específico debe asegurar unos mínimos en materia de seguridad y privacidad de datos, por lo tanto, será necesaria la implantación de buenas prácticas incluidas en ISO 27000 e ISO 27701 para gestionar la infraestructura desde la perspectiva de la seguridad y privacidad de la información, mostrando así un claro ejemplo de interrelación entre los tres sistemas de gestión: servicios, seguridad y privacidad de la información, y datos.
No solo es primordial que el dato sea puesto al servicio de las organizaciones y ciudadanos de una forma óptima, sino que es necesario además prestar especial atención a la seguridad del dato a lo largo de todo su ciclo de vida durante la puesta en servicio. Es en este punto donde el estándar ISO 27000 aporta todo su valor. El estándar ISO 27000, y en particular ISO 27001 cumple los siguientes objetivos:
- Especifica los requisitos para un sistema de gestión de seguridad de la información (SGSI).
- Se centra en la protección de la información contra accesos no autorizados, la integridad de los datos y la confidencialidad.
- Ayuda a las organizaciones a identificar, evaluar y gestionar los riesgos de seguridad de la información.
En esta línea, su interrelación con la especificación UNE 0078 de Gestión de Datos viene marcada a través del proceso de Gestión de seguridad del dato. A través de la aplicación de los distintos mecanismos de seguridad, se comprueba que la información manejada en los sistemas no tiene accesos no autorizados, manteniendo su integridad y confidencialidad a lo largo de todo el ciclo de vida del dato. Del mismo modo, se puede construir una terna en esta relación con el proceso de gestión de seguridad de datos de la especificación UNE 0078 y con el proceso de UNE 20000-1 de Operación SGSTI- Gestión de Seguridad de la Información.
A continuación, en la Figura 2 se presenta como la especificación UNE 0078 complementa a las actuales ISO 20000 e ISO 27000 aplicado al ejemplo comentado anteriormente.
Figura 2. Relación de procesos UNE 0078 con ISO 20000 e ISO 27000 aplicados al caso de compartición de datos.
A través de los casos anteriores se puede vislumbrar que la gran ventaja de la especificación UNE 0078 es que se integran perfectamente con los sistemas de gestión de seguridad y de gestión de servicios existentes en las organizaciones. Lo mismo ocurre con el resto de las normas UNE 0077, 0079, 0080, y 0081. Por lo tanto, si una organización que ya tiene implantados ISO 20000 o ISO 27000 quiere llevar a cabo iniciativas de gobierno, gestión y calidad de datos, se recomienda el alineamiento entre los distintos sistemas de gestión con las especificaciones UNE, puesto que se refuerzan mutuamente desde el punto de vista de la seguridad, de los servicios y de los datos.
Contenido elaborado por Dr. Fernando Gualo, Profesor en UCLM y Consultor de Gobierno y Calidad de datos. Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.
La alineación de la inteligencia artificial es un término establecido desde los años sesenta, según el que orientamos los objetivos de los sistemas inteligentes en la dirección exacta de los valores humanos. La llegada de los modelos generativos ha vuelto a poner de moda este concepto de alineación, que se vuelve más urgente cuanta más inteligencia y autonomía muestran los sistemas. Sin embargo, no hay alineamiento posible sin una definición anterior, consensuada y precisa de estos valores. El reto hoy es encontrar objetivos enriquecedores donde la aplicación de la IA tenga un efecto positivo y transformador en el conocimiento, la organización social y la convivencia.
El derecho a entender
En este contexto, uno de los grandes pilares de la IA actual, el procesamiento del lenguaje lleva años haciendo aportes de valor a la comunicación clara y, en concreto, al lenguaje claro. Veamos qué son estos conceptos:
- La comunicación clara, como disciplina, tiene como objetivo hacer la información accesible y comprensible para todas las personas, utilizando recursos de redacción, pero también visuales, de diseño, infografía, experiencia de usuario y accesibilidad.
- El lenguaje claro se enfoca en la composición de los textos, con técnicas para presentar las ideas de manera directa y concisa, sin excesos estilísticos ni omisiones de la información fundamental.
Ambos conceptos están estrechamente vinculados con el derecho a entender de las personas.
Antes de chatGPT: aproximaciones analíticas
Antes de la llegada de la IA generativa y la popularización de las capacidades GPT, la inteligencia artificial se aplicaba al lenguaje claro desde un punto de vista analítico, con diferentes técnicas de clasificación y búsqueda de patrones. La principal necesidad entonces era que un sistema pudiera evaluar si un texto era o no comprensible, pero no existía aún la expectativa de que ese mismo sistema pudiera reescribir nuestro texto de una manera más clara. Veamos un par de ejemplos:
Este es el caso de Clara, un sistema de IA analítica disponible en abierto en versión beta. Clara es un sistema mixto: por un lado, ha aprendido qué patrones caracterizan a los textos claros y no claros a partir de la observación de un corpus de pares preparado por especialistas en Comunicación Clara. Por otro lado, maneja nueve métricas diseñadas por lingüistas computacionales para decidir si un texto cumple o no los requisitos mínimos de claridad, por ejemplo, el número medio de palabras por frase, los tecnicismos utilizados o la frecuencia de los conectores. Finalmente, Clara devuelve una puntuación en porcentaje para indicar si el texto escrito está más o menos cerca de ser un texto claro. Esto permite al usuario corregir el texto en función de las indicaciones de Clara y someterlo a evaluación de nuevo.
No obstante, otros sistemas analíticos han establecido una aproximación diferente, como Artext claro. Artext es más parecido a un editor de textos tradicional, y en él podemos redactar nuestro texto y activar una serie de revisiones, como los participios, las nominalizaciones verbales o el uso de la negación. Artext señala en color palabras o expresiones en nuestro texto y nos aconseja en un menú lateral qué tenemos que tener en cuenta al utilizarlas. El usuario puede reescribir el texto hasta que, en las diferentes revisiones, vayan desapareciendo las palabras y expresiones marcadas en color.
Tanto Clara como Artext están especializadas en textos administrativos y financieros, con el fin de ser de utilidad principalmente a la administración pública, las entidades financieras y otras fuentes de textos de difícil comprensión que impactan en la ciudadanía.
La revolución generativa
Las herramientas de IA analítica son útiles y muy valiosas si lo que queremos es evaluar un texto sobre el que necesitamos tener un mayor control. Sin embargo, tras la llegada de chatGPT en noviembre de 2022, las expectativas de los usuarios se sitúan más allá. No solo necesitamos un evaluador, sino que esperamos un traductor, un transformador automático de nuestro texto a una versión más clara. Insertamos la versión original del texto en el chat y, a través de una instrucción directa llamada prompt, le pedimos que lo transforme en un texto más claro y sencillo, comprensible por cualquier persona.
Si necesitamos mayor claridad, solo tenemos que repetir la instrucción y el texto vuelve a simplificarse ante nuestros ojos.
Utilizando IA generativa estamos reduciendo el esfuerzo cognitivo, pero también estamos perdiendo gran parte del control sobre el texto. Principalmente, no vamos a conocer cuáles son las modificaciones que se están realizando y por qué, por lo que podemos incurrir en la pérdida o alteración de información. Si queremos aumentar el control y seguir el rastro de los cambios, eliminaciones y añadidos que realiza chatGPT sobre el texto, podemos utilizar un plug-in como EditGPT, disponible como extensión para Google Chrome, que nos permite llevar un control de cambios similar al de Word en nuestras interacciones con el chat. No obstante, no llegaríamos a entender el fundamento de los cambios realizados, como sí haríamos con herramientas como Clara o Artext diseñadas por profesionales de la lengua. Una opción límite es pedirle al chat que nos justifique cada uno de estos cambios, pero la interacción se convertiría en farragosa, compleja y poco eficiente, sin contar con el entusiasmo excesivo con el que el modelo trataría de justificar sus correcciones.
Ejemplos de clarificación generativa
Más allá de la rapidez en la transformación, la IA generativa presenta otras ventajas frente a la analítica, como ciertos elementos que solo pueden identificarse con capacidades GPT. Por ejemplo, detectar en un texto si una sigla o acrónimo ha sido desarrollada previamente, o si un tecnicismo está explicado inmediatamente después de su aparición. Esto requiere un análisis semántico muy complejo para la IA analítica o los modelos basados en reglas. En cambio, un gran modelo de lenguaje es capaz de establecer una relación inteligente entre la sigla y su desarrollo, o entre el tecnicismo y su significado, reconocer si esta explicación existe en algún punto del texto, y además añadirla donde sea pertinente.
Datos abiertos para nutrir la clarificación
El acceso universal a los datos abiertos, y especialmente cuando estos se encuentran preparados para el tratamiento computacional, los hace imprescindibles para el entrenamiento de los grandes modelos lingüísticos. Enormes fuentes de información no estructurada como Wikipedia, el proyecto Common Crawl o Gutenberg permiten a los sistemas aprender el funcionamiento del lenguaje. Y, sobre esta base generalista, es posible ajustar los modelos con conjuntos de datos especializados para que sean más precisos en la tarea de clarificar texto.
En la aplicación de la inteligencia artificial generativa al lenguaje claro tenemos el ejemplo perfecto de un fin valioso, útil a la ciudadanía y positivo para el desarrollo social. Más allá de la fascinación que ha despertado, tenemos la oportunidad de utilizar su potencial en un caso de uso que favorece la igualdad y la inclusividad. La tecnología existe, solo nos falta recorrer el difícil camino de la integración.
Contenido elaborado por Carmen Torrijos, experta en IA aplicada al lenguaje y la comunicación.
Los contenidos y los puntos de vista reflejados en esta publicación son responsabilidad exclusiva de su autor.