Coordenar sistemas interativos complicados, sejam os diferentes modos 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 os designers de software program enfrentarem. Agora, pesquisadores do MIT desenvolveram uma maneira totalmente nova de abordar esses problemas complexos, usando diagramas simples como uma ferramenta para revelar melhores abordagens para a otimização de software program em modelos de aprendizado profundo.
Eles dizem que o novo método torna abordar essas tarefas complexas tão simples que pode ser reduzido a um desenho que se encaixaria na parte de trás de um guardanapo.
A nova abordagem é descrita no diário Transações da pesquisa de aprendizado de máquinaem um artigo do estudante de doutorado Vincent Abbott e pelo professor Gioele Zardini, do Laboratório de Informação e Sistemas de Decisão (TIDS).
“Projetamos um novo idioma para falar sobre esses novos sistemas”, diz Zardini. Essa nova “linguagem” baseada em diagrama é fortemente baseada em algo chamado teoria da categoria, explica ele.
Tudo tem a ver com o design da arquitetura subjacente dos algoritmos de computador – os programas que realmente acabam sentindo e controlando as várias partes diferentes do sistema que estão sendo otimizadas. “Os componentes são diferentes peças de um algoritmo e precisam conversar entre si, trocar informações, mas também explicar o uso de energia, o consumo de memória e assim por diante.” Tais otimizações são notoriamente difíceis, porque cada alteração em uma parte do sistema pode, por sua vez, causar alterações em outras partes, o que pode afetar ainda mais outras peças 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 importante de pesquisa. O aprendizado profundo é a base dos grandes modelos de inteligência synthetic, incluindo grandes modelos de idiomas, como modelos de chatgpt e geração de imagens, como o Midjourney. Esses modelos manipulam dados por uma série “profunda” de multiplicações de matriz intercaladas com outras operações. Os números dentro das matrizes são parâmetros e são atualizados durante longas corridas de treinamento, permitindo que padrões complexos sejam encontrados. Os modelos consistem em bilhões de parâmetros, tornando inestimável a computação e, portanto, o uso e otimização de recursos aprimorados inestimáveis.
Os diagramas podem representar detalhes das operações paralelas das quais os modelos de aprendizado profundo consistem, revelando as relações entre os algoritmos e o {hardware} da Unidade de Processamento de Gráficos (GPU) paralelo (GPU) que eles são executados, fornecidos por empresas como a NVIDIA. “Estou muito empolgado com isso”, diz Zardini, porque “parece ter encontrado uma linguagem que descreve muito bem algoritmos de aprendizado profundo, representando explicitamente todas as coisas 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ê está tentando otimizar.
Grande parte do progresso dentro do aprendizado profundo surgiu das otimizações de eficiência de recursos. O mais recente modelo Deepseek mostrou que uma pequena equipe pode competir com os principais modelos do OpenAI e outros principais laboratórios, concentrando -se na eficiência de recursos e na relação entre software program e {hardware}. Normalmente, ao derivar essas otimizações, ele diz: “As pessoas precisam de muita tentativa e erro para descobrir novas arquiteturas”. Por exemplo, um programa de otimização amplamente usado chamado Flashattion levou mais de quatro anos para se desenvolver, diz ele. Mas com a nova estrutura que eles desenvolveram: “Podemos realmente abordar esse problema de uma maneira mais formal”. E tudo isso é representado visualmente em uma linguagem gráfica com precisão.
Mas os métodos que foram 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 de relacionar um algoritmo com sua execução perfect ou até mesmo entender quantos recursos serão necessários para executar”. Mas agora, com o novo método baseado em diagrama que eles criaram, esse sistema existe.
A teoria da categoria, subjacente a essa abordagem, é uma maneira de descrever matematicamente os diferentes componentes de um sistema e como eles interagem de maneira generalizada e abstrata. Perspectivas diferentes podem ser relacionadas. Por exemplo, as fórmulas matemáticas podem estar relacionadas a algoritmos que os implementam e usam recursos, ou as descrições dos sistemas podem estar relacionadas a “diagramas de cordas monoidais”. Essas visualizações permitem brincar diretamente e experimentar como as diferentes partes se conectam e interagem. O que eles desenvolveram, diz ele, equivale a “diagramas de cordas em esteróides”, que incorpora muitas mais convenções gráficas e muitas outras propriedades.
“A teoria da categoria pode ser pensada como matemática da abstração e composição”, diz Abbott. “Qualquer sistema de composição pode ser descrito usando a teoria da categoria, e a relação entre sistemas de composição também pode ser estudada.” As regras algébricas que normalmente estão 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 nos relacionar com truques e funções algébricos. Portanto, 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 entendidos como modelos matemáticos”. Mas, representando -os como diagramas, torna -se possível abordá -los formal e sistematicamente, diz ele.
Uma coisa que isso permite é uma compreensão visible clara da maneira como os processos paralelos do mundo actual podem ser representados pelo processamento paralelo em GPUs de computador multicore. “Dessa maneira”, diz Abbott, “os diagramas podem representar uma função e depois revelar como executá -lo de maneira perfect em uma GPU”.
O algoritmo de “atenção” é usado por algoritmos de aprendizado profundo que requerem informações gerais e contextuais e é uma fase-chave dos blocos serializados que constituem grandes modelos de linguagem, como o chatgpt. O Flashattion é uma otimização que levou anos para se desenvolver, mas resultou em uma melhoria de seis vezes nos algoritmos de velocidade da atenção.
Aplicando seu método ao algoritmo bem estabelecido de flashattion, Zardini diz que “aqui podemos derivá-lo, literalmente, em um guardanapo”. Ele então acrescenta: “OK, talvez seja um guardanapo grande”. Mas, para levar para casa o ponto sobre quanto sua nova abordagem pode simplificar lidar com esses algoritmos complexos, eles intitularam seu trabalho formal de pesquisa sobre o trabalho “Flashattion em um guardanapo”.
Abbott diz esse método, “permite que a otimização seja muito rapidamente derivada, em contraste com os métodos predominantes”. Enquanto eles aplicaram inicialmente essa abordagem ao algoritmo de flashattion já existente, verificando assim sua eficácia, “esperamos agora usar esse idioma para automatizar a detecção de melhorias”, diz Zardini, que, além de ser um investigador principal, a sociedade e uma afiliada, é a faculdade e a distribuição de pessoas, a sociedade e a sociedade e a sociedade e uma afiliada.
O plano é que, em última análise, ele diz, eles desenvolverão o software program a ponto de “o pesquisador enviar seu código e, com o novo algoritmo, você detecta automaticamente o que pode ser melhorado, o que pode ser otimizado e você retorna uma versão otimizada do algoritmo para o usuário.”
Além de automatizar a otimização do algoritmo, a Zardini observa que uma análise robusta de como os algoritmos de aprendizado profundo se relacionam ao uso de recursos de {hardware} permite o co-design sistemático de {hardware} e software program. Essa linha de trabalho se integra ao foco da Zardini no co-design categórico, que usa as ferramentas da teoria da categoria para otimizar simultaneamente vários componentes dos sistemas de engenharia.
Abbott diz que “todo esse campo de modelos de aprendizado profundo otimizado, acredito, é extremamente não abordado, e é por isso que esses diagramas são tão emocionantes. Eles abrem as portas para uma abordagem sistemática para esse problema”.
“Estou muito impressionado com a qualidade desta pesquisa. “Este artigo é a primeira vez que vi essa notação usada para analisar profundamente o desempenho de um algoritmo de aprendizado profundo em {hardware} do mundo actual. … O próximo passo será ver se os ganhos de desempenho do mundo actual podem ser alcançados”.
“Esta é uma parte da pesquisa teórica lindamente executada, que também visa alta acessibilidade a leitores não iniciados – uma característica raramente vista em trabalhos desse tipo”, diz Petar Velickovic, cientista de pesquisa sênior do Google DeepMind e professor da Universidade de Cambridge, que não estava associado a este trabalho. Esses pesquisadores, ele diz, “são claramente excelentes comunicadores, e mal posso esperar para ver o que eles criam a seguir!”
O novo idioma baseado em diagrama, tendo sido publicado on-line, já atraiu grande atenção e interesse dos desenvolvedores de software program. Um revisor do artigo anterior de Abbott, apresentando os diagramas, observou que “os diagramas de circuitos neurais propostos parecem ótimos do ponto de vista artístico (até onde sou capaz de julgar isso)”. “É uma pesquisa técnica, mas também é chamativa!” Zardini diz.