Skip to main content

标  题: 大数据在工业界流行的黑暗真相

http://gengwg.blogspot.com/发信人: wdong (cybra), 信区: Programming
标  题: 大数据在工业界流行的黑暗真相
发信站: BBS 未名空间站 (Sat Apr 11 08:05:27 2015, 美东)

这两天在faculty版上灌水纠结大数据概念,让我突然想明白了大数据在工业界兴起的
原因:
很多规律在数据量大了以后都会变得很显然,算法再傻B,在超大量数据作用下效果也
会变得很好。因为开发牛B算法开销很大风险很高,而获取数据对不少公司而言很容易。
所以会出现一个大数据潮流,大家都指着数据变成救命法宝。
比如大数据的源头Google,Pagerank其实就是个幌子,真正优化Google搜索结果的其实
是人民群众。结果被点得多了排名就上去了。算法够傻B吧。还有Google翻译也用到了
大数据技术。算法是否傻B是和系统复杂度相对的。比如linear regression,数据量小用
atlab三五行就写出来了。数据量大了就得上Hadoop, Spark,支持运算的平台比真正的
算法要复杂得多得多。

但真相果真如此吗?做过machine learning的人都知道,数据量增大对于结果改善的边
际效应是递减的,而且往往是指数递减的。需要获得10个百分点的提高,可能需要成千
上万,甚至亿万倍的数据量。真是有点愚公移山的感觉了。

大数据的驱动力背后还有更黑暗的真相:提高barrier to entry。这世上聪明人很多。
工业界忽悠算法其实是最危险的。因为算法的发明往往是单枪匹马干的。如果一个大公
司建立在一个算法的基础之上,岂不是有被但强匹马干掉的危险?特别是学术界虽然不
济,几百年才出一个牛顿爱因斯坦这样的人物,但方法论一直是正确的,难保不出一两
个真正管用的新算法。现在告诉你,你没个一千台机器就没法做研究,把智力门槛转换
成资本门槛,并且搞
一个虚无飘渺的概念,把funding标准从科研水准转换成忽悠水准。以此打击真正的科
学研究,试图多维持几年大公司的盈利。其用心不可不谓险恶。

此计一出,大合那些脑子已经使不动了的学霸的心意,于是大数据一夜之间就火了。


--
珍惜生命远离湾区
发信人: goodbug (好虫), 信区: Programming
标  题: Re: 大数据在工业界流行的黑暗真相
发信站: BBS 未名空间站 (Sat Apr 11 14:05:04 2015, 美东)

你这贴怎么闻着都是学术界对大数据在工业界做出来这事的酸味呢?

1.大只是个方法论的概念。通过MR一类的框架,原来处理不了的现在处理得了,或者要
处理一周的现在处理一天就够,哪怕数据量只有T级,也是显然的获益。大只不过是个
相对概念,原来处理不了这样的数据了,为了在可以接受的时间内处理了,就只能采集
的时候做sampling,相对数据量就小。

2.这显然不是提高barrier of entry,而是显著降低了barrier of entry。以前那些做
网格计算的大机器,机器非常贵,能写并行算法的人很少,要有人维护机器,一个开发
周期很长。现在Amazon EMR,起一千个机器跑一跑就是分分钟的事情,你还可以半夜便
宜的时候去跑,好多小公司就这么干。写ETL算法的人往往不是CS出身的,也完全不需
要有能力写并行算法。凡事一旦做到PaaS,SaaS,基本上就是barrier of entry降低到
了极致。

3.互联网业往往营业额高,纯利低。典型的如马鬃,以及初创公司。1%的优化带来的可
能是数以亿计的纯利。这就是互联网公司愿意雇一堆Data Scientist不停地改进算法A/
B test,哪怕一点微小的改进都比工资高多了。从这个角度说,越有Scale的越愿意在
这上面下力气,但是小公司不意味着数据量就小,而且小公司的low hanging fruit更
多。这个才是整个业界大数据遍地开花的原因。

4. 学术界创造个方法,本来就不需要多少机器。Spark是学术界做出来的,验证方法也
不过几百台机器做个加法而已。业界实践的时候为了快速验证同时跑几百个A/B test的
,那才真需要很高的成本。A/B test才是学术界真正没法做的,既没有数据来源,也没
有足够快速迭代的人力物力。想想当年Netflix花百万刀让大家竞争算法,数据是
Netflix给的,过后的验证也是Netflix做的,但大量的学术界的人才提出了一系列改进
的设想。

Comments

Popular posts from this blog

CKA Simulator Kubernetes 1.22

  https://killer.sh Pre Setup Once you've gained access to your terminal it might be wise to spend ~1 minute to setup your environment. You could set these: alias k = kubectl                         # will already be pre-configured export do = "--dry-run=client -o yaml"     # k get pod x $do export now = "--force --grace-period 0"   # k delete pod x $now Vim To make vim use 2 spaces for a tab edit ~/.vimrc to contain: set tabstop=2 set expandtab set shiftwidth=2 More setup suggestions are in the tips section .     Question 1 | Contexts Task weight: 1%   You have access to multiple clusters from your main terminal through kubectl contexts. Write all those context names into /opt/course/1/contexts . Next write a command to display the current context into /opt/course/1/context_default_kubectl.sh , the command should use kubectl . Finally write a second command doing the same thing into ...

OWASP Top 10 Threats and Mitigations Exam - Single Select

Last updated 4 Aug 11 Course Title: OWASP Top 10 Threats and Mitigation Exam Questions - Single Select 1) Which of the following consequences is most likely to occur due to an injection attack? Spoofing Cross-site request forgery Denial of service   Correct Insecure direct object references 2) Your application is created using a language that does not support a clear distinction between code and data. Which vulnerability is most likely to occur in your application? Injection   Correct Insecure direct object references Failure to restrict URL access Insufficient transport layer protection 3) Which of the following scenarios is most likely to cause an injection attack? Unvalidated input is embedded in an instruction stream.   Correct Unvalidated input can be distinguished from valid instructions. A Web application does not validate a client’s access to a resource. A Web action performs an operation on behalf of the user without checkin...