Algoritmo Object2Vec - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Algoritmo Object2Vec

O algoritmo Amazon SageMaker Object2Vec é um algoritmo de incorporação neural de uso geral que é altamente personalizável. Ele pode aprender incorporações densas de baixa dimensão de objetos de alta dimensão. As incorporações são aprendidas de uma maneira que preserva a semântica do relacionamento entre pares de objetos no espaço original no espaço de incorporação. É possível usar as integrações aprendidas para calcular com eficiência os vizinhos mais próximos de objetos e para visualizar clusters naturais de objetos relacionados em espaços de baixa dimensão, por exemplo. Você também pode usar as integrações como recursos dos objetos correspondentes em tarefas posteriores supervisionadas, como classificação ou regressão.

O Object2Vec generaliza a conhecida técnica de incorporação Word2Vec para palavras que é otimizada no. SageMaker BlazingText algoritmo Para uma postagem no blog que discute como aplicar o Object2Vec a alguns casos de uso práticos, consulte Introdução ao Amazon Object2Vec. SageMaker

Interface de E/S para o algoritmo Object2Vec

Você pode usar o algoritmo Object2Vec em diversos tipos de dados de entrada, incluindo os seguintes exemplos:

Tipos de dados de entrada Exemplo

Pares de frase-frase

“Um jogo de futebol com vários homens jogando.” e “Alguns homens estão praticando um esporte”.

Pares de rótulo-sequência

As tags de gênero do filme "Titanic", como "Romance" e "Drama", e sua breve descrição: "Titanic, de James Cameron, é um romance épico repleto de ação sobre a malfadada viagem inaugural do R.M.S. Titanic. Ele foi o transatlântico mais luxuoso de sua era, um navio dos sonhos que, finalmente, levou mais de 1.500 pessoas à morte nas águas geladas do Atlântico Norte na madrugada de 15 de abril de 1912."

Pares de cliente-cliente

O ID do cliente de Jane e o ID de cliente Jackie.

Pares de produto-produto

O ID do produto do futebol e o ID do produto de basquete.

Pares de item-usuário de revisão de item

Um ID do usuário e os itens que ela comprou, como apple, pereira e laranja.

Para transformar os dados de entrada em formatos compatíveis, você deve pré-processá-los. Atualmente, o algoritmo Object2Vec oferece suporte de forma nativa a dois tipos de entrada:

  • Um token discreto, que é representado como lista de um único integer-id. Por exemplo, [10].

  • Uma sequências de tokens discretos, que é representado como lista de integer-ids. Por exemplo, [0,12,10,13].

O objeto em cada par pode ser assimétrico. Por exemplo, os pares podem ser (token, sequência) ou (token, token) ou (sequência, sequência). Para entradas de token, o algoritmo oferece suporte a integrações simples como codificadores compatíveis. Para sequências de vetores de token, o algoritmo oferece suporte para os seguintes codificadores:

  • Incorporações em pool médio

  • CNNs (Redes neurais convolucionais) hierárquicas,

  • BiLSTMs (Multi-layered bidirectional long short-term memory)

O rótulo de entrada para cada par pode ser um dos seguintes:

  • Um rótulo categórico que expressa a relação entre os objetos no par

  • Uma pontuação que expressa a intensidade da semelhança entre os dois objetos

Para rótulos categóricos usados na classificação, o algoritmo oferece suporte para a função de perda de entropia cruzada. Para classificações/rótulos baseados em pontuação usados na regressão, o algoritmo oferece suporte para a função de perda de MSE (erro quadrático médio). Especifique essas funções de perda com o hiperparâmetro output_layer ao criar o trabalho de treinamento de modelo.

Recomendação de instâncias do EC2 para o algoritmo Object2Vec

O tipo de instância do Amazon Elastic Compute Cloud (Amazon EC2) que você usa depende do fato de você estar treinando ou executando inferência.

Ao treinar um modelo usando o algoritmo Object2Vec em uma CPU, comece com uma instância ml.m5.2xlarge. Para treinar em uma GPU, comece com uma instância ml.p2.xlarge. Se o treinamento demorar muito nessa instância, você poderá usar uma instância maior. Atualmente, o algoritmo Object2Vec só pode treinar em uma única máquina. No entanto, ele oferece suporte para várias GPUs. O Object2Vec oferece suporte às famílias de instâncias de GPU P2, P3, G4dn e G5 para treinamento e inferência.

Para inferência com um modelo Object2Vec treinado com uma rede neural profunda, recomendamos o uso de instância de GPU ml.p3.2xlarge. Devido à falta de memória de GPU, a variável de ambiente INFERENCE_PREFERRED_MODE pode ser especificada para otimização se a rede de inferência Otimização de GPU: classificação ou regressão ou Otimização de GPU: incorporações de codificador for carregada na GPU.

Blocos de anotações de amostra para Object2Vec

nota

Para executar os blocos de anotações em uma instância de bloco de anotações, consulte Blocos de anotações de exemplo. Para executar os blocos de anotações no Studio, consulte Crie ou abra um notebook Amazon SageMaker Studio Classic.