Skip to main content

Revolucionando a criação na Roblox com I.A. generativa

September 11, 2023

by Daniel Sturman, Chief Technology Officer, Roblox


Tecnologia

Este ano, compartilhamos nossa visão para inteligência artificial generativa (I.A. generativa) na Roblox, e as novas e intuitivas ferramentas que permitirão que todos os usuários possam se tornar criadores. Enquanto essas ferramentas evoluem rapidamente na indústria, quero dar algumas atualizações sobre os progressos que fizemos, o caminho adiante para democratizar a criação por I.A. generativa e porque achamos que ela é um elemento crítico para os objetivos da Roblox.

Avanços em I.A. generativa e modelos grandes de linguagem (também conhecidos pela sigla em inglês LLMs – Large Language Models) oferecem uma oportunidade incrível de desbloquear o futuro das experiências imersivas ao permitir a criação mais fácil e mais rápida, ao mesmo tempo em que mantém a segurança e sem a necessidade de grandes recursos computacionais. Além disso, avanços em modelos de I.A. que são multimodais, o que significa que eles são treinados com múltiplos tipos de conteúdo – como imagens, código, texto, modelos 3D e áudio – abrem portas para novos avanços nas ferramentas de criação. Esses mesmos modelos também estão começando a produzir saídas multimodais, como um modelo que pode criar uma saída de texto, bem como alguns visuais que complementem o texto. Vemos todos esses avanços de I.A. como uma enorme oportunidade de aumentar a eficiência para criadores mais experientes e permitir que mais pessoas possam trazer grandes ideias para a realidade na Roblox. Na Conferência de Desenvolvedores Roblox (também conhecida pela sigla em inglês, RDC – Roblox Developers Conference) deste ano, anunciamos várias ferramentas novas que trarão I.A. generativa para o Roblox Studio e além ajudando qualquer pessoa na Roblox a escalar a criação de conteúdo ainda melhor e de forma mais rápida e com iterações mais rápidas.

Assistente Roblox

A Roblox sempre forneceu aos criadores as ferramentas, serviços e suporte que eles precisam para construir experiências 3D imersivas. Ao mesmo tempo, temos visto nossos criadores começarem a usar I.A. generativa e conversacional de terceiros para ajudá-los a criar. Enquanto essas ferramentas ajudam a diminuir a carga de trabalho do criador, essas versões não foram criadas para o fluxo de trabalho de ponta-a-ponta da Roblox, ou treinadas com os códigos, gírias e linguajar da Roblox. Isso significa que os criadores encontram trabalho adicional significativo para usar essas versões para criar seu conteúdo para a Roblox. Estivemos trabalhando em maneiras de trazer o valor dessas ferramentas para o Roblox Studio e na RDC compartilhamos um exemplo prematuro do Assistente.

O Assistente é nossa I.A. conversacional que permite que criadores de todos os níveis de habilidade passem muito menos tempo em tarefas mundanas e repetitivas e se envolvam em tarefas de alto nível de criação, como narrativa, jogabilidade e design da experiência. A Roblox está posicionada de forma única para construir esse modelo de I.A. conversacional para mundos 3D imersivos, graças a nosso acesso a um grande conjunto de modelos 3D públicos para treinar a I.A., nossa habilidade de integrar um modelo em nossas APIs de plataforma e nosso crescente conjunto de soluções inovativas para I.A. Criadores poderão usar entradas de texto com linguagem natural para criar cenas, editar modelos 3D e aplicar comportamentos interativos para objetos. O Assistente suportará as três fases de criação: aprendizado, codificação e construção:

  • Aprendizado: Seja o criador um novato no desenvolvimento na Roblox ou um veterano experiente, o Assistente Roblox ajudará a responder questões de uma grande variedade de tópicos usando linguagem natural.
  • Codificação: O Assistente expandirá nossa ferramenta Assistência de Código. Por exemplo, desenvolvedores poderiam pedir ao Assistente para melhorar seu código, explicar uma seção ou ajudar a depurar e sugerir correções para um código que não esteja funcionando bem.
  • Construção: O Assistente ajudará criadores a criar protótipos de novas ideias rapidamente. Por exemplo, um novo criador pode gerar cenas inteiras e tentar diferentes versões simplesmente digitando algo como “Adicione luzes ao longo desta estrada” ou “Crie uma floresta como diferentes tipos de árvores. Agora adicione alguns arbustos e flores.”

O trabalho com o Assistente será colaborativo, interativo e iterativo, permitindo que criadores deem feedback para que o Assistente trabalhe para dar a solução correta. Será como ter um criador experiente como parceiro, com quem você pode trocar ideias e tentar algo até que dê certo.

Para tornar o Assistente o melhor parceiro possível, fizemos outro anúncio na RDC: Convidamos desenvolvedores para participar, contribuindo com seus dados anonimizados de seus scripts Luau. Os dados de scripts ajudarão a tornar nossas ferramentas de I.A., como o Assistente e o Assistente de Código, a sugerir e criar código de formai muito melhor e mais eficiente, dando retorno aos desenvolvedores Roblox que as utilizam. Além disso, se os desenvolvedores optarem por compartilhar além da Roblox, seus dados de scripts serão adicionados ao conjunto de dados disponibilizado para terceiros treinarem suas ferramentas de chat com I.A. para sugerir código Luau melhor, dando retorno para desenvolvedores Luau em toda a parte.

Para deixar claro, através de uma pesquisa extensiva com usuários e conversas transparentes com desenvolvedores, estamos criando esta opção de participação e vamos garantir que todos os participantes entendam e consintam com o que o programa inclui. Como agradecimento a todos que escolherem participar no compartilhamento de dados de script com a Roblox, daremos acesso a versões mais poderosas do Assistente Roblox e do Assistente de Código, que serão potencializadas por esse modelo treinado pela comunidade. Aqueles que não quiserem participar continuarão a ter acesso a nossa versão já existente do Assistente Roblox e da Assistência de Código.

Criação de avatares mais fácil

Por fim, queremos que cada um de nossos 65,5 milhões de usuários diários tenham um avatar que realmente os represente e que seja uma expressão do que eles são. Recentemente, nossos membros do programa CGU receberam a habilidade de criar e vender tanto corpos de avatares como cabeças.. Hoje, esse processo requer acesso ao Studio ou ao nosso programa CGU, um alto nível de habilidade e vários dias de trabalho para ativar as expressões faciais, movimentos do corpo, rigging 3D etc. Isso torna a criação de avatares longa e, até hoje, limitada ao número de opções disponíveis. Queremos ir mais além.

Para permitir que todos na Roblox tenham um avatar personalizado e expressivo, precisamos tornar os avatares muito fáceis de criar e personalizar. Na RDC, anunciamos uma nova ferramenta que lançaremos em 2024 e que permitirá a criação fácil de um avatar personalizado a partir de uma ou várias imagens. Com esta ferramenta, qualquer criador com acesso ao Studio ou ao nosso programa CGU poderá enviar uma imagem, ter um avatar criado a partir dela, e modificá-lo do jeito que quiser. A longo prazo, queremos tornar isto disponível diretamente dentro das experiências na Roblox.

Para tornar isto possível, estamos treinando modelos de I.A. no plano de avatares da Roblox e em um conjunto de modelos 3D de avatares de propriedade da Roblox. Um dos métodos utiliza a pesquisa para gerar avatares 3D estilizados a partir de imagens 2D. Também estamos planejando usar modelos de difusão de textos-para-imagens pré-treinados para aumentar dados de treinamento 3D limitados com técnicas generativas 2D e utilizar uma rede generativa 3D baseada em rede adversarial generativa (também conhecida pela sigla em inglês GAN – Generative Adversarial Network) para treinamento. E finalmente, estamos trabalhando em utilizar ControlNet para adicionar camadas de poses pré-definidas para guiar as imagens com múltiplas visualizações resultantes dos avatares.

Esse processo produz uma malha 3D para o avatar. Em seguida, potencializamos a pesquisa de segmentação semântica 3D, treinada em poses 3D de avatares, para pegar a malha 3D e ajustá-la para adicionar as feições faciais apropriadas, caging, rigging e texturas – essencialmente criando a malha 3D estática em um avatar Roblox. Finalmente, um editor de malhas permite que o usuário mude e ajuste o modelo para torná-lo mais próximo da versão imaginada. Tudo isso ocorre rápido, dentro de minutos, gerando um novo avatar que pode ser importado na Roblox e usado em uma experiência.

Moderando comunicação por voz

I.A. não é somente para criações, é também um sistema muito mais eficiente para garantir uma comunidade segura, diversa e civil em escala. À medida que começamos a lançar novas funcionalidades de voz, incluindo chat de voz e o Roblox Connect, a nova funcionalidade de chamadas utilizando seu avatar, além das APIs anunciadas na RDC, estamos encarando um novo desafio: moderar linguagem falada em tempo real. O padrão atual da indústria para esse processo é conhecido como Reconhecimento Automático de Fala (em inglês, Automatic Speech Recognition – ASR), que essencialmente usa um arquivo de áudio, faz sua transcrição para texto e analisa o texto em busca de linguagem inapropriada, palavras-chave etc.

Isso funciona bem para empresas que o utilizam em escalas menores, mas quando exploramos utilizar o mesmo processo ASR para moderar comunicação, logo percebemos que é difícil e ineficiente em nossa escala. Este método também causa a perda de informações preciosas que são codificadas no volume e tom de voz de uma pessoa, bem como o contexto maior da conversa. Dos milhões de minutos de conversa que transcrevemos todos os dias em diferentes idiomas, somente uma pequena porcentagem possivelmente soaria como algo inapropriado. E como continuamos a escalar, esse sistema iria requerer mais e mais poder computacional para acompanhar a demanda. Então, demos uma olhada em como podemos fazer isso de forma mais eficiente, ao construir uma linha que vai diretamente do áudio ao vivo ao marcador de conteúdo para indicar se há ou não uma violação de nossas políticas.

No fim, queremos construir um sistema de detecção de voz interno ao usar ASR para classificar nossos conjuntos de dados internos e daí, usar os dados de voz classificada para treinar o sistema. Especificamente, para treinar o novo sistema, começamos com áudio e criamos uma transcrição. Depois, passamos a transcrição pelo sistema de filtragem de texto da Roblox para classificar o áudio. Esse sistema de filtragem de texto é ótimo para detectar linguajar que viole nossas políticas na Roblox, já que estivemos otimizando o mesmo sistema de filtro por anos com gírias, abreviações e linguajar específicos da Roblox. Após essas camadas de treino, temos um modelo que é capaz de detectar violações de políticas diretamente do áudio, em tempo real.

Enquanto esse sistema tem a habilidade de detectar palavras-chave específicas como profanidades, violações de política raramente são apenas uma palavra. Uma palavra pode ser problemática em um contexto e ser inofensiva em outro. Essencialmente, esses tipos de violações envolvem o que você diz, como você diz e o contexto em que você falou algo.

Para melhor entender o contexto, potencializamos o poder nativo de uma arquitetura transformativa, o que é ótima em resumir sequências. Ela pode pegar uma sequência de dados, como um fluxo de áudio, e resumi-la para você. Essa arquitetura nos permite preservar uma sequência de áudio mais longa, assim podemos detectar não somente as palavras, mas também o contexto e as entonações. Quando todos esses elementos se juntarem, teremos um sistema final onde a entrada é o áudio e a saída é uma classificação – se a política foi violada ou não. Este sistema pode detectar palavras-chave e frases violadoras, mas também o tom, sentimento e outros contextos que são importantes para determinar a intenção. O novo sistema, que detecta falas infratoras diretamente do áudio, é significativamente mais eficiente, computacionalmente falando, do que o sistema tradicional ASR, o que pode tornar muito mais fácil de escalar à medida que continuamos a reimaginar como as pessoas se reúnem.

Também precisamos de uma nova maneira de avisar sobre as potenciais consequências desse tipo de linguagem para aqueles que usam nossas ferramentas de comunicação de voz. Com este sistema de detecção inovador à nossa disposição, estamos experimentando maneiras de afetar o comportamento online para manter um ambiente seguro. Sabemos que às vezes as pessoas violam nossas políticas sem querer e queremos entender se um lembrete ocasional pode ajudar a evitar futuras infrações. Para ajudar com isto, estamos experimentando com feedback de usuários em tempo real através de notificações. Se o sistema detectar que você disse algo que viola nossas políticas um certo número de vezes, mostraremos uma notificação pop-up em sua tela, informando que sua linguagem viola nossas políticas e direcionando você para essas políticas para mais informações.

Notificações de stream de voz são apenas um elemento do sistema de moderação. Também observamos padrões de comportamento na plataforma, bem como reclamações de outros na Roblox, para guiar nossas decisões gerais de moderação. O agregado desses sinais pode resultar em consequências mais severas, incluindo a remoção do acesso à funcionalidades de áudio ou, para infrações mais sérias, o banimento da plataforma. Manter nossa comunidade segura e civil é crítico enquanto esses avanços em modelos de I.A. multimodais, I.A. generativa e LLMs se juntam para permitir novas ferramentas e capacidades incríveis para criadores.

Acreditamos que fornecer essas ferramentas para criadores diminuirá a barreira para criadores menos experientes e libertará criadores mais experientes das tarefas mais tediosas do processo de criação. Isso permitirá que eles usem o tempo no lado mais inventivo dos detalhes e criação de ideias. Nosso objetivo com tudo isso é permitir que todos, em qualquer lugar, possam trazer suas ideias para a realidade e aumentar grandemente a diversidade de avatares, itens e experiências disponíveis na Roblox. Também estamos compartilhando informações e ferramentas para ajudar a proteger novas criações.

Já estamos imaginando possibilidades incríveis: digamos que alguém possa criar um avatar duplicata de si mesmo a partir de uma foto, assim essa pessoa pode personalizar seu avatar e torná-lo mais alto ou renderizá-lo em estilo anime. Ou essa pessoa poderia construir uma experiência pedindo para que o Assistente adicione carros, prédios e cenários, definindo condições de luz ou vento ou mudando o terreno. Daí, a pessoa pode iterar e refinar tudo ao digitar instruções para o Assistente. Sabemos que a realidade do que as pessoas criarão com essas ferramentas, à medida que elas são disponibilizadas, irão além do que podemos imaginar.