# 3 - Extra - Qué locura es esta - imitando el córtex prefrontal con GPT-4 Evening crazy machines // jueves, 19:36 de la tarde, aquí sentando en un pasillo de la segunda planta del edificio 7 de la UC3M, con tiempo para dedicarle un ratillo a la newsletter, y me encuentro con esto, un paper de Ida Momennejad, _Principal Researcher en Microsoft Research_ (ojo, 2 veces 'research' en el título, el paraíso de cualquier technofreak), que explica una arquitectura de IA generativa, LLMs y otras piezas que, imitando la arquitectura y funcionamiendo del córtex prefrontal humano pretende resolver el problema de los LLMs que no son capaces de resolver bien razonamientos en varios pasos con planificación orientada a objetivos. Lo siento, pero a tomar por saco la newsletter por hoy, y a leer el paper, que es cortito. El paper está "under review" por cierto. Si mola, escribo esto y lo programo para mañana viernes por la mañana. Bueno, visto, espectacular. Vamos pasito a pasito, pero esto es una locura. Resumen del paper y reflexión mía al final. **Resumen del paper** (se entiende muy bien mirando la imagen del post, por cierto) Tratando de resolver el problema de que los LLMs parece que tienen un razonamiento básico, pero no van bien cuando hay que planificar varios pasos para llegar a un objetivo, los investigadores proponen una arquitectura basada en imitar, agarráos los machos, las diferentes áreas del córtex prefrontal (mediante LLMs, claro, está basado en GPT-4) El tinglado queda así, con los siguientes módulos: 1. **Descomposición de Tareas (TaskDecomposer):** Este módulo divide una tarea en subobjetivos. Se inspira en la parte anterior del PFC, crucial para descomponer tareas en objetivos más pequeños. 2. **Actor (Actor):** Propone posibles acciones y recibe feedback. Es similar a la función del córtex prefrontal dorsolateral, que participa en la toma de decisiones. 3. **Monitor (Monitor):** Evalúa la validez de las acciones propuestas, basado en el Cortex Cingulado Anterior del cerebro, que detecta errores y ambigüedades. 4. **Predictor (Predictor):** Prevé el siguiente estado tras una acción. Inspirado en el cortex orbitofrontal, este módulo es clave en la predicción de estados de tareas. 5. **Evaluador (Evaluator):** Estima el valor de los estados futuros en relación con el objetivo. También se inspira en el cortex orbitofrontal, que juega un rol importante en la valoración de los estados motivacionales. 6. **Coordinador de Tareas (TaskCoordinator):** Determina si se han alcanzado los subobjetivos y coordina su ejecución. Se inspira en la parte del PFC encargada de identificar y coordinar subobjetivos. Y entonces lo meten en un "Bucle de Propuesta de Acción". Es decir, el Actor y el Monitor interactúan en un bucle donde el Actor propone acciones y el Monitor las valida o da retroalimentación para la corrección de errores. Y las acciones validadas por el Monitor entran en un "Bucle de Búsqueda", donde el Predictor pronostica los estados resultantes y el Evaluador acaba seleccionando la mejor acción a ejecutar. Y el resultado, no es perfecto, pero parece ser significativamente mejor que los modelos/arquitecturas tradicionales. Luego, con procesos de _ablación_, es decir, eliminando componentes, se comprueba como el resultado empeora. O sea, que los componentes sí aportan mejoras al total. **Mi reflexión de todo a 100** - Primero jugamos con ChatGPT hace un año (yo hace casi 3 con el playground de OpenAI :-D), y flipamos con los prompts. - Luego llegó la idea de la Cadena de Pensamientos (Chain-of-Thoughts), y era una flipada porque mejoraba sólo con "pensar en voz alta" - Hace poco vimos el Tree-of-Thoughts y el Algorithm-of-Thoughts, y vimos como con modelos de "pensamiento" más complejos, la cosa mejoraba. Algo posteé aquí --> [https://www.linkedin.com/posts/davidhurtadotoran_ia-iagenerativa-papers-activity-7109443271940091904-fpsY?utm_source=share&utm_medium=member_desktop](https://www.linkedin.com/posts/davidhurtadotoran_ia-iagenerativa-papers-activity-7109443271940091904-fpsY?utm_source=share&utm_medium=member_desktop) - Luego **Semantic Kernel** y **AutoGen**, con planificador de tareas semántico y con agentes más o menos autónomos coordinandose entre ellos vimos cómo la cosa también mejoraba. - Y ahora la locura esta que simula el funcionamiento, o al menos la arquitectura de funciones del Córtex Prefrontal Y la reflexión es que, la informática basada en LLMs tiene unas posibilidades tremendas no sólo porque cómo responden los LLMs, sino porque el uso se basa también en lenguaje natural. Parece como que las soluciones complejas se basan un % en programación tradicional y otro % en simplemente "saber explicarlo" -o más concretamente, "saber explicárselo al LLM"- con palabras. Lo cual me da la sensación de que multiplica la complejidad de lo que un software basado en LLM puede hacer. Efectivamente, cumpliendo con el vaticinio ese que dijo alguien, muy pronto cualquier software que no esté imbuído por IA parecerá roto u obsoleto. Enlace al post: [https://www.linkedin.com/posts/ida-momennejad-8661a710_thrilled-to-share-new-work-with-taylor-webb-activity-7124762176673775616-zLrw?utm_source=share&utm_medium=member_desktop](https://www.linkedin.com/posts/ida-momennejad-8661a710_thrilled-to-share-new-work-with-taylor-webb-activity-7124762176673775616-zLrw?utm_source=share&utm_medium=member_desktop) Enlace directo al paper (en review) --> [https://arxiv.org/abs/2310.00194](https://arxiv.org/abs/2310.00194)