Modelos y plataformas de IA
AIOS: Sistema Operativo para Agentes de LLM
Durante las Últimas seis dÃĐcadas, los sistemas operativos han evolucionado progresivamente, avanzando desde sistemas bÃĄsicos hasta sistemas operativos complejos y interactivos que alimentan a 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 a nivel de usuario. Sin embargo, con el tiempo, han evolucionado desde simples sistemas de procesamiento de trabajos por lotes hasta tÃĐcnicas de gestiÃģn de procesos mÃĄs sofisticadas, incluyendo la multitarea y el tiempo compartido. 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 integral 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 solicitudes de agentes en 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 conducen a cuellos de botella y un uso subÃģptimo de recursos.
Para abordar estos desafÃos, este artÃculo discutirÃĄ AIOS, un sistema operativo de agente de 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. Nos sumergiremos profundamente en el marco de AIOS, explorando sus mecanismos, metodologÃa y arquitectura, y lo compararemos con marcos de vanguardia. Comencemos.
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 comprender instrucciones humanas, procesar informaciÃģn, tomar decisiones y realizar acciones adecuadas para lograr un estado autÃģnomo, y el advenimiento y desarrollo de los modelos de lenguaje grande han traÃdo 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 comprender 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, tras lo cual el agente de viajes descompone la tarea en pasos ejecutables. Luego, el agente realiza los pasos secuencialmente, reservando vuelos, reservando hoteles, procesando pagos y mÃĄs. 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 carga sobre 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 modelos de lenguaje grande limitados plantea un desafÃo significativo. AdemÃĄs, dado que el proceso de generaciÃģn de modelos de lenguaje grande se convierte en una tarea que consume tiempo cuando se trata de contextos largos, es posible que el programador suspenda la generaciÃģn resultante, planteando un problema para diseÃąar 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 funcionalidades de LLM y SO. El marco de AIOS propone un diseÃąo de nÚcleo especÃfico de LLM para evitar posibles conflictos que surjan 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 de LLM, kits de desarrollo y sus recursos correspondientes. Como resultado de esta segregaciÃģn, el nÚcleo de LLM intenta mejorar la coordinaciÃģn y la gestiÃģn de las actividades relacionadas con los LLM.
AIOS: MetodologÃa y Arquitectura

Como se 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.
- Administrador de Contexto: La tarea asignada al administrador de contexto es admitir 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.
- Administrador de Memoria: La responsabilidad principal del administrador de memoria es proporcionar memoria a corto plazo para el registro de interacciÃģn de cada agente.
- Administrador de Almacenamiento: El administrador de almacenamiento es responsable de preservar los registros de interacciÃģn de los agentes en almacenamiento a largo plazo para su recuperaciÃģn posterior.
- Administrador de Herramientas: El mecanismo del administrador de herramientas gestiona la llamada a herramientas de API externas por parte de los agentes.
- Administrador de Acceso: El administrador de acceso hace cumplir las 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 utilizando mÃģdulos o interfaces especÃficos, lo que mejora la modularidad y simplifica 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 agentes de 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 enriquecedora para facilitar el desarrollo de aplicaciones de agentes al abstraer las complejidades de las funciones del sistema de nivel inferior, lo que permite 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.
Continuando, la capa del nÚcleo se divide en dos componentes: el nÚcleo de LLM y el nÚcleo del SO. Tanto el nÚcleo del SO como el nÚcleo de LLM sirven a las necesidades Únicas de las operaciones de LLM y no LLM, con la distinciÃģn que permite al nÚcleo de LLM centrarse en tareas especÃficas de modelos 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 de LLM sin alterar significativamente la estructura del nÚcleo del SO existente. El nÚcleo de LLM cuenta con varios mÃģdulos clave, incluyendo el programador de agentes, el administrador de memoria, el administrador de contexto, el administrador de almacenamiento, el administrador de acceso, el administrador 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 de LLM no puede interactuar directamente con el hardware, y estas llamadas interfaz 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 de LLM y los recursos de hardware crea una capa de seguridad y abstracciÃģn, lo que permite al nÚcleo de LLM aprovechar las capacidades de los recursos de hardware sin necesidad de gestionar el hardware directamente, lo que facilita 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 en contraste con 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 mÃĄs largos 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 administrador de contexto ha sido diseÃąado para gestionar el contexto proporcionado al modelo de lenguaje grande y el proceso de generaciÃģn dado el contexto determinado. El administrador de contexto involucra 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 administrador 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 administrador 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ÃĄ del ciclo de vida 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, lo que garantiza la disponibilidad y la integridad de los datos. AdemÃĄs, en el marco de AIOS, es el administrador 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 administrador de herramientas integra herramientas comÚnmente utilizadas de diversas fuentes y las clasifica en diferentes categorÃas.

El administrador de acceso organiza las operaciones de control de acceso dentro de los agentes distintos, administrando un grupo de privilegios dedicado para cada agente, y deniega el acceso a los recursos de un agente si estÃĄn excluidos del grupo de privilegios del agente. AdemÃĄs, el administrador de acceso tambiÃĐn es responsable de compilar y mantener registros de auditorÃa que mejoran la transparencia del sistema.
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, Âŋson consistentes las respuestas del LLM a las solicitudes de los agentes despuÃĐs de la suspensiÃģn del agente?
Para responder a las preguntas de consistencia, 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 multiagente.

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 entorno 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 cada agente 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 de LLM diseÃąado para integrar modelos de lenguaje grande en el SO como el cerebro del SO, permitiendo un sistema operativo con 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 agentes y permitir la ejecuciÃģn concurrente de agentes. La arquitectura de AIOS demuestra el potencial para facilitar el desarrollo y despliegue de agentes autÃģnomos basados en modelos de lenguaje grande, lo que resulta en un ecosistema de AIOS-Agent mÃĄs eficaz, cohesivo y eficiente.












