Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

一日千星的「机器学习系统设计指南」,这个英伟达小姐姐的项目火了

今年 8 月份,毕业于斯坦福、现就职于英伟达人工智能应用团队的一位小姐姐在推特上列出了十大优质的免费机器学习课程资源,并将它们串成了一条高效的学习路线。该课程资源现已获得 8000 多赞。近日,她又为读者带来了新的福利,这次是深度学习系统的设计教程。

机器学习模型变为可以提供服务和 AI 能力的系统是近来备受关注的话题。Chip Huyen 此次公开的深度学习系统设计教程是一篇 8000 字的长文,得到了广泛的关注。目前其推特已有 5000 赞,而 GitHub 项目也在一天内获得了 1000 多星。
  • 教程地址:https://github.com/chiphuyen/machine-learning-systems-design/blob/master/build/build1/consolidated.pdf

  • 项目地址:https://github.com/chiphuyen/machine-learning-systems-design

从理论到实践,八千字教程解读 ML 系统设计

该教程共包含四个部分:引言、机器学习系统的设计、案例教学和习题。其中,案例教学和习题部分分别包含 10 个生产环境经典案例和 27 个面试中可能遇到的问题。

全书主要以方法论为主,重点在于提供相应的指导原则,帮助读者思考构建系统的必要步骤。

引言

在第一部分,作者介绍了机器学习研究和生产的主要区别。这些区别体现在两个方面:性能需求和计算需求。

在性能需求方面,对于机器学习研究者而言,SOTA 就是一切。他们会不惜使用各种复杂的技术及其组合来追求百分之一的性能提升,但这种提升在生产环境中可能并不适用,而且会因为过于复杂而消耗更多计算资源。

在计算需求方面,由于目前流行的大模型需要昂贵的计算资源,因此如果想把这些模型应用到生产环境中,还需要社区去探索模型压缩、预训练等技术,使得模型更小、更快。生产领域的开发者应该时刻牢记以生产为目标进行机器学习系统的设计。

机器学习系统设计四部曲

第二部分是这本书的核心内容,即如何设计一个机器学习系统。作者将这一设计过程分为四步:项目设置、数据 pipeline、建模(选择、训练和调试模型)和服务(测试、部署和维护模型)。

作者提出的深度学习系统构建流程。

项目设置即对项目进行评估、设计的环节。这一环节的目标在于定义深度学习所需要解决的实际问题(产品的意义)、性能限制、项目限制、评估方法和个性化等。只有定义清楚项目的目标和实现方法,才能够确保构建的系统能够满足要求,解决实际问题。

数据是深度学习最不可或缺的部分,尽管研究领域的大部分模型都有着充足、平衡且干净的数据集,但是生产条件下则不一定。因此,系统设计中也需要考虑到数据的问题,包括如何获得可靠、充足、大量的数据,同时需要面对隐私保护、数据安全、数据存储和数据平衡方面的问题,并提供可行的解决方案。

在建模过程中,需要经过模型选型、训练、调试和评估几个环节。其中,在模型选择时需要考虑找到最合适的基准,如随机基准、人类基准或启发式基准。采用的模型则应当从简单到复杂,训练的过程也应当是从少量的数据开始,如果行得通就扩大模型规模,增加投入的数据批的大小,并进行调参工作。如果模型的推理性能不佳,则需要考虑是否是数据问题、错误的假设和模型/数据拟合,超参选择错误等。

在服务阶段,设计者需要考虑模型怎样根据接收到的输入提供合适的结果,用户怎样收到这些结果,怎样能够让他们的反馈更好地改进现有的模型。同时,模型也不是一成不变的,它需要不断地训练。从现有数据进行训练使其变得更精准与给模型增加一个新标签进行训练是不同的。前者只需要在现有模型上进行训练,而后者则需要从头开始训练。

10 个经典案例

为了避免理论上的「纸上谈兵」,在全书的第三部分,作者提供了 10 个案例教学,用于帮助读者理解理论,学习实践。

阅读这些案例可以学到如何在生产环境中克服种种部署要求和约束。Airbnb、Lyft、Uber、Netflix 等很多公司都开设了博客来介绍自己使用机器学习改进产品或生产流程的经验。需要面试的小伙伴可以经常浏览这些博客。本教程介绍了其中的一些精华案例,包括:

1. 利用机器学习预测 Airbnb 上的房屋价值。

  • 链接:https://medium.com/airbnb-engineering/using-machine-learning-to-predict-value-of-homes-on-airbnb-9272d3d4739d

2. 利用机器学习提高 Netflix 上的数据流质量。

  • 链接:https://medium.com/netflix-techblog/using-machine-learning-to-improve-streaming-quality-at-netflix-9651263ef09f

3. 缤客网 150 个成功的机器学习模型:从中学到的 6 个经验教训

  • 链接:https://blog.acolyer.org/2019/10/07/150-successful-machine-learning-models/

4. 从零到 400 万女性用户的时尚 APP——Chicisimo。

  • 链接:https://medium.com/hackernoon/how-we-grew-from-0-to-4-million-women-on-our-fashion-app-with-a-vertical-machine-learning-approach-f8b7fc0a89d7

5. 用机器学习驱动 Airbnb 搜索体验。

  • 链接:https://medium.com/airbnb-engineering/machine-learning-powered-search-ranking-of-airbnb-experiences-110b4b1a0789

6. Lyft 公司的反欺诈机器学习系统。

  • 链接:https://eng.lyft.com/from-shallow-to-deep-learning-in-fraud-9dafcbcef743

7. Instacart 外送服务中的路径优化。

  • 链接:https://tech.instacart.com/space-time-and-groceries-a315925acf3a

8. Uber 的大数据平台:具有分钟级延迟的 100+Petabytes。

  • 链接:https://eng.uber.com/uber-big-data-platform/

9. 利用计算机视觉深度学习来创建现代化的 OCR 管道。

  • 链接:https://blogs.dropbox.com/tech/2017/04/creating-a-modern-ocr-pipeline-using-computer-vision-and-deep-learning/

10. 利用 Uber 推出的 Michelangelo 机器学习平台来扩展机器学习

  • 链接:https://eng.uber.com/scaling-michelangelo/

27 个练习题

最后,还有 27 个练习题可供上手尝试。习题的答案将在《Machine Learning Interviews》一书中给出。

想贡献答案的同学可以戳:https://github.com/chiphuyen/machine-learning-systems-design/tree/master/answers

此外,作者提醒大家注意,这里的问题有些是模棱两可的。如果在面试中遇到这些问题,你需要引导面试官把问题描述清楚、缩小范围。

作者简介

Chip Huyen 是一位来自越南的作家和计算机科学家,现居于美国硅谷,就职于英伟达人工智能应用团队。

Chip Huyen。

她本科和硕士均就读于斯坦福大学计算机科学专业,曾开设和讲授课程《TensorFlow for Deep Learning Research》。

  • 课程链接:http://web.stanford.edu/class/cs20si/

她还曾协助推出越南第二受欢迎的网络浏览器 Coc Coc,每月活跃用户数量达 2000 万以上。

她目前正在进行的一些项目包括 SOTAWHAT(查询和总结 SOTA 人工智能研究成果)、OpenSeq2Seq(利用语音识别、Text2Speech 和 NLP 进行高效实验的工具包)以及 Free Hugs Vietnam(为越南青少年提供软技能的非盈利项目)等。

入门英伟达小姐姐深度学习系统设计教程
11
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

推荐文章
暂无评论
暂无评论~