跳至主要内容

深度学习

深度学习领域见证了前所未有的飞速发展,其处理海量数据和捕捉复杂模式的能力正在革新众多行业。从自动驾驶汽车的实时目标检测到通过生成对抗网络生成艺术作品,从聊天机器人中的自然语言处理应用到电子商务中的预测分析,深度学习模型正引领着当今人工智能驱动的创新浪潮。

在深度学习领域,PyTorch、Keras、TensorFlow 等库提供了构建和训练深度学习模型的便捷工具。另一方面,MLflow 旨在解决深度学习中的实验跟踪问题,包括记录您的实验设置(学习率、批大小等)以及训练指标(损失、准确率等)和模型(架构、权重等)。MLflow 提供与深度学习库的原生集成,因此您只需对代码进行最小改动,即可将 MLflow 插入到现有的深度学习工作流中,并在 MLflow UI 中查看您的实验。

为什么将 MLflow 用于深度学习?

MLflow 提供了一系列功能,为您的深度学习工作流赋能

  • 实验跟踪:MLflow 跟踪您的深度学习实验,包括参数、指标和模型。您的实验将存储在 MLflow 服务器中,方便您比较不同实验并进行共享。
  • 模型注册表:您可以在 MLflow 服务器中注册训练好的深度学习模型,以便后续轻松检索进行推理。
  • 模型部署:训练完成后,您可以使用 MLflow 将训练好的模型作为 REST API 端点提供服务,以便轻松将其集成到您的应用程序中。

实验跟踪

跟踪是 MLflow 生态系统的基石,对于深度学习的迭代特性尤为重要

  • 实验和运行:将您的深度学习项目组织成实验,每个实验包含多次运行。每次运行都捕获关键数据,例如不同训练步骤的指标、超参数和代码状态。
  • 工件:存储重要输出,例如深度学习模型、可视化或 TensorBoard 日志。此工件仓库可确保可追溯性和轻松访问。
  • 分步指标:鉴于深度学习的迭代特性,MLflow 允许在不同训练步骤记录指标,提供模型进展的详细视图。
  • 依赖项和环境:捕获计算环境,包括深度学习框架的版本,确保可重现性。
  • 输入示例和模型签名:定义模型输入的预期格式,这对于图像或序列等复杂数据至关重要。
  • UI 集成:增强的 UI 提供深度学习运行的可视化概览,方便比较和深入了解训练进度。
  • 搜索功能:使用强大的搜索功能高效地浏览您的深度学习实验。
  • API:通过编程方式与跟踪系统交互,无缝集成深度学习工作流。

使用图表更轻松地比较 DL 模型

使用图表轻松比较深度学习 (DL) 模型训练收敛情况。在训练迭代中快速识别更优的配置集。

模型注册表

深度学习模型的集中存储库

  • 版本控制:处理深度学习模型的多次迭代和不同版本,方便比较或回滚。
  • 注释:向模型附加注释、训练数据集或其他相关元数据。
  • 生命周期阶段:清晰定义每个模型版本的阶段,确保部署和进一步微调的清晰性。

模型部署

将深度学习模型从训练过渡到实际应用

  • 一致性:确保模型,尤其是那些依赖 GPU 的模型,在不同部署环境中行为一致。
  • Docker 和 GPU 支持:部署在容器化环境中,确保所有依赖项(包括 GPU 支持)都已封装。
  • 可伸缩性:从部署单个模型到服务多个分布式深度学习模型,MLflow 可根据您的需求进行扩展。

原生库支持

MLflow 与 PyTorch、Keras 和 TensorFlow 等常用深度学习库原生集成,您可以轻松地将 MLflow 插入您的工作流,提升您的深度学习项目。

有关如何将 MLflow 与这些库集成的详细指南,请参阅以下页面