谷歌昨日脑库宣布其学习机的版本1.0(ML)在TensorFlow开发者峰会在山景城。ML是一种用数据对计算机编程以做出高度可靠预测的方法,而不是用Java、c#或Python之类的语言创建程序。
ML是解决图像识别、语言翻译以及评论和推荐等问题的更有效的方法。谷歌、Facebook、IBM和微软已经在内部使用ML来解决排名搜索结果等问题。
在一年前谷歌有点基于其与专有的ML库,DistBelief经验发布TensorFlow。TensorFlow与约4000源代码目录包括TensorFlow模型描述文件中的谷歌使用。它在许多应用,包括谷歌搜索,地图和Gmail的垃圾邮件过滤器使用。
谷歌高级研究员、人工智能超级巨星Jeff Dean表示,TensorFlow是Github上最流行的ML库。他引用的一些衡量标准包括:500名独立程序员开发并提交他们的软件,每月提交1000次(应用新的代码模块和补丁),以及5500个以Github命名的独立Github存储库。多伦多大学、伯克利大学和斯坦福大学正在使用TensorFlow教授机器学习。
创建原始的ML模型需要在线性代数、概率和ML方面受过高级培训的高技能开发人员,而许多开发人员并不具备这些技能。不过,其他开发人员可以应用它。有三种类型的ML应用程序,具有不同技能集的开发人员可以应用它们。
专家:原ML车型为例,一个模式,学会了玩雅达利深Q比人类更好地被开发商用线性代数,概率和机器学习专业技能的少数建。
领域专家:还有第二个组,谁可以利用现有的模型,如盗梦空间v.3的图像识别与特定领域的专业知识应用开发人员解决在其专业领域的问题。在首脑会议上提到的情况下,该领域是医疗保健。盗梦空间V3识别许多不同类型的对象的图像中,可以接受再培训,以识别新类型的图像。
斯坦福大学博士学生布雷特Kuprel呈现启V3的一个应用程序,从皮肤癌和良性和恶性皮肤癌之间良性病变基于精确的分化带来的图像等于人类皮肤科医生,这是发表在自然杂志上个月。
谷歌的彭礼来呈现另一个应用程序,发表在美国医学协会杂志在《盗梦空间3》中,该医生诊断出了导致失明的主要原因——糖尿病视网膜病变,其准确性比人类眼科医生略高。
应用程序开发人员:几乎所有的网络和移动开发 - - 熟练使用RESTful API中的开发人员可以使用预先训练模型的功能添加到现有的应用程序。这方面的例子是语音到文本,语言翻译,和排名的意见。
抽象带来了ML更多的开发者和用例
TensorFlow 1.0版本带来了更高层次的结构,使更多具有不同能力的开发人员能够在特定于应用程序的用例中使用TensorFlow。
以上对应于不同的显影剂技能图前面所解释的。专家工作在图层建立原车型在堆栈开始的工具和下方,在估计和Keras型号级别的顶部的堆栈和应用程序开发领域的专家在一箱表示模型。
可扩展的硬件平台
TensorFlow是一个软件平台,它可以在不同的尺度上扩展到硬件平台,从实验到生产。
实验性的XLA编译器将ML模型编译到使用LLVM开源框架,用C ++编写抽象从特定平台,如X86,ARM,和Nvidia DSP编译器模块化和可重用的编译器和工具链技术的集合。
XLA旨在解决两个重要的硬件规模的考虑。第一,小模型建成后可对物联网和智能手机设备上运行来扩展自己的能力。高通公司通过移动从CPU到六角DSP的ML应用程序演示上的Snapdragon 820的8X的性能改进。虽然高通没有采用XLA编译器,它展示了智能手机的性能和电源配置中运行的优化模型ML的潜力。XLA已经应用到IBM的PowerAI分布和Movidius的Myraid2加速器至今
然而,今天的硬件速度还不足以满足大型ML模型的生产需求。这对于研究来说已经足够快了,但在某些情况下,研究人员训练模型并得到结果的周期可能需要几天、几周甚至接近一个月。研究可以证明研究人员的论文是可行的,但要将这一证明应用到运行在由数十万或数百万用户使用的数百个数据中心服务器上的生产中,则是完全不同的问题。雷竞技电脑网站
ML的深度和广度的编程范例是新的。它要求容纳大型矩阵,向量,是非常宽容的降低精度的架构。多应用的优化的是一种用于在尚未优化作为硅的系统架构用于ML硬件架构此类型的计算的扩展能力。
Francois Chollet演示了与TensorFlow集成的Keras,这是一个开源神经网络库,旨在通过最小的编码实现对深度神经网络的快速实验,模块化和可扩展。Chollet演示了一个只有不到20行Keras代码的应用程序,它通过分析视频来回答两个问题:这位女士在做什么?她的衬衫是什么颜色的?
第一个问题并不是那么简单,因为ML模型必须确定她是在打包还是在拆包。这个演示展示了为了完成回答这两个问题的相当复杂的任务而需要编写的高度抽象和有限数量的软件。但在生产中,这种或更大的ML模型的延迟对于给定的应用程序可能太大,需要对模型进行优化,这是很有可能的。
内的所述堆栈和Keras方案的范围之内,性能瓶颈可以通过与本地C ++代码重写所述约束代码解决。真正的大机型,像谷歌搜索排名中,无法在单GPU甚至多个GPU上运行,而是要在GPU上通过高速内部总线系统或光纤总线互连多个系统通信的互联银行运行。
在研究阶段验证过的ML模型可能不适于生产,特别是当需要几百毫秒的低延迟时,比如用户期望谷歌搜索对其查询的响应。应用更多的硬件将显著增加成本,而且可能仍然不能解决问题,因为大规模的ML构建者仍在等待在硅硬件架构中实现所需的能力。TensorFlow使用一组分布式TensorFlow api进行了优化,该api允许专家用c++编写本地代码,以跨系统总线和互连系统分发和协调工作负载。
谷歌有什么,为什么是开源的
谷歌建TensorFlow和社区周围有四个原因:
1)。独立开发的代码贡献和将扩展TensorFlow功能的新用例。尽管可以尝试,但无论谷歌的福利有多好,并不是所有的专业开发人员都希望在谷歌工作,同时也希望为TensorFlow做出贡献。而且谷歌的ML应用程序并不代表将定义TensorFlow 2.0和以后版本的所有潜在用例。开源许可带来了代码和视角。
2)。谷歌通过从开源社区和实习生学生那里获得源源不断的人才,从而可以招募到最优秀的人才。
3)。学术界和业界的人工智能和ML社区是高度开放的,共享和建立在彼此的研究上。如此开放以至于谷歌和它的竞争对手Facebook的研发团队互相为对方的论文撰稿。专有的方法会减缓创新。
4)谷歌可以通过改善其产品和提供TensorFlow在谷歌的云平台赚钱从社区的创新。
TensorFlow是一个平台,而谷歌的意图是建立它是作为普及Linux和大到Android系统。