top of page
Foto do escritorLipie Souza

Uso de LLMs para transformação de dados (ETL) para projetos de Data Lake

Atualizado: 14 de fev.

Mais um caso de uso interessante que concilia processamento de linguagem natural (com inferência cognitiva) à processos para análise de dados estruturados



Em fevereiro de 2024, completo 10 meses de estudos e experimentações acerca da IA Generativa. Troquei com muitas pessoas, lancei um produto-experimento, entendi certas limitações da tecnologia - em que muitas delas acredito serem temporárias, e com o tempo chegando a uma perspectiva mais embasada e realista sobre como se dará a sua adoção.


Agora me deparo com mais um caso de uso, que parecia óbvio pelas características intrínsecas dos LLMs, mas passara despercebido. Large Language Models são excelentes ao analisar dados estruturados a partir de uma perspectiva linguística, assim como nós seres humanos fazemos ao pensar - no caso dos LLMs, obviamente ainda de forma muito rudimentar, com pouquíssima capacidade de encadear hipóteses para racionalizações mais complexas. Contudo, há uma atividade que se encaixa perfeitamente nesse escopo limitado: o ato (ou posso dizer o cornojob? 😢) de interpretar tabelas de dados relacionais sobre determinados processos de negócio e transformá-los, em dados multidimensionais com os devidos chaveamentos e seus respectivos fatos e eventos associados. Obviamente, existem ferramentas que realizam a transformação em si, mas requerem necessariamente que um ser humano analista entenda quais são as relações/contextos entre cada tabela, campo, tipo de dado, etc. Este texto é justamente uma análise do quão factível é botarmos um modelo de linguagem para fazer isso por nós, e o ponto de partida é este artigo de Setembro de 2023 da IEEE.


Um estudo liderado por universidades renomadas como a Universidade do Arizona e a Universidade de Tianjin, com o apoio da Microsoft, demonstra que é possível para um LLM (Large Language Model) compreender um domínio complexo de conhecimento envolvendo bases de dados e transformá-las de forma eficiente para projetos de Big Data/Data Lakes. O estudo foca em bases de conhecimento sobre eficiência energética predial, com o objetivo de unificar, normalizar e centralizar dados de diferentes fontes para criar um banco de dados global para estudos de monitoramento energético. A iniciativa é da  Institute of Electrical and Electronics Engineers (IEEE). O estudo é relevante no sentido em que já sabemos das limitações de LLMs para cálculos matemáticos complexos, contudo, por se tratarem de transformações numéricas simplificadas e repetitivas, o resultado demonstrado foi de 96% de acurácia a acerca de 105 problemas de transformação de diferentes esquemas de dados. Abaixo, três exemplos de transformações que seriam demandadas ao algoritmo construído, o SQLMorpher.




O algoritmo em questão foi treinado com técnicas já exploradas neste blog. A base de treinamento consiste em transformações SQL passadas, contextualizadas por prompts que explicam a tarefa desejada, as modificações SQL entre os esquemas, o domínio de conhecimento utilizado e o resultado correto avaliado com sua justificativa. Utilizando a técnica de embeddings já explicada neste blog, foi criada uma Vector Database (Faiss). Essa base de treinamento possibilitou um processo interativo em que o prompt era modificado gradualmente até que o resultado esperado da transformação fosse obtido. A grande novidade deste artigo, em relação aos estudos com LLMs, é a utilização de loops de interação para otimização de prompts. Essa estratégia parece interessante quando os resultados esperados são mapeados corretamente e parece facilmente replicável para aplicações que envolvem produção de código. Com essa técnica, foi possível alcançar uma acurácia de quase 100%:



Estes experimentos abrem novas questões sobre o uso de LLMs, mas também indicam possíveis aplicações em curto e médio prazo. A partir dos resultados deste estudo, podemos fazer algumas afirmações:


1. LLMs precisam de refinamento e contexto para ter um bom desempenho em análises de problemas específicos. Isso significa que, para a maioria dos domínios de trabalho operacional atualmente executados por analistas de TI, Finanças, Marketing e outras áreas, serão necessários LLMs especialmente treinados.
2. Tarefas que envolvam análise linguística intercalada com problemas matemáticos simples são excelentes candidatas para automação por LLMs.
3. Estes experimentos são um prenúncio do que já está em andamento nas equipes de produtos de grandes corporações como Google, Amazon e Microsoft. É apenas uma questão de tempo até que as aplicações "powered by LLMs" comecem a ganhar espaço nos próximos meses e anos.

Até lá, conviveremos com um misto de aplicações tradicionais com uma pitada de "IA Generativa". Essas aplicações otimizarão em parte os fluxos processuais presentes nas empresas hoje. No entanto, apenas com LLMs especialmente treinados é que teremos um salto exponencial de produtividade no arranjo do trabalho operacional. Acompanhemos! E continuemos a experimentar. 😎




87 visualizações0 comentário

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page