Melhorar a velocidade e a eficiência energética dos agentes de IA | Notícias do MIT



Melhorar a velocidade e a eficiência energética dos agentes de IA | Notícias do MIT

Os fluxos de trabalho Agentic são sistemas de software program alimentados por inteligência synthetic que encadeiam vários modelos e ferramentas externas para lidar com tarefas complicadas, como analisar um vídeo e responder a perguntas sobre ele.

Mas a forma como estes sistemas altamente fragmentados são concebidos e implementados provoca frequentemente ineficiências que podem levar ao desperdício de computação, energia e custos.

Para melhorar a eficiência, pesquisadores do MIT e da Microsoft desenvolveram um sistema inteligente que agiliza o processo de criação de fluxos de trabalho de agentes e otimiza automaticamente a forma como esses fluxos de trabalho são implementados.

Com esse novo método, um desenvolvedor pode descrever o que deseja que o fluxo de trabalho do agente faça em linguagem simples, sem a necessidade de especificar antecipadamente todos os detalhes de sua aplicação.

O sistema descobre automaticamente os melhores modelos e ferramentas a serem utilizados, bem como a configuração de {hardware} ideally suited e a alocação de recursos computacionais quando o fluxo de trabalho é executado por um provedor de nuvem.

Ele ajusta essas configurações rapidamente com base nas prioridades de cada usuário, como minimizar custos ou maximizar a velocidade.

Quando testado em diversas cargas de trabalho ativas, esse novo sistema reduziu o número de unidades computacionais necessárias para implantação, reduzindo significativamente os requisitos e custos de energia em comparação com as abordagens tradicionais, sem prejudicar o desempenho.

“Os fluxos de trabalho da Agentic estão ficando muito complicados e rapidamente se tornando a espinha dorsal do que os provedores de nuvem estão fazendo. O uso de energia é uma grande preocupação, por isso precisamos ter muito cuidado com a eficiência desses fluxos de trabalho. É muito fácil alocar recursos em excesso, desperdiçando energia e dinheiro. Permitir que um provedor de nuvem torne esses fluxos de trabalho com recursos mais otimizados de forma inteligente é uma vitória para todos os envolvidos”, diz Gohar Chaudhry, estudante de graduação em engenharia elétrica e ciência da computação (EECS) e autor principal de um livro. artigo sobre este sistema.

Ele é acompanhado no artigo por Adam Belay, professor associado do EECS e membro do Laboratório de Ciência da Computação e Inteligência Synthetic do MIT; autor sênior Ricardo Bianchini, pesquisador técnico e vice-presidente corporativo da Microsoft Azure; e outros no Microsoft Azure. O artigo será apresentado no Simpósio USENIX sobre Design e Implementação de Sistemas Operacionais.

Um enigma de configuração

Um fluxo de trabalho de agente é um sistema composto por vários agentes autônomos de IA que usam colaborativamente vários modelos e ferramentas, como bancos de dados ou programas Python, para concluir dinamicamente uma tarefa de várias etapas, como processamento de dados ou geração de código.

Esses fluxos de trabalho podem servir como processos de bastidores que potencializam os aplicativos voltados para o usuário.

Normalmente, os desenvolvedores devem codificar antecipadamente todas as escolhas técnicas. Eles precisam definir quais agentes, modelos e ferramentas de IA usar e a ordem em que usá-los. Eles também devem especificar o {hardware} que executa o fluxo de trabalho e como equilibrar compensações como velocidade versus custo.

Isso é especialmente desafiador porque os fluxos de trabalho de agentes reúnem vários modelos de caixa preta e diversas ferramentas, cada um com suas próprias opções de configuração, que podem ser oferecidas por diferentes empresas.

Se for lançado um novo modelo de IA que melhore a precisão ou eficiência do aplicativo, o desenvolvedor precisará começar do zero para implementá-lo.

“Mesmo que você queira fazer tudo isso manualmente, é improvável que consiga configurar o fluxo de trabalho de maneira ideally suited porque o espaço de configurações possíveis é muito grande”, diz Chaudhry.

Além disso, o knowledge middle em nuvem que implanta o aplicativo para os clientes não consegue ver o inside do fluxo de trabalho para alocar seus recursos de {hardware} da maneira mais eficiente no momento da solicitação do usuário.

Com esse novo sistema, chamado Murakkab (palavra urdu que significa composição de coisas), os pesquisadores buscaram otimizar todo o processo de fluxo de trabalho da agência.

Tomada de decisão dinâmica

Primeiro, Murakkab permite que os desenvolvedores criem um fluxo de trabalho de agente descrevendo sua intenção para o aplicativo em termos de alto nível, em vez de detalhar como os muitos componentes desse fluxo de trabalho devem ser combinados.

Por exemplo, um desenvolvedor pode descrever um aplicativo de perguntas e respostas de vídeo que extrai quadros-chave, gera uma transcrição e, em seguida, responde às perguntas dos usuários sobre o vídeo.

“Há muitas maneiras de fazer isso, e todos esses diferentes modelos e ferramentas têm implicações na rapidez com que o aplicativo pode concluir a tarefa”, diz ele.

Murakkab pega as especificações diretas do desenvolvedor e identifica automaticamente os melhores modelos e ferramentas existentes para integrar no fluxo de trabalho.

Ele também determina quais componentes precisam ser executados sequencialmente e quais podem ser executados em paralelo para aumentar o desempenho.

“A plataforma toma decisões de configuração de forma dinâmica ao longo do tempo, então se um novo modelo ou acelerador de GPU for lançado amanhã, o desenvolvedor não precisa se preocupar com isso”, afirma.

Quando o provedor de nuvem implanta esse aplicativo para um cliente, a Murakkab otimiza o fluxo de trabalho configurando seus componentes para atender às restrições do usuário, como priorizar a precisão e atender a um requisito de latência.

Ele identifica de forma adaptativa as alocações de {hardware} ideais e os cronogramas de implantação para maximizar a eficiência em tempo actual e, em seguida, gera um fluxo de trabalho que está pronto para ser executado pelo provedor de nuvem.

“Nosso sistema também dá aos provedores de nuvem visibilidade sobre múltiplas cargas de trabalho, para que o provedor possa compartilhar recursos computacionais da maneira mais eficiente e, ao mesmo tempo, satisfazer as restrições dos usuários”, diz ele.

Quando testado em diversos fluxos de trabalho de agentes para perguntas e respostas de vídeo e geração de código, Murakkab atendeu aos requisitos do usuário usando apenas cerca de 35% da computação exigida por outros métodos. Consumiu apenas cerca de 27% da energia por menos de 25% do custo.

A natureza dinâmica do Murakkab também permite aos usuários equilibrar compensações. Em um caso, o sistema reduziu o consumo de energia de um fluxo de trabalho de agente em mais de uma ordem de grandeza, com apenas uma queda de cerca de 2% na precisão para o cliente.

O sistema também foi capaz de identificar uma configuração inesperadamente ideally suited para um modelo que seleciona quadros de vídeo, otimizando o desempenho para uma tarefa de perguntas e respostas de vídeo. Esse tipo de otimização seria quase impossível para um desenvolvedor fazer manualmente, diz Chaudhry.

Em seguida, os pesquisadores planejam expandir seu sistema para fluxos de trabalho mais complexos e clusters de computação maiores, enquanto exploram oportunidades para otimizar novos aplicativos de agente.

“Há muito potencial para tornar esses fluxos de trabalho mais otimizados em termos de recursos, de modo que consumam muito menos energia, mas precisamos pensar nisso na escala das principais plataformas de nuvem”, diz Chaudhry.

Esta pesquisa foi apoiada, em parte, pela Semiconductor Analysis Company e pela Agência de Projetos de Pesquisa Avançada de Defesa dos EUA.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *