Leva apenas 3 segundos para uma única GPU executar milhares de ambientes e 8 milhões de etapas de simulação. Stanford desenvolveu um super mecanismo de jogo

Nesta fase, os agentes de IA parecem ser onipotentes, jogando e imitando humanos para realizar várias tarefas, e esses agentes são basicamente treinados em ambientes complexos. Não apenas isso, mas conforme a tarefa de aprendizado se torna mais complexa, a complexidade do ambiente simulado também aumenta, aumentando assim o custo do ambiente simulado.

Mesmo para empresas e instituições com recursos em escala de supercomputação, o treinamento de um agente utilizável pode levar dias para ser concluído.

Isso dificulta o progresso no campo e reduz a praticidade de treinar agentes avançados de IA. Para lidar com o alto custo da simulação do ambiente, os esforços de pesquisa recentes redesenharam fundamentalmente os simuladores para obter maior eficiência no treinamento de agentes. Esses trabalhos compartilham a ideia de simulação em lote, que é a execução simultânea de vários ambientes independentes (instâncias de treinamento) dentro de um único motor de simulador.

Neste artigo, pesquisadores da Universidade de Stanford e de outras instituições** propuseram um mecanismo de jogo de aprendizado por reforço chamado Madrona, que pode executar milhares de ambientes em paralelo em uma única GPU, reduzindo o tempo de treinamento dos agentes de horas para horas. minuto* *.

* Endereço do papel:

  • Página inicial do papel:

Especificamente, o Madrona é um mecanismo de jogo de pesquisa projetado para criar ambientes de aprendizado que podem executar milhares de instâncias de ambiente simultaneamente em uma única GPU e implementam uma taxa de transferência muito alta (milhões de etapas de agregação por segundo). O objetivo do Madrona é facilitar para os pesquisadores a criação de novos ambientes de alto desempenho para uma variedade de tarefas, acelerando assim o treinamento de agentes de IA em ordens de grandeza.

Madrona tem as seguintes características:

  • Simulação em lote de GPU: milhares de ambientes podem rodar em uma única GPU;
  • Arquitetura Entity Component System (ECS);
  • Facilmente interoperável com PyTorch.

Exemplo de ambiente Madrona:

Como mencionamos acima, o estudo utilizou os princípios de design do ECS e o processo específico é o seguinte:

Usando a estrutura Madrona, os pesquisadores implementaram vários ambientes de aprendizado, mostrando acelerações de duas a três ordens de magnitude em GPUs em comparação com uma linha de base de CPU de código aberto e acelerações em comparação com uma forte linha de base executada em uma CPU de 32 threads. 5-33 vezes . Além disso, a pesquisa também implementou o ambiente "esconde-esconde 3D" da OpenAI na estrutura, e cada etapa da simulação executou física de corpo rígido e rastreamento de raios, atingindo uma velocidade de mais de 1,9 milhão de etapas por segundo em uma única GPU.

Um dos autores, Kayvon Fatahalian, professor associado de ciência da computação na Universidade de Stanford, disse que em Overcooked, um jogo de culinária para vários agentes, com a ajuda do motor de jogo Madrona, o tempo para simular 8 milhões de etapas ambientais foi reduzido de uma hora para três segundos.

Atualmente, o Madrona requer C++ para escrever a lógica do jogo. O Madrona fornece apenas suporte de renderização de visualização e, embora possa simular milhares de ambientes simultaneamente, o visualizador pode visualizar apenas um ambiente por vez.

**Quais são os simuladores ambientais baseados no Madrona? **

O próprio Madrona não é um simulador de ambiente RL, mas um mecanismo ou framework de jogo. Isso torna mais fácil para os desenvolvedores implementarem seus próprios novos simuladores de ambiente, alcançando alto desempenho executando simulações em lote na GPU e associando firmemente a saída da simulação ao código de aprendizado.

Abaixo estão alguns simuladores de ambiente baseados no Madrona.

Madrona Escape Room

O Madrona Escape Room é um ambiente 3D simples que usa a API ECS do Madrona, bem como recursos físicos e de renderização. Nesta tarefa simples, o agente deve aprender a apertar um botão vermelho e empurrar caixas de outras cores para se mover por uma série de salas.

** IA cozida demais **

O ambiente Overcooked AI, um ambiente de aprendizado multiagente baseado em videogame colaborativo (jogo de culinária colaborativo multijogador), é aqui reescrito em uma reescrita Madrona de alto rendimento.

Fonte:

Esconde-esconde

Em setembro de 2019, o agente OpenAI encenou uma batalha ofensiva e defensiva de esconde-esconde, criando suas próprias rotinas e anti-rotinas. O ambiente "Esconde-esconde" é reproduzido aqui usando Madrona.

Hanabi

Hanabi é uma implementação do jogo de cartas Hanabi baseado no motor de jogo Madrona e um Dec-POMDP cooperativo. O ambiente é baseado no ambiente Hanabi da DeepMind e suporta parte da implementação do MAPPO.

Carreta

Cartpole é um típico ambiente de treinamento de RL com a mesma dinâmica de uma implementação de ginásio construída sobre o motor de jogo Madrona.

Endereço do GitHub:

Jogo de cozinhar cozido demais: treine o melhor agente em um minuto

Cozido demais em milhares de cozinhas: treinando agentes de alto desempenho em menos de um minuto

Bidipta Sarkar, graduando de Stanford, um dos autores do artigo, escreveu um blog detalhando o processo de treinamento de um agente para jogar o jogo de culinária Overcooked. Overcooked é um popular jogo de culinária que também serve como referência para pesquisa multiagente colaborativa.

Na pesquisa de RL de Sarkar, o alto custo de simulação de ambientes virtuais sempre foi um grande obstáculo para a formação de agentes para ele.

No caso do jogo de culinária Overcooked, aproximadamente 8 milhões de etapas de jogo são necessárias para treinar um par de agentes que convergem para uma estratégia de equilíbrio estável no layout da sala estreita Overcooked (abaixo). A implementação de código aberto do Overcooked é escrita em Python e é executada a 2.000 etapas por segundo em uma CPU AMD de 8 núcleos, portanto, gerar a experiência necessária do agente leva mais de 1 hora.

Por outro lado, executar todas as outras operações necessárias para treinamento (incluindo inferência de política para todos os 8 milhões de etapas de simulação, retropropagação para treinamento de política) leva menos de 1 minuto em uma GPU NVIDIA A40. Obviamente, o treinamento de agentes Overcooked é limitado pela velocidade do simulador de ambiente Overcooked.

Considerando que Overcooked é um ambiente simples, parece bobo lutar com a velocidade da simulação. Então Sarkar tentou ver se a velocidade da simulação do ambiente Overcooked poderia ser melhorada, o que exigia o uso do motor de jogo Madrona.

Usando o mecanismo de jogo Madrona, Sarkar obtém uma substituição acelerada por GPU plug-and-play da implementação original do Overcooked Python. Ao simular 1.000 ambientes Overcooked em paralelo, a implementação acelerada por GPU pode gerar 3,5 milhões de passos por segundo de experiência em uma GPU A40.

Como resultado, o tempo para simular 8 milhões de etapas do ambiente foi reduzido de 1 hora para 3 segundos, permitindo que uma política seja treinada em apenas 1 minuto usando uma GPU A40.

A velocidade do simulador abre novas possibilidades para realizar extensas varreduras de hiperparâmetros no Overcooked, principalmente a possibilidade de treinar múltiplas políticas no tempo antes necessário para treinar uma única política.

No final, Sarkar percebeu que portar Overcooked para Madrona era um processo muito mais suave do que as alternativas existentes para criar ambientes acelerados por GPU, como PyTorch, Taichi Lang, Direct CUDA C++.

Detalhes do blog:

Link de referência:

Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)