lunes, 17 de febrero de 2025

Una inteligencia diseñada

A veces las historias más o menos inspiradas de ciencia-ficción, a ratos los grandes avances técnicos, en ocasiones los espectaculares resultados o demostraciones, y las más de las veces la ignorancia, nos hacen arrojar sobre la inteligencia artificial unas expectativas desmedidas y, sobre todo, a fantasear e imaginar escenarios descabellados.

Y esas expectativas son a veces de tipo económico, de volúmenes de negocio acertados o no, el tiempo dirá. Pero con más frecuencia y menos acierto la, digamos, literatura técnica (aunque muchas veces no sea ni literatura ni técnica) o también algunas manifestaciones de una ética y responsabilidad mal entendidas, nos hacen imaginar y proclamar, e incluso temer, riesgos existenciales, máquinas con libre albedrío sobre las que perdemos el control, singularidades inminentes y, quizá, quizá, un ejército de modernos terminators a la vuelta de la esquina.


La inteligencia artificial como ingeniería


No está de mas recordar que la inteligencia artificial es tecnología, nada menos que tecnología, pero también nada más que tecnología, tecnología fundamentalmente software, aunque un hardware avanzado ayude mucho, como bien sabe Nvidia. Y una tecnología en que tiene muchísimo peso una ciencia básica como son las matemáticas.

Y, en ingeniería, se enfoca un problema, se analizan las opciones que nos ofrecen la ciencia y técnica y se busca una solución, una solución que funcione y que, en la medida de lo posible, sea eficiente y barata.


Diseño: el conocimiento y la intención


Ante se acometer la construcción de la solución se procede a su diseño, es decir a definir la forma en que se va a construir. Se diseñan procesos productivos, se diseñan máquinas, se diseñan algoritmos.

Si, los algoritmos se diseñan. Algunos algoritmos muy simples (no los de inteligencia artificial) se diseñan casi sobre la marcha, en una 'rápida pensada', pero los algoritmos avanzados como los de la inteligencia artificial, después de una gran, gran pensada, e incluso después de ensayar posibilidades y ver qué tal funcionan en realidad.

El diseño implica conocimiento e intención. Conocimiento de la ciencia y técnicas necesarias. Intención como objetivo, como búsqueda de un resultado. No se puede diseñar si no se sabe lo que se hace, sin los conocimientos necesarios del problema y las opciones científico-técnicas disponibles, y no se diseña al tuntún, sino con foco y objetivos.


Inteligencia artificial y diseño


Y, claro, los algoritmos de la inteligencia artificial están diseñados. Se basan en conocimiento, conocimiento sobre de matemáticas, estadística y computación. Y tienen intención, mucha intención.

Incluso, quizá sobre todo, los algoritmos de la inteligencia artificial generativa, aquellos que nos maravillan con sus resultados, su generalidad, su 'aparente humanidad'. están diseñados, fuertemente diseñados. No hay casualidad. Hay mucha intención y un tanto también de experimentación.

Aunque duro, por complejo y farragoso, es muy instructivo revisar el algoritmo, por ejemplo, de los transformers, la arquitectura inicialmente concebida en Google y que ha revolucionado los modelos de lenguaje y con ellos toda la inteligencia artificial.

No se trata, como quizá alguno se imagine, de un 'montón' de neuronas artificiales, todas interconectadas a las que se les muestran ejemplos y esperamos, sin más, que de una manera casi mágica, aprendan en un extraño y fantástico proceso de emergencia. Si eso fuese así, si realmente eso pudiese funcionar, a lo mejor sí que podrían aparecer fenómenos no previstos, quizá una sintiencia, quizá una consciencia, quizá un libre albedrío.

Pero no, no es así. Cada una de las capas de un transformer tiene un misión y una motivación. No son capas al azar a ver qué pasa. Son capas que han sido pensadas por un científico o un ingeniero, usando  conocimiento e intención. Son capas que, en fin, han sido diseñadas.


Implicaciones de una inteligencia diseñada


Decir que una inteligencia ha sido diseñada es decir que ha sido concebida e implementada por seres humanos.

Decir que ha sido diseñada quiere decir que se basa en conocimiento e intención.

Decir que ha sido diseñada es decir que no hay magia, salvo que consideremos magia, y eso sí que no sería muy desacertado, el ingenio humano y su capacidad para concebir nuevas ideas, en este caso nuevos algoritmos.

Decir que ha sido diseñada quiere decir que se basa en conocimiento y que, por tanto es fuertemente improbable, que pueda hacer algo que supere el conocimiento y entendimiento humanos. Y así, si no sabemos, que no lo sabemos, cómo funciona el cerebro humano, difícilmente lo vamos a emular en su totalidad. Si no sabemos, y no lo sabemos, en qué consiste la consciencia, mal la vamos a diseñar. Si no sabemos, y no lo sabemos, cómo opera el libre albedrío, difícilmente lo vamos a convertir en algoritmo.

Decir que ha sido diseñada quiere decir que tiene intención, que el resultado no tiene voluntad propia, que no es algo casual o fuera de control, que ha sido buscado conscientemente.


Retos para el futuro de una inteligencia diseñada


Si la inteligencia artificial es una inteligencia diseñada, si se basa en el conocimiento y la intención, nos reta de dos formas pensando en el futuro.

Reta nuestro conocimiento, qué más seremos capaces de descubrir, que nuevas posibilidades científicas o técnicas crearemos, qué nueva capacidades adquiriremos, qué nuevos conocimientos atesoraremos.

Y reta nuestra intención, qué objetivos querremos alcanzar con la inteligencia artificial, para qué la querremos utilizar y si seremos capaces de ser responsables y éticos en esas aspiraciones. 


Conclusiones


La inteligencia artificial es una forma de ingeniería, y por tanto, una disciplina donde el diseño juega un papel fundamental. Y el diseño necesita de conocimientos e implica intención. 

Ser conscientes de que se trata de una ingeniería y de un diseño, nos debería hacer abandonar fantasías e imaginaciones.

Ser conscientes de que se trata de una ingeniería y un diseño implica un canto a la inteligencia humana y su capacidad de imaginar, concebir e implementar.

Ser conscientes de que se trata de una ingeniería y un diseño, implica que precisa conocimientos, y nos reta a seguir avanzando, a seguir creciendo, a seguir aprendiendo.

Ser conscientes de que se trata de una ingeniería y un diseño, implica que sigue una intención, y por tanto nos reta a la ética y a la responsabilidad y a buscar en la inteligencia artificial todo aquello, y es muchísimo, y sólo aquello, en que puede ayudar a la humanidad.


viernes, 7 de febrero de 2025

La hibridación de los robots software: agentes frente a RPA y robots conversacionales

En el post anterior de este blog, hablaba del nacimiento de una nueva especie robótica, un nuevo tipo de robots software: los agentes de la Agentic AI

Le pongo el apellido 'de Agentic AI' a la espera de que la industria genere algún nuevo nombre, porque el término agente, como expliqué en ese último post, es demasiado genérico y denomina a muchos entes ya existentes incluyendo a las propias personas.

En este artículo pretendo mostrar cómo, desde un punto de vista funcional, no tanto tecnológico, estos agentes, al menos lo que de ellos se nos ha mostrado hasta la fecha, son una suerte de hibridación y evolución de las dos especies de robótica software anteriores: los robots RPA y los robots conversacionales.

Esas dos especies robóticas, robots RPA y robots conversacionales o chatbots, son las que yo identificaba y explicaba en mi libro 'Robots en la sombra'.

Antes de hablar los agentes, pues, recordemos brevemente las ideas principales sobre robots RPA y robots conversacionales.


Los robots RPA


Esquematizo la idea de RPA en la siguiente figura


Robots RPA


Los robots RPA ('Robotic Process Automation') son un tipo de módulos software orientados a interaccionar con recursos IT ya existentes, tanto en la propia empresa como en Internet. Entre esos recursos se encuentran las aplicaciones (a las que acceden ya sea vía conectores o interactuando directamente con su interfaz de usuarios) los documentos recogidos en todo tipo de ficheros, y otros recursos y protocolos con que se interactúa fundamentalmente usando APIs y conectores.

En ese sentido, los robots RPA suelen automatizar orquestando recursos digitales ya existentes, coordinando lecturas, escrituras y solicitud de acciones. 

La lógica de estos robots se basa en reglas, o mejor, en flujos o workflows que define el desarrollador... en tiempo de desarrollo.


Los robots conversacionales


Por su parte, los robots conversacionales, fundamentalmente los chatbots y voicebots tradicionales se ajustan a la siguiente figura:


Robots conversacionales tradicionales

Para los robots conversacionales, su entorno natural son las personas, ya que están diseñados, precisamente, para una interacción natural con ellas mediante conversaciones. En ese sentido, suelen actuar como front-end de una aplicación o de un conjunto de ellas de las que obtienen información o a las que solicitan acciones. Por eso, aunque su entorno principal son las personas, interaccionan también, un poco en back-office, con aplicaciones y recursos haciendo uso, al igual que los robots RPA, de conectores y APIs.

Presentan en su entrada capacidades de procesamiento de voz y lenguaje natural que son entrenadas, en realidad ajustadas, en tiempo de desarrollo, para reconocer intenciones y entidades en lo que el usuario transmite. A partir de ahí, las respuestas y la interacción con el back-office se define con base en reglas claras y en tiempo de desarrollo. 

El planteamiento de los chatbots y su construcción cambia con la llegada de los chatbots basados en modelos generativos, pero prefiero dejar como está la descripción de los robots conversacionales, en parte por claridad de discurso, pero en parte también porque podría no ser descabellado considerar un chatbot basado en modelo generativo como una forma muy simple, quizá un poco degradada, de agente.


¿Y qué son los agentes?


Y llegamos a los agentes.

Los agentes (los de la Agentic AI, me refiero) son módulos software cuyo 'cerebro', por decirlo de alguna manera, es un modelo generativo (podríamos decir que un gran modelo de lenguaje, pero creo que el nombre empieza a resultar inadecuado dada su misión y su probable evolución tecnológica). 

Siguen siendo módulos software autónomos (como los anteriores), y por tanto robots software, en mi opinión. La gran diferencia, la grandísima diferencia, es que ellos mismos deciden la lógica de actuación y lo hacen en tiempo de ejecución, no en tiempo de desarrollo.

Los agentes reciben una solicitud o indicación mediante un prompt que les fija un objetivo y, a partir de ahí, deducen ellos mismos, o al menos esa es la promesa, las acciones a llevar a cabo... y las ejecutan, hasta conseguir los resultados deseados.

Aunque todavía son una idea naciente y que debe evolucionar, concretarse y consolidarse, podemos hacernos una idea de 'por dónde van los tiros', viendo este vídeo reciente de OpenAI mostrando su 'Operator'.



Vemos que el usuario hace una petición de viva voz al agente (y por tanto genera un prompt) lo que quiere y, a partir de ahí, el agente decide lo que tiene que hacer y, en ese lo que tiene que hacer se incluye interaccionar con sitios web a través de sus pantallas. Es decir, el agente interacciona con una persona pero, además, interacciona con aplicaciones.

Yendo ligeramente más allá de lo que se ve en esta demostración, pero reflejando algunas cosas que ya se hacen en frameworks como LangChain y alguna evolución casi evidente y que creo que inminente, el esquema de un agente de la Agentic AI como el que se ve en el vídeo podría ser el ue se muestra en la figura:

Agente

Respecto a lo que se ve en el vídeo, esta figura añade la posibilidad de interactuar con ficheros y la invocación a conectores y APIs, pero no tengo ninguna duda de que, si eso no está disponible ya, lo estará prontísimo, tanto por su utilidad como porque tecnológicamente no supone un desafío ni dificultad adicionales.


Agentic AI como hibridación y evolución de RPA y robots conversacionales


La figura anterior en que esquematizo la idea de un agente, se parece mucho a la que utilizo para RPA o para robots conversacionales. Y eso no es casual. Es intencionado para mostrar los paralelismos que, para mí, son evidentes.

De hecho, para cualquiera que sea conocedor de RPA, lo que muestra la demostración de Operator recuerda muchísimo a RPA, casi lo podríamos considerar RPA: ese interactuar con pantallas de aplicaciones para obtener datos y pedir acciones es lo que supuso el nacimiento de RPA como tipología de solución diferenciada, y lo que todavía hoy en día más la caracteriza, aunque no necesariamente sea como más su utiliza.  Si a eso le añadimos el trabajo con ficheros y el uso de conectores y APIs, tendríamos lo mismo que RPA

Y, es evidente, que estos agentes pueden, si así se desea (aunque es muy probable que en muchas realizaciones prácticas no se utilice) interactuar con usuarios, con personas, mediante texto o de viva voz...de la misma manera que que hacen los robots conversacionales y como se muestra en el video.

Es por ello que considero que los agentes de la Agentic AI no es sólo que sean robots software es que reúnen y fusionan las capacidades de RPA y de los robots conversacionales, las dos 'especies' anteriores, como se ve en la figura que ya auna las tres figuras de cada una de las especies de robot software.


Las tres especies de robot software

La diferencia, la gran diferencia, tanto para lo bueno como para lo malo, frente al caso del RPA que hemos tenido hasta ahora, y a los robots conversacionales que han dominado el panorama hasta la aparición de los chatbots generativos, está en el 'cerebro' y en la lógica de actuación de los agentes.

En el caso de los robots RPA hablamos de flujos o workflows definidos por un desarrollador. Aunque es cierto que hoy en día se pueden enriquecer con elementos de inteligencia artificial y de decisión en tiempo de ejecución, en esencia se basan en reglas y flujos conocidos y establecidos en tiempo de desarrollo.

En el caso de los robots conversacionales tradicionales, aunque interviene un poco de inteligencia artificial en la entrada, a partir de ahí trabajamos con reglas y lógicas definidas por el desarrollador y también en tiempo de desarrollo.

Sin embargo, los agentes, que se basan en modelos generativos, no sólo es que generen una respuesta textual o de voz no predefinida sino que, muchísimo más importante, define el plan de acción de manera autónoma y en tiempo de ejecución. Por decirlo de alguna forma, son muchísimo más inteligentes y mucho más autónomos. Al menos esa es la promesa.


El arma de doble filo


Si los agentes 'cumplen su promesa', si están a la altura no de lo que ya se puede hacer con LangChain hoy en día sino que realmente son capaces de crear planes de actuación de manera autónoma como se muestra en el vídeo y en lo que se está publicando, las posibilidades son inmensas, casi revolucionarias.

Sin embargo, hablo de un arma de doble filo porque, en según qué entornos, por ejemplo la automatización industrial o procesos uniformes y masivos, podemos preferir las reglas claras, conocidas y predecibles de los robots y sistemas tradicionales, antes que unos planes que podrían hacer cosas extrañas (la versión de 'alucinación' llevada a un plan de acción), inesperadas o poco eficientes

Habrá que, por un lado, ver lo que los agentes sean capaces de ofrecer realmente, y por otro aplicar el sentido común.


Conclusiones


Creo haber mostrado, no sólo que los agentes de la Agentic AI son un tipo de robot software sino que, además, al menos en lo que se está prometiendo, aúnan las capacidades tanto de RPA como de robots conversacionales, pero de una forma mucho más inteligente y autónoma y, eso sí, algo más impredecible.

Va a ser interesantísimo ver a dónde se llega realmente en las próximas semanas y meses.


miércoles, 5 de febrero de 2025

Una nueva especie robótica: los agentes

El título puede parecer, la verdad, algo grandilocuente, pero tras algunas semanas pensando en ello, y tras haberlo adelantado en alguna charla y clase, creo poder afirmar que estamos atendiendo al nacimiento de una nueva especie robótica, entendiendo como tal a un nuevo tipo de entidades a las que se le puede aplicar el calificativo de 'robot'.

Me refiero a la AgenticAI y, claro, a los módulos que la tangibilizan: los así denominados  agentes.

Y digo que ha nacido una nueva especie robótica pero, además, y según consultoras como Gartner, y según el típico 'hype' tecnológico, ha nacido también una estrella, aunque este último extremo, el estrellato, los logros reales que puedan alcanzar estos agentes, las capacidades reales que puedan lograr, y su impacto real en el mercado y la sociedad aún está por demostrar... una demostración o refutación que creo que veremos este mismo año, y, caso de tratarse de un éxito, seguramente en el primer semestre.

Pero antes de comentar algo más, vamos a ver de qué hablamos cuando hablamos de robot.


Recordando lo que es un robot


Como diría 'el otro', el concepto de robot es un concepto discutido y discutible. No hay una definición abarcadora, y a la vez, aceptada, de lo que es un robot. Y hemos aplicado históricamente el nombre de robot a entidades artificiales bastante diferenciadas.

Comenté los conceptos de robot en uno de los primeros vídeos de mi proyecto 'The robot notes'. En concreto, en el siguiente vídeo expongo algunas de las concepciones y definiciones existentes.




Y seleccionando la concepción que mejor explica la esencia de un robot, hablaba tanto en el vídeo como en mi libro 'Robots en la sombra' de los agentes inteligentes, una idea que se ilustra en la siguiente figura extraída de mi libro.



Un agente, un robot si llega el caso, sería una entidad que se comunica con el exterior, con el entorno obteniendo información del mismo mediante alguna forma de sensores para, a continuación, y con base en sus objetivos, seleccionar las acciones más convenientes y trasladarlas a ese entorno mediante actuadores.

Es muy importante esa relación con el entorno, incluyendo esa capacidad de actuar sobre el mismo mediante actuadores que es lo que le confiere esa naturaleza de agente, puesto que agente significa aquello que hace, que actúa. La inteligencia, que no necesariamente implica sofisticación ni el uso de inteligencia artificial, supone la coherencia entre la situación del entorno, según se percibe por los sensores, con las acciones efectuadas conforme a los objetivos del agente.

Para que un agente sea un robot, aparte de la caracterización propia como agente, se precisa, evidentemente, que se trate de una entidad artificial (un ser humano es también un agente, pero no un robot).


El debate sobre si el software puede ser un robot


Para muchos autores e instituciones, además, el robot debe tratarse de un ente con realidad física, con cuerpo y, de hecho, esa corporeidad, ese 'embodyment', tiene serias implicaciones, incluidas las éticas, en sus resultados y condicionantes. 

Sin embargo, dentro del término 'robot' se mencionan con frecuencia agentes que son esencialmente lógicos o, por entendernos, software.

En mi libro 'Robots en la sombra', que habla de robots software, explico que, por un lado, los robots que denominados software, realmente si que tienen un 'cuerpo', lo que ocurre es que, en lugar de tratarse de un cuerpo físico especializado, se trata de un hardware de propósito general, típicamente un ordenador o un smartphone y que, además, el entorno con el que interactúan es especial puesto que, con frecuencia, es un entorno digital, no físico.

Intentando identificar las características de los robots en general, incluyendo los que denominamos robots software, llegaba a una propuesta de seis características, a saber:


  • Artificiales
  • Adaptables
  • Actuadores sobre su entorno
  • Autónomos
  • Sustitutivos de personas
  • Similares a personas


Algunas de estas características, como la de la artificialidad, parecen indiscutibles. Más laxas y discutibles son, sin embargo, las que hacen mención al papel sustitutivo de personas o su similitud pero que son muy relevantes en el caso de los robots software. Y también hay que reconocer que se aplica muy comúnmente y sin casi discusión término robot a entes que, por su falta de autonomía, e incluso de inteligencia, cabría excluir de la idea de robot, como son los así llamados robots quirúrgicos.

El tema da para mucho debate, pero lo voy a dejar ahí.

Sólo decir, antes de conocer a la nueva especie robótica, que en mi libro hablaba de dos familias o especies de robots software: los robots RPA ('Robotic Process Automation') por un lado, y los robots conversacionales, o chatbots para simplificar, por otro.


Los agentes de la AgenticAI como robots


Bueno, pues creo que ahora hay que unir una tercera especie o familia: los agentes de la denominada 'AgenticAI'. El propio nombre ya nos avisa: estamos hablando de agentes.

En efecto, se trata de unos módulos software, regidos, en este caso, por un 'cerebro' basado en modelos generativos de inteligencia artificial. Se trata de unos módulos que también perciben un entorno (aunque un entorno especial) y que generan acciones sobre él. Y se trata de unos módulos en que las actuaciones son coherentes con el estado del entorno y los objetivos del módulo. El término agente, pues, es absolutamente apropiado para estos módulos,  aunque quizá resulte desafortunado que se apropien de es término que es muy anterior a la existencia de estos nuevos robots, y que es aplicable a otras muchas entidades. En cualquier caso, sí que son agentes y agentes inteligentes.

Y cumplen las seis condiciones que en mi libro 'Robots en la sombra', atribuía a los robots en general, y a los robots software en particular: son artificiales, adaptables, actuadores sobre su entorno, autónomos, sustitutivos de personas y, en cierto sentido, similares en su comportamiento a ellas. Son, por tanto, robots, robots software.

En algún próximo artículo, intentaré explicar que, no sólo es que se trate de robots software, es que, además, y según se ve en sus primeras realizaciones, tienen importantes solapes con las dos anteriores especies robóticas software que había identificado: los robots RPA y los robots conversacionales, convirtiéndose en una suerte de evolución, e incluso convergencia, de sus 'antepasados' robóticos.


Conclusiones


A despecho del debate existente, y justificado en realidad, acerca de lo que realmente significa el término 'robot' y del otro debate, también existente y también justificado, acerca de si un robot software es realmente un robot, creo que, si sigo mi propia doctrina respecto a lo que es un robot, estamos asistiendo al nacimiento de una nueva especie robótica: los agentes de la AgenticAI.

Una especie 'joven' y que habrá que ir viendo cómo se desarrolla. 

Todo apunta a que tendremos muchos noticias al respecto en las próximos meses e incluso semanas.


martes, 4 de febrero de 2025

Notas sobre aprendizaje por refuerzo (y XV): meta aprendizaje

Y con este post voy a poner fin ya a esta larga serie de artículos sobre aprendizaje por refuerzo, una serie inspirada y guiada por los contenidos del libro 'Deep reinforcement learning' de Aske Plaat

En este último artículo hablaremos del meta aprendizaje.

Pero antes de entrar en materia, como siempre en la serie, repasemos brevemente lo visto en los posts anteriores.


Recordatorio: lo que hemos visto de aprendizaje por refuerzo


El esquema que nos ha guiado durante toda la serie, ha sido el expresado en la siguiente figura que, a estas alturas, y si has seguido la serie, debería resultarte muy familiar:


Nos ocupamos inicialmente de la situación de un agente que interactúa con un entorno que se encuentra en un estado s. Sobre ese entorno, el agente aplica unas acciones, a, como consecuencia de las cuales, el entorno puede experimentar una transición y cambiar de estado, pasando del estado s al s', y el agente recibe una recompensa r. El agente decide la acción a aplicar en cada momento, siguiendo una política π y su objetivo es maximizar la recompensa obtenida lo largo de una secuencia o trayectoria.

Los métodos más básicos, aquellos en que el espacio de estado es reducido, siguen, decíamos, un enfoque tabular, en que se tabulan, de ahí el nombre, los posibles estados y para ellos se calculan unas funciones que nos dan el valor, Q, de la recompensa esperada. Cuando la dimensión del espacio de estados es muy alta, como sucede habitualmente en problemas reales, dejan de tener sentido estos métodos tabulares así que renunciamos a representar la situación del entorno mediante su estado, y a cambio lo representamos mediante unas características ('features') y la obtención de valores o acciones vienen a ser unas funciones con base en esas características e implementadas mediante redes neuronales profundas, dando lugar al 'deep reinforcement learning'.

Cuando tratamos problemas ya no de alta dimensionalidad, sino continuos, como es la locomoción de robots, se adoptan los denominados métodos basados en políticas en que se prescinde de la visión de valores, y se trabaja directamente en optimizar las políticas, que pasan a considerarse como estocásticas, es decir, como distribuciones de probabilidad. 

También aparecía como opción el denominado aprendizaje basado en modelos ('model-based'), en que el agente primero consigue un modelo del entorno y luego ya prescinde del entorno propiamente dicho par a trabajar con ese modelo local durante todo el entrenamiento.

Hasta aquí estábamos en la situación de trabajar con un único agente.

Posteriormente vimos el caso en que teníamos dos agentes, exactamente dos y que se encontraban en una situación competitiva, en uno de los denominados juegos de suma cero en que la ganancia de un agente supone la perdida del otro. En esa situación, una opción habitual era trabajar con el aprendizaje basado en modelos, dado que, para un agente, el entorno está constituido por el otro agente, y se adopta la hipótesis razonable de que su política, la del otro agente, es igual a la nuestra, por lo que modelamos el entorno con el modelo de nuestra propia política. 

Eso, además, conducía a la posibilidad del autoaprendizaje o auto-juego ('self-play'), en que un agente aprende jugando, en el fondo, contra sí mismo (contra otro agente con la misma política, en realidad). Vimos que mediante los problemas mono-agente, se podían tratar problemas como la locomoción de robots, la búsqueda de rutas o videojuegos. 

Luego exploramos la situación multi-agente, en los cuales no sólo se produce una competición sino también una colaboración entre agentes y un campo del que decíamos se encontraba fundamentalmente en investigación.

Y, finalmente, en el post previo a éste hablamos brevemente de aprendizaje jerárquico, en el que se divide un problema complejo en sub-problemas más gestionables, lo que aumenta nuestra potencia de resolución de problemas complejos y proporciona un esquema más robusto y reutilizable. A cambio, existe el riesgo cierto de no alcanzar soluciones óptimas a nivel global porque, durante el proceso optimizamos la resolución de los sub-problemas pero no tanto el problema en su conjunto.


Reutilizando el conocimiento


La idea principal que subyace al meta aprendizaje es la reutilización de lo ya aprendido. Y eso, en parte, por una inspiración en cómo funciona el conocimiento humano, en que un nuevo conocimiento se apoya en el anterior, y, por otro lado, por una mera necesidad de eficiencia, de reducir lo máximo posibles las necesidades de entrenamiento de los algoritmos, una labor lenta y muy consumidora de tiempo, datos y energía.

En esta intención, nos encontramos con dos conceptos que, en el fondo, se parecen: la transferencia de aprendizaje, o 'transfer learning' y el meta aprendizaje o 'meta learning' propiamente dicho


Transferencia de aprendizaje (transfer learning)


Uno de los problemas del machine learning tradicional es que, cada vez que se quería entrenar un algoritmo o un modelo, se partía de cero, es decir, es como si, aunque ya dispusiésemos de un modelo con un cierto conocimiento, como si eso no valiese y hubiera que desaprenderlo todo para volver a empezar a aprender desde la base: había que, quizá, rediseñar los hiperparámetros de la, por ejemplo, red neuronal, había tomar un nuevo conjunto de datos de entrenamiento, dedicar el tiempo y la computación necesaria para realizar ese entrenamiento y utilizando los conjuntos de datos de prueba, testear y validar el modelo.

Es como si, aplicando la popular expresión, 'no hubiésemos aprendido nada'.

Esa estrategia, aparte de que intuitivamente contradice la forma de aprender humana, era económica y operativamente muy ineficiente.

Hablo en pasado, no porque sea un problema completamente superado, que no lo es, pero sí porque ya existen muchas vías de reutilización del conocimiento en los modelos de machine learning: lo que se conoce como transferencia de conocimiento o 'transfer learning'.

Así, por ejemplo, es sabido que, en el caso de las redes neuronales de convolución aplicadas a visión artificial, las primeras capas, por decirlo de alguna manera, se especializan en detectar ciertas características genéricas de las imágenes como bordes o esquinas, y que son las capas finales, en ocasiones capas densas de tipo perceptrón multicapa, las que proporcionan el resultado final. En este ámbito ya se ha experimentado con éxito con el entrenamiento de capas de convolución en una especie de 'visión general', que luego se utiliza en otros modelos más especializados que se reeentrenan pero en menor media o que añaden, por ejemplo, algunas capas adicionales.

En general este tipo de técnicas se aplican en redes neuronales profundas ('deep learning') y la forma de hacer el transfer learning es, por decirlo de alguna manera, transferir la red neuronal, con sus hiperparámetros (ej. número de capas o número de neuronas por capa) ya definidos y con los pesos (los parámetros) ya ajustados mediante el pre-entrenamiento.

En cierto sentido, ese transfer learning se ha elevado a una altísima expresión en los modelos generativos, como los GPT (no en vano, la P de GPT significa pre-trained) y en los denominados modelos fundacionales, unos modelos que están pre-entrenados por los grandes del sector como OpenAI pero que luego pueden ser especializados mediante 'fine tunning' o incluso, en otro tipo de estrategias, personalizados mediante interacción con el usuario a través de la incorporación de contenido aportado por un buscador o mediante las técnicas de RAG ('Retrieval Augmented Generation').


Meta aprendizaje ('meta learning')


En cierto sentido, el meta aprendizaje es una generalización del 'transfer learning'. Si en el transfer learning lo que pretendemos es transferir el conocimiento de una tarea concreta (por ejemplo una tarea de visión), lo que pretendemos con el meta aprendizaje es transferir el conocimiento de varias tareas (recogido sobre todo en hiperparámetros) para que el modelo o algoritmo resultante sepa como aprender una nueva tarea. Atención que hemos dicho que sepa aprender, no que sepa cómo hacer una nueva tarea, sino cómo aprender a hacerla, de ahí que hablemos de meta aprendizaje (aprender a aprender).

Eso, llevado a las redes neuronales del deep learning, lo que quiere decir es que, lo que transferimos en meta aprendizaje son más los hiperparámetros de la red (que definen su arquitectura y funcionamiento base) que los parámetros propiamente dichos (que reflejan de alguna forma el conocimiento adquirido), precisamente por la estrategia de aprender a aprender, más que de 'venir aprendido'.

Todavía se trata de un área de investigación pero existen ya varios algoritmos y entornos en funcionamiento. Entre los algoritmos, la fuente bibliográfica en que me baso menciona, por ejemplo, RecurrentML, Meta Network,  SNAIL, MAML y unos cuantos más. También proporciona algunos detalles matemáticos de este tipo de algoritmos pero no voy a entrar en esos detalles.


Conclusiones


Como podemos ver, algunos de los enfoques más avanzados en el campo del machine learning y sobre todo del deep learning es ver cómo podemos reutilizar conocimiento, al igual que hacen los humanos, para construir nuevo conocimiento o nuevas capacidades incluyendo ese aprender a aprender que parece un gran objetivo final.


***


Aunque, evidentemente, hay mucho más que decir, y seguro que mas que habrá en el futuro, de momento cierro esta larga serie (quince artículos) que he dedicado al aprendiza por refuerzo. No quiere decir que no vaya a tocar este campo de nuevo, sino que, caso de hacerlo, será ya, seguramente, como un post regular y probablemente apoyado en otras fuentes bibliográficas u otras reflexiones.


Artículos de este blog relacionados


miércoles, 22 de enero de 2025

Motivos para construir robots humanoides

Aunque desde luego no con tanto frenesí, ni de lejos, como ocurre en el campo de la inteligencia artificial, sí que estamos asistiendo, o eso me parece a mí, a cada vez más anuncios o más impactos publicitarios, y probablemente más actividad real de investigación y desarrollo, alrededor de los robots humanoides.

A pesar del atractivo, quizá repulsión para algunos, de este tipo de robots, cabe preguntarse si nos interesa realmente fabricar robots humanoides, si tienen sentido práctico y de negocio, más allá de alguna implicación ética que también traen consigo y que no voy a abordar en este post.

Aunque sin agotar el tema, en este artículo voy a explorar, siquiera superficialmente, el tema: por qué nos interesan los robots humanoides y por qué podría ser interesante construirlos.


Seis motivos iniciales para construir robots humanoides 


Y lo hago comenzando por la referencia bibliográfica que me inspiró a escribir este artículo.

He iniciado la lectura del libro 'Ethics in human-like robots' de Kamil Mamak. En el primer capítulo, que aún no entra apenas en los asuntos éticos, nos recuerda brevemente, y entre otras cosas, las razones que existen, precisamente para construir robots humanoides que se se aportan en el 'Springer Handbook of Robotics',  en concreto en una capítulo firmado entre otros por Paul Fitzpatrick.

Pues bien, en esa fuente, y según nos recoge de manera sucinta Kamil Mamak, las razones que se arguyen son las siguientes:


  • Para nosotros, los humanos, que somos los que construimos estos robots, el propio ser humano es un punto de referencia natural y al alcance de todos lo cual, añado yo, seguramente nos impulsa, incluso a veces un poco inconscientemente, a 'humanizar' aquello que construimos, en este caso, robots.

  • Un poco en línea con lo anterior, para un ser humano, el propio ser humano es uno de sus temas favoritos. Nos gusta estar rodeados por humanos y en ese sentido, de nuevo, 'humanizamos' a los robots. Simplemente, porque nos gusta.

  • Desde un punto de vista más de investigación, se piensa que trabajar con robots humanoides, nos puede ayudar a entender mejor las propias capacidades cognitivas humanas.

  • El mundo que nos rodea está, en buena medida, construido por humanos y para humanos (puertas, escaleras, etc). Un robot humanoide podría adaptarse mejor a 'moverse' por ese mundo hecho a la medida de humanos.

  • Estamos acostumbrados a la interacción entre humanos. En la medida que un robot se hace más parecido a los humanos, en su forma y capacidades relacionales, se nos hace más sencillo interactuar con ellos.

  • Para algunos de las aplicaciones o casos de uso, por ejemplo robots de compañía, y no digamos ya nada robots sexuales, la forma humana es casi inevitable.

Como vemos, los motivos se centran sobre todo en motivos psicológicos o antropológicos que hacen que nos interesen los robots humanoides y también algún motivo práctico como la adaptación al medio o la mayor facilidad de interacción.


Algunos motivos más: mercado e innovación


Aunque los motivos anteriores son interesantes y muy relevantes, es posible que se queden cortos.

Un poco como reflexión de urgencia, susceptible de modificación y/o ampliación futura, se me ocurre alguna razón más, en gran medida relacionada, no tanto con el interés intrínseco en construir robots humanoides por lo que son, que es en lo que se centra la referencia citada más arriba, sino más en relación con una lógica de negocio y mercado, y más intentando contestar el porqué del interés en este momento.

Se trata, como digo, de una reflexión de urgencia y un tanto especulativa, pero esto es lo que se me ocurre a bote pronto.

Por una parte, creo que la industria está percibiendo que existe un mercado potencial interesante o muy interesante. Un mercado jugoso, nuevo y por desarrollar. Ese mercado se origina en buena medida por la fascinación e interés que suponen para el público en general los robots humanoides y por algunos casos de uso, como 'azafatas' de eventos, robots de compañía, juguetes avanzados, robots sexuales, etc. Se trata de un mercado, como digo, aún no desarrollado ni seguro...pero probable y seguramente jugoso. Así que hay compañías que comienzan a posicionarse, desde un punto de vista de marketing (que las asociemos con los robots humanoides) y a capacitarse desde un punto de vista tecnológico y operativo (construir robots humanoides es muy complejo, y hay que ir investigando y desarrollando las capacidades técnicas, operativas y productivas) desde ya, para estar bien posicionados para cuando ese mercado 'explote'.

Por otro lado, y desde un punto de vista técnico, creo que se percibe que los avances tecnológicos en muchos frentes, materiales, sensores pero, especialmente, inteligencia artificial, pueden dar un impulso definitivo a este mercado por la capacidad de dotar a esos robots de unas funciones avanzadas y suficientemente atractivas y por tanto, de nuevo, conviene irse preparando.

Por otro lado, creo que, siguiendo un poco la filosofía de innovación moderna y teorías como Lean startup, de alguna forma un poco atípica, ciertas compañías están haciendo una suerte de producto mínimo viable, para recoger feedback del mercado. Y en esa línea creo que van los atractivos vídeos que lanza Boston Dynamics, por ejemplo, la propaganda de Elon Musk y Tesla sobre su Óptimus, etc. Digo que es una forma de producto mínimo viable un poco atípica, porque lo de mínimo es relativo. Crear los prototipos de robot humanoide y producir esos vídeos es, sin duda, muy caro. Sin embargo, aunque es muy caro, está muy, muy lejos de significar, tanto en dificultad, como en inversión y tiempo lo que supondría realmente lanzar al mercado un robot humanoide. Por eso les sirve como producto mínimo viable: hacen el prototipo, producen el vídeo (u organizan un evento) y recogen el feedback del mercado y los medios sobre este tipo de robots, sobre si interesan o no y sobre si las características que exhiben resultan atractivas o no.

En algunos caso, como el de Tesla y otros fabricantes de coches, creo que, como resaltó el propio Elon Musk en el lanzamiento de Óptimus, existen sinergias tecnológicas y de investigación reales entre los robots humanoides y los vehículos autónomos, especialmente en lo que a sensores, control e inteligencia artificial se refiere. El propio vehículo autónomo no deja de ser una forma avanzada y especial de robot. En ese sentido, lo que investigan o desarrollan en robots humanoides puede resultar, al menos parcialmente, aplicable en vehículos autónomos y viceversa.

Es posible que haya más motivos pero, como digo, un poco a bote pronto, esto es lo que se me viene a la mente.


Conclusiones


Aunque la utilidad y, sobre todo el mercado de los robots humanoides, es todavía algo incierto, sí que parece que hay motivos de orden tanto psicológico como práctico, que hacen que nos resulten atractivos los robots humanoides y que, por tanto, exista un mercado potencial. 

Y, por otro lado, y desde un punto de vista más de mercado, innovación y negocio, pudieran existir razones, las que he intentado esbozar, que explican el interés actual de medios, y sobre todo compañías, en este eventual negocio de los robots humanoides y en invertir en él, en su capacitación y también en su marketing.


lunes, 20 de enero de 2025

Notas sobre aprendizaje por refuerzo (XIV): aprendizaje jerárquico

Había dejado en suspenso la serie de posts dedicados al aprendizaje por refuerzo, por aquello de los 'fatos navideños' y porque, entre medias, hubo también temas que me apeteció tratar antes.

Pero llega el momento de volver al tema y ponerle fin, lo que haré acometiendo los pocos posts restantes (dos o tres), de los cuales este es el primero. 

Y en él voy a esbozar alguna idea básica sobre el denominado aprendizaje por refuerzo jerárquico ('hierarchical reinforcement learning'). Y lo haré, como siempre en esta serie, apoyándome en lo que explica Aske Plaat en su libro 'Deep reinforcement learning'.

Pero antes, como siempre en esta serie de artículos, un repaso de lo visto hasta la fecha.


Recordatorio: lo que hemos visto de aprendizaje por refuerzo


El esquema que nos ha guiado, ha sido el siguiente:


Nos ocupamos inicialmente de la situación de un agente que interactúa con un entorno que se encuentra en un estado s. Sobre ese entorno, el agente aplica unas acciones, a, como consecuencia de las cuales, el entorno puede experimentar una transición y cambiar de estado, pasando del estado s al s', y el agente recibe una recompensa r. El agente decide la acción a aplicar en cada momento, siguiendo una política π y su objetivo es maximizar la recompensa obtenida lo largo de una secuencia o trayectoria.

Los métodos más básicos, aquellos en que el espacio de estado es reducido, siguen, decíamos, un enfoque tabular, en que se tabulan, de ahí el nombre, los posibles estados y para ellos se calculan unas funciones que nos dan el valor, Q, de la recompensa esperada. Cuando la dimensión del espacio de estados es muy alta, como sucede habitualmente en problemas reales, dejan de tener sentido estos métodos tabulares así que renunciamos a representar la situación del entorno mediante su estado, y a cambio lo representamos mediante unas características ('features') y la obtención de valores o acciones vienen a ser unas funciones con base en esas características e implementadas mediante redes neuronales profundas, dando lugar al 'deep reinforcement learning'.

Cuando tratamos problemas ya no de alta dimensionalidad, sino continuos, como es la locomoción de robots, se adoptan los denominados métodos basados en políticas en que se prescinde de la visión de valores, y se trabaja directamente en optimizar las políticas, que pasan a considerarse como estocásticas, es decir, como distribuciones de probabilidad. 

También aparecía como opción el denominado aprendizaje basado en modelos ('model-based'), en que el agente primero consigue un modelo del entorno y luego ya prescinde del entorno propiamente dicho par a trabajar con ese modelo local durante todo el entrenamiento.

Hasta aquí estábamos en la situación de trabajar con un único agente.

Posteriormente vimos el c aso en que teníamos dos agentes, exactamente dos y que se encontraban en una situación competitiva, en uno de los denominados juegos de suma cero en que la ganancia de un agente supone la perdida del otro. En esa situación, una opción habitual era trabajar con el aprendizaje basado en modelos, dado que, para un agente, el entorno está constituido por el otro agente, y se adopta la hipótesis razonable de que su política, la del otro agente, es igual a la nuestra, por lo que modelamos el entorno con el modelo de nuestra propia política. 

Eso, además, conducía a la posibilidad del autoaprendizaje o auto-juego ('self-play'), en que un agente aprende jugando, en el fondo, contra sí mismo (contra otro agente con la misma política, en realidad). Vimos que mediante los problemas mono-agente, se podían tratar problemas como la locomoción de robots, la búsqueda de rutas o videojuegos. 

En el último post, exploramos la situación multi-agente, en los cuales no sólo se produce una competición sino también una colaboración entre agentes y un campo del que decíamos se encontraba fundamentalmente en investigación.


El enfoque jerárquico


El enfoque jerárquico de aprendizaje por refuerzo se basa, en realidad, y en primer lugar, en la estrategia de dividir un problema en sub-problemas, una técnica muy conocida del ámbito de la resolución de problemas. Hecha esa subdivisión, nos planteamos el aprendizaje de cómo realizar (cuál es la mejor política) para resolver cada sub-problema.

Se trata de un enfoque aplicable en teoría a cualquier problema secuencial, aunque en la práctica es más viable en unos tipos de problemas que en otros.

Algún problema muy adecuado para este enfoque sería, por ejemplo, el de la navegación de vehículos o robots. Igualmente, los problemas multi-agente que mencionábamos en el último post de esta serie, tienden a poder dividirse de manera natural en sub-problemas. 

Un riesgo de este enfoque jerárquico es que, dado que  buscamos sub-políticas, o por decirlo de otra mamera., optimizamos a nivel de sub-problemas, es posible que no consigamos una optimización absoluta a novel global, a nivel de todo el problema. De esta forma, el enfoque jerárquico tiende a dar soluciones menos óptimas que el enfoque, digamos, 'plano', pero haciéndolo más rápido.


Ventajas y desventajas del aprendizaje jerárquico


Podríamos decir que el enfoque jerárquico tiene las siguientes ventajas respecto al enfoque 'plano' (no jerárquico.


  • Simplifica la resolución de problemas mediante abstracciones. Los agente resuelven problemas granulares que resultan abstracción del problema en sub-problemas. Luego, las tareas granulares se agrupan en los problemas de mayor nivel de abstracción.

  • Se reduce el número de interacciones necesarias con el entorno, lo que conduce a eficiencia de muestreo. Entre otras cosas, se puede hacer 'transfer learning' de la resolución de subtareas aplicables en otros problemas.

  • Las políticas finales resultantes tienden a ser más generalistas, con mayor capacidad de adaptación a nuevas situaciones y por tanto se reduce la fragilidad de las mismas.

  • Permite resolver problemas mayores y más complejos.


A cambio, presenta las siguientes desventajas:


  • Necesita de, o al menos le resulta muy conveniente, un conocimiento del dominio del problema.

  • Presenta problemáticas de complejidad algorítmica en relación a la identificación de sub-objetivos, el aprendizaje de sub-políticas y las condiciones de terminación.

  • Introducen la idea de macro-acciones (combinaciones de acciones primitivas), el número de las cuales puede crecer de manera que se haga intratable y precise de enfoques aproximados.

  • La calidad de la política final, como ya dijimos, puede ser sub-óptima.


Un breve excurso: agentes


No he podido evitar, al hablar de este enfoque jerárquico, y de esa descomposición de problemas en sub-problemas, que mi mente se desviara hacia la idea de la Agentic AI, de los últimamente tan traídos y llevados agentes, unas soluciones software, cuyo 'cerebro' son modelos generativos del tipo de grandes modelos de lenguaje y una de cuyas promesas es, precisamente, que van a ser capaces de, recibiendo un objetivo como 'prompt', identificar las tareas (es decir, hacer una forma de descomposición) necesarias para conseguirlo y, a partir de ahí actuar.

No tengo claro de, hasta qué punto, beben esos agentes de las ideas del enfoque jerárquico objeto de este post, o prueban estrategias diferentes. Y tampoco está demostrado hasta la fecha, o al menos no me consta que así sea, que se hayan conseguido éxitos notables en esta materia...pero hay que dar un poco de tiempo. Se supone que los agentes son una de las grandes tendencias de 2025. Habrá que ver de hasta dónde son capaces de llegar en general, y en particular en esta capacidad, quizá su mayor reto,  de descomponer una tarea, o mejor, un objetivo, en subtareas accionables.


Conclusiones


El aprendizaje jerárquico parece un enfoque muy lógico si atendemos, incluso, a cómo razonamos los humanos, para afrontar problemas complejos. Sin embargo, parece ser más un campo de investigación que una realizad plenamente conseguida.

Pero la idea es muy interesante, y habrá que esperar resultados.

A ver si los tenemos en 2025.


Artículos de este blog relacionados


miércoles, 15 de enero de 2025

Tendencias en el desarrollo y entrenamiento de modelos generativos

En los dos post anteriores a éste que nos ocupa, he visitado algunas visiones generales sobre los modelos generativos y los grandes modelos de lenguaje .

En concreto, he revisado una comparativa con la cognición humana y  una identificación de los retos que afrontan para el futuro, y todo ello basado en la argumentación que hace Ben Auffart al final de su libro 'Generative AI with LangChain'.

En este post, y basándome en la misma fuente, comentaré algunas tendencias en el desarrollo de modelos generativos que identifica el mismo autor, recalcando, como hice en el post anterior, que el libro está publicado en Diciembre de 2023 por lo que el panorama técnico y competitivo puede haber experimentado alguna ligera evolución, aunque creo que no cambian las ideas básicas. 


La escala del entrenamiento de los modelos generativos


Por un lado, el autor menciona el incremento en el esfuerzo en el entrenamiento de los modelos. En concreto aporta un dato en que dice que el tiempo de entrenamiento de los modelos, se dobla cada ocho meses, lo cual no se pude ver compensado, desde un punto de vista de coste, por el hecho de que, exista también la denominada Ley de Rock según la cual el coste de los procesadores de tipo GPU ('Graphical Processing Unit') o TPU ('Tensor Processing Unit')  empleados se reduce a la mitad cada cuatro años.

Como ilustración, aporta la siguiente gráfica, creada por Epoch.ai y que se puede conseguir en este enlace, donde se muestra la evolución del esfuerzo de entrenamiento, mostrando en abscisas el tiempo y en ordenadas el número de FLOPS ('Floating Point OPerations'), es decir el número de operaciones con números en coma flotante necesarios para entrenar un modelo. Dentro de esos ejes, se representan  mediante pequeños círculos, los modelos concretos.



A modo de curiosidad, y como forma de tener un orden de magnitud, según esta fuente el entrenamiento del modelo GPT-4 de OpenAI realizó 2,1 x 1025 FLOPs, empleó un dataset de entrenamiento con 4,9 x 1012 puntos de datos, duró 95 días, consumió 2,2 x 104 Kilowatios y costó 41 millones de dólares. Por su parte, el entrenamiento del modelo Gemini 1.0 Ultra, realizó 5,0 x 1025 FLOPs, duró 100 días, consumió 2,4 x 104 Kilowatios y costó 30 millones de dólares

Aunque se trabaja en alternativas, de momento hay una correlación fuerte entre el desempeño del modelo y las magnitudes como el tamaño del propio modelo, su conjunto de datos de entrenamiento y el esfuerzo computacional empleado en ese entrenamiento.  

Estos volúmenes, y las economías de escala necesarias, hace concluir al autor, cosa que confirma la experiencia, que estos modelos estarán concentrados en las manos de las grandes empresas tecnológicas. 

Como forma de reducir estas magnitudes, se buscan cosas como mejorar la calidad de los datos de entrenamiento o revisar el diseño del propio modelo. también se plantea la opción de modelos de nicho que pueden dar una excelente calidad en sus resultados, siendo sin embargo modelos más modestos en cuanto a tamaño y necesidades de datos y computacionales para su entrenamiento.


Técnicas para una IA generativa más accesible y efectiva


Tras esto, el autor recoge brevemente algunas técnicas o enfoques para conseguir unos modelos efectivos pero más accesibles.


  • Arquitecturas simplificadas: arquitecturas de los modelos más sencillas lo que facilita su gestión, mejora su interpretabilidad y reduce los costes

  • Generación de datos sintéticos: es decir, creación de datos artificiales que simplifiquen la obtención de datasets de entrenamiento y contribuyan a proteger la privacidad

  • Destilado del modelo: es decir, uso del 'transfer learning', transfiriendo conocimiento de un gran modelo a otros menores, más baratos y de más sencillo despliegue

  • Optimización de motores de inferencia: mediante la creación de 'frameworks' que optimicen el uso del hardware y con ello la eficiencia y velocidad de ejecución de los modelos

  • Aceleradores hardware para IA dedicados: desarrollo y uso de hardware especializado, como han sido hasta la fecha las GPUs y las TPUs

  • Datos públicos: un poco bajo la filosofía 'open data', disponibilidad de datasets públicos, incluyendo datos sintéticos y con una visión que favorece, de nuevo, la privacidad e incluso la equidad.

  • Cuantización: es decir, reducción del número de bits usados para representar los números, perdiendo algo de precisión pero consiguiendo muy buenas mejoras en cuanto a eficiencia.

  • Bases de conocimiento: Incorporación de bases de conocimiento, con información factual, lo que reduce las alucinaciones.

  • RAG ('Retrieval Augmented Generation'): en línea con el punto anterior, enriquecer la generación de texto con el apoyo del conocimiento recogido en fuentes relevantes.

  • Aprendizaje federado: Modelo descentralizado y distribuido de entrenamiento que favorece la escalabilidad

  • Multimodalidad: trabajo no sólo con texto sino con otras modalidades como imagen, vídeo o sonido.


Conclusiones


Quizá, la gran conclusión posible sea que si, en efecto, los modelos de lenguaje son grandes y costosos, y parece difícil evitar la concentración de poder en este ámbito en las grandes empresas tecnológicas, pero que hay multitud de líneas de trabajo y mejora muy serias y prometedoras para mejorar tanto los resultados de los modelos, como su eficiencia computacional y, por tanto su coste e impacto medioambiental.