Engenharia assistida por IA
Com o aparecimento das inteligências artificiais capazes de interpretar textos humanos e, através destes gerar saídas complexas tais como imagens, textos e também código em diversas linguagens de programação muito vem se falando sobre como estas irão mudar o mercado de trabalho nos próximos anos visto que muitos profissionais se sentem ameaçados por uma possível substituição ao verem aquilo que levaram anos para aprender ser tão facilmente feito por um software que "aprendeu" através de muitos e muitos textos adquiridos na WEB.
Neste artigo irei (tentar) falar um pouco da minha visão de como esse tipo de tecnologia deverá impactar o dia a dia dos profissionais de engenharia nos próximos anos, embora ressalto que essa é uma tarefa difícil e ingrata já que até mesmo os profissionais mais experientes falham freqüentemente ao tentar prever o curso de adoção de uma tecnologia.
O que são os LLMs (ou Large Language Models).
Nada mais lógico que começar falando um pouco sobre o que são os modelos de linguagem natural, um uso das redes neurais aplicadas à compreensão de textos e fala de maneira a gerar saídas que impressionam, rivalizando e frequentemente superando aquelas geradas por humanos.
Acredito que todos já tenham visto algo parecido com a figura acima, nela:
Inteligência artificial ⇒ é qualquer técnica que busque imitar aquilo que um ser humano faz em sua tomada de decisões, as mais diversas aplicações estão englobadas nessa área.
Machine-learning ⇒ é um conjunto de técnicas que permitem ao usuário realizar predição, aqui se incluem técnicas estatísticas entre outras. Algoritmos como regressão linear, logística, Random Forest, SVM e redes neurais mais simples se encontram nessa categoria.
Deep learning ⇒ é o termo usado quando temos redes neurais profundas, muitas das técnicas utilizadas nessa categoria são hoje o estado da arte em termos de visão computacional, reconhecimento de linguagem natural e outras coisas. Não é meu objetivo aqui falar sobre esse tópico a fundo, para aqueles interessados recomendo a leitura do Deep Learning book, que as explica em detalhes.
As redes neurais profundas são o que mais se assemelha à inteligência humana conforme alguns estudos recentes e constituem a técnica mais poderosa* para o processamento de linguagem natural que é utilizada em produtos como o Chat GPT da Open AI.
As redes neurais também podem ser organizadas de maneira a obter os mais diversos resultados, algumas das organizações mais comuns são as redes convolucionais, as LSTM, os transformers, entre outros.
Os LLMs portanto, constituem modelos de linguagem natural treinados a partir de uma quantidade enorme de dados, capazes de interpretar entradas feitas pelo usuário e gerar como saída aquilo que o usuário demanda.
Principais aplicações.
O possível impacto dessas tecnologias no dia a dia dos profissionais de engenharia.
Uma das características da IA é justamente a sua facilidade em realizar tarefas das mais altamente especializadas, assim as profissões que tendem a ser mais facilmente substituídas (ou, pelo menos bastante modificadas) são aquelas que demandam maior treinamento e especialização para se adquirir e que são hoje as mais bem remuneradas. Eu comparo (guardando as devidas proporções) a chegada dos modelos de inteligência artificial à transição que houve ao se introduzir os softwares de CAD/CAM no ambiente de usinagem mecânica que ocorreu a mais de duas décadas atrás em diferentes países, enquanto haviam muitos profissionais com anos de experiência em desenhar e detalhar peças à mão utilizando seus instrumentos, quanto houve a chegada dos software de CAD gradualmente estes profissionais tiveram que, ou se reinventar ou amargarem uma substituição por outros que, muitas vezes sem o mesmo conhecimento dos processos, tinham o domínio do uso dos softwares que aumentavam, e muito, a sua produtividade. Nesse sentido, o profissional de engenharia é o típico exemplo daquele que pode ser substituído por IA: um indivíduo que fica muitos anos estudando e se especializando para realizar uma tarefa específica, algo extremamente especializado.
Recomendados pelo LinkedIn
Levando em consideração que os LLMs são especialmente capazes de substituir mão de obra extremamente especializada podemos tentar especular sobre quais profissões, nos mais diferentes campos, teriam maior chance de sobreviver à introdução das inteligência artificial, tais como:
Saúde:
Médico, que realiza diagnósticos baseado no relato do paciente, interpreta exames laboratoriais e de imagem ou o enfermeiro que cuida do paciente, mostrando empatia ao auxiliá-lo em momentos difíceis? Neste campo o enfermeiro é mais difícil de ser substituído por uma IA.
Segurança:
Um advogado, que se especializa em procurar por leis ou jurisprudência que possa favorecer o seu cliente ou um policial, que conhece as maneiras de se infiltrar em organizações criminosas, abordar um suspeito e realizar investigações a fim elucidar um crime? Aqui, mais uma vez o policial parece ter a substituição menos provável.
Engenharia:
O engenheiro que projeta a máquina, o software para que esta funcione ou o técnico de campo que garante seu funcionamento 24 horas por dia, 7 dias por semana, se esgueirando dentro da máquina até encontrar o defeito? Acho pouco provável uma IA ser capaz de fazer o mesmo que o técnico faria, pelo menos por enquanto.
O uso de IA na engenharia
É claro que a IA tem muitos e muitos usos na engenharia, mas irei focar na engenharia de software para automação que é a área onde atuo, e nessa área o uso dos LLMs é inegável, por exemplo, um modelo baseado no Chat GPT pode facilmente desenvolver código que, caso contrário demandaria ao programador um dia ou dois de desenvolvimento, pode fazer um código rodar com a mesma funcionalidade ocupando menos memória ou requisitando menos CPU.
Um programador habituado a uma linguagem de programação, mas que domina bem a lógica poderia facilmente dizer a uma IA para escrever a funcionalidade de maneira compatível com outra linguagem converter de uma marca de CLP para outra, e assim vai.
Além disso também pode ser muito interessante para o aprendizado, visto que uma IA é capaz comentar o que o código está fazendo, dessa forma um programador iniciante pode utilizá-la para aprender.
Outro uso interessante é o de gerar documentação, um programador pode simplesmente pedir a uma IA para gerar documentação compatível com a aplicação, seja esta feita inteiramente pelo programador, pela IA ou pelo programador com assistência de IA.
Atualmente no mercado já existem muitas iniciativas de agregar o uso de IA na engenharia, dentre elas podemos citar o TwinCAT CHAT Client que busca facilitar a vida do profissionais que desenvolvem para o TwinCAT, da Beckhoff.
Enfim, o uso de IA no ramo da engenharia está apenas embrionário e devemos aguardar cenas dos próximos capítulos. Mas o que pra mim já é certo é que profissionais que não utilizarem IAs para facilitar seu dia a dia terão cada vez mais dificuldades para competir com aqueles que o fazem.
* É claro que cada aplicação é única, nem sempre uma rede neural profunda será a melhor opção.
Eng. Desenvolvimento de negócios na Siemens SI BP
1 aÓtima explicação Rodrigo. Despertou de novo a minha necessidade de estudar um pouco mais sobre IA.