课程概要
近年来,随着大数据的积累、理论算法的革新、计算能力的提升,人工智能人工智能再次受到学术界和产业界的广泛关注,并在很多应用领域取得了突破性进展。不过,定制模型往往需要 AI算法科学家们搭建深度学习模型,不断地进行训练和测试才能得到。在实际工作中,业务方往往还要根据场景和数据的变化,持续进行模型改进工作。这时候,低成本快速定制并发布 AI 能力至关重要。那么京东在 AI 方向有哪些探索?AI 开发全流程是怎样的?如何加速模型开发?本文将解答这些问题。
基于模型训练平台快速打造AI能力
— 京东智联云 朱二涛 —
AI能力开发全流程
目前,人工智能领域尚未形成完善的参考框架。但人工智能标准化白皮书(2018 版)基于人工智能的发展状况和应用特征,从人工智能信息流动的角度出发,提出了一种人工智能参考框架,这个框架描述了整个 AI 能力的产生。
在人工智能整个体系中有三大要素:数据、算力和算法。
基础设施提供者(算力)
基础设施提供者为人工智能系统提供计算能力支持,实现服务与外部世界的沟通,并通过基础平台实现支撑。AI 上的计算能力通常由智能芯片提供;与外部世界的沟通则通过新型传感器实现,比如摄像头、麦克风以及各种物联网设备,它们负责搜集终端数据供业务使用;基础平台包括分布式计算框架提供商及网络提供商提供平台保障和支持,即包括云存储和计算、互联互通网络等。比如京东智联云为大家的技术平台,其中包括算力支持,云主在线存储、微服务等,同时也可以基于整个产品体系打造一个整体服务平台。
信息提供者(数据)
信息提供者在人工智能领域是智能信息的来源。通过知识信息感知过程由数据提供商提供智能感知信息,包括原始数据资源和数据集。原始数据资源的感知涉及到图形、图像、语音、文本的识别,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
信息处理者(算法)
大多数人对人工智能的理解可能更偏向于算法这部分,比如对数据的清洗、提取特征值等,这相当于一个数据建模的过程,在此基础上进行一些模型训练。然后再针对业务场景提供智能推理、智能决策等支持。智能推理和智能决策最终会输出有价值的智能信息,这就到了“智能执行与输出”环节,输出整个智能信息流动过程的结果,包括运动、显示、发声、交互、合成等功能,这也是整个 AI 的能力产生的结果。
01 三种主要的人工智能芯片
人工智能芯片按照不同用途可以被分为三类:模型训练、云端推断、设备端推断。第一类芯片主要用在训练环节的芯片,处理海量训练数据和复杂的深度神经网络,如 GPU/TPU 提供强大的并行计算和浮点计算能力。当我们将模型训练出来后,可以将其发布为云端服务提供给用户使用。
用于云端推断的芯片也是我们所说的第二种类型的芯片。目前主流的人工智能应用需要通过云端提供服务,将采集到的数据传输送到云端服务器,用服务器的 CPU/GPU/TPU 去处理推断任务,然后将数据返回终端。
第三类芯片运行在设备端,包括智能手机、智能安防摄像头、机器人、自动驾驶、VR 等,它能够快速做一些推断和决策,并且不受网络的影响。怎么去理解?假设现在有一个摄像头,如果我们要把这个摄像头采集到的所有数据都发送到服务端进行处理,那么可以想象需要多少点网络带宽才可以满足。但是如果我们把一些数据处理的任务放到终端完成,而仅把处理结果上传,这样对网络的要求就会低很多,并且用户的体验也能明显提升。
02 如何衡量数据的质量?
数据是我们成功的起点,在人工智能领域,数据主要有两类:结构化数据和非结构化数据。结构化数据是高度组织和整齐格式化的数据,它是可以放入表格和电子表格中的数据类型,能够用 SQL 来查询,并且适用于机器学习,数据分析挖掘等。
非结构化数据不能用表格型表示,它没有一个统一的格式。这种数据通常存储在非关系数据库中,并使用 NoSQL 进行查询,适合用于深度学习去处理。在互联网发展起来之后,非结构化数据的量已经越来越大了,现在企业数据中 80% 都是非结构化的数据。
对于企业而言,获取数据的方式通常有三种:
- 从行业数据供应商购买
- 自行积累或采集,包括行业积累、爬虫等
- 从合作伙伴处获取行业数据
数据越准确,与自身的业务越匹配,那么用这些数据训练模型进行业务推断的结果就越接近于真实场景,因此为企业自身带来的价值会更大。如何评判数据的质量?有四个纬度:
- 关联度(Relevancy):首要标准
- 时效性(Recency)
- 范围(Range):范围影响效果
- 可信性(Reliability):专业人员标注
简单来讲,数据与自己的业务关联度越高越好,这是首要标准。另外还要关心数据的时效性,以及用户的需求。对于可信性,不同的业务场景有对应的专业人员,让他们去制定行业标准,进行数据标注,可以在很大程度上保证业务数据的质量。
03 机器学习的流程拆解
在整个 AI 能力的锻造过程中,算法研究是其中一步,也是重要一步。机器学习是传统人工智能里的一个新的分类,主要研究如何模拟和实现人类的学习习惯。简单来讲,机器学习通过各种算法训练模型,并用这些模型对新问题进行识别与预测。
机器学习的流程主要分为以下几个步骤:
训练数据收集
原始数据是机器学习过程的第一步,它从各个渠道被采集而来。数据集通常会分成两个部分:一部分用来做训练,即训练集;另一部分用来做验证,也就是测试集。
数据预处理
由于收集到的数据往往比较粗糙或者噪音较多,需要将这些数据进行预处理,包括业务敏感数据脱敏,对不合格的数据做一些清洗、格式转换,或是特征提取等处理,得到有效的训练数据。
训练预测模型
到了训练预测模型阶段,算法工程师就可以出面了。在正式开始模型训练之前,我们需要结合数据和业务的特点选择合适的算法。机器学习可以实现的目标被分为:分类、回归、聚类、异常检测等。前期算法工程师需要通过测试集和训练集,在集中可能的算法中做一些 Demo 测试,再根据测试的结果选择具体的算法,这样可以规避大范围的训练模型改动带来的损失。
模型评估
选择出一个模型后我们需要去验证以下这个模型是不是合格。如何评估呢? 这就要用到之前说的测试集对模型进行测试。由于测试集对模型来说是完全新的数据,因此可以客观地度量模型在现实世界中的表现情况。这个过程其实是一个循环迭代的过程,我们会在这个过程中对算法进行改造或者对参数进行调整,最后得到一个比较理想的模型。我们通常会将这个模型做成一个服务供人们去使用。
以京东智联云为例,京东智联云将训练好的模型提供成下图中这样的在线服务 API。它分成几个方向,每个方向都有对应的通用 AI 能力,让大家去应用。比如在零售领域,会将一些京东领先的算法模型封装成通用的 API 提供给用户。每一个 API 都会提供一些调用方法的接口,用户可以在线申请使用。当然了,我们也提供离线版本或者 SDK,方便和用户的业务进行深度结合。
AI能力开发全流程
京东智联云人工智能部平台推出了一款叫 NeuFoundry 的产品。作为京东丰富场景的最佳实践,NeuFoundry 提供从数据标注 - 模型开发 - 模型训练 - 模型评估 - 模型发布的一站式人工智能开发平台,提升 AI 开发的效率、降低开发成本。该平台不仅支持图像类、文本类深度学习,还支持机器学习,比如销量预测等,此外,它还会通过预设模型来进行海量数据训练,让智能供应链更加智能聪明。
NeuFoundry 提供的主要服务包括:
数据管理
以数据库及对象存储等方式,提供海量存储空间,存储和管理用户数据,并提供数据标注、数据分析等功能服务;
AI 能力定制化
可根据实际业务所需要的能力和场景,结合企业实际业务数据,训练定制化 AI 能力;
AI 服务支撑
智能中台为各类 AI 能力的运行,提供基础环境支撑,保障 AI 服务稳定、可靠提供业务服务。
在 NeuFoundry 的功能框架图中,模型开发区域牵涉到基础支撑层和模型开发层,往上是京东智联云提供的一些优秀的预置服务,再往上是 NeuFoundry 支持的应用场景。
在 NeuFoundry 的数据管理服务中,该平台可以提供数据集管理和标注服务,同时内置公开数据集和定制行业数据集;此外,还提供工具支持用户在线标注或者导入已有标注数据,包括常见的文本、图片、视频、音频等。
在 NeuFoundry 提供的模型训练任务中,平台支持 TensorFlow、Caffe、PyTorch 等常见的引擎框架及多种项目运行方式,并且为不同类型的开发者提供多种交互方式。如针对对算法比较精通的算法工程师提供任务提交和 Jupyter NoteBook 方式;对于业务开发人员,提供通过图形化拖拽或者自动化训练方式,方便快速的定制化 AI 模型,不需要掌握算法开发能力。
为什么说 NeuFoundry 可以帮助企业加速 AI 能力锻造?因为在 NeuFoundry 中,针对常见的业务场景,我们预置了一些行业领先的算法模型在里面。用户只要把自己的业务数据放上来,通过自动化的训练方式,就可以用这些算法来快速迭代属于自己的定制模型。通常,用户在 NeuFoundry 上只需两步就可以创建自己的 API 能力:
(1)选择场景和数据,提交任务;
(2)查看模型评估结果,发布成服务。
创建 API
AI 能力打造其实只是“智能平台”的一个环节,整个京东智联云会针对金融领域及具体的应用场景,在此基础上从业务、技术、数据等角度出发为企业提供不同领域的解决方案。
在金融 AI 场景架构图中,基于底层的运行资源和数据资源之上,不同应用场景的开发层基本上是一致的。往上看,是包括客流分析、内容审核、用户行为解析、智能决策、用户画像、风险控制在内的一系列预置服务,这些服务会根据金融场景进行专门的优化和定制。
最后,朱二涛基于为大家演示了如何在 NeuFoundry 上使用自动化训练创建口罩识别服务。他表示,演示中的口罩识别只是基于图象分类的能力进行训练模型的,在 NeuFoundry 这个智能化平台上,还会基于人脸识别,提供更加专业的 AI 能力。
通过学习本篇课程,我们了解了 AI 能力是如何开发的,及京东智联云在这方面的探索与能力 NeuFoundry——一站式 AI 能力铸造厂是基于京东零售及零售基础设施、丰富的场景和海量数据打磨的人工智能开发平台最佳实践,积累了成熟的一站式模型开发工具和优质的数据集,并沉淀为成熟模型与 AI 服务。NeuFoundry 可为大中小企业提供一站式开发平台,助力企业快速低成本构建自己的智能中台,完成智能化转型。
Q&A 课程问答
Q NeuFoundry 不同框架,模型训练出来后如何部署,支持什么部署?
A NeuFoundry 提供 JupyterNotebook 环境,用户可以在 Juypter 环境中,完成训练和部署验证的环节。如果是通过 NeuFoundry 提供的自动化任务训练出来的模型,NeuFoundry 可以帮助用户把模型发布成一个在线服务。
Q 针对这次的疫情,衍生出口罩纠正模型,大面积遮挡的人脸识别,客服防控疫情咨询客服等等,我想知道这些数据获取和模型的准确度如何把控?
A 这个我给大家解释一下。在 AI 模型训练中,训练数据和业务越相关,训练的准确性或者效果会越好。如果您的业务场景是一些公共场所,或者是光线或者摄像头效果不好,当然也包括会有遮挡人脸等情况。那我们就应该针对这种场景去做针对性的数据采集,找到典型的数据。然后针对这个数据,我们再去做一些优化和训练。那么这个模型,针对您这个场景,效果相对会更好一些。其实没有一种模型是适用于所有场景的,都会有一些各自的适用范围。
Q 样本比较少,怎么训练,效果才能好?
A 这个是很多企业想去做 AI 建设的时候,碰到一个比较典型的问题,就是说自己的业务数据可能不是太好去抽取或者提炼。这个刚刚我也提到了,如果您在这个行业积累不够的话,您可以去做一些行业的采购。数据量级的要求呢,以图像分类为例,大概这个量级在几百张到一千张的时候,他的准确性在一定程度上就能满足业务需求了,再增加数据提升效果就没那么有效。如果说您的业务场景跟京东智联云这一块的能力比较贴合的话,那我们这块也可以帮您去做一些数据准备,或者说行业场景的支持。