Dataflow ML
透過 Dataflow ML,您可以使用 Dataflow 部署及管理完整的機器學習 (ML) pipeline。使用機器學習模型,透過批次和串流管道執行本機和遠端推論。使用資料處理工具準備資料,以便用於模型訓練及處理模型生成的結果。
with pipeline as p: predictions = ( p | beam.ReadFromSource('a_source') | RunInference(MODEL_HANDLER))
RunInference 轉換
使用
RunInference
的方式很簡單,只要將轉換程式碼新增至管道即可。在本例中,MODEL_HANDLER 是模型設定物件。
with beam.Pipeline() as p: transformed_data = ( p | beam.Create(data) | MLTransform(...) | beam.Map(print))
MLTransform 程式碼
如要準備資料來訓練機器學習模型,請在管道中使用
MLTransform
。MLTransform
會將多個資料處理轉換包裝在一個類別中,讓您使用一個類別執行各種前處理工作。
使用預先訓練模型進行預測和推論
我有一個 Pytorch 模型
使用 Pytorch 搭配預先訓練的模型。
我有 scikit-learn 模型
搭配 scikit-learn 使用預先訓練的模型。
我有 TensorFlow 模型
使用 TensorFlow 搭配預先訓練模型。
我擁有 Vertex AI 模型處理常式
Apache Beam 內建支援將要求傳送至遠端部署的 Vertex AI 端點。這個筆記本說明如何使用 Apache Beam
RunInference
轉換,透過 Vertex AI 進行圖片分類。
我想在管線中使用多個經過不同訓練的模型
使用
RunInference
轉換和鍵控模型處理常式,在同一個 RunInference
轉換中使用多個模型。
使用 MLTransform 處理資料
我想使用 Vertex AI 為 LLM 生成文字嵌入
使用 Apache Beam 的
MLTransform
類別搭配 Vertex AI 文字嵌入 API,生成文字嵌入。文字嵌入是將文字表示為數值向量的方法,許多自然語言處理 (NLP) 工作都需要用到這項技術。
我想使用 Hugging Face 為 LLM 生成文字嵌入
使用 Apache Beam 的
MLTransform
類別和 Hugging Face Hub 模型,生成文字嵌入。Hugging Face 的 SentenceTransformers
架構使用 Python 生成句子、文字和圖片嵌入。
我想從資料集計算詞彙
從資料集計算出不重複的字彙,然後將每個字詞或符記對應至不同的整數索引。使用這項轉換功能,將文字資料轉換為數值表示法,以用於機器學習工作。
我想擴充資料,訓練機器學習模型
擴充資料,以便用於訓練機器學習模型。Apache Beam 的
MLTransform
類別包含多個資料縮放轉換。
使用 Hub 模型進行預測和推論
我想進行情緒分析和摘要
您可以在推論管道中使用 Gemma 模型,評估對話的情緒、歸納對話內容,以及草擬難以回覆的對話。
我有一個來自 Hugging Face 的訓練模型
搭配 Hugging Face 訓練的模型使用
RunInference
轉換。
我有一個從 TensorFlow Hub 訓練的模型
搭配 TensorFlow Hub 中訓練的模型,使用 TensorFlow 的
RunInference
轉換。
我想使用生成式 AI
使用
RunInference
轉換功能執行生成式 AI 工作。這本筆記本使用 Hugging Face Model Hub 的語言模型。
機器學習工作流程自動化調度管理
我想搭配 Vertex AI Pipelines 使用 Dataflow
Vertex AI Pipelines 可讓您以無伺服器的方式自動化調度管理機器學習工作流程,以便自動化處理、監控及管理機器學習系統。使用 Vertex AI Pipelines 調度管理 TFX 或 KFP 定義的工作流程 DAG,並使用 Vertex 機器學習中繼資料自動追蹤機器學習構件。
我想搭配 TFX 使用 Dataflow
TensorFlow Extended (TFX) 可讓您使用自動化調度管理架構部署完整的機器學習管線,該架構內建與 Apache Beam 和 Dataflow 執行器的整合功能。
我想搭配 KFP 使用 Dataflow
Kubeflow 可簡化在 Kubernetes 中部署機器學習工作流程的作業,並提高其可攜性與可擴充性。Kubeflow Pipelines 是使用 Kubeflow Pipelines SDK 建構的可重複使用完整機器學習工作流程。
其他功能
使用 GPU
在 Dataflow 工作中使用 GPU,可加速影像處理和機器學習處理工作。瞭解 Dataflow 支援的 GPU 類型,以及不同工作負載建議使用的 GPU 類型。
混用 CPU 和 GPU,並適當配置資源
混用 GPU 和 CPU,以提高效能並降低成本。您可以將資源指定給特定管道步驟,進一步提升管道的彈性和功能,並節省費用。
使用特徵商店資料充實串流管道
Apache Beam 提供可新增至管道的現成擴充轉換,簡化資料擴充工作流程。
資源
執行跨語言管道
如要搭配 Java 管道使用 RunInference,請建立跨語言 Python 轉換。管道會呼叫轉換作業,執行預先處理、後續處理和推論。
Dataflow 權限
如要執行 Dataflow ML 範例,您可能需要設定 Google Cloud 權限。請參閱詳細指南,瞭解 Dataflow pipeline 的必要權限。
前往 GitHub 查看範例
您可以在 GitHub 找到範例和對應的原始碼。您也可以在 GitHub 中找到在 Colab 中執行範例的操作說明。