Uma equipa da Carnegie Mellon University construiu um modelo de IA chamado LegoGPT que permite produzir modelos de LEGO a partir dos textos inseridos pelo utilizador. De acordo com publicado na página da equipa no GitHub, eles treinaram “um modelo de linguagem de larga escala auto-regressivo para prever a próxima peça a adicionar através da previsão do próximo token”.
Eles também adicionaram uma verificação de validade e um recuo com reconhecimento de física durante a inferência auto-regressiva, para garantir que o resultado é sempre válido (sem peças sobrepostas) e estável (sem peças que não estejam ligadas a outras). Os modelos resultantes dos resultados do LegoGPT podem ser construídos tanto por humanos como por robots.
O conjunto de dados — StableText2Lego — usado para treinar o LegoGPT foi criado da seguinte forma: uma entrada de texto é primeiro convertida numa malha ShapeNetCore. Esta é então ligada a uma grelha voxel de 20 x 20 x 20 a partir da qual o layout inicial das peças de LEGO é determinado.
Este layout é então variado mantendo ainda a forma geral, de seguida os modelos instáveis são filtrados do resultado. Os restantes são então renderizados em 24 pontos de vista diferentes, e depois o GPT-4o é usado para gerar as descrições para construir o modelo finalizado.
O conjunto de dados tem mais de 47.000 peças de LEGO que permitem construir mais de 28.000 objectos únicos, incluindo estantes, mesas, cadeiras, carros, navios, guitarras e mais. Estes dados foram usados para treinar o modelo de IA, permitindo-lhe criar modelos únicos e originais unicamente a partir de textos.
O LegoGPT converte o texto num desenho LEGO, que é depois convertido em tokens de texto ordenados de baixo para cima. Instruções são então criadas para emparelhar as peças de LEGO com anotações que explicam o desenho, para que a IA compreenda as relações entre a entrada de texto e as peças físicas.
A partir daí, o LegoGPT prevê a próxima peça necessária para construir o modelo usando um modelo auto-regressivo. Isto significa que verificará a validade de uma peça específica em cada passo, verificando se está bem formatado, existe na biblioteca e não se sobrepõe a outras peças. O processo continua até que o modelo esteja concluído, após o que a sua estabilidade é testada.
Se a IA determinar que o resultado é instável, recua para o último estado estável e continua a gerar a partir desse ponto. Assim que obtiver um resultado estável, o modelo é dado como concluído.
Se quiser brincar com esta IA, a equipa publicou o conjunto de dados, código e modelos, tornando mais fácil a qualquer pessoa avançar o trabalho já feito pela equipa original. Um desenvolvimento interessante seria a utilização desta IA numa aplicação com uma biblioteca de peças de Lego personalizável. A aplicação podia trabalhar em conjunto com um modelo de reconhecimento de imagem que permita, por exemplo, tirar uma fotografia às suas peças de Lego e deixar a IA dar-lhe várias opções para construir algo com elas.