Gartner最近的一项调查显示,很多公司才刚刚开始机器学习之旅,而37%的组织已经实施了人工智能。如果你已经准备好接受机器学习,你可能先要评估十个问题或评估人工智能、机器学习和深度学习的完整指南,然后才能对机器学习进行概念验证。
机器学习正在不断发展,新的商业突破、科学进步、框架改进和最佳实践常常见诸各大媒体。
我们可以从实施了大规模机器学习计划并将人工智能视为业务核心的组织中学到很多东西。在纽约召开的O‘Reilly人工智能会议上,我看到了脸书和推特的机器学习计划之间的几股常见趋势。
了 解业务需求和竞争因素
脸书将机器学习用于很多领域。在脸书主页上,机器学习可以搜索内容,翻译语言,扫描动态消息并识别用户上传的照片中的面孔,以及查广告展示的内容。在幕后,机器学习则用于内容理解、语音识别、内容完整性、情感分析、检测令人反感的内容和欺诈性账户。
同样,推文排名、广告选择、搜索功能和用户推荐等一系列活动证实推特的机器学习正在发挥作用。机器学习还用来标记有污言秽语的推文、垃圾邮件和不适合在工作中使用的图片。
每次机器学习操作的规模有多大,这两家公司以什么方式投资于差异化能力,这不太明显。
脸书每天为26亿用户执行200多万亿次预测。它的用户遍布全球(这些用户在带宽上受到一定的限制),而且大量的互动是由手机完成的。
这带来了一些难题,因为全球有61%的用户还在用六年前的手机,甚至更老;只有不到10%的用户使用最先进的智能手机。脸书的战略的一部分是将更多的神经网络计算转移到边缘设备,以扩大规模,降低延迟并提供更个性化的机器学习模型。脸书的机器学习技术栈体现了这样的目标,即可以轻松地研究新模型,同时大规模提供推理结果并将一些计算转移到边缘设备。
推特根据规模和延迟方面的要求对模型进行优化。它每秒执行数千万次预测,每天以数十太字节的数据来训练模型。它专注于优化延迟(模型做出响应所需的时间)并明确了预测延迟方面的预算,即预测延迟数十毫秒所需要的预算。
为了扩大规模而将平台标准化
脸书和推特很早就开展了机器学习计划。它们从非结构化方法开始,但它们现在正在采取措施将平台,框架和管道标准化。推特旨在更轻松地共享模型并希望减少重复劳动。脸书正在解决各种痛点,即可靠性、可扩展性、运行模型的效率以及科学家和工程师的开发体验方面的痛点。
这两家公司的平台都根据类似的数据管道处理原则得到了优化,它们都有处理数据,提取特征,训练模型以及将模型部署到生产环境的平台。
两大社交媒体巨头正在采取措施对选定的机器学习框架进行标准化。脸书正在使用PyTorch使研究变得更轻松,使用Caffe2大规模运行生产推理模型。它已将Caffe2整合到PyTorch1.0中,PyTorch1.0结合了这两种功能,并使用Caffe2Go来运行移动神经网络。推特使用的是LuaTorch、TensorFlow、Scikit、PyTorch和其它平台。它现在正在将Scalding、PySpark、Tensorflow和ApacheAirflow标准化。
使科学家、开发人员和工程师能够进行协作
推特和脸书勾勒了各种不同的工作,以实现生产力,知识共享,以及数据科学家、开发人员和工程师之间的代码可重用性。
许多数据团队将数据目录和词典作为其数据治理计划的一部分。这些工具使每个人在使用数据进行分析或机器学习实验时更容易理解基础数据模型,字段定义和质量约束。
推特则更进一步,它通过将机器学习实验中使用的功能标准化并在功能目录中获取这些功能。这大大减少了重复并帮助科学家训练新模型,而不必花大量精力将数据处理成功能。
脸书还对自身的功能进行编目和标准化,将训练自动化并开发用于管理和部署模型的工具。FBLearner是支持这些功能的标准平台。
此外,脸书正在对自身所使用的机器学习类型进行标准化。例如,动态消息、广告、搜索和异常检测的排名使用了多层感知器。脸书还利用卷积神经网络和支持向量机(supportvectormachine)进行面部识别,并利用循环神经网络进行语言翻译。
将机器学习模型的持续训练自动化
和软件应用程序一样,机器学习模型必须持续得到培训和修改。脸书和推特都对这种培训进行了自动化,以便模型根据新数据进行重新调整。
推特认识到,将模型推向生产将产生新的要求,即不断用最新数据来训练模型,并在数据科学家进行模型改进时对其进行更新。ApacheAirflow能将训练和部署管道自动化。
脸书专注于其战略。经常改变的模型(例如新闻源)每小时或更少地重新训练,而语言翻译和面部识别模型在数周至数月的循环中训练。
计算成本的高低和计算资源的多少也决定了模型重新接受训练的频率。脸书也许具备战略计算优势,因为它开发了各种硬件栈,这些硬件栈对不同的机器学习工作负载进行优化。因为全球的计算资源并未得到充分利用,所以推特专注于优化算法性能并在非高峰时段安排训练。
制定长期规划
与大多数组织相比,推特和脸书在应用和扩展机器学习方面遥遥领先。你能从他们的成功中学到什么?
从小事做起,对模型进行培训并在使其在生产中运行,从而证明其商业价值,然后努力扩大实践规模并使其更成熟。要使实践成熟,与应用程序开发类似的规则是必不可少的,包括将框架标准化、定义体系结构、选择维护周期、优化性能以及将部署管道自动化。
你会发现,机器学习带来了重要价值,但它也需要根据性能和投资展开持续研究,以进行改进。各种模型经过培训、部署、优化,然后被更好的模型替代。机器学习是一种新的工具和技能,但对于必须改善用户体验或必须通过数据提高竞争价值的组织来说,它们将变得越来越重要。