001、Spark&Tensorflow
我们知道,Spark 目前是大数据处理组件的王者,实现了让大数据处理更轻松的远景。Tensorflow则是深度学习当之无愧最热的框架。而在现实当中,Spark 和Tensorflow的衔接往往是脱节的。我们希望保留Spark/TF各自的优势和习惯,并且能够实现无缝衔接。
因为我自身是比较熟悉Spark的,Spark一开始就立足于提供一个完整技术栈,这自然包括数据组织,处理,还有机器学习。
奈何深度学习突然崛起,原有的MLlib和GraphX 突然就不够用了,和深度学习的整合成了Spark一个非常重要的挑战。无论是文本,图像,序列,还是AI,本质都是数据处理,只是说AI是一个比较高阶的数据处理而已。
为什么说Spark必须想办法和深度学习整合呢?因为深度学习框架譬如Tensorflow,自身也在不断调整数据读取和处理的API,比如DataSet API,这部分其实会反噬Spark的护城河。
从技术角度而言,如果将Spark 和Tensorflow集成后,那么数据获取,处理,训练,预测就会在一条pipeline上,无缝衔接。Spark提供了一套规范,约束了整个流程,使得维护变得简单。
002、Spark 强大的数据处理能力
Spark 在Mllib里提供了大量的针对机器学习的数据预处理API,这些API可以将数据快速转化为Tensorlfow能够识别的数学表示形态,比如词向量,普通向量,矩阵等。
从团队角度而言,算法和研发都被规范到了Spark这条线上后,Spark开发工程师拿着TF的训练代码丢到自己的Spa