Connect with us

Inteligência artificial

AIOS: Sistema Operacional para Agentes LLM

mm
AIOS: Operating System for LLM Agents

Ao longo das últimas seis décadas, os sistemas operacionais evoluíram progressivamente, avançando de sistemas básicos para sistemas operacionais complexos e interativos que alimentam os dispositivos de hoje. Inicialmente, os sistemas operacionais serviam como uma ponte entre a funcionalidade binária do hardware de computador, como manipulação de portas, e tarefas de nível de usuário. Ao longo dos anos, no entanto, eles desenvolveram-se de sistemas de processamento de trabalhos em lote simples para técnicas de gerenciamento de processos mais sofisticadas, incluindo multitarefa e tempo compartilhado. Esses avanços permitiram que os sistemas operacionais modernos gerenciassem uma ampla gama de tarefas complexas. A introdução de interfaces de usuário gráficas (GUIs) como Windows e MacOS tornou os sistemas operacionais modernos mais amigáveis e interativos para o usuário, além de expandir o ecossistema do SO com bibliotecas de tempo de execução e uma suite abrangente de ferramentas de desenvolvedor.

Inovações recentes incluem a integração e implantação de Modelos de Linguagem Grande (LLMs), que revolucionaram várias indústrias ao desbloquear novas possibilidades. Mais recentemente, agentes inteligentes baseados em LLMs demonstraram capacidades notáveis, alcançando desempenho semelhante ao humano em uma ampla gama de tarefas. No entanto, esses agentes ainda estão nos estágios iniciais de desenvolvimento, e as técnicas atuais enfrentam vários desafios que afetam sua eficiência e eficácia. Problemas comuns incluem a programação subótima de solicitações de agentes sobre o grande modelo de linguagem, complexidades na integração de agentes com especializações diferentes e manutenção de contexto durante interações entre o LLM e o agente. O rápido desenvolvimento e a crescente complexidade dos agentes baseados em LLMs frequentemente levam a gargalos e uso subótimo de recursos.

Para abordar esses desafios, este artigo discutirá AIOS, um sistema operacional de agente LLM projetado para integrar grandes modelos de linguagem como o ‘cérebro’ do sistema operacional, efetivamente dando a ele uma ‘alma’. Especificamente, a estrutura AIOS visa facilitar a troca de contexto entre agentes, otimizar a alocação de recursos, fornecer serviços de ferramentas para agentes, manter o controle de acesso e permitir a execução concorrente de agentes. Vamos mergulhar profundamente na estrutura AIOS, explorando seus mecanismos, metodologia e arquitetura, e compará-lo com estruturas de ponta.

Após alcançar um sucesso notável em grandes modelos de linguagem, o próximo foco da indústria de IA e ML é desenvolver agentes de IA autônomos que possam operar independentemente, tomar decisões por conta própria e realizar tarefas com intervenções humanas mínimas ou nulas. Esses agentes de IA inteligentes são projetados para entender instruções humanas, processar informações, tomar decisões e tomar ações apropriadas para alcançar um estado autônomo, com o advento e desenvolvimento de grandes modelos de linguagem trazendo novas possibilidades para o desenvolvimento desses agentes autônomos. Atualmente, estruturas LLM, incluindo DALL-E, GPT e mais, demonstraram habilidades notáveis para entender instruções humanas, habilidades de raciocínio e resolução de problemas e interagir com usuários humanos e ambientes externos. Construídos sobre esses poderosos e capazes grandes modelos de linguagem, os agentes baseados em LLMs têm fortes habilidades de cumprimento de tarefas em ambientes diversificados, desde assistentes virtuais até sistemas mais complexos e sofisticados que envolvem criação, resolução de problemas, raciocínio, planejamento e execução. 

A figura acima fornece um exemplo convincente de como um agente autônomo baseado em LLM pode resolver tarefas do mundo real. O usuário solicita ao sistema informações sobre uma viagem, após o que o agente de viagens divide a tarefa em etapas executáveis. Em seguida, o agente executa as etapas sequencialmente, reservando voos, reservando hotéis, processando pagamentos e mais. Enquanto executa as etapas, o que distingue esses agentes de aplicativos de software tradicionais é a capacidade dos agentes de demonstrar capacidades de tomada de decisão e incorporar raciocínio na execução das etapas. Juntamente com um crescimento exponencial na qualidade desses agentes autônomos, a pressão sobre as funcionalidades dos grandes modelos de linguagem e sistemas operacionais testemunhou um aumento, e um exemplo disso é que priorizar e agendar solicitações de agentes em grandes modelos de linguagem limitados apresenta um desafio significativo. Além disso, como o processo de geração de grandes modelos de linguagem se torna uma tarefa demorada ao lidar com contextos longos, é possível que o agendador suspenda a geração resultante, levantando um problema de concepção de um mecanismo para capturar o resultado de geração atual do modelo de linguagem. Como resultado disso, o comportamento de pausar/resumir é habilitado quando o grande modelo de linguagem não finalizou a geração de resposta para a solicitação atual. 

Para abordar os desafios mencionados acima, AIOS, um sistema operacional de grande modelo de linguagem, fornece agregações e isolamento de módulo de funcionalidades LLM e SO. A estrutura AIOS propõe um design de núcleo LLM específico para evitar conflitos potenciais entre tarefas associadas e não associadas ao grande modelo de linguagem. O núcleo proposto separa as tarefas de sistema operacional, especialmente aquelas que supervisionam os agentes LLM, kits de desenvolvimento e recursos correspondentes. Como resultado dessa separação, o núcleo LLM tenta melhorar a coordenação e gerenciamento de atividades relacionadas a LLMs. 

AIOS: Metodologia e Arquitetura

Como você pode observar, existem seis mecanismos principais envolvidos no funcionamento da estrutura AIOS. 

  • Agendador de Agentes: A tarefa atribuída ao agendador de agentes é agendar e priorizar solicitações de agentes para otimizar a utilização do grande modelo de linguagem. 
  • Gerenciador de Contexto: A tarefa atribuída ao gerenciador de contexto é suportar instantâneos, além de restaurar o status de geração intermediário no grande modelo de linguagem, e o gerenciamento da janela de contexto do grande modelo de linguagem. 
  • Gerenciador de Memória: A responsabilidade principal do gerenciador de memória é fornecer memória de curto prazo para o log de interação de cada agente. 
  • Gerenciador de Armazenamento: O gerenciador de armazenamento é responsável por persistir os logs de interação dos agentes em armazenamento de longo prazo para recuperação futura. 
  • Gerenciador de Ferramentas: O mecanismo do gerenciador de ferramentas gerencia a chamada de agentes para ferramentas de API externas. 
  • Gerenciador de Acesso: O gerenciador de acesso impõe políticas de controle de acesso e privacidade entre agentes. 

Além dos mecanismos mencionados acima, a estrutura AIOS apresenta uma arquitetura em camadas e é dividida em três camadas distintas: a camada de aplicativo, a camada do núcleo e a camada de hardware. A arquitetura em camadas implementada pela estrutura AIOS garante que as responsabilidades sejam distribuídas uniformemente pelo sistema, e as camadas superiores abstratem as complexidades das camadas abaixo, permitindo interações usando módulos ou interfaces específicas, melhorando a modularidade e simplificando as interações do sistema entre as camadas. 

Começando com a camada de aplicativo, essa camada é usada para desenvolver e implantar agentes de aplicativos, como agentes de matemática ou viagens. Na camada de aplicativo, a estrutura AIOS fornece o kit de desenvolvimento de software AIOS (AIOS SDK) com uma abstração mais alta de chamadas de sistema que simplifica o processo de desenvolvimento para desenvolvedores de agentes. O kit de desenvolvimento de software oferecido pela AIOS oferece uma ferramenta rica para facilitar o desenvolvimento de aplicações de agentes, abstraindo as complexidades das funções de sistema de nível inferior, permitindo que os desenvolvedores se concentrem nas funcionalidades e lógica essenciais de seus agentes, resultando em um processo de desenvolvimento mais eficiente. 

Avançando, a camada do núcleo é ainda dividida em dois componentes: o núcleo LLM e o núcleo SO. Ambos os núcleos SO e LLM atendem às necessidades exclusivas de operações LLM específicas e não LLM, com a distinção permitindo que o núcleo LLM se concentre em tarefas específicas de grande modelo de linguagem, incluindo agendamento de agentes e gerenciamento de contexto, atividades essenciais para lidar com atividades relacionadas a grandes modelos de linguagem. A estrutura AIOS se concentra principalmente em melhorar o núcleo LLM sem alterar significativamente a estrutura do núcleo SO existente. O núcleo LLM vem equipado com vários módulos importantes, incluindo o agendador de agentes, gerenciador de memória, gerenciador de contexto, gerenciador de armazenamento, gerenciador de acesso, gerenciador de ferramentas e a interface de chamada de sistema LLM. Os componentes dentro da camada do núcleo são projetados para atender às necessidades de execução diversificadas de aplicações de agentes, garantindo execução e gerenciamento eficazes dentro da estrutura AIOS. 

Finalmente, temos a camada de hardware que compreende os componentes físicos do sistema, incluindo GPU, CPU, dispositivos periféricos, disco e memória. É essencial entender que o sistema do núcleo LLM não pode interagir diretamente com o hardware, e essas chamadas se conectam com as chamadas de sistema do sistema operacional que, por sua vez, gerenciam os recursos de hardware. Essa interação indireta entre o sistema LLM e os recursos de hardware cria uma camada de segurança e abstração, permitindo que o núcleo LLM aproveite as capacidades dos recursos de hardware sem exigir o gerenciamento de hardware direto, facilitando a manutenção da integridade e eficiência do sistema. 

Implementação

Como mencionado acima, existem seis mecanismos principais envolvidos no funcionamento da estrutura AIOS. O agendador de agentes é projetado para gerenciar solicitações de agentes de forma eficiente e tem várias etapas de execução, contrariamente a um paradigma de execução sequencial tradicional, no qual o agente processa as tarefas de forma linear, com as etapas do mesmo agente sendo processadas primeiro antes de prosseguir para o próximo agente, resultando em tempos de espera aumentados para tarefas que aparecem mais tarde na sequência de execução. O agendador de agentes emprega estratégias como Round Robin, First In First Out e outros algoritmos de agendamento para otimizar o processo. 

O gerenciador de contexto foi projetado para gerenciar o contexto fornecido ao grande modelo de linguagem e o processo de geração dado o contexto específico. O gerenciador de contexto envolve dois componentes cruciais: instantâneo e restauração de contexto e gerenciamento da janela de contexto. O mecanismo de instantâneo e restauração de contexto oferecido pela estrutura AIOS ajuda a mitigar situações em que o agendador suspende as solicitações de agentes, como demonstrado na figura a seguir. 

Como demonstrado na figura a seguir, é responsabilidade do gerenciador de memória gerenciar a memória de curto prazo dentro do ciclo de vida de um agente e garantir que os dados sejam armazenados e acessíveis apenas quando o agente estiver ativo, seja durante a execução ou quando o agente estiver aguardando execução. 

Por outro lado, o gerenciador de armazenamento é responsável por preservar os dados a longo prazo e supervisiona o armazenamento de informações que precisam ser retidas por um período indefinido, além do ciclo de vida de atividade de um agente individual. A estrutura AIOS alcança armazenamento permanente usando uma variedade de meios duráveis, incluindo soluções baseadas em nuvem, bancos de dados e arquivos locais, garantindo a disponibilidade e integridade dos dados. Além disso, na estrutura AIOS, é o gerenciador de ferramentas que gerencia uma variedade de ferramentas de API que aprimoram a funcionalidade dos grandes modelos de linguagem, e a tabela a seguir resume como o gerenciador de ferramentas integra ferramentas comumente usadas de várias fontes e as classifica em diferentes categorias. 

O gerenciador de acesso organiza operações de controle de acesso dentro de agentes distintos, administrando um grupo de privilégios dedicado para cada agente e nega acesso a um agente aos seus recursos se eles forem excluídos do grupo de privilégios do agente. Além disso, o gerenciador de acesso também é responsável por compilar e manter logs de auditoria que aumentam a transparência do sistema ainda mais. 

AIOS: Experimentos e Resultados

A avaliação da estrutura AIOS é guiada por duas questões de pesquisa: primeiro, como é o desempenho do agendamento AIOS na melhoria do equilíbrio entre tempo de espera e tempo de turnaround, e segundo, se a resposta do LLM às solicitações de agentes é consistente após a suspensão do agente?

Para responder à questão da consistência, os desenvolvedores executam cada um dos três agentes individualmente e, subsequentemente, executam esses agentes em paralelo, tentando capturar suas saídas durante cada etapa. Como demonstrado na tabela a seguir, as pontuações BERT e BLEU alcançam o valor de 1,0, indicando um alinhamento perfeito entre as saídas geradas nas configurações de agente único e multiagente. 

Para responder à questão da eficiência, os desenvolvedores realizam uma análise comparativa entre a estrutura AIOS que emprega FIFO ou agendamento First In First Out e uma abordagem não agendada, na qual os agentes são executados concorrentemente. Na configuração não agendada, os agentes são executados em uma ordem sequencial pré-definida: agente de matemática, agente de narração e agente de rec. Para avaliar a eficiência temporal, a estrutura AIOS emprega duas métricas: tempo de espera e tempo de turnaround, e como os agentes enviam múltiplas solicitações ao grande modelo de linguagem, o tempo de espera e o tempo de turnaround para agentes individuais são calculados como a média do tempo de espera e do tempo de turnaround para todas as solicitações. Como demonstrado na tabela a seguir, a abordagem não agendada apresenta um desempenho satisfatório para agentes mais cedo na sequência, mas sofre com tempos de espera e turnaround prolongados para agentes mais tarde na sequência. Por outro lado, a abordagem de agendamento implementada pela estrutura AIOS regula eficazmente tanto os tempos de espera quanto os tempos de turnaround. 

Pensamentos Finais

Neste artigo, discutimos AIOS, um sistema operacional de agente LLM projetado para incorporar grandes modelos de linguagem no sistema operacional como o ‘cérebro’ do sistema operacional, efetivamente dando a ele uma ‘alma’. Para ser mais específico, a estrutura AIOS é projetada com a intenção de facilitar a troca de contexto entre agentes, otimizar a alocação de recursos, fornecer serviços de ferramentas para agentes, manter o controle de acesso para agentes e permitir a execução concorrente de agentes. A arquitetura AIOS demonstra o potencial de facilitar o desenvolvimento e a implantação de agentes autônomos baseados em grandes modelos de linguagem, resultando em um ecossistema AIOS-Agente mais eficaz, coeso e eficiente. 

Um engenheiro por profissão, um escritor por coração. Kunal é um escritor técnico com um amor e compreensão profundos de AI e ML, dedicado a simplificar conceitos complexos nestes campos por meio de sua documentação envolvente e informativa.