网站大量收购独家精品文档,联系QQ:2885784924

129-数据科学家基础能力之系统【萌萌家】.pdf

129-数据科学家基础能力之系统【萌萌家】.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

129|数据科学家基础能力之系统

2017-10-13洪亮劼来自北京

《AI技术内参》

对于初学人工智能的工程师或者数据科学家来说,在知识积累的过程中,“系统”往往是一个

很容易被忽视的环节。特别是非计算机科学专业出身的朋友,一般都没有真正地建立过“系

统”的概念,在今后从事人工智能的相关工作时,很可能会遇到一些障碍。

今天我想给你分享一下,作为人工智能工程师和数据科学家,需要建立的关于“系统”的最基

本认知。这些认知能够帮助你把书本的理论知识和现实的应用场景快速结合起来。

理解管道(Pipeline)

在很多人工智能初学者的认知中,机器学习的流程是这样的。有一个已经准备好的数据集,这

个数据集里面已经有了各种特征以及所对应的标签或者响应变量。这个时候,你需要做的就是

利用这个数据集和一些现成的机器学习工具包,来训练一些机器学习模型。模型训练好以后,

就可以计算一些已知的评估指标了,比如准确度、精度等等。

这是一般教科书和课程上介绍的标准机器学习流程,也是很多机器学习论文中的实验环境。遗

憾的是,这个静态的流程并不适用于工业级的数据产品。

要支持工业级的人工智能产品,一个最基本的概念就是,你需要搭建一个管道让你的环境是动

态的、闭环的。在英文的语言背景里,“管道”这个词很形象地说明了这个环境的特点。我们

把数据想象成“管道”里的水,这里面的一个核心思想,就是数据从一个环节到下一个环节,

源源不断。我们再把最终的产品,也就是这个管道的末端,和最开始的数据采集部分,也就是

这个管道的开始端,结合起来思考,这就是一个闭合的环路。

理解数据产品的核心,就要理解它是一个闭合环路。几乎关于数据产品的一切难点、问题以及

解决方案都可以从这个闭合环路中产生。从一个静态的机器学习流程到一个动态的管道似的闭

合环路,这是一个质变,对整个环节上的所有步骤都有全新的要求。

我这里就拿数据集来举个例子。静态的流程中,我们不需要太过关注这个数据集的来源。甚至

采集数据集的代码或者脚本都可以是一次性的,可以不具备重复使用的价值。但是这种情况在

管道的环境中是不可能的。

在管道中,采集数据的可靠性和可重复性是非常重要的步骤,这就对采集数据所采用的代码有

不一样的要求。这部分代码需要被反复检验,每一步都需要人工智能工程师和数据科学家进行

检验。如果我们把这个例子扩展到数据管道的其他部分,就可以很清楚地看到,数据管道对于

构建一个机器学习流程所带来的根本变化。

管道的另外一个重要特性是自动化,一个不能自动化的管道是不能被称为管道的。这里的自动

化有两层意思,一层意思是指数据本身可以被自动采集、整理、分析,然后自动流入机器学习

部分,有结果后自动输出并能被线上的系统使用;另一层意思是指,每一个环节本身都不需要

人工干预,或者仅需极少数的人工,自身可以高可靠地运行。由此可见,管道的自动化对每个

环节的技术选择和实现都有非常高的要求。

现代互联网公司中,每个团队,甚至成立专门的团队,一般都会针对机器学习管道开发工具平

台,使管道的灵活度、自动化、可靠性有足够保障。对于初学者而言,尝试从管道的角度去理

解问题,从整个系统的角度来认识产品开发过程,认识机器学习流程,才有可能设计出能真正

满足线上需求的技术方案。

理解线上和线下的区别

了解了一个数据系统的闭合回路以后,很自然地,就会出现下一个问题,这也是一个核心的系

统级问题,在这个管道中,哪些部分是在“线上”,哪些部分又在“线下”呢?

这里我们先来理清“线上”这个概念。“线上”往往是说,对于交互性很强的互联网产品(包

括电商、搜索引擎、社交媒体等),从用户来到某一个页面,到我们为这个页面准备好所需内

容(例如推荐的商品或者搜索的结果),这中间的响应时间对应的就是“线上”,这部分时间

非常短暂,往往只有几百毫秒。如何在这几百毫秒的时间内进行复杂的运算就非常有讲究了。

“线下”的概念是相对于“线上”而言的。通常情况下,不能在这几百毫秒之内完成的运算,

都是某种程度的“线下”运算。

理解线上和线下的区别是初学者迈向工业级应用的又一个重要的步骤。哪些计算可以放到线

上,哪些可以放到线下,就成了种种机器学习架构的核心区别。

初学者还需要注意的一个问题是,线上和线下都是相对的概念。今天放在线下计算的某些部

分,明天可能就会放到线上进行计算。所以,慢慢学会把握两者之间的转换之道,对于初学者

进阶至关重要。

我这里举一个简单的线上和线下分割的例子。比方说,我们要构建一个检测垃圾邮件的系统。

对于这样一个系统而言,哪些部分是线上,哪些部分是线下呢?

初看,我们在这里讨论的是一个比较容易的架构,但并不代表实现这个架构的

您可能关注的文档

文档评论(0)

133****9720 + 关注
实名认证
内容提供者

物业管理师证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年04月23日上传了物业管理师证

1亿VIP精品文档

相关文档