主页 > 下载环球 >台大林智仁教授谈大数据分析的挑战与机会 >

台大林智仁教授谈大数据分析的挑战与机会


2020-06-24


台大林智仁教授谈大数据分析的挑战与机会

大数据、资料科学、机器学习等一直都是近期非常热门的词彙,许多讯息都告诉我们,「资料」在未来只会变得越来越重要,涉入我们生活的程度越来越深,小的有我们上网时看见的广告,大到防疫、气候变迁等议题都会有关係。

台湾第一次的资料科学爱好者年会于週末在中央研究院举行,吸引八百人参与,门票更是在 90 分钟内就售罄,除了主题演讲之外,还搭配举行了 g0v 的黑客松以及 R 语言的教学课程。

而本次年会的第一场演讲,就是台大林智仁教授的「Big-data analytics: challenges and opportunities」:

谈到大数据,相信不少人都听过知名的行为经济学教授 Dan Ariely 的名言:

Post by Dan Ariely.

林教授的演讲主题是他个人针对大数据分析的技术,其发展与挑战的一些看法。

从资料探勘到大数据

资料探勘是在 90 年代出起兴起的名词,后来经过了十几二十年的发展,在今日要做资料探勘,无论是方法还是工具都已经相当丰富且有完善的整合,但是,要从资料当中去挖掘有用的资讯,并不是那幺容易的事,因为我们对资料、人工智慧等等的了解,还有很长的路要走。

林教授坦言,对他这样的学校老师来说,前两项,也就是方法和工具,是他比较熟悉的领域,业界的人对于实际应用应该更有经验。

何谓大数据?

何谓大数据?跟以前资料探勘的「资料」有和不同?对林教授来说,大数据跟资料探勘之间最明显的差别可以说就是资料量,用一个简单的概念来讲,「大数据」就是一台机器存放不下的资料量。

两大差异

林教授进一步说明资料探勘与大数据的重要差别有两个,一个是比较负面的,另一个则是正面的:

而林教授想要讨论的是第一点差异。

分散式资料分析的好处

可以同时读取资料。举例来说,如果要一次读取硬碟中 TB 等级的资料,速度上会比较慢,但假设这些资料是平均分散在 100 台机器当中,那幺读取的所需时间就会是 1/100。当然,要让资料分散在 100 台机器中,準备好读取,那又是另外一个问题了。

另外一个好处是容错,资料重複储存在个别机器中,如果有一台出问题,其他的不会受影响。另一个好处则是工作流程不容易被打断,但相对的也会变得更複杂、机器之间的沟通与同步会很令人头疼。

只是我们真的有必要做分散式的资料分析吗?林教授引用纽约大学教授、主持 Facebook 人工智慧实验室的 Yann LeCun 在今年出受访时讲的:

许多在一台机器上很容易的事,在分散式系统上会变得很难很複杂。举例来说,以前在单一机器上做 subsampling 很容易,但是在分散式的系统反而困难。

挑战

过去资料探勘的工具在设计之初,是针对单一机器的环境,而非今日的分散式系统。过去,随时存取资料不是什幺困难的事。林教授将现今大数据分析所面临的挑战整理如下:

林教授明白的指出今日大数据分析依然是在早期的阶段,因此他想要提出的问题就是:

我们的机会是什幺?

要针对大数据分析开发工具,大致上来说有两条路可以走:一是从过去单一机器上开发工具和方法的脉络上借镜,另一个极端则是忘掉原本在单一机器上的东西,从头开发。林教授说自己相信有个介于两种方向中间的作法,不过他也说:

林教授告诉我们,像 R 这样的工具,并不是一夕之间就出现的,而是经过十年、二十年的发展。

我们平常用试算表软体或是统计软体做计算时,很少去关心软体背后运作的方式,但如果我们要开发工具,就必须去碰这一块。

林教授在这边用了一个计算矩阵相乘的一段程式码做了很清晰的说明:如果我们用 C 语言写一个三层的 for loop 来处理 3000X3000 的矩阵相乘,在有做最佳化的情况下,大约要花三分 24 秒,但是如果用 MATLAB 呢?就算已经设定成单核模式,也只要四秒。

林教授指出,现在我们面对大数据,就好像 80 年代自己写程式来计算矩阵相乘一样。他认为,如果要在未来取得分散性的数据分析方面有技术上突破性的进展,那幺必须要同时用上演算法和系统的优势才行。

可惜的是,林教授在教学中发现,学习资料探勘或机器学习的学生们,对于系统都不是很了解,事实上在单一机器上也的确不太需要了解。但是这样的情况到了分散式的数据分析上就完全是另外一回事。

为此,林教授举了早期电脑产业的发展情形为例,当初产业没有分的那幺细,产业里的工作者和研究人员,对于大部分的领域都一定程度的了解。但是今日的电脑科学就像医学一样,专业上已经分类分到很细緻的程度,也因此会出现这样精通两大领域人才稀少的情形。

现在发展大数据方法跟工具,有点像是我们在写一组程式,但底下的 OS 跟 compiler 还一直在改。

以 CTR预测为例

关于大数据分析真正的成功应用,林教授认为目前其实没有够多的案例。不过他还是以业界常见的点击率预测举例。点击率就是将点击数除以曝光,林教授说像这样的 binary classification,要一直反覆训练机器,建立起模型去预测使用者会点击的广告,然后送出那样的广告,接着再看使用者有没有点广告,然后再将这个结果送回去训练机器,提高使用者点击广告的机率。频繁的调校演算法在 CTR 预测系统里面很常见,也一定是分散式的。

通用工具就在不远处

一般而言,在分散式的环境下我们会想要减少机器的沟通与资料的存取。过去单一机器的作法 A 比作法 B 好,在分散式的环境下很可能结果会倒过来。例如 batch learning 与 online learning,后者在单一机器的作法可能不如前者,但是在谈到大数据分析,结果则相反。另一个例子是同步和异步的演算法,林教授认为说不定后者更适合用于大数据分析。

数据分析只是整个大数据应用的一小部分

在做资料分析时,从最初的 raw data到最终的应用,中间有很多环节,以往在单一机器上都是聚焦在分析上,但是在分散式的环境中,很可能在进行分析之前就会遭遇困难。

他以 Spark 框架的开发为例,就是因为人们了解到 mapreduce 没办法支援分散式的环境下的资历探勘和机器学习。

现今许多大数据的应用会需要针对演算法做特殊设定,但是他相信未来出现通用性的工具是可能的。

就像前面提到 Yann LeCun 的说法,其实很多时候我们不一定会需要事事都用上大数据分析。

开源的发展对大数据分析很重要

最后,林教授谈到开源社群对大数据发展的重要性。事实上,具有强大竞争力的公司,再开源社群的贡献度往往也是名列前茅。林教授鼓励台湾的公司应该积极参与,而且企业又比学校更适合做这件事,因为有在开发实际的产品。他举例,某公司用开源专案 Y 做 X 产品,但 Y 不够好,所以投入资源开发 Y,最后整个社群都获益。

Big-data analytics: challenges and opportunitiesfrom 台湾资料科学爱好者年会

就像资料科学爱好者年会所说的:

这次年会的议题涵盖资料视觉化、医疗、天气/气候、广告、来电分析、动物研究、公益活动、政府开放资料⋯⋯ 範围相当广,主办单位希望明年可以增加更多的主题,例如游戏或金融领域等等。

如果各位读者对週末的演讲或是 R 语言的教学内容感兴趣,可以到台湾资料科学爱好者年会的 Facebook 专页 查看相关资料,影音的部份可能要再过一阵子才会释出。

  1. KDnuggets Exclusive: Part 2 of the Interview with Yann LeCun↩



上一篇:
下一篇:


小编推荐