MLOps 基础系列指南,附带Jupyter Notebook实验

本系列旨在帮助您了解 MLOps 的基本概念和实践,包括模型构建、监控、配置、测试、打包、部署、CI/CD 等内容。每周我们将专注于一个主题,逐步构建对 MLOps 的全面理解。下面这张图就是所有数据分析师、Data scientist、算法工程师岗必须的技术栈。还有 Jupyter Notebook 实验哦。 项目地址

MLOps 基础系列指南,附带 Jupyter Notebook 实验
MLOps 基础系列指南,附带 Jupyter Notebook 实验

第 0 周:项目搭建

技术栈:

  • Huggingface Datasets
  • Huggingface Transformers
  • PyTorch Lightning

关键点:

  1. 数据获取: 学习如何从各种来源获取并收集所需的数据集。
  2. 数据处理: 掌握清洗、预处理和增强数据的方法,使其适合模型训练。
  3. 数据加载器定义: 学习如何创建高效的数据加载器,以便在训练过程中批量处理数据。
  4. 模型定义: 了解如何使用 PyTorch Lightning 定义和构建深度学习模型。
  5. 模型训练: 掌握训练模型的流程,包括设置训练参数和监控训练过程。
  6. 模型推理: 学习如何使用训练好的模型进行预测和评估其性能。

第 1 周:模型监控 – Weights and Biases

技术栈:

  • Weights and Biases (W&B)
  • torchmetrics

关键点:

  1. W&B 基础配置: 学习如何在项目中集成 W&B 进行实验跟踪。
  2. 指标计算与记录: 掌握如何计算关键性能指标并将其记录到 W&B 仪表板中。
  3. 添加可视化图表: 学习如何在 W&B 中创建和添加训练过程中的各种可视化图表。
  4. 记录数据样本: 了解如何将数据样本上传到 W&B,以便更直观地了解模型表现。
  5. 比较不同实验: 学习如何在 W&B 中比较不同的实验结果,帮助优化模型性能。

第 2 周:配置管理 – Hydra

技术栈:

  • Hydra

关键点:

  1. Hydra 基础: 了解 Hydra 的核心概念和用途。
  2. 配置覆盖: 学习如何在运行时动态修改和覆盖默认配置。
  3. 多文件配置管理: 掌握如何将配置拆分到多个文件中,提升配置的可读性和可维护性。
  4. 变量插值: 学习如何在配置文件中进行变量引用和插值,避免重复定义。
  5. 多参数组合运行: 了解如何使用 Hydra 方便地运行模型的不同参数组合实验。

第 3 周:数据版本控制 – DVC

技术栈:

  • DVC (Data Version Control)

关键点:

  1. DVC 基础: 了解 DVC 的工作原理及其在机器学习项目中的重要性。
  2. 初始化 DVC: 学习如何在项目中初始化和配置 DVC。
  3. 远程存储配置: 掌握如何设置远程存储,用于保存和共享大型数据集和模型文件。
  4. 保存和追踪模型: 学习如何使用 DVC 版本化和管理模型文件,确保可重复性。
  5. 数据集版本控制: 了解如何使用 DVC 追踪不同版本的数据集,方便实验管理。
  6. 与 Git 集成: 学习如何将 DVC 与 Git 结合,实现代码和数据的统一版本控制。

第 4 周:模型打包 – ONNX

技术栈:

  • ONNX (Open Neural Network Exchange)
  • ONNX Runtime

关键点:

  1. 了解 ONNX: 掌握 ONNX 的概念及其在模型跨平台部署中的作用。
  2. 模型转换为 ONNX 格式: 学习如何将训练好的模型转换为 ONNX 格式,以提高兼容性。
  3. 使用 ONNX Runtime 进行推理: 了解如何使用 ONNX Runtime 加速模型推理过程。
  4. 性能比较: 对比原始模型与 ONNX 模型的性能差异,评估转换效果。
  5. 跨平台部署: 学习如何利用 ONNX 将模型部署到不同的平台和设备上。
  6. 调试与优化: 掌握在 ONNX 中调试和优化模型的方法,确保模型高效运行。

第 5 周:模型打包 – Docker

技术栈:

  • Docker
  • FastAPI

关键点:

  1. FastAPI 封装: 学习如何使用 FastAPI 将模型包装成可供服务的 API。
  2. Docker 基础: 了解 Docker 的核心概念和容器化的优势。
  3. 构建 Docker 镜像: 学习如何将模型和服务打包成 Docker 镜像,方便部署和分发。
  4. Docker Compose: 掌握如何使用 Docker Compose 管理多容器应用,实现复杂服务的部署。
  5. 环境一致性: 了解如何利用 Docker 保证开发、测试和生产环境的一致性,减少部署问题。
  6. 优化镜像大小: 学习如何减小 Docker 镜像的体积,提高部署和启动效率。

第 6 周:持续集成 / 持续部署 (CI/CD) – GitHub Actions

技术栈:

  • GitHub Actions
  • Docker
  • Google Cloud Services

关键点:

  1. GitHub Actions 基础: 了解 GitHub Actions 的工作流程和配置方法。
  2. 编写首次 GitHub Action: 学习如何创建和配置简单的自动化工作流程。
  3. 创建 Google 服务账号: 掌握如何创建和配置用于访问云服务的安全服务账号。
  4. 为 DVC 配置服务账号访问: 学习如何使用服务账号在 DVC 中安全地访问远程存储。
  5. 配置 CI/CD 流水线: 了解如何使用 GitHub Actions 自动化构建、测试和部署流程。
  6. 集成 Docker 部署: 学习如何在 CI/CD 流水线中构建和部署 Docker 容器。
  7. 错误处理和通知: 掌握如何在流水线中捕获错误并配置通知机制,及时响应问题。

第 7 周:容器注册表 – AWS ECR

技术栈:

  • AWS ECR (Elastic Container Registry)
  • AWS S3
  • Docker
  • GitHub Actions

关键点:

  1. S3 基础: 了解 Amazon S3 的存储服务及其在数据存储中的应用。
  2. 编程访问 S3: 学习如何通过代码与 S3 交互,实现数据的上传、下载和管理。
  3. 将 S3 配置为 DVC 远程存储: 掌握如何使用 S3 作为 DVC 的远程存储,管理大型数据集和模型。
  4. ECR 基础: 了解 AWS ECR 的功能,用于安全存储和管理 Docker 镜像。
  5. 将 Docker 镜像推送到 ECR: 学习如何将构建好的 Docker 镜像上传到 ECR,方便后续部署。
  6. 配置 GitHub Actions 使用 S3 和 ECR: 学习如何在 CI/CD 流水线中集成 S3 和 ECR,实现自动化部署。
  7. 访问控制和权限管理: 了解如何管理对 S3 和 ECR 的访问权限,确保资源安全。

第 8 周:无服务器部署 – AWS Lambda

技术栈:

  • AWS Lambda
  • AWS API Gateway
  • Docker
  • GitHub Actions

关键点:

  1. 无服务器架构基础: 了解无服务器架构的概念和优势,以及适用的应用场景。
  2. AWS Lambda 基础: 学习如何在 AWS Lambda 上部署和运行代码,实现弹性伸缩。
  3. 使用 API Gateway 触发 Lambda: 掌握如何配置 API Gateway,使其作为 Lambda 的触发器,提供 API 服务。
  4. 部署容器到 Lambda: 学习如何将 Docker 容器部署到 Lambda,简化环境配置。
  5. 配置 GitHub Actions 自动部署到 Lambda: 了解如何通过 CI/CD 流水线实现代码的自动化部署和更新。
  6. 性能监控与日志记录: 学习如何监控 Lambda 的性能,并使用 CloudWatch 记录和分析日志。
  7. 成本优化: 了解如何通过无服务器架构优化资源使用和降低运营成本。

第 9 周:预测监控 – Kibana

技术栈:

  • AWS CloudWatch
  • ElasticSearch
  • Kibana

关键点:

  1. CloudWatch 日志基础: 了解如何使用 CloudWatch 记录和监控应用日志和指标。
  2. 创建 ElasticSearch 集群: 学习如何在 AWS 上部署和配置 ElasticSearch 集群,用于数据存储和检索。
  3. 将 CloudWatch 日志导入 ElasticSearch: 掌握如何将 CloudWatch 中的日志数据同步到 ElasticSearch,便于分析。
  4. 在 Kibana 中创建索引模式: 学习如何在 Kibana 中定义数据索引模式,组织和结构化日志数据。
  5. 创建 Kibana 可视化: 了解如何使用 Kibana 创建各种图表和可视化,直观展示模型预测性能。
  6. 构建 Kibana 仪表板: 学习如何将多个可视化组合成综合仪表板,实现对模型预测的全面监控。
  7. 实时监控和报警: 掌握设置实时监控和报警机制的方法,及时发现和响应模型预测中的异常情况。

通过本系列的学习,您将系统地掌握 MLOps 的各个关键环节,从模型的构建、部署到监控,全面提升机器学习项目的开发和运维能力。

正文完
 
admin
版权声明:本站原创文章,由 admin 2024-09-03发表,共计3196字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请联系tensortimes@gmail.com。