Connect with us

Inteligencia artificial

AIOS: Sistema Operativo para Agentes LLM

mm
AIOS: Operating System for LLM Agents

Durante las últimas seis décadas, los sistemas operativos han evolucionado progresivamente, avanzando desde sistemas básicos hasta sistemas operativos complejos e interactivos que alimentan los dispositivos de hoy en día. Inicialmente, los sistemas operativos servían como un puente entre la funcionalidad binaria del hardware de la computadora, como la manipulación de puertas, y las tareas de nivel de usuario. Sin embargo, con el tiempo, han evolucionado desde sistemas de procesamiento de trabajos por lotes simples hasta técnicas de gestión de procesos más sofisticadas, incluyendo la multitarea y la condivision de tiempo. Estos avances han permitido que los sistemas operativos modernos gestionen una amplia variedad de tareas complejas. La introducción de interfaces de usuario gráficas (GUI) como Windows y MacOS ha hecho que los sistemas operativos modernos sean más fáciles de usar y interactivos, y también ha expandido el ecosistema del SO con bibliotecas de tiempo de ejecución y una suite completa de herramientas para desarrolladores.

Las innovaciones recientes incluyen la integración y despliegue de Modelos de Lenguaje Grande (LLM), que han revolucionado diversas industrias al desbloquear nuevas posibilidades. Más recientemente, los agentes inteligentes basados en LLM han demostrado capacidades notables, logrando un rendimiento similar al humano en una amplia gama de tareas. Sin embargo, estos agentes aún se encuentran en las primeras etapas de desarrollo, y las técnicas actuales enfrentan varios desafíos que afectan su eficiencia y eficacia. Los problemas comunes incluyen la programación subóptima de las solicitudes de los agentes sobre el modelo de lenguaje grande, complejidades en la integración de agentes con diferentes especializaciones y el mantenimiento del contexto durante las interacciones entre el LLM y el agente. El rápido desarrollo y la creciente complejidad de los agentes basados en LLM a menudo llevan a cuellos de botella y un uso subóptimo de los recursos.

Para abordar estos desafíos, este artículo discutirá AIOS, un sistema operativo de agente LLM diseñado para integrar modelos de lenguaje grande como el “cerebro” del sistema operativo, dándole efectivamente un “alma”. En particular, el marco de AIOS tiene como objetivo facilitar el cambio de contexto entre agentes, optimizar la asignación de recursos, proporcionar servicios de herramientas para agentes, mantener el control de acceso y permitir la ejecución concurrente de agentes. Profundizaremos en el marco de AIOS, explorando sus mecanismos, metodología y arquitectura, y lo compararemos con marcos de vanguardia. Empecemos.

Después de lograr un éxito notable en los modelos de lenguaje grande, el próximo enfoque de la industria de la IA y el ML es desarrollar agentes de IA autónomos que puedan operar de forma independiente, tomar decisiones por sí mismos y realizar tareas con intervenciones humanas mínimas o nulas. Estos agentes de IA inteligentes están diseñados para entender instrucciones humanas, procesar información, tomar decisiones y tomar medidas adecuadas para lograr un estado autónomo, con el advenimiento y el desarrollo de los modelos de lenguaje grande que traen nuevas posibilidades al desarrollo de estos agentes autónomos. Los marcos de LLM actuales, incluyendo DALL-E, GPT y más, han demostrado habilidades notables para entender instrucciones humanas, razonamiento y resolución de problemas, y interactuar con usuarios humanos y entornos externos. Construidos sobre estos poderosos y capaces modelos de lenguaje grande, los agentes basados en LLM tienen fuertes capacidades de cumplimiento de tareas en entornos diversos, desde asistentes virtuales hasta sistemas más complejos y sofisticados que involucran la creación de resolución de problemas, razonamiento, planificación y ejecución. 

La figura anterior muestra un ejemplo convincente de cómo un agente autónomo basado en LLM puede resolver tareas del mundo real. El usuario solicita al sistema información sobre un viaje, después de lo cual el agente de viajes divide la tarea en pasos ejecutables. Luego, el agente lleva a cabo los pasos secuencialmente, reservando vuelos, reservando hoteles, procesando pagos y más. Mientras ejecuta los pasos, lo que distingue a estos agentes de las aplicaciones de software tradicionales es la capacidad de los agentes para mostrar capacidades de toma de decisiones y incorporar razonamiento en la ejecución de los pasos. Junto con un crecimiento exponencial en la calidad de estos agentes autónomos, la tensión en las funcionalidades de los modelos de lenguaje grande y los sistemas operativos ha aumentado, y un ejemplo de lo mismo es que priorizar y programar las solicitudes de los agentes en los modelos de lenguaje grande limitados plantea un desafío significativo. Además, dado que el proceso de generación de los modelos de lenguaje grande se convierte en una tarea que consume tiempo al tratar con contextos largos, es posible que el programador suspenda la generación resultante, planteando un problema para idear un mecanismo para capturar el resultado de la generación actual del modelo de lenguaje. Como resultado de esto, se habilita el comportamiento de pausa/reanudación cuando el modelo de lenguaje grande no ha finalizado la generación de la respuesta para la solicitud actual. 

Para abordar los desafíos mencionados anteriormente, AIOS, un sistema operativo de modelo de lenguaje grande, proporciona agregaciones y aislamiento de módulos de las funcionalidades de LLM y SO. El marco de AIOS propone un diseño de núcleo específico de LLM para evitar posibles conflictos entre tareas asociadas y no asociadas con el modelo de lenguaje grande. El núcleo propuesto segrega las tareas del sistema operativo, especialmente aquellas que supervisan a los agentes LLM, kits de desarrollo y sus recursos correspondientes. Como resultado de esta segregación, el núcleo LLM intenta mejorar la coordinación y la gestión de las actividades relacionadas con los LLM. 

AIOS: Metodología y Arquitectura

Como puede observar, hay seis mecanismos importantes involucrados en el funcionamiento del marco de AIOS. 

  • Programador de Agentes: La tarea asignada al programador de agentes es programar y priorizar las solicitudes de los agentes para optimizar la utilización del modelo de lenguaje grande. 
  • Gestor de Contexto: La tarea asignada al gestor de contexto es soportar instantáneas y restaurar el estado de generación intermedio en el modelo de lenguaje grande, y la gestión de la ventana de contexto del modelo de lenguaje grande. 
  • Gestor de Memoria: La responsabilidad principal del gestor de memoria es proporcionar memoria a corto plazo para el registro de interacción de cada agente. 
  • Gestor de Almacenamiento: El gestor de almacenamiento es responsable de preservar los registros de interacción de los agentes en almacenamiento a largo plazo para su recuperación futura. 
  • Gestor de Herramientas: El mecanismo del gestor de herramientas gestiona la llamada a herramientas de API externas por parte de los agentes. 
  • Gestor de Acceso: El gestor de acceso aplica políticas de control de acceso y privacidad entre los agentes. 

Además de los mecanismos mencionados anteriormente, el marco de AIOS cuenta con una arquitectura en capas y se divide en tres capas distintas: la capa de aplicación, la capa del núcleo y la capa de hardware. La arquitectura en capas implementada por el marco de AIOS garantiza que las responsabilidades se distribuyan uniformemente en todo el sistema, y las capas superiores abstraen las complejidades de las capas inferiores, permitiendo interacciones mediante módulos o interfaces específicos, mejorando la modularidad y simplificando las interacciones del sistema entre las capas. 

Comenzando con la capa de aplicación, esta capa se utiliza para desarrollar y desplegar agentes de aplicación como agentes de matemáticas o viajes. En la capa de aplicación, el marco de AIOS proporciona el kit de desarrollo de software de AIOS (AIOS SDK) con una mayor abstracción de llamadas al sistema que simplifica el proceso de desarrollo para los desarrolladores de agentes. El kit de desarrollo de software ofrecido por AIOS ofrece una herramienta rica para facilitar el desarrollo de aplicaciones de agentes al abstraer las complejidades de las funciones del sistema de nivel inferior, permitiendo a los desarrolladores centrarse en las funcionalidades y la lógica esencial de sus agentes, lo que resulta en un proceso de desarrollo más eficiente. 

Pasando a la capa del núcleo, esta capa se divide en dos componentes: el núcleo LLM y el núcleo SO. Tanto el núcleo SO como el núcleo LLM atienden a las necesidades únicas de las operaciones específicas de LLM y no LLM, con la distinción que permite al núcleo LLM centrarse en tareas específicas del modelo de lenguaje grande, incluyendo la programación de agentes y la gestión de contexto, actividades que son esenciales para el manejo de actividades relacionadas con los modelos de lenguaje grande. El marco de AIOS se centra principalmente en mejorar el núcleo del modelo de lenguaje grande sin alterar significativamente la estructura del núcleo SO existente. El núcleo LLM viene equipado con varios módulos clave, incluyendo el programador de agentes, el gestor de memoria, el gestor de contexto, el gestor de almacenamiento, el gestor de acceso, el gestor de herramientas y la interfaz de llamada al sistema de LLM. Los componentes dentro de la capa del núcleo están diseñados para abordar las diversas necesidades de ejecución de las aplicaciones de los agentes, garantizando una ejecución y gestión efectivas dentro del marco de AIOS. 

Finalmente, tenemos la capa de hardware que comprende los componentes físicos del sistema, incluyendo la GPU, la CPU, los dispositivos periféricos, el disco y la memoria. Es esencial comprender que el sistema del núcleo LLM no puede interactuar directamente con el hardware, y estas llamadas se interfazan con las llamadas al sistema del sistema operativo que, a su vez, gestionan los recursos de hardware. Esta interacción indirecta entre el sistema del núcleo LLM y los recursos de hardware crea una capa de seguridad y abstracción, lo que permite que el núcleo LLM aproveche las capacidades de los recursos de hardware sin requerir la gestión de hardware directamente, facilitando el mantenimiento de la integridad y la eficiencia del sistema. 

Implementación

Como se mencionó anteriormente, hay seis mecanismos importantes involucrados en el funcionamiento del marco de AIOS. El programador de agentes está diseñado para gestionar las solicitudes de los agentes de manera eficiente y tiene varios pasos de ejecución contrarios a un paradigma de ejecución secuencial tradicional en el que el agente procesa las tareas de manera lineal con los pasos del mismo agente siendo procesados primero antes de pasar al siguiente agente, lo que resulta en tiempos de espera aumentados para las tareas que aparecen más tarde en la secuencia de ejecución. El programador de agentes emplea estrategias como Round Robin, First In First Out y otros algoritmos de programación para optimizar el proceso. 

El gestor de contexto ha sido diseñado para ser responsable de gestionar el contexto proporcionado al modelo de lenguaje grande y el proceso de generación dado el contexto determinado. El gestor de contexto implica dos componentes cruciales: la instantánea y restauración del contexto, y la gestión de la ventana de contexto. El mecanismo de instantánea y restauración del contexto ofrecido por el marco de AIOS ayuda a mitigar situaciones en las que el programador suspende las solicitudes de los agentes, como se demuestra en la siguiente figura. 

Como se demuestra en la siguiente figura, es responsabilidad del gestor de memoria gestionar la memoria a corto plazo dentro del ciclo de vida de un agente, y garantiza que los datos se almacenan y son accesibles solo cuando el agente está activo, ya sea durante la ejecución o cuando el agente está esperando a ser ejecutado. 

Por otro lado, el gestor de almacenamiento es responsable de preservar los datos a largo plazo, y supervisa el almacenamiento de la información que necesita ser retenida durante un período de tiempo indefinido, más allá de la vida útil de un agente individual. El marco de AIOS logra el almacenamiento permanente utilizando una variedad de medios duraderos, incluyendo soluciones basadas en la nube, bases de datos y archivos locales, garantizando la disponibilidad y la integridad de los datos. Además, en el marco de AIOS, es el gestor de herramientas el que gestiona una variedad de herramientas de API que mejoran la funcionalidad de los modelos de lenguaje grande, y la siguiente tabla resume cómo el gestor de herramientas integra herramientas comúnmente utilizadas de varios recursos y las clasifica en diferentes categorías. 

El gestor de acceso organiza las operaciones de control de acceso dentro de los agentes distintos al administrar un grupo de privilegios dedicado para cada agente, y deniega el acceso a los recursos del agente si están excluidos del grupo de privilegios del agente. Además, el gestor de acceso también es responsable de compilar y mantener registros de auditoría que mejoran la transparencia del sistema aún más. 

AIOS: Experimentos y Resultados

La evaluación del marco de AIOS se guía por dos preguntas de investigación: primera, cómo es el rendimiento de la programación de AIOS para mejorar el equilibrio entre el tiempo de espera y el tiempo de respuesta, y segunda, si la respuesta del LLM a las solicitudes de los agentes es coherente después de la suspensión del agente.

Para responder a la pregunta de coherencia, los desarrolladores ejecutan cada uno de los tres agentes individualmente y, posteriormente, ejecutan estos agentes en paralelo, e intentan capturar sus salidas durante cada etapa. Como se demuestra en la siguiente tabla, las puntuaciones BERT y BLEU alcanzan un valor de 1.0, lo que indica una alineación perfecta entre las salidas generadas en configuraciones de agente único y múltiple. 

Para responder a las preguntas de eficiencia, los desarrolladores realizan un análisis comparativo entre el marco de AIOS que emplea la programación FIFO o First In First Out y un enfoque no programado, en el que los agentes se ejecutan concurrentemente. En el enfoque no programado, los agentes se ejecutan en un orden secuencial predefinido: agente de matemáticas, agente de narración y agente de rec. Para evaluar la eficiencia temporal, el marco de AIOS emplea dos métricas: tiempo de espera y tiempo de respuesta, y como los agentes envían múltiples solicitudes al modelo de lenguaje grande, el tiempo de espera y el tiempo de respuesta para los agentes individuales se calculan como el promedio del tiempo de espera y el tiempo de respuesta para todas las solicitudes. Como se demuestra en la siguiente tabla, el enfoque no programado muestra un rendimiento satisfactorio para los agentes que se encuentran al principio de la secuencia, pero sufre de tiempos de espera y respuesta prolongados para los agentes que se encuentran más tarde en la secuencia. Por otro lado, el enfoque de programación implementado por el marco de AIOS regula efectivamente tanto el tiempo de espera como el tiempo de respuesta. 

Pensamientos Finales

En este artículo, hemos hablado sobre AIOS, un sistema operativo de agente LLM diseñado para integrar modelos de lenguaje grande en el SO como el cerebro del SO, dándole efectivamente un alma. Para ser más específicos, el marco de AIOS está diseñado con la intención de facilitar el cambio de contexto entre agentes, optimizar la asignación de recursos, proporcionar servicios de herramientas para agentes, mantener el control de acceso para los agentes y permitir la ejecución concurrente de los agentes. La arquitectura de AIOS demuestra el potencial de facilitar el desarrollo y despliegue de agentes autónomos basados en modelos de lenguaje grande, lo que resulta en un ecosistema de AIOS-Agente más eficaz, cohesivo y eficiente. 

Un ingeniero por profesión, un escritor por corazón. Kunal es un escritor técnico con un profundo amor y comprensión de la IA y el ML, dedicado a simplificar conceptos complejos en estos campos a través de su documentación atractiva e informativa.