Conetor para PyTorch

O conetor do Cloud Storage para o PyTorch é um produto de código aberto suportado pela Google que oferece uma integração direta do Cloud Storage com o PyTorch.

Vista geral

O conetor para PyTorch oferece vantagens para o carregamento de dados na preparação e para a criação de pontos de verificação e o carregamento de modelos:

Para o carregamento de dados na preparação, o conetor para PyTorch oferece as seguintes vantagens:

  • O conetor para PyTorch contém otimizações para tornar o treino até três vezes mais rápido do que o PyTorch predefinido em conjuntos de dados compostos principalmente por ficheiros com menos de 1 MB.
  • O conetor para o PyTorch implementa a primitiva de conjunto de dados do PyTorch que pode ser usada para ajudar a carregar de forma eficiente dados de preparação de contentores do Cloud Storage.
  • Suporte para conjuntos de dados de estilo de mapa para padrões de acesso a dados aleatórios e conjuntos de dados de estilo iterável para padrões de acesso a dados de streaming.
  • A capacidade de transformar os bytes não processados de dados transferidos no formato à sua escolha, o que permite que o PyTorch DataLoader funcione de forma flexível com matrizes NumPy ou tensores PyTorch.

Para a criação de pontos de verificação e o carregamento de modelos, o conector para o PyTorch oferece as seguintes vantagens:

  • Uma interface de criação de pontos de verificação para guardar de forma conveniente e direta os pontos de verificação do modelo num contentor do Cloud Storage e carregar os pontos de verificação do modelo a partir do contentor.
  • O conetor para PyTorch suporta a criação de pontos de verificação do PyTorch Lightning através da implementação DatafluxLightningCheckpoint do CheckpointIO do PyTorch Lightning.
  • O conector para PyTorch oferece implementações StorageWriter e StorageReader para utilização com a criação de pontos de verificação distribuídos do PyTorch. A biblioteca de demonstração do conetor para PyTorch inclui código de exemplo para usar isto numa carga de trabalho FSDP do PyTorch Lightning.
  • A criação de pontos de verificação de conetores inclui suporte para guardar pontos de verificação assíncronos com o Lightning e o PyTorch base.

Para mais informações, consulte a página de destino do GitHub do conetor para PyTorch.

Frameworks

O conetor para PyTorch é suportado nas seguintes versões do framework:

  • Python 3.8 ou superior
  • PyTorch Lightning 2.0 ou superior
  • PyTorch 2.3.1 ou superior

Começar

Para usar o conector para PyTorch, tem de ter o seguinte:

  • Um contentor do Cloud Storage que contém os dados com os quais quer trabalhar.
  • As seguintes autorizações para trabalhar com os dados armazenados no contentor:
    • storage.objects.create
    • storage.objects.list
    • storage.objects.get
    • storage.objects.delete, se pretender usar transferências compostas

Estas autorizações têm de ser concedidas à conta que o conector para PyTorch vai usar para autenticação através de uma função do IAM, como utilizador de objetos de armazenamento.

Instalação

Para instalar o conetor para PyTorch, use o seguinte comando:

pip install gcs-torch-dataflux

Configuração

Tem de fornecer a autenticação para usar o conector para PyTorch Credenciais predefinidas da aplicação através de um dos seguintes métodos:

gcloud auth application-default login

Exemplos

Pode encontrar um conjunto completo de exemplos para trabalhar com o conetor para PyTorch no diretório de demonstração do repositório GitHub do conetor para PyTorch. Os exemplos incluem:

Desempenho