Escolher um tipo de tarefa de embeddings

Os modelos de embeddings da Vertex AI podem gerar embeddings otimizados para vários tipos de tarefas, como recuperação de documentos, perguntas e respostas e verificação de fatos. Os tipos de tarefa são rótulos que otimizam os embeddings que o modelo é gerado com base no caso de uso pretendido. Este documento descreve como escolher o tipo de tarefa ideal para suas embeddings.

Modelos compatíveis

Os tipos de tarefa são compatíveis com os seguintes modelos:

  • textembedding-gecko@003
  • text-embedding-004
  • text-multilingual-embedding-002

Benefícios dos tipos de tarefa

Os tipos de tarefa podem melhorar a qualidade dos embeddings gerados por um modelo de embeddings.

As perguntas e as respostas delas não são semanticamente parecidas
Figura 1. As perguntas e as respostas não são semanticamente parecidas, o que significa que os embeddings não mostram automaticamente a relação entre eles.

Por exemplo, ao criar sistemas de geração aumentada de recuperação (RAG), uma um design comum é usar embeddings de texto e Pesquisa Vetorial para realizar uma pesquisa de similaridade. Em alguns casos, isso pode prejudicar a pesquisa qualidade, porque as perguntas e suas respostas não são semanticamente parecidas. Por exemplo, uma pergunta como "Por que o céu é azul?" e a resposta "A dispersão da luz solar causa a cor azul" têm significados distintos como frases, o que significa que um sistema RAG não reconhece automaticamente a relação delas, conforme demonstrado na Figura 1. Sem os tipos de tarefas, um desenvolvedor RAG precisa treinam o modelo para aprender a relação entre consultas e respostas. o que requer habilidades e experiência avançadas em ciência de dados, ou use a expansão de consulta baseada em LLM ou HyDE, que pode introduzir alta latência e custos.

O tipo de tarefa coloca perguntas e respostas mais próximas ao espaço de embeddings
Figura 2. Os tipos de tarefa otimizam embeddings para tarefas específicas. Nesse caso, as perguntas e respostas são unidas no espaço dos embeddings.

Os tipos de tarefa permitem gerar embeddings otimizados para tarefas específicas, o que economiza o tempo e o custo que seria necessário para desenvolver seu próprio embeddings específicos de tarefas. O embedding gerado para a consulta "Por que o céu é azul?" e sua resposta: "A dispersão da luz solar faz com que a cor azul" estar no espaço de embedding compartilhado que representa a relação entre eles, como mostrado na figura 2. Neste exemplo de RAG, os embeddings otimizados levariam a pesquisas de similaridade aprimoradas.

Além do caso de uso de consulta e resposta, os tipos de tarefa também oferecem espaço de embeddings otimizado para tarefas como classificação, agrupamento e verificação de fatos.

Tipos de tarefas com suporte

Os modelos de embedding que usam tipos de tarefas são compatíveis com os seguintes tipos de tarefas:

Tipo de tarefa Descrição
SEMANTIC_SIMILARITY Usado para gerar embeddings otimizados para avaliar a similaridade de texto
CLASSIFICATION Usado para gerar embeddings otimizados para classificar textos de acordo com rótulos predefinidos
CLUSTERING Usado para gerar embeddings otimizados para agrupar textos com base nas semelhanças deles
RETRIEVAL_DOCUMENT, RETRIEVAL_QUERY, QUESTION_ANSWERING, e FACT_VERIFICATION Usado para gerar embeddings otimizados para pesquisa de documentos ou recuperação de informações

O melhor tipo de tarefa para o job de embeddings depende do caso de uso para seus embeddings. Antes de selecionar um tipo de tarefa, determine que os embeddings usam caso.

Determinar seu caso de uso de embeddings

Os casos de uso de embeddings geralmente se enquadram em uma das quatro categorias: avaliar similaridade de texto, classificação de textos, agrupamento de textos ou recuperação de informações com base em textos. Caso seu caso de uso não se enquadre em uma das categorias anteriores, use o tipo de tarefa RETRIEVAL_QUERY por padrão.

Avaliar a semelhança de textos

Se você quiser usar embeddings para avaliar a semelhança de texto, use o tipo de tarefa SEMANTIC_SIMILARITY. Esse tipo de tarefa gera embeddings otimizado para gerar pontuações de similaridade.

Por exemplo, suponha que você queira gerar embeddings para comparar o semelhança dos seguintes textos:

  • O gato está dormindo
  • O felino está dormindo

Quando os embeddings são usados para criar uma pontuação de similaridade, ela é alta, porque os dois textos têm quase o mesmo significado.

Considere os seguintes cenários reais em que avaliar a semelhança de entrada seria útil:

  • Para um sistema de recomendação, você quer identificar itens (por exemplo, produtos, artigos e filmes) que são semanticamente semelhantes aos itens preferidos de um usuário, fornecer recomendações personalizadas e aumentar a satisfação do usuário.

Classificar textos

Se você quiser usar embeddings para classificar textos de acordo com rótulos predefinidos, use o tipo de tarefa CLASSIFICATION. Esse tipo de tarefa gera embeddings em um espaço de embeddings otimizado para classificação.

Por exemplo, suponha que você queira gerar incorporações para postagens em mídias sociais que possam ser usadas para classificar o sentimento como positivo, negativo ou neutro. Ao incorporar embeddings para uma postagem de mídia social que diz "Não gosto viajando de avião" forem classificados, o sentimento será classificado como negativa.

Textos de cluster

Se quiser usar embeddings para agrupar textos com base nas semelhanças deles, use o tipo de tarefa CLUSTERING. Esse tipo de tarefa gera embeddings otimizados para serem agrupados com base nas semelhanças deles.

Por exemplo, suponha que você queira gerar embeddings para artigos de notícias de modo que você pode mostrar aos usuários artigos sobre os artigos lidos anteriormente. Depois que as embeddings forem geradas e agrupadas, você poderá sugerir outros artigos relacionados a esportes para usuários que leem muito sobre o assunto.

Outros casos de uso para agrupamento incluem:

  • Segmentação de clientes: agrupe clientes com incorporações semelhantes geradas a partir dos perfis ou atividades deles para marketing direcionado e experiências personalizadas.
  • Segmentação de produtos: agrupar embeddings de produtos com base no produto. título e descrição, imagens do produto ou avaliações de clientes podem ajudar as empresas fazer análises de segmento dos produtos.
  • Pesquisa de mercado: agrupar respostas de pesquisas com consumidores ou incorporações de dados de mídias sociais pode revelar padrões e tendências ocultos nas opiniões, preferências e comportamentos dos consumidores, auxiliando as pesquisas de mercado e informando estratégias de desenvolvimento de produtos.
  • Cuidados de saúde: agrupar embeddings de pacientes derivados de dados médicos pode ajudar a identificar grupos com condições ou respostas ao tratamento semelhantes, levando a planos de saúde mais personalizados e terapias direcionadas.
  • Tendências de feedback do cliente: agrupar o feedback do cliente de vários canais (pesquisas, mídias sociais, tickets de suporte) em grupos pode ajudar a identificar problemas comuns, solicitações de recursos e áreas para melhoria do produto.

Recuperar informações de textos

Se você quiser usar embeddings para pesquisa de documentos ou recuperação de informações e casos de uso de perguntas e respostas, como pesquisa, chatbots ou RAG, conforme discutido na introdução, é necessário executar dois jobs de embeddings com diferentes tipos de tarefa:

  1. Use o tipo de tarefa RETRIEVAL_DOCUMENT para criar embeddings otimizados para seus documentos (também chamado de corpus).
  2. Use um dos seguintes tipos de tarefa para criar embeddings otimizados para seu as consultas, dependendo da natureza delas:
    • RETRIEVAL_QUERY: use como o tipo de tarefa padrão para consultas, como "melhores restaurantes em Vancouver", "vegetais verdes" ou "Qual é a melhor receita de biscoito?".
    • QUESTION_ANSWERING: use nos casos em que todas as consultas estão formatadas como perguntas adequadas, como "Por que o céu é azul?" ou "Como faço para amarrar cadarços?".
    • FACT_VERIFICATION: use quando você quiser recuperar um documento. do seu corpus que prove ou rejeite uma declaração. Por exemplo, o consulta "maçãs crescem debaixo do solo" pode recuperar um artigo sobre maçãs que acabaria refutando a declaração.

Considere o seguinte cenário real em que as consultas de recuperação seriam úteis:

  • Para uma plataforma de e-commerce, você quer usar embeddings para permitir que os usuários pesquisar produtos usando consultas de texto e imagens, oferecendo uma experiência de compra intuitiva e envolvente.
  • Para uma plataforma educacional, você quer criar um sistema de respostas a perguntas que podem responder perguntas baseadas no conteúdo recursos, oferecendo experiências de aprendizagem personalizadas e ajudando os estudantes compreender conceitos complexos.

A seguir