跨境电商网站系统开发,网站开发用什么语言最多,天河网站建设技术,营销咨询公司招聘最近几年一直在做算法工程的工作#xff0c;对机器学习系统有所涉猎#xff0c;也很感兴趣。近期发现一本开源书籍《机器学习系统#xff1a;设计与实现》。去图书馆找了它的纸质版#xff0c;发现内容不尽相同。在这里结合两者做一个读书笔记。本文是第一篇#xff0c;主…最近几年一直在做算法工程的工作对机器学习系统有所涉猎也很感兴趣。近期发现一本开源书籍《机器学习系统设计与实现》。去图书馆找了它的纸质版发现内容不尽相同。在这里结合两者做一个读书笔记。本文是第一篇主要涉及《第一章导论》的内容。
机器学习分类
按学习模式分 监督学习无监督学习强化学习 按应用领域分 图像语言nlp、语音等智能决策
设计目标 功能
机器学习框架屏蔽了大量底层细节可以帮助开发者高效、专心地开发算法应用。常见的机器学习框架包括PyTorch、TensorFlow、MXNet、PaddlePaddle、Caffe、MindSpore等。
机器学习框架应当包括以下功能
神经网络编程支持开发不同的网络结构并训练、部署自动微分计算模型参数过程中需要通过梯度来逼近数据管理和处理需要支持数据读取、存储、预处理模型训练和部署支持SGD等模型训练加速方法并支持把模型部署到推理设备硬件加速器机器学习众多核心操作都可以被归纳为矩阵计算框架需要支持调用支持矩阵加速的硬件分布式执行为了应对单机无法承载的大模型需要支持分布式计算
机器学习框架的基本组成原理
机器学习框架的基本架构如图 以下是每部分详细说明
编程接口需要提供高级语言编程接口如Python简化操作需要支持低级语言编程接口如C/C实现高效计算计算图不同编程接口需共享一个运行后端。后端会将计算过程描述为一张计算图表示需要的算子及算子之间依赖关系编译器前端框架用AI编译器构建计算图并将计算图转为硬件可以执行的程序。编译器会利用编译器前段技术对程序做分析和优化。功能主要包括实现中间表示、自动微分、类型推导、静态分析等编译器后端和运行时框架利用后端和运行时实现针对不同底层硬件的优化。常见优化技术包括分析硬件的L2/L3缓存大小和指令流水线长度优化算子的选择或调度顺序异构处理器CPU、GPU、TPU等异构计算单元协作完成计算数据处理对不同数据做数据预处理包括转为框架需要的格式、区分训练/验证/测试数据等模型部署在部署过程中受限于硬件资源需支持模型压缩主要方法包括模型转换、模型蒸馏、模型量化并针对特定硬件平台进行算子优化。为了保证模型的安全还需支持模型混淆。分布式训练分布式训练可以加速模型训练也可以解决大模型在单一机器上无法训练的问题。常见的分布式训练方法包括数据并行、模型并行、混合并行、流水线并行。多机写作方式包括RPC、集合通信Collective Communication、参数服务器Parameter Server
机器学习系统生态
广义的机器学习系统生态包括实现和支持机器学习应用的各类型软硬件系统。常见系统包括
联邦学习推荐系统强化学习可解释AI机器人图学习科学计算机器学习集群调度量子计算