昨天在我的Mac pro和Macbook pro都安装了Tensorflow,Google的深度学习工具。我试着在Mac上给它加上CUDA支持,加上了才知道,没有N卡安装了CUDA也没用。而新的Mac都不是N卡的。我昨天看了下,我自己的两个笔记本和女朋友的两个笔记本都是intel的,而我的Mac pro是AMD的。
目前的状态是,Tensorflow的issue里面有加上OpenCL支持这条,状态是contributions welcome,也就是说,不是官方在做的,我看看有没有机会帮他们了(前提是我弄明白怎么弄之前,没别人把这事情搞定先)。
我在考虑是不是跟少爷换他的笔记本,他是N卡的,今天去他的机器跑跑,如果性能确实看得到非常显著的提升,可以考虑。
或者我去自己装一台N卡的PC,用Linux跑。
阿里云的HPC是用来做高性能计算的,但是价格太贵,暂时玩不起,月租相当买台好电脑。阿里云的普通机器我试验了,相对这个需求来说太慢,比我的笔记本都完全不如。我在linode的服务器我也准备试,不过有一些安装的问题,现在还没完全搞定。
深度学习对比之前的其它机器学习方法是颠覆性的,不管从理论、操作还是从效果层面。
首先,其它机器学习方法主要是概率论。而深度学习是对大脑的一种模拟。
从操作上讲,其它的机器学习方法的一个核心是人工的特征选择,如果特征选择有误或者不科学,效果则无法提升。而深度学习可以大量的使用相对raw的材料,不需要专家来做特征的选择,深度学习的过程中,系统会自动的做特征抽取。这样的结果就是,深度学习可以大大的扩展它的用途,而不用担心领域知识的匮乏。
而从效果层面,深度学习已经开始大幅度超过各种之前的机器学习方法。
但是,不管是图片分类成功率高于人类(图来自Jeff Dean最近的一个演讲,23分钟处);
还是战胜了李世石:
这些都还是简单人工智能。这就是单一目的,单一类型的数据和训练用来解决单一问题。人脑可以被理解为一个神经网络,既用来处理听视觉信号,维持平衡,保持逻辑,下棋,玩等等等等。目前单一逻辑的人工智能神经网络,可以做到在某个单一领域超过人脑。
但是首先需要大量的机器,大量的数据集,和大量的训练时间。同时需要数据科学家(像巫师一样)来给它喂材料。
一个单台电脑,单个机器人,保有人一样的智能,还需要很久很久。
即使整个网络,现在的运算能力,能不能完全模拟一个人脑,都还是问题。感觉还是任重道远的,机会很多的。
个人或者小公司玩深度学习,主要限制还是数据,毕竟设备门槛不高,用台式机的话,一个980显卡也就小几千块钱。4块显卡配下来也就几万。数据的话,现在动不动都用几百万、几千万数据在跑,数据的成本还是非常高的。公开的数据就这些,做学术研究还行,商用的话,缺陷还是蛮大的。如果不自己训练模型,直接用其他人训练好的模型,对显卡需求就低多了,大部分情况下,CPU都能跑。
现在苹果的全系列带独显的好像从mac pro开始全都换成AMD的显卡了,看这个趋势好像也不会换,不过去年的科学计算大会上AMD出了个工具让普通的C++代码转换来兼容CUDA的样子。
少爷的Macbook pro是2015年中期的高配,配的是N卡GT 750M,今天找他来做了一个测试,他的机器跑CPU的话,性能跟我的Macbook pro和Mac pro基本一致,用N卡加速的话,速度是CPU的一倍,看来Mac配的N卡性能也一般。
18楼 @tinyfool 这个很可能测试存在问题,再烂的N卡,加速也是几十倍起。卷积计算,显卡比CPU强太多。或者是测试的计算量不大,显卡计算中内存复制是主要时间,加速没有体现出来。
显卡计算,时间在两块:内存复制-数据从内存复制到显存,再把结果从显存复制回来;计算-显卡计算单元最低几十个(集成显卡),好点的几百个(便宜独立显卡),再高的几千个。计算量小,主要时间耗在内存复制上。
Tensorflow是大公司土豪玩的,大规模分布式训练用的,单机性能差。学习和玩票的话,推荐Caffe,发论文标配,训练好的模型多。
也可以自己手写OpenCL版,几千行代码,直接拿个开源库改的话,估计几百行就行。mbp的OpenCL我测过工作中用到的算法加速,集成显卡版,加速了大约10-20倍。正式玩,我打算用外星人13的960M,性能只有980的四分之一,勉强够用,但估计是750M的好几倍,4G显存也很有必要。
27楼 @531sunlight MXNet 有在 iOS 识别照片的 demo https://github.com/pppoe/WhatsThis-iOS
三巨头除了大公司的光环,薪资现在在整个互联网环境已经没太大竞争力了,对应届生可能还有点吸引力,对多年经验的想跳槽的程序猿来说,你要的不是钱,而是突破眼前发展的瓶颈,做一些更多的挑战。 做个比较吧:
从整体情况看,土豪程度:阿里>腾讯>百度(不包含股票) 地域:阿里>腾讯>百度 机会与挑战:资源有限,成长有限 技术:百度>阿里>腾讯 运营:阿里>腾讯>百度 产品:腾讯>百度>阿里
1.阿里其实内部怨气很重;内部环境恶劣,各种挤压和权斗,分派别,也影响到他们这些真的想做事做产品做技术的人,最后没办法,选择出来创业或者去到创业团队,感受阿里曾经也有的创业氛围。 2.相比之下,腾讯的人还是很稳定的, 3.百度的人跳槽还是蛮厉害,真要说挖人,百度的人是最好挖的。
结论就是:还是别去BAT啦,去创业团队吧,理由就是:快速成长+各种挑战+(也许期权),B轮/C轮公司绝大部分的命运就是被收购or上市,那么... ... 你还犹豫什么,赶快加入我们:天壤网络科技(上海)有限公司,感兴趣的话请发简历至recruit#tianrang-inc.com