Aproveitando Modelos de Linguagem no Design CAD
Estudo explora como LLMs melhoram bibliotecas de CAD e facilitam tarefas de design.
― 9 min ler
Índice
- Importância das Bibliotecas CAD
- Compreensão Contextual e Recomendações
- Classificando Montagens
- Processo de Extração de Dados
- Organização de Documentos
- Utilizando Modelos de Linguagem
- Tarefa 1: Coocorrência de Partes
- Tarefa 2: Previsão de Parte Faltando
- Tarefa 3: Previsão do Nome do Documento
- Conclusão
- Fonte original
- Ligações de referência
Os nomes podem nos dizer muito sobre objetos. No campo da engenharia mecânica, designers e engenheiros usam nomes pra descrever as partes que criam. Esses nomes ajudam a documentar suas ideias e a se comunicar com os outros. O software de Design Assistido por Computador (CAD) desempenha um papel vital nesse processo, permitindo que os designers criem modelos de partes e montagens. Os nomes dados a essas partes e montagens costumam ter informações importantes sobre suas funções e relações.
No entanto, enquanto as formas e conexões das partes em modelos CAD foram estudadas, a linguagem natural usada pra descrever essas partes não recebeu a atenção que merecia. Recentemente, os grandes modelos de linguagem (LLMs) avançaram bastante na compreensão e processamento da linguagem natural. Esses modelos podem ajudar nas tarefas de design mecânico, usando seu conhecimento pra melhorar como os designs são categorizados e buscados.
Este trabalho investiga como os LLMs podem ajudar a resolver alguns problemas comuns que os designers enfrentam ao trabalhar com bibliotecas de conteúdo CAD. Especificamente, focamos em três desafios principais: recomendar partes adicionais para montagens, prever nomes de partes com base no contexto e categorizar montagens com base nos nomes das partes.
Importância das Bibliotecas CAD
As bibliotecas CAD são coleções de partes padrão que os engenheiros podem usar pra agilizar seu trabalho de design. Elas permitem que os designers acessem e usem facilmente modelos prontos de partes. No entanto, buscar nessas bibliotecas pode ser complicado. Muitas vezes, os designers têm que filtrar muitos itens pra encontrar o que precisam.
Uma solução possível é ter a biblioteca CAD recomendando outras partes que se encaixam bem juntas. Assim, se um designer usa certas partes com frequência, a biblioteca pode sugerir partes relacionadas, parecido com como os sites de compras online recomendam produtos com base em compras anteriores. Queremos ver se os LLMs podem prever com precisão quais partes costumam ser combinadas nas mesmas montagens.
Compreensão Contextual e Recomendações
Além de recomendar partes, entender o contexto das partes usadas é essencial. Se uma biblioteca CAD sabe em qual modelo um designer está trabalhando, pode oferecer sugestões mais relevantes. Analisando o texto nos modelos CAD, conseguimos extrair informações contextuais importantes que ajudam a fazer melhores recomendações. Isso pode ser feito sem precisar de cálculos complexos baseados nas formas das partes.
Pra validar nossa abordagem, verificamos quão bem um LLM pode adivinhar o nome de uma parte escolhida aleatoriamente quando fornecemos as outras partes da montagem. Essa habilidade também pode ajudar a identificar partes que podem ser reutilizadas de um sistema de Gerenciamento do Ciclo de Vida do Produto (PLM).
Classificando Montagens
Por último, exploramos se os LLMs podem classificar um tipo de montagem com base nos nomes das suas partes. Se um modelo consegue identificar itens semelhantes sem precisar analisar suas formas em profundidade, isso pode agilizar como os designs são categorizados em um sistema PLM. Essa classificação também poderia ajudar o software CAD a exibir opções e informações relevantes, melhorando a usabilidade.
Como não há muitos conjuntos de dados grandes de montagens CAD rotulados por tipo, focamos em quão bem os LLMs podem prever os nomes de documentos definidos pelo usuário no OnShape, uma plataforma CAD. Ao determinar os nomes desses documentos, podemos inferir os tipos de montagens e potencialmente agrupar as semelhantes.
Objetivos da Pesquisa
Pra resumir, nossos principais objetivos são:
- Extraindo Dados de Texto: Criamos e limpamos um banco de dados de linguagem natural a partir de um conjunto de dados contendo modelos CAD. Isso inclui nomes de partes e títulos de documentos.
- Avaliação dos LLMs: Avaliamos quão bem um modelo de linguagem pré-treinado (DistilBERT) pode prever relações entre partes e entender seu contexto.
- Aprimorando Modelos: Exploramos como um treinamento adicional em textos relacionados a CAD pode melhorar o desempenho do modelo em várias tarefas relacionadas às bibliotecas de conteúdo CAD.
Processo de Extração de Dados
Para este projeto, usamos o conjunto de dados ABC, que inclui modelos CAD feitos por usuários do software OnShape. Esses modelos são salvos em documentos que podem ter várias partes e desenhos. Nós assumimos que todas as partes em um documento estão relacionadas entre si, permitindo que analise as conexões entre elas.
Pra extrair os nomes das partes, puxamos eles dos arquivos STEP, um formato comum para dados CAD. Garantimos que só mantemos nomes únicos, levando em consideração com que frequência aparecem nos documentos. Isso ajuda a manter contagens precisas das partes necessárias para as relações.
Há também uma quantidade considerável de nomes padrão usados pelo OnShape, como "Parte 1" ou "Extrusão 2". Eliminamos esses nomes padrão, pois não transmitem informações úteis. O conjunto de dados final limpo consiste em um número significativo de nomes de partes não padrão, fornecendo uma rica fonte de informações para nosso estudo.
Organização de Documentos
Pra entender as informações contidas no conjunto de dados, categorizamos os nomes dos documentos com base em quão descritivos eles são em relação às partes dentro. As categorias incluem:
- Linguagem Natural Limpa: Nomes que descrevem claramente as partes, como "Caneca de Café" ou "Lápis Mecânico."
- Linguagem Natural com Números: Nomes que podem incluir dimensões ou listas ordenadas.
- Nomes Ambíguos: Títulos que não fornecem uma visão clara, como códigos de partes sem contexto.
Analisando uma amostra de nomes de documentos, começamos a avaliar o potencial do conjunto de dados pra extrair relações semânticas significativas.
Utilizando Modelos de Linguagem
O LLM escolhido, DistilBERT, foi projetado pra flexibilidade e eficiência. Como os nomes das partes podem consistir em várias palavras, precisamos de uma maneira de converter esses nomes em um formato que o modelo possa processar. Conseguimos isso agrupando a saída do modelo para cada nome de parte em um único vetor.
Pra acomodar o número variável de partes em um documento, usamos um Set Transformer, que pode lidar com entradas de tamanhos diferentes sem ser afetado pela ordem das partes.
Tarefas de Avaliação
Propomos três tarefas pra avaliar quão bem os LLMs podem abordar nossos desafios:
- Coocorrência de Partes: Verificar se o modelo pode prever se duas partes são do mesmo documento.
- Previsão de Parte Faltando: Determinar se o modelo pode identificar uma parte que falta dado o restante das partes em um documento.
- Previsão do Nome do Documento: Analisar se o modelo pode prever o nome do documento com base em suas partes.
Essas tarefas nos permitem avaliar a compreensão do LLM sobre design mecânico e seu potencial de melhorar a organização e a recuperação de dados CAD.
Tarefa 1: Coocorrência de Partes
Nesta primeira tarefa, formulamos o problema como um desafio de classificação binária. O objetivo é treinar um modelo pequeno, um Perceptron de Múltiplas Camadas (MLP), pra determinar se duas partes costumam ocorrer juntas no mesmo documento.
Ao amostrar pares de partes do conjunto de dados, criamos pares positivos (do mesmo documento) e pares negativos (de documentos diferentes). Comparando a precisão do nosso LLM com outros modelos, conseguimos avaliar sua habilidade de generalizar e aprender relações significativas.
Descobertas da Tarefa 1
Os resultados mostram que métodos estatísticos tradicionais têm dificuldade com essa tarefa. Em contrapartida, nosso LLM pré-treinado superou vários benchmarks. O ajuste fino do modelo em nosso conjunto de dados específico melhorou ainda mais seu desempenho, sugerindo que os dados textuais contêm conhecimentos valiosos específicos do domínio que o LLM pode aproveitar.
Tarefa 2: Previsão de Parte Faltando
Na seguinte, tentamos prever uma parte que falta em um documento. Essa tarefa visa ajudar os designers a encontrar partes adequadas que eles podem querer adicionar às suas montagens.
Pra isso, removemos aleatoriamente uma parte da lista e usamos o restante como entrada pra prever a parte faltante. Comparando vários modelos, determinamos quão bem o LLM se sai em comparação a outros treinados no mesmo conjunto de dados.
Descobertas da Tarefa 2
O LLM se saiu muito bem, até melhor que alguns modelos projetados especificamente pra isso. O ajuste fino melhorou significativamente sua capacidade de prever partes faltantes, indicando que o treinamento adicional ajudou a aprender mais sobre o contexto específico de CAD.
Tarefa 3: Previsão do Nome do Documento
Na tarefa final, avaliamos quão bem o LLM pode prever o nome de um documento com base em suas partes. Essa tarefa é mais desafiadora, pois combina entender as relações das partes com raciocínio sobre a montagem como um todo.
Pra conduzir essa avaliação, fornecemos ao modelo os nomes das partes e vemos se ele pode adivinhar com precisão o nome do documento usando a mesma abordagem de antes.
Descobertas da Tarefa 3
Essa tarefa se mostrou a mais difícil. No entanto, o LLM superou outros métodos estatísticos, demonstrando que suas habilidades de raciocínio vão além de apenas reconhecer partes que ocorrem juntas.
Conclusão
Nossa exploração do uso de LLMs com dados textuais de CAD mostra um grande potencial. Os modelos conseguem extrair e utilizar relações entre os nomes das partes pra melhorar o processo de design. Descobrimos que simplesmente confiar em métodos tradicionais é insuficiente pra lidar com as complexidades da linguagem natural em contextos de engenharia.
Em resumo:
- LLMs podem melhorar a recuperação e as recomendações nas bibliotecas CAD.
- O ajuste fino dos modelos com base em dados específicos de CAD aprimora seu desempenho.
- Compreender o contexto e as relações em nomes de documentos é crucial para a categorização automatizada.
Queremos continuar essa pesquisa explorando abordagens multi-módulo, combinando dados textuais e geométricos pra aprimorar ainda mais as funcionalidades do CAD. Isso pode levar a sistemas mais inteligentes, capazes de se adaptar às necessidades de designers e engenheiros.
Ao liberar o conjunto de dados limpo e as descobertas, esperamos incentivar novos estudos nessa área, facilitando avanços em como as ferramentas CAD podem ajudar os usuários em suas tarefas de design.
Título: What's in a Name? Evaluating Assembly-Part Semantic Knowledge in Language Models through User-Provided Names in CAD Files
Resumo: Semantic knowledge of part-part and part-whole relationships in assemblies is useful for a variety of tasks from searching design repositories to the construction of engineering knowledge bases. In this work we propose that the natural language names designers use in Computer Aided Design (CAD) software are a valuable source of such knowledge, and that Large Language Models (LLMs) contain useful domain-specific information for working with this data as well as other CAD and engineering-related tasks. In particular we extract and clean a large corpus of natural language part, feature and document names and use this to quantitatively demonstrate that a pre-trained language model can outperform numerous benchmarks on three self-supervised tasks, without ever having seen this data before. Moreover, we show that fine-tuning on the text data corpus further boosts the performance on all tasks, thus demonstrating the value of the text data which until now has been largely ignored. We also identify key limitations to using LLMs with text data alone, and our findings provide a strong motivation for further work into multi-modal text-geometry models. To aid and encourage further work in this area we make all our data and code publicly available.
Autores: Peter Meltzer, Joseph G. Lambourne, Daniele Grandi
Última atualização: 2023-04-25 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2304.14275
Fonte PDF: https://arxiv.org/pdf/2304.14275
Licença: https://creativecommons.org/licenses/by-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.