Made With ML:打造生产级机器学习应用的实用指南
在当今数据驱动的时代,机器学习正在各行各业发挥着越来越重要的作用。然而,将机器学习模型从实验阶段推向生产环境,并非易事。为了帮助开发者掌握这一技能,Goku Mohandas创建了Made With ML这一开源课程,旨在教授如何设计、开发、部署和迭代生产级机器学习应用。
课程概览
Made With ML课程涵盖了机器学习应用开发的全流程,从实验阶段(设计和开发)到生产阶段(部署和迭代)。课程采用迭代的方式,逐步引入构建可靠生产系统所需的各个组件。
课程的主要特点包括:
-
💡 第一性原理: 在直接编码之前,课程会深入讲解每个机器学习概念的基本原理。
-
💻 最佳实践: 在开发和部署机器学习模型的过程中,实施软件工程的最佳实践。
-
📈 可扩展性: 使用Python轻松扩展机器学习工作负载(数据、训练、调优、服务),无需学习全新的语言。
-
⚙️ MLOps: 在构建端到端机器学习系统时,连接各种MLOps组件(跟踪、测试、服务、编排等)。
-
🚀 从开发到生产: 学习如何快速可靠地从开发过渡到生产,无需更改代码或基础设施管理。
-
🐙 CI/CD: 学习如何创建成熟的CI/CD工作流,以模块化的方式持续训练和部署更好的模型,可与任何技术栈集成。
课程内容
Made With ML课程的内容非常丰富,涵盖了机器学习应用开发的各个方面。以下是课程的主要模块:
-
🎨 设计
- 环境设置
- 产品设计
- 系统设计
-
🔢 数据
- 数据准备
- 数据探索
- 数据预处理
- 分布式数据处理
-
🤖 模型
- 模型训练
- 实验跟踪
- 超参数调优
- 模型评估
- 模型服务
-
💻 开发
- 脚本编写
- 命令行工具
-
📦 工具
- 日志记录
- 文档编写
- 代码风格
- 预提交钩子
-
🧪 测试
- 代码测试
- 数据测试
- 模型测试
-
♻️ 可重现性
- 版本控制
-
🚀 生产
- 作业和服务
- CI/CD工作流
- 监控
- 数据工程
实践项目
为了将理论知识付诸实践,课程设计了一个端到端的机器学习项目。在这个项目中,学员将微调一个大型语言模型(LLM)用于监督文本分类任务。虽然具体任务是NLP领域的,但课程中学到的知识和技能可以轻松扩展到其他应用领域(如计算机视觉、时间序列等)、模型类型(从回归到LLM)、数据模态(表格、文本等)以及不同的云平台和规模。
面向的受众
Made With ML课程适合多种背景的学习者:
-
👩💻 所有开发者: 无论是软件/基础设施工程师还是数据科学家,机器学习正日益成为产品开发的关键部分。
-
👩🎓 大学毕业生: 学习行业所需的实用技能,弥合大学课程与行业期望之间的差距。
-
👩💼 产品/领导层: 希望建立技术基础,以便能够构建由机器学习驱动的出色(且可靠的)产品。
课程特色
-
开源免费: 所有课程内容和代码都在GitHub上开源,任何人都可以免费访问和学习。
-
实用性强: 课程注重实践,每个单元都有代码实现,将概念具体化为端到端项目。
-
最新技术: 课程内容会定期更新,以反映不断发展的机器学习生态系统。
-
社区支持: 有活跃的学习社区,可以与其他学习者交流讨论。
-
灵活学习: 可以按照自己的节奏学习,也可以参加实时课程获得更多指导。
学习路径
要开始学习Made With ML课程,可以按照以下步骤进行:
-
访问Made With ML网站浏览课程内容。
-
克隆GitHub仓库获取所有代码和资源。
-
按照设置指南配置学习环境。
-
从Jupyter notebook开始,交互式地学习核心机器学习工作流程。
-
深入研究Python脚本,学习如何将notebook中的代码重构为生产级应用。
-
实践各个模块,如训练、调优、评估、推理和服务等。
-
学习如何使用MLflow进行实验跟踪和模型管理。
-
探索如何将应用部署到生产环境,包括使用Anyscale等工具。
-
学习如何设置CI/CD流程,实现持续集成和部署。
结语
Made With ML课程为那些希望掌握生产级机器学习应用开发技能的人提供了一个全面而实用的学习资源。通过结合理论知识、编码实践和工程最佳实践,该课程帮助学习者建立起从概念到生产的端到端机器学习能力。无论你是刚入门的新手,还是希望提升技能的经验开发者,Made With ML都能为你的机器学习之旅提供宝贵的指导。
随着数据规模的增长和模型的日益复杂,课程特别关注如何扩展机器学习工作负载并更快地将其推向生产。同时,课程始终强调第一性原理和编码最佳实践的重要性。通过Made With ML,你将学会如何负责任地利用机器学习为现实世界的应用创造价值。
开始你的Made With ML学习之旅吧,让我们一起探索机器学习的无限可能!