当前位置:首页 > 智能硬件 > 人工智能AI
[导读] 近期在googlesearch blog上发布了一篇题为《Lessons learned developing a pracTIcal large scale machine learning

近期在googlesearch blog上发布了一篇题为《Lessons learned developing a pracTIcal large scale machine learning system》的博客,作者应该是google机器学习团队的成员,列举了他们在开发一个可伸缩的大型机器学习系统SeTI时所积累的一些经验教训。虽然所列出的三点教训看起来都很简单,似乎显而易见,但在现实操作中我们往往会受到种种的“诱惑”而走向另一个极端。特别典型的情景是,这些道理对于工作在一线的有过一定的项目经验积累的工程师来说,是有一定的直观感受的,但由于没有很好地概括描述或通过一个有权威性的嘴巴说出来,而可能被一些只存在于设计纸上的美妙构想而引向错误的方向,导致劳民伤财,积重难返。最简单的道理,却最容易被人们一遍又一遍地触犯着,所以想把它们写下来,一方面提醒自己以后少受这样的诱惑而犯错,另一方面也希望给类似应用场景与想法的朋友有一个权威性的归纳与佐证。

以下大都属于充分尊重原博客基础上的意译,穿插部分自己的看法。

这里说的机器学习系统其实是指一个分类系统(或者说模式识别系统),大部分情况下,这两者可以等同而视之,但在回复里也有人指出机器学习的范畴应该比较模式识别更大,这里不再执着于谁大谁小的问题,只需要知道,下面提到的机器学习系统或SeTI主要是一个分类器,它具有如下的一些特点:

对于一个预测或分类问题,如果你没有足够的数据量,你得关注于如何在少量的数据样本下充分利用统计知识构建一个精巧的分类器,反之,如果你的数据量爆棚,你就得关注你的系统如何才能适应如此庞大的样本量,并从中挖掘中有用的信息来。SeTI所解决的问题规模大体上是像下表所描述的那样的:

Training set size Unique features

Mean 100 Billion 1 Billion

Median 1 Billion 10 Million

通常来说,一个好的机器学习系统需要更多地强调精度,但面对一个大型的系统时作这样的片面强调容易犯下很多错误,以下是我们在开发Seti过程中积累的几个经验教训,当然有一些是事后我们才总结出来的,当时我们并没有意识到。(注:作者应该是想说,有些因素跟精度一样不能忽视,甚至更重要)

1、保持系统的简单,即使这意味着会损失一定的精度。(Keep it simple, even at the expense of a little accuracy)

诱惑:让你的分类器在不同领域的应用中都具有高精度是非常重要的,所以我们应该专注于算法的精度上。

但是,实际中的算法有其它几个方面具有同等重要的地位:

容易使用:如果这个系统还有其它人或其它团队在使用,他们必定希望这个系统在配置与使用上都是简单的,他们可能不是机器学习的专家,所以他们也不希望把时间浪费在系统的启动与运作上。

系统的可靠性:大家更注重在实际环境中部署一个可靠的机器学习系统,它必需是稳定的并且不需要总是去关注它是否崩溃的。早期的Seti虽然在精度上更好,但它的复杂性、对网络与GFS文件系统的压力、需要持续关注等缺点导致了很多人都不愿意去部署它。

(很多情况下,我们都可以认为以上两点是等价的,即:系统的简单易用约等于稳定可靠)

Seti通常应用于对原有系统有极大提升效果的场景(参看教训3),因此大家都不太会关注Seti所使用的不同算法所造成的在精度上的细微差别。另一方面,这些精度上的小差别经常可以通过其它的手段来抹平,比如更好的数据过滤、添加其它更合适的特征、调整参数等等,如果这个系统是稳定的、可扩展的、简单易用的,以上的这些额外的步骤也更容易实现,而这些系统特点往往决定了它会被团队接受或抛弃。

对于学术界来说,设计一个精度稍差但更稳定与简单易用的算法并不是一个有吸引力的事情,但依据我们的经验,这个在实际当中具有非凡的价值。

2、从当前的一些具体的应用开始。(Start with a few specific applications in mind)

诱惑:构建一个不限定于任何特定应用的系统,不单能囊括当前的各类应用,还能适用于未来的各种分类任务。

但是,我们决定聚焦于一小撮的初始的应用上,这个决定基于如下几个原因:

3、知道什么时候说“不”。(Know when to say “no”)

诱惑:我们有了锤子,所以我们眼中什么都是钉子,任何的问题都可以用机器学习系统来解决。

很早以前我们就发现,虽然机器学习系统带来了明显的收益,但它同时也给整个系统带来了复杂性、不透明性与不可预测性。有些情况下,简单的技术已经足以解决手头的问题,从长远来看,与其把努力花在整合、维护与诊断在线机器学习系统上,还不如花在其它的一些提升系统性能的方法上。

Seti适用的前提是对现在的系统上有明显的预测效果上的提升,我们也常常建议大家避免把它应用于效果提升不明显的场景。

补充1:看到Seti所应用的数据规模时,我的第一反应是怎么可能得到这么大量的标记数据,因为训练分类器是需要标记好的数据集的,同样文中屡次提到分类器的精度,而计算分类器的精度同样不能缺少标记数据。我的理解是:一种情况下,这些标记数据是来自于google用户无意识的点击贡献,另一种情况是,他们使用的是半监督学习的方法,从一个小型的人工标记的数据集开始训练,然后覆盖到数据的全集。

补充2:文中的一个主要的观点是:商用的系统与学术界追求的系统其目标是不一样的。学术界会倾向于探寻即使是数据量不足的情况下,怎么得到有统计意义的结果,而精度永远都是最重要的。商业界在不缺乏数据的情况下需要关注于如何从带噪声的数据中过滤出有价值的信息,同时系统必须具有可扩展性,此时,精度并不是一个唯一重要的因素。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭