Dataflow ML

O Dataflow ML permite-lhe usar o Dataflow para implementar e gerir pipelines de aprendizagem automática (AA) completos. Use modelos de AA para fazer inferência local e remota com pipelines de streaming e em lote. Use ferramentas de processamento de dados para preparar os dados para a preparação de modelos e para processar os resultados dos modelos.
Quer classificar imagens em tempo real, executar chamadas de inferência remotas ou criar um controlador de modelos personalizado, pode encontrar exemplos completos de ML do Dataflow.
Use a classe MLTransform para pré-processar dados para fluxos de trabalho de aprendizagem automática (ML). Ao combinar várias transformações de processamento de dados numa classe, a MLTransform simplifica o processo de aplicação de transformações de processamento de dados de ML do Apache Beam ao seu fluxo de trabalho.
with pipeline as p:
  predictions = (
      p
      | beam.ReadFromSource('a_source')
      | RunInference(MODEL_HANDLER))
A utilização de RunInference é tão simples como adicionar o código de transformação ao seu pipeline. Neste exemplo, MODEL_HANDLER é o objeto de configuração do modelo.
with beam.Pipeline() as p:
  transformed_data = (
    p
    | beam.Create(data)
    | MLTransform(...)
    | beam.Map(print))
Para preparar os dados para a preparação de modelos de ML, use MLTransform no seu pipeline. MLTransform envolve várias transformações de processamento de dados numa classe, o que lhe permite usar uma classe para uma variedade de tarefas de pré-processamento.

Previsão e inferência com modelos pré-preparados

Use um modelo pré-preparado com o Pytorch.
Use um modelo pré-preparado com o scikit-learn.
Use um modelo pré-preparado com o TensorFlow.
O Apache Beam tem suporte integrado para enviar pedidos para um ponto final do Vertex AI implementado remotamente. Este bloco de notas mostra como usar a transformação RunInference do Apache Beam para a classificação de imagens com a Vertex AI.
Use a transformação RunInference com um controlador de modelos com chave para usar vários modelos na mesma transformação RunInference.

Tratamento de dados com MLTransform

Use a classe MLTransform do Apache Beam com a API Vertex AI text-embeddings para gerar incorporações de texto. As incorporações de texto são uma forma de representar texto como vetores numéricos, o que é necessário para muitas tarefas de processamento de linguagem natural (NLP).
Use a classe MLTransform do Apache Beam com modelos do Hugging Face Hub para gerar incorporações de texto. A framework SentenceTransformers da Hugging Face usa Python para gerar incorporações de frases, texto e imagens.
Calcular um vocabulário único a partir de um conjunto de dados e, em seguida, mapear cada palavra ou token para um índice inteiro distinto. Use esta transformação para alterar dados textuais em representações numéricas para tarefas de aprendizagem automática.
Dimensione os seus dados para que os possa usar para preparar o seu modelo de ML. A classe MLTransform do Apache Beam inclui várias transformações de dimensionamento de dados.

Previsão e inferência com modelos do hub

Pode usar os modelos Gemma nos seus pipelines de inferência para avaliar o sentimento de uma conversa, resumir o conteúdo dessa conversa e criar um rascunho de uma resposta para uma conversa difícil.
Use a transformação RunInference com um modelo preparado da Hugging Face.
Use a transformação RunInference para o TensorFlow com um modelo preparado do TensorFlow Hub.
Use a transformação RunInference para tarefas de IA generativa. Este bloco de notas usa um modelo de linguagem do Hugging Face Model Hub.

Orquestração de fluxos de trabalho de ML

Os Vertex AI Pipelines ajudam a automatizar, monitorizar e governar os seus sistemas de ML ao orquestrar os fluxos de trabalho de ML sem servidor. Use o Vertex AI Pipelines para orquestrar DAGs de fluxo de trabalho definidos pelo TFX ou KFP e para acompanhar automaticamente os seus artefactos de ML através do Vertex ML Metadata.
O TensorFlow Extended (TFX) permite-lhe implementar pipelines de AA completos através de uma framework de orquestração com uma integração incorporada com o Apache Beam e o executor do Dataflow.
O Kubeflow torna as implementações de fluxos de trabalho de ML no Kubernetes simples, portáteis e escaláveis. Os Kubeflow Pipelines são fluxos de trabalho de AA completos reutilizáveis criados com o SDK Kubeflow Pipelines.

Deteção de anomalias

Este bloco de notas demonstra como realizar a deteção de anomalias em dados de processamento em lote e streaming através da AnomalyDetection PTransform. Usa o algoritmo de pontuação Z para identificar valores atípicos num conjunto de dados.

Funcionalidades adicionais

A utilização de aceleradores, como GPUs e TPUs, em tarefas do Dataflow pode acelerar significativamente as tarefas de processamento de dados usadas frequentemente em exemplos de utilização de aprendizagem automática e processamento de imagens.

Em particular, as TPUs são aceleradores de IA personalizados, otimizados para a preparação e a utilização de grandes modelos de IA, que oferecem uma forma versátil de dimensionar uma vasta gama de cargas de trabalho de IA.

Combine GPUs e CPUs para um elevado desempenho e um custo mais baixo. A capacidade de segmentar recursos para passos específicos do pipeline oferece flexibilidade e capacidade adicionais ao pipeline, bem como potenciais poupanças de custos.
O Apache Beam simplifica o fluxo de trabalho de enriquecimento de dados, fornecendo uma transformação de enriquecimento pronta a usar que pode adicionar ao seu pipeline.

Manutenção e avaliação de modelos

RunInference permite-lhe fazer atualizações automáticas de modelos sem parar o pipeline do Apache Beam. Use entradas laterais para atualizar o seu modelo em tempo real, mesmo enquanto o pipeline está em execução.
Use a análise de modelos do TensorFlow (TFMA) para investigar e visualizar o desempenho de um modelo através da criação e comparação de dois modelos. Com o Apache Beam, pode avaliar e comparar vários modelos num único passo.

Recursos

Para usar o RunInference com um pipeline Java, crie uma transformação Python multilingue. O pipeline chama a transformação, que faz o pré-processamento, o pós-processamento e a inferência.
Para executar os exemplos de ML do Dataflow, pode ter de configurar as suas autorizações do Google Cloud. Leia um guia detalhado sobre as autorizações necessárias para pipelines do Dataflow.
Os exemplos e o código fonte correspondente estão disponíveis no GitHub. No GitHub, também pode encontrar instruções para executar os exemplos no Colab.
Esta publicação no blogue explica como criar aplicações RAG com pesquisa semântica e representações numéricas (incorporações) em tempo real. Usa a aprendizagem automática do Dataflow para preparar os dados convertendo-os em incorporações e armazenando-os numa base de dados vetorial, como o AlloyDB.