Tecnologia Científica

Projetando uma nova maneira de otimizar sistemas coordenados complexos
Usar diagramas para representar interações em sistemas multipartes pode fornecer uma maneira mais rápida de projetar melhorias de software.
Por Laboratório de Sistemas de Informação e Decisão do MIT - 02/05/2025


Pesquisadores do MIT desenvolveram uma nova maneira de abordar problemas complexos, usando diagramas simples como uma ferramenta para revelar melhores abordagens para otimização de software em modelos de aprendizado profundo. Créditos: Imagem: iStock


Coordenar sistemas interativos complexos, sejam os diferentes meios de transporte em uma cidade ou os vários componentes que devem trabalhar juntos para criar um robô eficaz e eficiente, é um assunto cada vez mais importante para designers de software. Agora, pesquisadores do MIT desenvolveram uma maneira totalmente nova de abordar esses problemas complexos, usando diagramas simples como ferramenta para revelar melhores abordagens para otimização de software em modelos de aprendizado profundo.

Eles dizem que o novo método torna a resolução dessas tarefas complexas tão simples que elas podem ser reduzidas a um desenho que caberia no verso de um guardanapo.

A nova abordagem é descrita no periódico Transactions of Machine Learning Research , em um artigo do novo aluno de doutorado Vincent Abbott e da professora Gioele Zardini do Laboratório de Sistemas de Informação e Decisão (LIDS) do MIT.

“Projetamos uma nova linguagem para falar sobre esses novos sistemas”, diz Zardini. Essa nova “linguagem” baseada em diagramas é fortemente baseada em algo chamado teoria das categorias, explica ele.

Tudo tem a ver com o design da arquitetura subjacente dos algoritmos computacionais — os programas que, de fato, detectarão e controlarão as diversas partes do sistema que está sendo otimizado. "Os componentes são partes diferentes de um algoritmo e precisam se comunicar entre si, trocar informações, mas também levar em conta o uso de energia, o consumo de memória e assim por diante." Essas otimizações são notoriamente difíceis porque cada mudança em uma parte do sistema pode, por sua vez, causar mudanças em outras partes, o que pode afetar outras partes, e assim por diante.

Os pesquisadores decidiram se concentrar na classe específica de algoritmos de aprendizado profundo, que atualmente são um tópico de pesquisa em alta. O aprendizado profundo é a base dos grandes modelos de inteligência artificial, incluindo grandes modelos de linguagem como o ChatGPT e modelos de geração de imagens como o Midjourney. Esses modelos manipulam dados por meio de uma série "profunda" de multiplicações de matrizes intercaladas com outras operações. Os números dentro das matrizes são parâmetros e são atualizados durante longas execuções de treinamento, permitindo a descoberta de padrões complexos. Os modelos consistem em bilhões de parâmetros, o que torna a computação cara e, portanto, a otimização e o uso aprimorados de recursos inestimáveis.

Diagramas podem representar detalhes das operações paralelizadas que compõem os modelos de aprendizado profundo, revelando as relações entre algoritmos e o hardware da unidade de processamento gráfico (GPU) paralelizada em que são executados, fornecido por empresas como a NVIDIA. "Estou muito animado com isso", diz Zardini, porque "parece que encontramos uma linguagem que descreve muito bem os algoritmos de aprendizado profundo, representando explicitamente todos os aspectos importantes, que são os operadores que você usa", por exemplo, o consumo de energia, a alocação de memória e qualquer outro parâmetro que você esteja tentando otimizar.

Grande parte do progresso no aprendizado profundo decorreu de otimizações na eficiência de recursos. O modelo mais recente do DeepSeek mostrou que uma pequena equipe pode competir com os principais modelos da OpenAI e de outros grandes laboratórios, concentrando-se na eficiência de recursos e na relação entre software e hardware. Normalmente, para derivar essas otimizações, ele afirma, "as pessoas precisam de muita tentativa e erro para descobrir novas arquiteturas". Por exemplo, um programa de otimização amplamente utilizado chamado FlashAttention levou mais de quatro anos para ser desenvolvido, afirma ele. Mas, com a nova estrutura que desenvolveram, "podemos realmente abordar esse problema de uma maneira mais formal". E tudo isso é representado visualmente em uma linguagem gráfica definida com precisão.

Mas os métodos usados para encontrar essas melhorias "são muito limitados", diz ele. "Acho que isso mostra que há uma grande lacuna, pois não temos um método sistemático formal para relacionar um algoritmo à sua execução ideal, nem mesmo para entender de fato quantos recursos serão necessários para sua execução." Mas agora, com o novo método baseado em diagramas que eles criaram, esse sistema existe.

A teoria das categorias, que fundamenta essa abordagem, é uma forma de descrever matematicamente os diferentes componentes de um sistema e como eles interagem de forma generalizada e abstrata. Diferentes perspectivas podem ser relacionadas. Por exemplo, fórmulas matemáticas podem ser relacionadas a algoritmos que as implementam e utilizam recursos, ou descrições de sistemas podem ser relacionadas a robustos "diagramas de string monoidais". Essas visualizações permitem que você experimente diretamente como as diferentes partes se conectam e interagem. O que eles desenvolveram, diz ele, equivale a "diagramas de string turbinados", que incorporam muito mais convenções gráficas e muitas outras propriedades.

“A teoria das categorias pode ser considerada a matemática da abstração e da composição”, diz Abbott. “Qualquer sistema composicional pode ser descrito usando a teoria das categorias, e a relação entre sistemas composicionais também pode ser estudada.” Regras algébricas tipicamente associadas a funções também podem ser representadas como diagramas, diz ele. “Então, muitos dos truques visuais que podemos fazer com diagramas, podemos relacioná-los a truques algébricos e funções. Assim, isso cria essa correspondência entre esses diferentes sistemas.”

Como resultado, ele diz, "isso resolve um problema muito importante, que é que temos esses algoritmos de aprendizado profundo, mas eles não são claramente compreendidos como modelos matemáticos". Mas, ao representá-los como diagramas, torna-se possível abordá-los formal e sistematicamente, diz ele.

Isso permite uma compreensão visual clara de como processos paralelos do mundo real podem ser representados pelo processamento paralelo em GPUs de computadores multicore. "Dessa forma", diz Abbott, "os diagramas podem representar uma função e, em seguida, revelar como executá-la de forma otimizada em uma GPU".

O algoritmo de "atenção" é usado por algoritmos de aprendizado profundo que exigem informações gerais e contextuais e é uma fase fundamental dos blocos serializados que constituem grandes modelos de linguagem, como o ChatGPT. O FlashAttention é uma otimização que levou anos para ser desenvolvida, mas resultou em uma melhoria de seis vezes na velocidade dos algoritmos de atenção.

Aplicando seu método ao consagrado algoritmo FlashAttention, Zardini afirma que "aqui conseguimos derivá-lo, literalmente, em um guardanapo". Ele então acrescenta: "OK, talvez seja um guardanapo grande". Mas, para enfatizar o quanto sua nova abordagem pode simplificar o trabalho com esses algoritmos complexos, eles intitularam seu artigo de pesquisa formal sobre o trabalho "FlashAttention em um Guardanapo".

Este método, diz Abbott, "permite que a otimização seja derivada muito rapidamente, em contraste com os métodos predominantes". Embora inicialmente tenham aplicado essa abordagem ao algoritmo FlashAttention já existente, verificando assim sua eficácia, "esperamos agora usar essa linguagem para automatizar a detecção de melhorias", diz Zardini, que além de ser um dos principais pesquisadores do LIDS, é professor assistente de Engenharia Civil e Ambiental da cátedra Rudge e Nancy Allen e professor afiliado ao Instituto de Dados, Sistemas e Sociedade.

O plano é que, no final das contas, ele diz, eles desenvolverão o software até o ponto em que “o pesquisador carregue seu código e, com o novo algoritmo, você detecta automaticamente o que pode ser melhorado, o que pode ser otimizado, e retorna uma versão otimizada do algoritmo para o usuário”.

Além de automatizar a otimização de algoritmos, Zardini observa que uma análise robusta de como os algoritmos de aprendizado profundo se relacionam com o uso de recursos de hardware permite o codesign sistemático de hardware e software. Essa linha de trabalho se integra ao foco de Zardini em codesign categórico, que utiliza as ferramentas da teoria das categorias para otimizar simultaneamente vários componentes de sistemas de engenharia.

Abbott afirma que "acredito que todo esse campo de modelos otimizados de aprendizado profundo ainda é bastante criticamente mal abordado, e é por isso que esses diagramas são tão interessantes. Eles abrem as portas para uma abordagem sistemática desse problema".

“Estou muito impressionado com a qualidade desta pesquisa. ... A nova abordagem para diagramar algoritmos de aprendizado profundo utilizada neste artigo pode ser um passo muito significativo”, afirma Jeremy Howard, fundador e CEO da Answers.ai, que não esteve associado a este trabalho. “Este artigo é a primeira vez que vejo tal notação usada para analisar profundamente o desempenho de um algoritmo de aprendizado profundo em hardware do mundo real. ... O próximo passo será verificar se ganhos de desempenho no mundo real podem ser alcançados.”

“Este é um trabalho de pesquisa teórica primorosamente executado, que também visa alta acessibilidade a leitores não iniciados — uma característica raramente vista em artigos desse tipo”, afirma Petar Velickovic, pesquisador sênior do Google DeepMind e professor da Universidade de Cambridge, que não esteve associado a este trabalho. Esses pesquisadores, afirma ele, “são claramente excelentes comunicadores, e mal posso esperar para ver o que eles vão apresentar a seguir!”

A nova linguagem baseada em diagramas, publicada online, já atraiu grande atenção e interesse de desenvolvedores de software. Um revisor do artigo anterior de Abbott, que apresentou os diagramas, observou que "os diagramas de circuitos neurais propostos parecem ótimos do ponto de vista artístico (até onde posso avaliar)". "É pesquisa técnica, mas também é chamativa!", diz Zardini.

 

.
.

Leia mais a seguir