Modelos e plataformas de IA

AIOS: Sistema Operacional para Agentes LLM

mm
Adicione Unite.AI às suas fontes preferidas no Google

Nos últimos seis décadas, os sistemas operacionais evoluíram progressivamente, avançando de sistemas básicos para os complexos e interativos sistemas operacionais 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 se desenvolveram de simples sistemas de processamento de trabalhos em lote para técnicas de gerenciamento de processos mais sofisticadas, incluindo multitarefa e tempo compartilhado. Esses avanços permitiram que os sistemas operacionais modernos gerenciem uma ampla variedade 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, além de expandir o ecossistema do SO com bibliotecas de tempo de execução e uma suíte abrangente de ferramentas de desenvolvedor.

As 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 mostraram capacidades notáveis, alcançando desempenho 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 modelo de linguagem grande, 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-lhe uma “alma”. Especificamente, a estrutura AIOS visa facilitar a commutação 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 fundo na estrutura AIOS, explorando seus mecanismos, metodologia e arquitetura, e compará-la com estruturas de ponta.

Depois de alcançar um sucesso notável em grandes modelos de linguagem, o próximo foco da indústria de IA e ML é desenvolver agentes autônomos de IA que possam operar independentemente, tomar decisões por conta própria e realizar tarefas com intervenções humanas mínimas ou nenhuma. Esses agentes inteligentes baseados em IA são projetados para entender instruções humanas, processar informações, tomar decisões e realizar 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, as estruturas LLM, incluindo DALL-E, GPT e mais, mostraram 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 LLM têm fortes habilidades de cumprimento de tarefas em ambientes diversos, desde assistentes virtuais até sistemas mais complexos e sofisticados que envolvem criação, resolução de problemas, 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 viagem divide a tarefa em etapas executáveis. Em seguida, o agente executa as etapas sequencialmente, reservando voos, 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 mostrar habilidades de tomada de decisão e incorporar raciocínio na execução das etapas. Além do 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 modelos de linguagem grande limitados é 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 programador suspenda a geração resultante, levantando um problema de mecanismo para capturar o resultado de geração atual do modelo de linguagem.

Para abordar os desafios mencionados acima, AIOS, um sistema operacional de modelo de linguagem grande, fornece agregações e isolamento de módulos de funcionalidades LLM e SO. A estrutura AIOS propõe um design de núcleo LLM específico para evitar conflitos potenciais que surgem entre tarefas associadas e não associadas ao grande modelo de linguagem. O núcleo proposto separa as tarefas do 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 é dar suporte a 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 operações de controle de acesso dentro de agentes distintos, administrando um grupo de privilégios dedicado para cada agente e negando acesso a recursos do agente se eles forem excluídos do grupo de privilégios do agente.

Além dos mecanismos mencionados acima, a estrutura AIOS apresenta uma arquitetura em camadas e é dividida em três camadas distintas: a camada de aplicação, 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 delas, permitindo interações usando módulos ou interfaces específicos, melhorando a modularidade e simplificando as interações do sistema entre as camadas.

Começando com a camada de aplicação, essa camada é usada para desenvolver e implantar agentes de aplicação, como agentes de matemática ou viagem. Na camada de aplicação, 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.

Em seguida, a camada do núcleo é dividida em dois componentes: o núcleo LLM e o núcleo SO. Ambos os núcleos SO e LLM atendem às necessidades únicas 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 concentra-se principalmente em melhorar o núcleo de grande modelo de linguagem sem alterar significativamente a estrutura do núcleo SO existente. O núcleo LLM vem equipado com vários módulos-chave, 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 interfazem com as chamadas de sistema do sistema operacional que, por sua vez, gerenciam os recursos de hardware. Essa interação indireta entre o sistema do núcleo 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 diretamente, 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 passar 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 de contexto e restauração, e gerenciamento da janela de contexto. O mecanismo de instantâneo de contexto e restauração oferecido pela estrutura AIOS ajuda a mitigar situações em que o programador 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 de tempo indefinido, além do ciclo de vida 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 melhoram 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 negando acesso a recursos do agente 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.

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 de tempo de espera e tempo de turnaround, e segundo, se as respostas do LLM às solicitações de agentes são consistentes após a suspensão do agente?

Para responder às questões de 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 uma alinhamento perfeito entre as saídas geradas nas configurações de agente único e multiagente.

Para responder às questões de 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 várias 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 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 tanto os tempos de espera quanto os tempos de turnaround de forma eficaz.

Pensamentos Finais

Neste artigo, discutimos AIOS, um sistema operacional de agente LLM projetado para integrar grandes modelos de linguagem como o “cérebro” do sistema operacional, efetivamente dando-lhe uma “alma”. Para ser mais específico, a estrutura AIOS é projetada com a intenção de facilitar a commutação 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.