版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、大规模分布式机器学习系统设计与应用经验分享1目录2机器学习系统大规模分布式模型训练框架设计机器学习实际应用的常见陷阱机器学习系统3机器学习的经典定义典型的机器学习应用过程机器学习的核心系统机器学习的经典定义利用经验改善系统性能经验 数据机器学习无处不在搜索与推荐生物特征识别自动驾驶军事决策助手(DARPA)4典型的机器学习应用过程(广告点击率预估系统为例)问题定义:收入 = 平均每次点击价格 * 点击率 * 广告展现量应用过程:数据收集数据预处理模型训练模型服务5Sibyl, Google数据预处理模型训练模型服务数据收集机器学习的核心系统数据收集数据预处理模型训练模型服务6大规模分布式模型训
2、练框架设计7工业应用模型训练框架设计目标开发效率:计算模型和编程模型的选择执行效率:计算优化举例机器学习在工业应用中的发展趋势有效数据的增长数据量: 特征维度的增长宏观特征() 微观特征( )宏观特征(比如:年龄、性别等)长尾特征(比如用户ID等)频 度8机器学习在工业应用中的发展趋势宏观特征 复杂模型微观特征 复杂模型宏观特征简单模型微观特征简单模型机器学习算法在工业应用中的四个象限9第四象限的需求摩尔定律失效能耗墙(Power Wall)延迟墙(Latency Wall)单机能力有限IO、存储、计算有限目前提升计算能力的主流方式并行化:降低执行延迟提升吞吐但是,Amdahl定律目标需要分布
3、式并行Power WallLatency WallAmdahl定律10机器学习算法的NO FREE LUNCHNo Free Lunch定理:Wolpert and Macready 1997任意两个算法1和2, ( |, , 1) = ( |, , 2)任意算法(包括随机算法)在所有问题上的期望性能一样不存在通用算法但在具体的实际问题上,有可能存在比其他算法好的算法需要针对不同的实际问题,研究开发不同的机器学习算法目标11需要高开发效率典型的机器学习建模过程根据No Free Lunch定理:实际问题需要很多的尝试不同的数据不同的特征表达不同的模型、模型不同的参数模型训练是被重复最多的模块目
4、标12需要高执行效率底层框架的NO FREE LUNCH系统计算密集度存储通讯一致性要求读写量性能要求通讯量性能要求数据收集数据预处理模型训练系统模型服务系统目标需要针对机器学习的兼顾开发效率和执行效率的大规模分布式并行计算框架数据 收集数据 预处 理模型 训练模型服务没有在所有问题上最好的架构,只有最适合实际问题的13开发效率14计算和编程模型的选择编程语言选择开发效率:分布式并行模型15Large Scale Distributed Deep Networks, Google数据分布式和模型分布式模型参数训练数据典型计算模型:数据流典型机器学习模型优化过程:查取原模型根据原模型计算更新更新
5、模型 = + 16问题模型参数是一个所有计算共享的中间状态模型参数典型计算模型:参数服务器ASP17SSP, Xing一致性模型BSP趋势:数据流 + 参数服务器18开发效率:命令式和声明式编程19命令式更灵活语言举例:Fortran、C/C+告诉机器具体的执行流声明式可能更高效语言举例:DSL(e.g. SQL、Prolog)只定义任务目标,不指定具体执行实际的系统可能是混合的命令式var numbers = 1,2,3,4,5var total = 0for(var i = 0; i numbers.length; i+) total += numbersi声明式var numbers =
6、 1,2,3,4,5var total = numbers.reduce(function(sum, n) return sum + n, 0);开发效率:编程语言的选择兼顾运行效率和易用性:前后端分离C/C+、Java/Scala作为后端Python、R等作为前端Java vs. C/C+生态:Java生态优于C/C+可移植性:JVM可移植性高于C/C+内存管理:Java GC大数据、同步下情况更严重抽象: C+模板 vs. Java泛型Tensorflow20执行效率优化举例21计算存储通讯容错执行效率优化举例 计算均衡负载均衡(不同机器之间、不同资源之间)任务分解,异步竞争单机、分布式分
7、离优化分布式overhead很大不能为了分布式而分布式利用不同硬件的优势CPU:复杂指令,分支预测,大缓存,任务并行GPU:简单指令,小缓存,粗粒度数据并行FPGA:低峰值、低功耗(vs. GPU)Profiling寻找瓶颈解决瓶颈22执行效率优化举例 存储The Memory Wall23The Memory HierachyJeff Dean/rcs/research/interactive_latency.html执行效率优化举例 存储数据本地化迭代之间数据本地缓存数据结构优化数据访问重新排序调整数据布局更紧凑的数据结构Instance: std:vectorInstanceBlock:
8、 std:vector std:vector冷热分离数据预取Z秩序(曲线)24执行效率优化举例 通讯通讯模式点对点RPC组通讯Reduce、Gather、Scatter软件优化序列化框架优化通讯压缩:CPU和带宽互换应用层:请求合并、缓存硬件优化多网卡Infini-Band25执行效率优化举例 容错选择最适合的Tradeoff机器学习任务迭代式计算,中间状态多模型参数是最重要的状态机器学习训练不需要强一致性Data Lineage vs. CheckpointingData Lineage (Spark)可选择不同粒度Checkpointing(Tensorflow、MxNet)对迭代式的机器
9、学习模型参数和简单的任务状态做粗粒度的Checkpointing冗余Cold / Warm / Hot StandbyHybrid26SparkTensorflow机器学习实际应用的常见陷阱一致性开放世界依赖管理可理解性/可调试性27一致性训练/预估一致性特征表达不一致逻辑错误表达方式不一“穿越”目标含义不一致比如搜索引擎里 是否点击是否满意字段含义时间一致性随着时间的推移,某些特征含义会发生变化28特征值特征含义0男1女训练时特征值特征含义0女1男预测时特征“穿越”开放世界幸存者偏差当前模型影响下一次模型的训练数据与其他系统配合模型输出发生着变化,但是系统中的阈值固定不变World War
10、II,Abraham Wald29强化学习X团队30Y团队Z团队依赖管理数据依赖数据依赖比代码模块依赖更可怕与传统软件不同,机器学习系统的表现依赖外部数据模型之间依赖有时为了求快,容易依赖其他团队模型的输出如果依赖的团队升级的模型?隐性依赖可能会有一些特征字段会被模型自己改变比如:用户点击推荐文章的次数 这个特征会随着推荐模型的升级而发生改变Model AModel BModelCModel DAlmost True Story如果X团队升级了Model A?可理解性/可调试性某些业务可理解性很重要医疗、银行审计、模型转换:Twice Learning Zhou, 2004解释:LIME Ribeiro, 2016可调试性容易被忽视模型几乎不会100%正确非常复杂的特征、非常复杂的模型很难调试可调试性好可帮助
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年矿山土地及资源使用权转让合同3篇
- 二零二五版白糖进口许可证申请代理服务合同下载2篇
- 二零二五年度驾驶员押运员安全责任及培训合同3篇
- 二零二五版企事业单位节能环保办公电脑采购合同2篇
- 二零二五版电子商务平台借款及库存商品质押合同3篇
- 二零二五年纺织原料市场调研与分析合同2篇
- 小区下水管网清理疏通承包合同(2篇)
- 二零二五版房产买卖合同含抵押权转移及贷款利率协商协议0183篇
- 2025年度农业科技推广财产赠与合同3篇
- 2025年度户外广告场地使用权转让合同集3篇
- 脑血管疾病三级预防
- HSK标准教程5上-课件-L1
- 人教版五年级下册数学预习单、学习单、检测单
- JC-T 746-2023 混凝土瓦标准规范
- 如何落实管业务必须管安全
- 四年级上册三位数乘除两位数计算题
- 《水电工程招标设计报告编制规程》
- 2023年甘肃兰州中考道德与法治试题及答案
- 生产工厂管理手册
- 项目工地春节放假安排及安全措施
- 印染厂安全培训课件
评论
0/150
提交评论