Treinar uma rede de gráficos profundos - 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á.

Treinar uma rede de gráficos profundos

Nessa visão geral, você aprende como começar a usar uma rede de gráficos profundos usando um dos contêineres da DGL no Amazon Elastic Container Registry (Amazon ECR). Também é possível ver links para exemplos práticos de redes de gráficos profundos.

O que é uma rede de gráficos profundos?

As redes de gráficos profundos referem-se a um tipo de rede neural que é treinada para resolver problemas de gráficos. Uma rede gráfica profunda usa uma estrutura subjacente de aprendizado profundo, como PyTorch o MXNet. O potencial das redes gráficas em aplicações práticas de IA é destacado nos SageMaker tutoriais da Amazon para a Deep Graph Library (DGL). Exemplos de modelos de treinamento em conjuntos de dados de gráficos incluem redes sociais, bases de conhecimento, biologia e química.

The DGL ecosystem.

Figura 1. O ecossistema DGL

Vários exemplos são fornecidos usando os contêineres de aprendizado profundo SageMaker da Amazon que são pré-configurados com o DGL. Se você tiver módulos especiais que deseja usar com a DGL, também poderá criar seu próprio contêiner. Os exemplos envolvem heterográficos, que são gráficos que têm vários tipos de nós e arestas, e se inspiram em uma variedade de aplicações em diferentes campos científicos, como bioinformática e análise de redes sociais. A DGL fornece uma ampla gama de implementações de rede neural de gráficos para modelos de diferentes tipos. Alguns dos destaques incluem:

  • Rede convolucional de gráficos (GCN)

  • – Rede convolucional de gráfico relacional (R-GCN)

  • Rede de atenção de gráfico (GAT)

  • Modelos gerais profundos de gráficos (DGMG)

  • Rede neural de árvore de junção (JTNN)

Conceitos básicos

A DGL está disponível como um contêiner de aprendizagem profunda no Amazon ECR. Você pode selecionar contêineres de aprendizado profundo ao escrever sua função de estimador em um notebook da Amazon SageMaker . Você também pode criar seu próprio contêiner personalizado com a DGL seguindo o guia Traga seu próprio contêiner. A maneira mais fácil de começar a usar uma rede de gráficos profundos usa um dos contêineres DGL no Amazon ECR. 

nota

O suporte à estrutura de back-end é limitado ao PyTorch MXNet.

Configuração

Se você estiver usando o Amazon SageMaker Studio, primeiro precisará clonar o repositório de exemplos. Se você estiver usando uma instância de notebook, poderá encontrar os exemplos escolhendo o SageMaker ícone na parte inferior da barra de ferramentas à esquerda.

Para clonar o repositório de exemplos de SageMaker SDK e notebook da Amazon
  1. Na JupyterLabvisualização na Amazon SageMaker, acesse o Navegador de arquivos na parte superior da barra de ferramentas à esquerda. No painel do navegador de arquivos, é possível ver uma nova navegação na parte superior do painel.

  2. Selecione o ícone na extrema direita para clonar um repositório Git.

  3. Adicione a URL do repositório: https://github.com/awslabs/ amazon-sagemaker-examples .git

  4. Navegue pela pasta recém-adicionada e seu conteúdo. Os exemplos de DGL são armazenados na sagemaker-python-sdkpasta.

Executar um exemplo de treinamento de rede do gráfico

Como treinar uma rede de gráficos profundos
  1. Na JupyterLabvisualização na Amazon SageMaker, procure os cadernos de exemplo e procure as pastas DGL. Vários arquivos podem ser incluídos para oferecer suporte a um exemplo. Examine o README para qualquer pré-requisito.

  2. Execute o exemplo do bloco de anotações .ipynb. 

  3. Encontre a função estimadora e anote a linha onde ela está usando um contêiner do Amazon ECR para a DGL e um tipo de instância específico. Você pode querer atualizar isso para usar um contêiner em sua região preferida.

  4. Execute a função para executar a instância e use o contêiner da DGL para treinar uma rede de gráficos. São geradas cobranças para executar essa instância. A instância é encerrada automaticamente quando o treinamento é concluído.

Exemplos

Um exemplo de incorporação de gráficos de conhecimento (KGE) é fornecido. Ele usa o conjunto de dados do Freebase, uma base de conhecimento de fatos gerais. Um exemplo de caso de uso seria criar um gráfico de relações de pessoas e prever sua nacionalidade. 

Um exemplo de implementação de uma rede convolucional de gráficos (GCN) mostra como você pode treinar uma rede de gráficos para prever a toxicidade. Um conjunto de dados fisiológicos, Tox21, fornece medições de toxicidade de como as substâncias afetam as respostas biológicas. 

Outro exemplo de GCN mostra como treinar uma rede de gráficos em um conjunto de dados bibliográficos de publicações científicas, conhecido como Cora. É possível usá-la para encontrar relações entre autores, tópicos e conferências.

O último exemplo é um sistema de recomendação para avaliações de filmes. Ele usa uma rede de preenchimento de matriz convolucional gráfica (GCMC) treinada nos conjuntos de dados. MovieLens Esses conjuntos de dados consistem em títulos de filmes, gêneros e classificações de usuários.

Use um contêiner de aprendizagem profunda com a DGL

Os exemplos a seguir usam contêineres de aprendizado profundo pré-configurados. Isso é o mais fácil de experimentar, pois funciona imediatamente na Amazon SageMaker.

Traga seu próprio contêiner com a DGL

Os exemplos a seguir permitem que você traga seu próprio contêiner (BYOC). Leia o guia do BYOC e familiarize-se com esse processo antes de testá-los. A configuração é obrigatória.