MLOps并不是那么简单,尤其是在当今MLOps不断变化的环境中。MLOps存在许多挑战——构建、集成、测试、发布、部署和基础架构管理,您需要经常关注最新的MLOps实践并且知道如何适应这些挑战。
如果你不学习和发展自己的知识,你就会被圈子淘汰。正确的资源可以帮助您遵循最佳实践、发现有用的提示并了解最新趋势。
我们已经为您整理了一系列干货资料,便于你了解最新趋势以及MLOps实践。这些资料包括书籍、文章、课程等。
MLOps书籍
1. 《Introducing MLOps》
《Introducing MLOps》是由MarkTreveil和Dataiku团队撰写的一本书。它介绍了MLOps的关键概念,展示了如何随着时间的推移维护和改进机器学习模型,并提出了应对MLOps挑战的解决方案。
这本书是专门为数据分析和IT运维团队的经理编写的——他们直接面临生产中的大规模机器学习的任务。这本书是成功创建MLOps环境的指南,从组织到所涉及的技术挑战。本书分为3个部分:
(1)第一部分是MLOps介绍,它是如何以及为什么发展成为一门学科的,需要谁参与才能成功执行MLOps,以及需要哪些组件。
(2)第2部分遵循机器学习模型的生命周期,包括开发模型、准备生产、部署、监控和治理的章节。
(3)第3部分提供了市面上企业中MLOps的实际案例,以便读者了解实践中的设置及意义。
2. 《What Is MLOps?》
MarkTreveil和LynnHeidmann的《What Is MLOps ?》是一份详尽的报告,面向希望了解并学习MLOps的商业领袖,这些商业领袖将MLOps作为一个产生长期价值同时降低数据科学、机器学习和人工智能项目相关风险的过程。以下是这份报告包括的内容:
(1)机器学习模型构建的详细组件,包括业务洞察如何为技术团队提供价值;
(2)人工智能项目生命周期中的监控和迭代步骤,以及业务在这两个过程中扮演的角色;
(3)现代人工智能治理策略的组成部分如何与MLOps融合在一起;
(4)为了开始启动MLOps所需要的协调人员、定义流程和组装的技术指南。
3. 《Practical MLOps》
Noahgift和AlfredoDez所著《Practical MLOps》一书是一本富有洞察力的指南,它将带您了解MLOps是什么,它与DevOps的区别,并向您展示如何将其付诸实践来操作您的机器学习模型。你将从书中学到:
(1)将DevOps的最佳实践应用于机器学习;
(2)构建用于生产的机器学习系统并维护它们;
(3)监控、配置、负载测试和操作机器学习系统;
(4)为给定的机器学习任务选择正确的MLOps工具;
(5)在各种平台和设备上运行机器学习模型,包括手机和专用硬件。
这是GitHub上的免费版本。该链接存储了《Practical MLOps》一书的代码示例。
4. 《Reliable Machine Learning》
无论您是小型初创公司还是全球大型企业,这本实用书都会向数据科学家、网站可靠性工程师和企业负责人展示如何在您的组织内可靠、有效和负责任地运行机器学习。您将深入了解以下所有内容:如何在生产中进行模型监控,如何在产品团队中经营一个良好的模型开发团队。
通过将网站可靠性工程师的思维方式应用于机器学习,作者和工程专业人士Cathy Chen、Kranti Parisa、Niall Richard Murphy、D.Sculley、Todd Underwood和特邀嘉宾向您展示了如何运行高效的机器学习系统。无论您是想增加收入、优化决策、解决问题,还是了解和影响客户行为,您都将学到如何执行日常机器学习任务,同时牢记大局。
具体来说,您将学习到以下内容:
(1)什么是机器学习:它如何运作以及它依赖于什么?
(2)理解清楚机器学习工作流的概念框架。
(3)有效的“生产化”,以及如何使其易于监控、部署和操作。
(4)为什么机器学习系统会使生产故障排除变得更加困难,以及如何绕过它们?
(5)机器学习、产品和生产团队如何有效沟通?
5. 《Designing Machine Learning Systems》
机器学习系统既复杂又独特。复杂是因为它们由许多不同的组件组成并涉及许多不同的利益相关者。独特是因为它们依赖于数据,数据从一个用例到下一个用例变化很大。
在本书中,您将学习一种整体方法来设计可靠、可扩展、可维护并能适应不断变化的环境和业务需求的机器学习系统。
ClaypotAI的联合创始人Chip Huyen考虑了每个设计决策——例如为了帮助您的系统作为一个整体实现其目标,如何处理和创建训练数据、使用哪些功能、重新训练模型的频率以及监控什么。本书中的迭代框架使用的是由大量参考文献支持的实际研究案例。
本书将有助于您处理以下场景:
(1)策划处理数据并选择正确的指标来解决业务问题;
(2)自动化持续开发、评估、部署和更新模型的过程;
(3)开发监控系统以快速检测和解决模型在生产中可能遇到的问题;
(4)构建跨用例服务的机器学习平台;
(5)开发可靠的机器学习系统。
6. 《Machine Learning Engineering》
“如果你打算使用机器学习来大规模解决业务问题,我很高兴你能接触到这本书。”——谷歌首席决策科学家Cassie Kozyrkov。
这本书因其专注于实际机器学习中非常重要的主题而受到了几位工业巨头的引人注目的评价。它很好地讨论并解决了以下问题:
l 概述了监控的重要性;
l 如何进行模型维护;
l 出现问题时该怎么办;
l 对于那些你无法预料的错误,如何考虑后备策略;
l 如何对付试图利用你系统的对手;
l 如何管理用户的期望。
它提供了对机器学习工程最佳实践和设计模式的全面回顾,因此,如果您希望更好地安排自己的工作,或者寻找与可重复性、可扩展性和模型版本控制相关的解决方案,那么这本书适合您。
MLOps课程
1. DeepLearning.AI的MLOps specialization课程
本课程由人工智能先驱Andrew NG(吴恩达)策划的,他是世界上最有影响力的计算机科学家之一,与他人共同创立了Google Brain和Coursera,并在百度领导了人工智能研究,他的机器学习专业课程至仍然被认为是最适合初学者的商业课程。
The Machine Learning Engineering for Production(MLOps) Specialization专项课程涵盖如何构思、构建和维护在生产中持续运行的集成系统。与标准机器学习建模形成鲜明对比的是,生产系统需要处理不断变化的数据,此外,生产系统必须以最低成本不间断运行,同时产生最高性能。在这个专项课程中:
(1)您将学习如何使用成熟的工具和方法有效地完成所有这些工作;
(2)您将熟悉机器学习工程在生产中的功能、挑战和结果;
(3)最后,您将准备好运用新的生产就绪(production-ready)的技能参与前沿人工智能技术的开发,以解决现实世界的问题。
2. GoogleCloud提供的MLOps Fundamentals
如果您希望围绕某个平台(例如Google Cloud Platform谷歌云平台)建立您的MLOps专业知识,那么这可能是适合您的课程。本课程向参与者介绍在谷歌云上部署、评估、监控和操作生产机器学习系统的MLOps工具和最佳实践。本课程主要受众有:
(1)希望快速从用于生产的机器学习原型到产生商业影响的数据科学家;
(2)希望发展机器学习工程技能的软件工程师;
(3)希望在其机器学习生产项目中采用谷歌云的机器学习工程师。
您将学到:
(1)识别并使用可支持MLOps的核心技术;
(2)在机器学习系统环境中应用持续集成/持续部署的最佳实践;
(3)为可靠且有效的MLOps环境配置谷歌云架构;
(4)实施可靠且可重复的训练和推理工作流程。
3. 斯坦福大学的MLSys研讨会系列
斯坦福大学的MLSys研讨会是一系列专注于机器学习和机器学习系统的研讨会——关于工具和用于编程机器学习模型的所有技术。
该课程于2020年秋季开始,每个演讲都在这个研讨会系列中直播,美国时间每周四在油管上更新1-2节,你可以在实时聊天中提问。会谈的视频回放也可以在油管上找到。本课程的目标是协助整理机器学习系统中出色工作的课程,以帮助将研究重点引向有趣的问题上。
MLOps社区
1. Slack上的MLOps.community
这绝对是最好的MLOps社区(https://mlops.community/)。几乎10,000名从业者聚集在这个地方,提出问题、分享知识,并就MLOps的所有事情互相交谈。
虽然MLOps与DevOps有很多共同点,但它们的不同之处与相似之处一样大。我们需要一个专注于解决我们每天在构建生产人工智能/机器学习工作流时面临的独特挑战的社区。加入这个对所有人开放的社区吧,与我们一起学习、分享知识、问问题、得到答案,一起解决那些挑战。
2. CDF特别兴趣小组–MLOps
为了应对机器学习中的持续集成/持续部署挑战,由持续部署基金会管理的MLOps SIG已成立,其目标如下:
l MLOps定义和路线图:为MLOps创建愿景和路线图,说明它的含义以及它在持续集成/持续部署生态系统中的作用。
l 参考架构和设计模式:为MLOps创建参考架构、设计模式、实现以及流程。
l AI治理和风险管理:围绕族系跟踪、元数据收集、实验跟踪、数据版本控制、ETL操作等定义架构和指南,在这里典型的数据和机器学习管道应支持道德人工智能的可用性。
您可以在Slack社区上加入#sig-mlops频道。
MLOps播客
1. Neptune.ai的MLOps直播
这是由Neptune.ai经营的节目/播客。它是一个双周问答,一些在合理的规模下邀请机器学习的从业者回答其他机器学习从业者的问题。做这个节目的初衷是因为在与许多机器学习团队交谈后,意识到他们都想更多地了解像他们这样的团队如何解决他们的问题,而找到这种资源并不容易,所以节目组织者认为可以尝试改变这一点。
Podcasts(播客)是一种非常实际的方式。为什么不用PPT呢?当然,PPT很棒,但有时您几乎想立即跳到问答部分,永远没有足够的时间,对吧?这通常是谈话中最有趣的部分。所以组织者决定让整个事情成为现场问答。每一集都关注与生产机器学习相关的不同主题,并且充满了有趣的内容,这些内容在博客文章中是找不到的,是只有从业者问同行才能得到的东西。
2. MLOps.community播客
MLOps.community是由Demetrios Brinkmann主持的播客。它每周一次谈话的所有内容都与DevOps应用于机器学习 (又名MLOps,Machine Learning Operations)有关。
这个播客中包括采访、与有趣的人的对话、提示、关于挑战与趋势等的讨论。
3. TWIML播客
This Week的播客是人工智能和机器学习领域的领军话题,下载量超过700万次,拥有大量用户参与的社区。通过其播客,它旨在将来自机器学习和人工智能世界的顶尖思想和想法带到一个由机器学习/人工智能研究人员、数据科学家、工程师以及精通技术的商业和IT领导者组成的广泛而有影响力的社区。
TWIMLAI播客由广受欢迎的行业分析师、演讲者、评论员和思想领袖Sam Charrington主持。Sam的研究重点是机器学习和人工智能的商业和消费者应用,将人工智能驱动的产品推向市场,以及支持人工智能的技术平台。
4. ZenML的Pipeline Conversations ML播客
Pipeline Conversations是一个每两周一次的播客,为您带来与行业领导者、顶级技术专业人士和其他人的访谈和讨论。它讨论了机器学习、深度学习和人工智能的最新发展,特别关注MLOps以及如何在生产中使用经过训练的模型。
它于2021年11月首次播出,迄今已播出15集,涵盖从生产机器学习模型到监控模型的各种主题。
它可在许多平台上使用,例如亚马逊音乐、谷歌播客、Overcast、Spotify和Stitcher。
MLOps会议
1. MLOps World
MLOps World是一个由实践者组成的国际社区团体,旨在更好地了解将机器学习模型部署到实时生产环境中的科学性。该团体组织年度会议、活动和聚会,参与者有机会参与各种研讨会,并听取来自微软、亚马逊、Lyft等领先科技公司的机器学习高管的意见。
该计划由多伦多机器学习学会(TMLS)创建,旨在团结和支持更广泛的人工智能生态系统、公司、从业者、学者和开源社区的贡献者。他们的活动包括但不限于:
l 定期举行社交聚会;
l 知识共享和职业发展;
l 确定将模型部署到实时生产环境中的机会和有效实践、方法和原则;
l 独特的本地和全球合作伙伴关系;
l 招聘和人才培养;
l 多元化和包容性团队的成长。
2. Tecton的apply()
“我们去年推出了apply()活动系列,以满足在生产中部署机器学习的MLOps团队对更多实用知识的需求”–Mike Del Balso,Tecton的CEO。
apply()是Tecton针对应用机器学习的数据工程计划的一系列活动。这一系列活动中的最新活动是apply(conf),这是一个以从业者为中心的会议,讨论机器学习工程师在构建和部署机器学习模型时面临的挑战,主题包括:
l 最佳实践开发模式;
l 选择的工具和基础设施;
l 管理标签工作流;
l 实时转换和提供功能;
l 大规模服务。
他们的活动包括研讨会和面对面的社交活动,以最大限度地提高学习和交流机会,您可以加入他们的slack社区,以跟踪他们即将举行的聚会和会议。
其他MLOps资源
1. ML-Ops.org和Awesome MLOps
ML-ops.org网站作为MLOps的指南,解释了各种概念,例如其背后的原理、构成MLOps的组件、用于管理的各种工具和框架等等。凭借高质量的图形和精心策划的内容,对于希望开始使用MLOps的任何人来说,它都是一个宝贵的资源。本网站上列出的大量参考文献使其更加有用。
Awesome MLOps是由ml-ops.org背后的人创建的MLOps参考列表。它是指向众多资源的链接列表,从书籍、文章、社区等等开始。总而言之,它包含您可能读到的有关MLOps的所有信息。目录包括:MLOps论文、关于MLOps的讨论、现有的机器学习系统、机器学习、机器学习/人工智能的软件工程产品管理、机器学习/人工智能的经济学、模型治理、伦理、负责任的人工智能。
需要注意的是,如果您想浏览所有链接,这可能是一本艰难而漫长的阅读,但如果您想了解有关MLOps的所有信息,它是最好的资源之一。
2. 谷歌云
MLOps: Continuous delivery and automation pipelines in machine learning,这份资料是谷歌的一份文档,其中“讨论了用于机器学习(ML)系统的实现和自动化持续集成(CI)、持续交付(CD)和持续训练(CT)的技术”。
如果您是MLOps的新手,本文档可能是一个很好的知识来源,因为它涉及一些基本概念;如果您是MLOps资深人士,您也会发现刷新和巩固您的知识很有帮助。它还可以帮助您可靠地大规模构建和运行机器学习系统。
3. Azure的MLOps
如果您希望开始使用Azure上的MLOps,这是一个很好的资源。它有点类似于谷歌云提供的资源,但它不是一门课程,它更像是一个自己动手做的项目。该项目旨在:
(1) 让您了解Azure提供的许多资产管理和编排服务,以帮助您管理模型训练和部署工作流的生命周期;
(2) 关于使用Microsoft Azure训练和操作模型的最佳实践;
(3) 提供真实世界的示例以帮助您着手使用相同的示例。
4. MLOps论文
如果您喜欢直接从源代码中阅读任何内容,那么这里有一个对您非常有用的链接,它包含自2015年以来有关机器学习操作的所有学术届和工业届的研究论文,用正确的方式讨论了从技术债务(technical debt)到工程整个机器学习系统的所有内容。