你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

深度学习(预览)

你可以使用 Azure Synapse Analytics 中的 Apache Spark 通过大数据进行机器学习,以便从大量结构化、非结构化和快速移动的数据中获得有价值的见解。 使用 Azure Synapse Analytics 中的 Apache Spark 训练机器学习模型时,有以下几个选项可供选择:Apache Spark MLlib、Azure 机器学习和其他各种开源库。

警告

  • GPU 加速预览版仅限用于 Apache Spark 3.2(已宣布终止支持)运行时。 已于 2023 年 7 月 8 日宣布终止对 Azure Synapse Runtime for Apache Spark 3.2 的支持。 已宣布终止支持的运行时不会收到 bug 和功能修复。 安全修补程序将基于风险评估进行向后移植。 自 2024 年 7 月 8 日起,此运行时以及 Spark 3.2 上的相应 GPU 加速预览版将会停用并被禁用。
  • 目前,GPU 加速预览版在 Azure Synapse 3.1(不支持)运行时上不受支持。 Azure Synapse Runtime for Apache Spark 3.1 已于 2023 年 1 月 26 日终止支持,并于 2024 年 1 月 26 日起停止提供官方支持,即在此日期之后不再处理支持工单以及提供 bug 修复或安全更新。

已启用 GPU 的 Apache Spark 池

为了简化创建和管理池的过程,Azure Synapse 负责预安装低级别库,并设置计算节点之间的所有复杂网络要求。 此集成允许用户在数分钟内开始使用 GPU 加速池。

注意

  • 可以在位于美国东部、澳大利亚东部和北欧的工作区中创建 GPU 加速池。
  • GPU 加速池仅适用于 Apache Spark 3.1(不支持)和 3.2 运行时。
  • 可能需要请求提高限制才能创建启用 GPU 的群集。

GPU ML 环境

Azure Synapse Analytics 为深度学习基础结构提供内置支持。 适用于 Apache Spark 3 的 Azure Synapse Analytics 运行时可以支持最常见的深度学习库(如 TensorFlow 和 PyTorch)。 Azure Synapse 运行时还包括支持库,例如 Petastorm 和 Horovod,它们通常用于分布式训练。

Tensorflow

TensorFlow 是面向所有开发人员的开源机器学习框架。 它用于实现机器学习和深度学习应用程序。

有关 Tensorflow 的更多信息,你可以访问 Tensorflow API 文档

PyTorch

PyTorch 是一个优化的张量库,用于使用 GPU 和 CPU 进行深度学习。

有关 PyTorch 的更多信息,你可以访问 PyTorch 文档

Horovod

Horovod 是适用于 TensorFlow、Keras 和 PyTorch 的分布式深度学习训练框架。 Horovod 的开发目标是让分布式深度学习变得快速且易于使用。 使用此框架,只需几行代码,现有的训练脚本就可以扩展为在数百个 GPU 上运行。 此外,Horovod 可以在 Apache Spark 之上运行,从而可以将数据处理和模型训练统一到一个管道中。

要详细了解如何在 Azure Synapse Analytics 中运行分布式训练作业,可以访问以下教程: - 教程:使用 Horovod 和 PyTorch 进行分布式训练 - 教程:使用 Horovod 和 Tensorflow 进行分布式训练

有关 Horovod 的更多信息,你可以访问 Horovod 文档

Petastorm

Petastorm 是一个开源数据访问库,可实现深度学习模型的单节点或分布式训练。 该库支持直接从 Apache Parquet 格式的数据集和已作为 Apache Spark DataFrame 加载的数据集进行训练。 Petastorm 支持流行的训练框架,例如 Tensorflow 和 PyTorch。

有关 Petastorm 的详细信息,可以访问 Petastorm GitHub 页Petastorm API 文档

后续步骤

本文概述了用于在 Azure Synapse Analytics 的 Apache Spark 池中训练机器学习模型的各种选项。 若要详细了解模型训练,请参阅以下教程: