Por Marcio Guerra - 23 de fevereiro de 2024
A interseção entre Retrieval-Augmented Generation e vetorização de dados é um ponto de convergência entre duas tecnologias poderosas na área de IA no que tange ao processamento de linguagem natural e sistemas de recomendação.
Isso certamente representa um avanco relevante no jeito como os modelos de IA podem acessar, interpretar e utilizar as informações para gerar as respostas, conteúdo ou decisões com suporte de dados com mais qualidade e contextuais.
A seguranca em relação a usar dados de qualidade é outro ponto crítico nessa história e por isso faz tanto sentido contar com hubs monitorados como em programas MDM.
A vetorização permite que os modelos de RAG acessem um espaço semântico rico, onde os dados não são apenas palavras ou frases, mas entidades com significados e relações mais complexas. Isso enriquece o processo de geração, permitindo que o modelo produza conteúdo mais relevante e adaptado ao contexto da solicitação.
Através da vetorização os sistemas em RAG podem realizar buscas semânticas em grandes volumes de dados, muito além de correspondências exatas para encontrar informações que são semanticamente relacionadas a consulta solicitada. Isso é crucial para gerar respostas que não apenas correspondam às palavras chave, mas também ao sentido expressado e desejado pelo usuário ou aplicação requisitante.
A vetorização facilita tambem o gerenciamento de grandes volumes de dados e permite que os modelos de RAG processem e interpretem eficientemente esse grande volume de dados, comuns nas organizações. Isso abre portas para aplicações na área da saúde, , direito e pesquisas cientificas onde o acesso rápido e preciso a informações detalhadas é crucial.
A experiencia da MD2 com programas de integração e gerenciamento da qualidade de dados é um fator importante quando aplicamos Retrieval-Augmented Generation ou RAG.
Mesmo que ETL ou processos de integração de dados e RAG tenham objetivos diferentes, as habilidades fundamentais adquiridas no domínio e grande experiência com integração de dados e data quality são transferidas e extremamente valiosas no contexto de IA e modelos avançados.
Profissionais de integração de dados com uso de ferramentas profissionais, python, spark têm experiência em garantir a qualidade dos dados, uma habilidade crucial ao preparar conjuntos de dados para usoem projetos de BI ou IA tradicional e para treinar modelos de IA ou alimentar sistemas onde a precisão das informações recuperadas impacta diretamente a qualidade das respostas geradas. A experiência em transformar e preparar dados para diferentes contextos de uso é diretamente aplicável ao ajustar ou preparar conjuntos de dados para treinamento.
A capacidade de codificar eficientemente processos de ETL se traduz bem em automação e personalização de modelos RAG, especialmente na integração com bancos de dados ou APIs para recuperação de dados e o conhecimento sobre como os dados são armazenados, indexados e recuperados beneficia o ajuste fino dos modelos otimizar a recuperação de informações relevantes.
A experiência em solucionar problemas de qualidade e integração de dados é útil ao depurar e otimizar o desempenho de modelos utilizando RAG e o time MD2 está acostumado a se adaptar a novas tecnologias e métodos, uma disposição essencial para trabalhar com IA e modelos de linguagem em rápida evolução. A MD2 oferece sistemas MDM em plataformas tradicionais e também em plataformas de dados e IA utilizando python e spark.
Vetorizando e desvetorizando....
Exemplo de dados originais de clientes no HUB MDM
Nome : Maria Fernanda
Idade: 28
Gênero: Feminino
Profissão: Engenheiro
Estado Civil: Solteiro
Salário Anual: 95000.00
Possui Carro: Não
Nome : Carlos Eduardo
Idade: 45
Gênero: Masculino
Profissão: Professor
Estado Civil: Divorciado
Salário Anual: 67000.00
Possui Carro: Sim
Nome : Ana Beatriz
Idade: 38
Gênero: Feminino
Profissão: Outros (Vamos assumir uma categoria "Outros" para profissões não listadas)
Estado Civil: Casado
Salário Anual: 81000.00
Possui Carro: Sim
Regras para Vetorização
Nome: Quantidade de letras;
Idade: Valor numérico diretamente;
Gênero: One-hot encoding - [Masculino, Feminino, Outro];
Profissão: One-hot encoding - [Engenheiro, Médico, Professor, Outros];
Estado Civil: One-hot encoding - [Solteiro, Casado, Divorciado];
Salário Anual: Valor numérico diretamente;
Possui Carro: Binário - 1 para Sim, 0 para Não.
Dados Vetorizados :
Nome do cliente : Maria Fernanda
Vetor: [14, 28, [0, 1, 0], [1, 0, 0, 0], [1, 0, 0], 95000.0, 0]
Nome do cliente : Carlos Eduardo
Vetor: [14, 45, [1, 0, 0], [0, 0, 1, 0], [0, 0, 1], 67000.0, 1]
Nome do cliente : Ana Beatriz
Vetor: [11, 38, [0, 1, 0], [0, 0, 0, 1], [0, 1, 0], 81000.0, 1]
Estes vetores agora podem ser utilizados para análises, comparações ou armazenamento em um banco de dados vetorial, oferecendo uma forma eficiente de representação e busca de informações baseada em similaridade com a regra a seguir : Decomposição: 14 letras no nome, 28 anos, gênero feminino, profissão engenheiro, solteiro, salário anual de 95.000, não possui carro.
Decompondo em dados originais :
Maria Fernanda
Vetor: [14, 28, [0, 1, 0], [1, 0, 0, 0], [1, 0, 0], 95000.0, 0]
Decomposição:
Nome: 14 letras.
Idade: 28 anos.
Gênero: [0, 1, 0] : Feminino.
Profissão: [1, 0, 0, 0] : Engenheiro.
Estado Civil: [1, 0, 0] : Solteiro.
Salário Anual: 95.000,00.
Possui Carro: 0 : Não.
Carlos Eduardo
Vetor: [14, 45, [1, 0, 0], [0, 0, 1, 0], [0, 0, 1], 67000.0, 1]
Decomposição:
Nome: 14 letras.
Idade: 45 anos.
Gênero: [1, 0, 0] : Masculino.
Profissão: [0, 0, 1, 0] : Professor.
Estado Civil: [0, 0, 1] : Divorciado.
Salário Anual: 67.000,00.
Possui Carro: 1 : Sim.
Ana Beatriz
Vetor: [11, 38, [0, 1, 0], [0, 0, 0, 1], [0, 1, 0], 81000.0, 1]
Decomposição:
Nome: 11 letras.
Idade: 38 anos.
Gênero: [0, 1, 0] : Feminino.
Profissão: [0, 0, 0, 1] : Outros.
Estado Civil: [0, 1, 0] : Casado.
Salário Anual: 81.000,00.
Possui Carro: 1 : Sim.