Facebook tem como objetivo tornar os compiladores mais rápidos usando o aprendizado de máquina com o CompilerGym

Facebook tem como objetivo tornar os compiladores mais rápidos usando o aprendizado de máquina com o CompilerGym

O Facebook anunciou esta semana o código-fonte aberto do CompilerGym como seu esforço para melhorar o desempenho do compilador, aproveitando o aprendizado de máquina para lidar com o trabalho de otimização. Portanto, pelo comunicado, fica claro que o Facebook tem como objetivo tornar os compiladores mais rápidos usando o aprendizado de máquina com o CompilerGym.

O CompilerGym foi desenvolvido pela equipe de IA do Facebook no topo do OpenAI Gym e, em última análise, está se esforçando para ajudar a melhorar o desempenho do compilador de código. Eles explicaram no anúncio desta semana:

CompilerGym empacota problemas importantes de otimização do compilador e os faz parecer problemas de aprendizado por reforço. Os problemas de otimização do compilador que incluímos são de grande escala. Por exemplo, o espaço de busca é 104461, consideravelmente maior do que o do jogo de tabuleiro Go. Por outro lado, o espaço de busca é infinito. Avanços em problemas de tal escala são possíveis pela primeira vez apenas por causa de avanços muito recentes no aprendizado por reforço. 

O CompilerGym torna mais fácil para qualquer pessoa com experiência em ML ou compilador mergulhar de cabeça e começar a resolver os problemas, tudo sem os meses de configuração tediosa que normalmente seriam necessários. E isso porque fizemos isso por você!

O anúncio acrescentou:

“Nosso objetivo é ser um catalisador para o uso de ML para tornar os compiladores mais rápidos, o que é importante porque os programas mal otimizados são lentos e consomem muitos recursos de computação, bem como muita energia, limitando os aplicativos de dispositivos de borda com eficiência energética e tornando os data centers menos ambientalmente amigável.”

A publicação prossegue com outros detalhes:

Recursos

Projetamos CompilerGym para tornar a construção de modelos de ML para problemas de pesquisa de compiladores tão fácil quanto para jogar videogames. Os destaques da biblioteca incluem:

  • API: usamos a interface Gym do OpenAI para que você possa escrever seu agente com Python.
  • Tarefas e ações: Oferecemos ambientes paraordenação de fases no LLVM, ajuste de sinalizador no GCC e Otimização de aninhamento de loop de GPU usando loop_tool.
  • Conjuntos de dados: Oferecemos milhares de programas do mundo real para uso no treinamento e avaliação de agentes, cobrindo uma variedade de linguagens de programação e domínios.
  • Representações: Fornecemos representações brutas de programas e vários recursos pré-computados, permitindo que você se concentre no aprendizado profundo de ponta a ponta ou em recursos e árvores otimizadas, até os modelos gráficos.
  • Recompensas: apoiamos a otimização do tempo de execução e do tamanho do código prontos para uso.
  • Teste: Oferecemos um processo de validação para garantir que os resultados sejam reproduzíveis.
  • Linhas de base: Oferecemos vários algoritmos de linha de base e relatamos seu desempenho.
  • Competição: Envie seus resultados e veja-os em tabelas de classificação.
  • Acessibilidade: Fornecemos um conjunto de ferramentas de linha de comando para interagir com os ambientes sem a necessidade de escrever nenhum código, bem como um front-end interativo da web que permite explorar os espaços de otimização por meio do navegador.

Aqueles que desejam aprender mais sobre o CompilerGym podem fazê-lo através de ai.facebook.com.

Via Phoronix

Acesse a versão completa
Sair da versão mobile