MatrixOne助力极视角建设统一可复用的AI特征平台
客户简介
极视角科技有限公司(Extreme Vision)成立于2015年6月,是专业的人工智能与计算机视觉算法提供商。 极视角打造了国内首家计算机视觉算法平台,致力于开拓人工智能在不同行业及领域的开发与应用,为企业提供最丰富的人工智能算法及解决方案。 极视角的算法平台上汇聚超过40多万海内外视觉算法开发者,并成功服务过3000多家政企与科研院所,为产业提供丰富的人工智能算法与基建平台,赋能百业完成智能化转型升级。
技术挑战
极视角作为一家以机器学习AI算法为核心能力的公司,整体业务大量涉及到AI/ML算法相关的工程,而其中的特征工程的环节非常重要。特征工程是指从原始数据转换为特征向量的过程,特征工程是机器学习中最重要的步骤,会直接影响机器学习的效果,并通常需要大量的时间。典型的特征工程包括数据清理、特征提取、特征选择等过程。
而在整体的特征工程中,特征数据的存储和管理是其中的一个重要环节。传统上来说,AI工程师会采用比较简单的以文件的形式来存储特征数据,然后通过代码的形式将特征数据导入到后续的训练或者推理流程中,极视角的特征数据存储和使用也采用了类似的方式。
在多年发展的过程中,极视角积累了大量的垂直领域的AI算法,而其中的各类特征数据已经变的非常庞大而分散,绝大部分都只留存在每个AI工程师自己的工程流中。但是实际上大量的场景都开始出现交叉和整合,有很多相对通用的特征数据由于没有得到很好的管理,使得每次训练新模型的时候又要重复整个特征工程的步骤,对于工程时间和资源都有较大的消耗。
统一特征平台建设需求
因此极视角开始寻求建立一套统一的特征库数据管理平台,以提高整体特征工程的效率和复用性。该平台的核心能力需要包括:
-
需要能存储各类格式和模态的数据:由于各类机器特征工程算法差异较大,输出的格式较为多元,因此需要支持schema严格的结构化csv数据、schema灵活的json数据,文本数据,图像数据及经过向量化算法转化之后的向量数据。
-
需要能对特征数据进行高效分享和二次加工的能力:由于特征工程基本上都是由不同的AI工程师进行构建,而又会在其他项目流程中进行复用,因此需要能快速将特征数据入库并分享发布给其他工程师进行协作,并允许其他工程师在上面再进行二次加工并形成新的特征库。
-
具备各类数据转换的能力:每类机器学习算法可能对于需要进行训练或推理的需求都会有相应的差异,而且即使在同一个项目中也有可能出现大量对特征数据进行调整的需求,因此需要平台能具备相关数据转换的能力。
-
具备各类灵活快速查询的能力:机器学习加工的数据往往数量庞大,尤其是时间序列类的数据,而针对现有的特征库中是否有一些异常信号及污染数据,实际上都需要通过聚合或者窗口查询相关的能力来发掘。同时针对如图像、文本等匹配相关的问题,需要具备向量搜索相关的能力。
-
具备高并发在线服务的能力:特征数据除了面向于训练场景,也会常见于推理场景的应用,而推理服务往往是大规模的高并发在线服务,有的热门AI算法可能会达到上千级别的并发。
-
系统可扩展能力:由于特征库的规模会随着交付的算法和项目增加而不断膨胀,该平台需要可以需要具备扩展能力,随着数据量的扩大能保证相关性能和稳定性。
解决方案
传统上来说,这样的特征数据平台需要多方面的数据处理能力,包括关系型数据库、JSON数据、向量数据甚至非结构化数据的存储和查询,这需要用到至少3种以上的数据库组件来实现,同时对于数据转换和数据共享协作的需求又需要额外增加大量ETL组件及业务代码来实现这样的功能。对于极视角而言,这样的平台构建及维护的难度是非常大的。
而矩阵起源的MatrixOne超融合数据库则可以非常好的匹配这样一个综合型的需求,以一个统一的数据底座来承载特征数据平台的建设,开发人员可以将数据存储、转换、查询、分享协作相关的工作全部交给MatrixOne,而仅需关注AI相关的工程实现即可。
MatrixOne具备以下几大能力可以很好的满足特征数据平台的需求:
-
MatrixOne具备多数据类型统一建模及存储的能力,MatrixOne支持结构化数据,JSON数据,向量数据,文件数据的统一建模,用户仅需要在同一个schema中定义相关数据类型即可以insert的方式统一将数据入库及存储。
-
MatrixOne具备多负载融合查询的能力,包括面向大规模高并发查询的OLTP能力,面向批量数据的聚合分析的OLAP能力,面向时间序列数据的窗口分析能力,面向向量数据的比对和搜索能力,面向文本数据的检索能力。
-
MatrixOne具备多租户及数据分享能力,每个AI工程师可以在同一套MatrixOne集群中拥有自己的工作和数据空间,同时又可以快速将自己的数据以点对点的形式或者广播发布的形式,与其他AI工程师进行共享和协作。
-
MatrixOne具备强大的可扩展性,MatrixOne以云原生的存算分离架构为基本进行设计,存储层基于极为廉价的对象存储,计算层则完全由容器组成,不管是数据量的变化还是业务负载的波动MatrixOne均能以最匹配的方式进行弹性扩展来满足。
-
MatrixOne具备可扩展的数据转换能力,MatrixOne本身可以通过SQL直接实现部分流式数据转换及处理,同时也可以通过Python UDF的形式将用户自定义的转换能力集成到数据库中进行统一任务管理。
在以上能力特点的支撑下,基于MatrixOne即可一站式完成AI特征数据平台的建设,极大的简化了传统的多数据库组件的复杂架构。
客户收益
在以MatrixOne为底座构建的AI特征平台建设完成后,极视角的AI工程师彻底摆脱了过去每个AI算法模型开发都需要单独建设一套特征工程的业务模式。在模型开发效率上,通过预先计算和存储特征,模型开发周期减少了30%,从平均4周缩短至2.8周,而特征复用使得每次模型迭代的特征工程的pipeline也减少了40%,大量重复建设的pipeline被识别出来直接使用已经建设好的特征工程或者直接应用预制的特征数据。同时通过业务特征的共享,业务整体的灵活性也大幅增加,不同部门和不同项目碰到业务需求的时候,由于具备这样的跨部门、跨项目的特征数据共享,提升了整体数据利用率达40%。
特征数据平台实际上在机器学习领域是一个非常常见的需求,MatrixOne与极视角的合作实际上给整个行业提供了一个针对特征数据平台的理想范本。