Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Sugestão] Aula de normalização de Embeddings complementos

A apresentação da aula de normalizaçãod e embeddings cobre bastante coisa, porém acho que poderia ser mais didático, uma aluno que tem base de ciência da computação pode ter um entendimento melhor, mas creio que muito aluno sem o embasamento pode ficar um pouco perdido e poderia ter um complemento das explicações, eu também não sou lá o cara mais experto, mas vou tentar complementar com meu entendimento:

A normalização de embeddings: ajustar os vetores gerados pelo modelo de IA pra que tenham mesmo "comprimento" (magnitude) sem alterar a direção pra onde o vetor aponta, Isso importante porque o significado semântico esta na direção e não no tamanho do vetor, lembrando que o espaço tem alta dimensão então se você aproximar dentro do espaço diminuindo o comprimento, garante que textos longos ou frequentes não fiquem vetores enormes que dificultam a busca por similaridade, estando mais próximos fica mais fácil.

Pra visualizar melhor, pode pesquisar a formula, mas basicamente o que ela faz é colocar a norma euclidiana como 1.0, isso faz ter uma esfera de raio=1.0, então todos os vetores agora tocam a superfície da esfera.

Numa busca por cosseno, exemplo se a norma é 1, fica tudo resolvido com um produto escalar. Então vetores estariam distantes ou próximos na superficies, se a direção deles for oposta então não tem similaridade por exemplo. Mas, bem mais rápido de computar o produto escalar do que o cosseno com raizes quadradas e divisões.

Isso influencia qual modelo de embedding usar no seu banco vetorial, alguns já modelos normalizados e precisa ajudar os banco pra usar produto escalar ou alguns são flexivel, alguns permitem configurar. Deixar o banco vetorial para usar produtos escalar (dor/inner) e os vetores inseridos e as queries também normalizadas otimiza em velocidade e precisão.

1 resposta

Olá, Marcelo! Tudo bem?

A sua sugestão de complementar a aula de normalização de embeddings traz uma explicação interessante para quem está começando a trabalhar com embeddings, similaridade vetorial e buscas em aplicações com RAG. A ideia de visualizar os vetores normalizados sobre uma esfera de raio 1 ajuda bastante a compreender por que a direção passa a ser o aspecto relevante na comparação entre eles.

Um ponto importante é que a normalização não necessariamente deixa os vetores mais próximos entre si; ela ajusta cada vetor para ter norma igual a 1, preservando sua direção.

Com vetores normalizados, a similaridade de cosseno pode ser calculada diretamente pelo produto escalar, já que as normas deixam de precisar entrar no cálculo.

Como dica, ao escolher um modelo de embeddings e configurar um banco vetorial, vale verificar na documentação se os vetores já são normalizados e qual métrica foi recomendada pelo próprio modelo, pois isso evita normalizações desnecessárias e mantém a busca coerente com a forma como os embeddings foram treinados. Sua explicação da esfera também pode ser um ótimo complemento visual para essa aula. Que tipo de exemplo prático você acha que ajudaria mais a visualizar essa diferença entre produto escalar, similaridade de cosseno e distância entre vetores?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!