Project Icon

openmlsys-zh

现代机器学习系统设计与实现全面指南

该开源项目全面介绍现代机器学习系统的设计和实现,涵盖编程接口、计算图、编译器技术、硬件加速等核心内容。同时探讨推荐系统、联邦学习、强化学习等前沿领域的系统实现。项目内容适合学生、研究人员和开发者,有助于读者深入理解机器学习系统,提升实际应用和开发能力。

机器学习系统:设计与实现

本开源项目旨在向读者解释现代机器学习系统的设计原理和实现经验。

🔥 书籍网页版: 机器学习系统:设计与实现

🔥 书籍PDF: 将在校对后于2022年中发布。

发布

  • 2022年6月27日:OpenMLSys社区发布了通俗易懂的高性能AI算子开发教程,帮助学生和工程师在60分钟内理解算子性能优化的关键知识点。相关的技术博客复现代码已免费公开。感谢@Jie Ren和@Wenteng Liang的贡献!🔥
  • 2022年3月17日:本书正处于校对阶段。如发现文字和图片错误,可创建Issue并@章节编辑。我们非常欢迎社区直接提交PR进行校正。

适用读者

本书的主要读者包括:

  • 学生: 随着大量机器学习课程在大学中普及,学生已经开始掌握大量机器学习的基础理论和神经网络的实现。然而,要训练出可实际应用的机器学习模型,需要对现代机器学习系统有充分的认识。

  • 科研人员: 研发新型机器学习模型不仅需要会使用基础的机器学习系统接口。同时,新型模型需要为系统提供新的自定义算子(Custom Operators),或者利用高级的分布式执行算子来实现大模型的开发。这一系列需求都要求对底层系统有充分认识。

  • 开发人员: 大量的数据和AI驱动的公司都部署了机器学习基础设施。这一设施的核心就是机器学习系统。因此了解机器学习系统有助于开发人员对系统性能进行调优,定位问题,并根据业务需求对机器学习系统进行深度定制。

内容介绍

现代机器学习框架具有复杂的内部架构和繁多的外部相关组件。在本书中,我们将对其进行细致拆分,深入解读:

基础:

  • 编程接口: 为了支持海量应用,机器学习框架的编程接口设计具有大量的设计哲学,在易用性和性能之间取得平衡。本书将讲述编程接口的演进,机器学习工作流,定义深度学习模型,以及用C/C++进行框架开发。

  • 计算图: 机器学习框架需要支持自动微分、硬件加速器、多编程前端等。实现这些支持的核心技术是:计算图(Computational Graph)。本书将讲述计算图的基本构成、生成方法和调度策略。

性能进阶:

  • 编译器前端: 机器学习框架需要利用编译器前端技术对计算图进行功能拓展和性能优化。本书将讲述常见的前端技术,包括类型推导、中间表示(Intermediate Representation)、自动微分等。

  • 编译器后端和运行时: 机器学习框架的一个核心目标是:如何充分利用异构硬件。这其中会涉及编译器后端技术,以及将计算图算子(Operator)调度到硬件上的运行时(Runtime)。本书将讲述计算图优化、算子选择、内存分配和计算调度与执行。

  • 硬件加速器: 机器学习框架的基本运行单元是算子,而算子的实现必须充分利用硬件加速器(GPU和Ascend)的特性。本书将会讲述硬件加速器的基本构成原理和常见的高性能编程接口。

  • 数据处理框架: 机器学习框架会集成高性能框架来进行数据预处理。本书将会讲述这一类数据处理框架在设计中需要达到的多个目标:易用性、高效性、保序性、分布式等。

  • 模型部署: 在模型完成训练后,用户需要将模型部署到终端设备(如云服务器、移动终端和无人车)。这其中涉及到的模型转换、模型压缩、模型推理和安全保护等知识也会在本书中讨论。

  • 分布式训练: 机器学习模型的训练需要消耗大量资源。越来越多的机器学习框架因此原生支持分布式训练。在本书中我们将会讨论常见的分布式训练方法(包括数据并行、模型并行和流水线并行),以及实现这些方法的系统架构(包括集合通信和参数服务器)。

功能拓展:

  • **深度学习推荐系统:**推荐系统是机器学习应用中最成功的领域之一。本书将概述推荐系统的运作原理,详细描述大规模工业场景下的推荐系统架构设计。

  • **联邦学习系统:**随着数据保护法规和隐私保护的兴起,联邦学习正成为日益重要的研究领域。本书将介绍联邦学习的常用方法以及相关系统实现。

  • **强化学习系统:**强化学习是通向通用人工智能的关键技术。本书将介绍目前常见的强化学习系统(包括单智能体和多智能体等)。

  • **可解释性AI系统:**随着机器学习在安全关键(Safety-critical)领域的应用,机器学习系统越来越需要对决策给出充分解释。本书将讨论可解释AI系统的常用方法和落地实践经验。

  • **机器人系统:**机器人(无人车、无人机、家用机器人等)作为机器学习技术重要的应用领域,近年来得到了广泛应用。在实践中,机器人系统在实时性、安全性、鲁棒性等方面都有极高要求,这要求开发者具备算法和系统的双重思维,从而解决实际问题。本书中我们将结合最新研究成果和机器人系统实践经验讲解该类系统的设计原则和实现细节。

我们正在持续扩展本书的内容,如元学习系统、自动并行、深度学习集群调度、绿色AI系统、图学习系统等。我们也非常欢迎社区对新内容提出建议,贡献章节。

构建指南

请参考构建指南来了解如何构建本书的网页版本和PDF版本。

写作指南

我们欢迎大家一起贡献和更新本书的内容。常见的贡献方式是提交PR来更新和添加Markdown文件。写作的风格和图片要求请参考风格指南。同时,机器学习领域涉及大量的中英文翻译,相关的翻译要求请参考术语指南

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号