AI助力-58恒星数据标注平台的设计与实践

原创
2023/05/11 10:00
阅读数 1.6K
AI总结

1

导读

恒星标注平台是58为助力算法模型孵化以及各业务线数据标注需求,自研的数据标注SaaS平台,平台包含任务中心、数据管理、配置中心、标注中心等产品功能模块。平台建设目标聚焦于GUI工作台易用性、标注质量以及标注提效。目前平台已支持24种标注方式,支撑集团各业务产生500余万标注样本数据。本文从标注视角出发,根据58恒星标注平台从零到一的建设经历,试图对数据标注的平台化建设提供一些见解。

恒星标注平台产品架构

2

背景

随着当今互联网数据化、智能化的大环境下,众多企业为高效的沉淀业务能力、实现产品目标,均逐步加速企业智能化的机器学习平台型产品建设。

机器学习从算法能力的生产到应用,通常会经历数据标注、模型训练、模型部署的阶段,随着模型的验证、升级,逐渐形成一个闭环的生产迭代过程。正所谓“巧妇难为无米之炊”,对于有监督、半监督学习训练需要伴随大量样本数据支撑,并且样本数据的数量、质量将直接影响算法模型的准确性。因此如何高效的获得高质量样本成为机器学习领域的一个命题。

在上述背景下,当今AI领域相继涌现出数据标注平台、标注工具来解决样本数据问题,并形成相关产业,使算法领域更专注于算法本身的研究,极大降低的该行业的工程化研发成本。当然随着数据标注的平台化发展,标注不仅赋能于机器学习领域,还应用于3D建模,业务标注等场景。          

机器学习模型迭代过程


3

演进

早期的标注工作一般由人工线下完成,这种方式需要标注人员去查找相关的标注工具,如:excel、labelMe、labelImage等,且协议不统一,还需要大量人力去整理素材、样本,并自己实现交付协议兼容,同时对标注质量也无法保证;无论从人工成本、团队运营、交付质量和效率都存在很多弊端,在此背景下,我们开始考虑数据标注平台的建设。

 


4

建设思路

一个数据标注平台从核心建模来说,实际上就是通过数据标注的“加工”,完成素材到样本的转换。

■素材:待标注的原始数据;
■样本:经过打标后产生的数据;
■数据标注:由人工对素材识别、判断并打上标签的过程。

数据标注建模

从业务流程来说,行业内基本已经形成一套标准化的流程规范,以这个流程作为内核,不同的产品依据自身业务需要以及平台的迭代优化形成自身的special功能扩展。恒星标注平台的业务流程抽象如下图所示:   

数据标注流程

这个过程其实并不难,但对于一个优秀的标注系统而言,我们更应该从它的标注能力、易用性、低成本、高质量角度做设计和建设,即“如何尽可能的降低标注人力?”和“如何保证标注的绝对准确?”这才是标注平台本身的难点和痛点。


5

平台建设

恒星数据标注平台整体的技术设计思路从数据标注平台的业务定位出发,依据素材库、数据标注、样本库为核心建模,构建出一套基础高效、低成本、通用且具有强扩展性的标注平台。


恒星标注平台技术架构

架构设计仍以素材、样本以及数据标注为三大核心概念,由任务工作流引擎支撑整个业务流程。

数据标注是实现多种标注能力以及易用性、低人力成本的核心模块;对于素材库和样本库,其负责平台核心数据存储、对接、交付;管理模块和数据统计负责平台基础配置、质量管理和标注统计。

5.1 数据标注

5.1.1 标注能力建设数据标注

评价标注平台的功能性是否完备,标注能力是一项很重要的标准,即标注方式的丰富度。一般来说对于标注方式不会在平台设计阶段就考虑的大而全,这是不现实的,它一定是随着标注业务形态的增长,不断的拓展丰富。因此,对于系统架构设计最重要的考量点之一就是标注方式的可扩展性,扩展性架构设计依赖于设计初期对标注方式的调研归纳和抽象。

标注方式决定着生成样本的数据协议,而数据协议直接决定着样本的使用。在设计阶段我们调研了行业内各标注平台、以及标注团队的工作中所涉及到的标注方式,我们这些标注方式归纳为分类、描述、比对、目标检测、实体检测、目标追踪几大类型,并依据文本、图像、音频、视频进行划分。


下面对一些常见的标注方式进行说明:

文本:文本类标注常用于自然语言处理(NLP)方向,例如语义理解、分词模型、知识图谱等。

●实体标注:对文中的实体或特征进行标注;也可用于对关键词、词性、情感等训练方向采用实体标注方式。

●实体关系:实体关系用于标记并构建文中实体之间的关系网络,常用于知识图谱;实体关系标注需要预先定义实体、关系和属性,标注过程一般需要进行实体识别、关系抽取、实体统一、指代消解。

图像:图像标注主要作用于计算机视觉,应用最为广泛。

●图像分类:对图像定性并打上标签,一般包括二分类标注和多分类标注,二分类标注一般表现为对标注目标进行是或否的二分类判断。

●目标检测:标记图像中目标的坐标位置并打标签。

●图像分割:一般包含语义分割、实例分割和全景分割,对图像中的目标位置、数量、实体名称打标,常用于分割类算法。

●点云标注:对激光雷达采集的三维图像数据进行标注,服务于计算机视觉与无人驾驶等模型使用,常用的标记方法包括点云目标检测、点云分割、3D点云标注、2D3D融合标注。

音频:音频类标注常用于人工智能语音、聊天机器人、ASR等方向

●语音转写:音频转文本(ASR)。

●语音切分:对音频对话切分,并标记出对应角色和内容。

视频:视频类标注目前也越来越广泛,如信息安全、自动驾驶能领域。

●目标追踪:对视频逐帧进行目标检测或图像分割标注,常用于模型对连续帧内容的实体和行为识别。

不同标注方式,在标注工作中,使用的工具和对素材处理的方式可能各不相同,这就需要在工作台搭建时要针对不同的标注方式,配置不同的工具组合,因此,需要构建易用、可配置化的工作台以满足不同的标注要求。

5.1.2 工作台易用性设计

数据标注平台的易用性主要体现在标注工作台,人性化的工作台布局加上丰富的标注工具,无疑是提升标注效率和标注质量的助力。

标注工作台即要支持丰富的标注方式,又想实现人性化、灵活性,最直观设计方案就是配置化,配置化的一大优势在于无需系统升级,即可利用组件库、工具库、标签库配置出满足不同标注目标的工作台。


恒星标注平台可由人工自定义其工作台布局,并从工具库中挑选所需的标注工具,从而构建出当下所需的工作台布局,且对于工作台每个工具、按钮、标签都可以自定义快捷键。


●标注工具:点、线、矩形框、多边形框等绘制工具
●媒体工具:放大、缩小、裁剪、暂停、播放等媒体类标注工具
●标签工具:实体标签、关系标签、自增标签、下拉框、单复选框
●辅助工具:用于对待打标素材进行预标注、检测
标注平台的简单、易用,多种多样的标注工具,相较于传统的线下标注方式,可以使标注人员拥有更好的使用体验,好的工作台设计,对标注的效率和质量有重要的帮助。 但是,影响数据标注效率最大的问题在于“人工”,在AI大行其道的今天,利用AI算法模型赋能数据标注也成为提升人效的重要手段之一。

5.1.3 AI助力的智能标注

AI智能标注旨在以算法模型替代人工标注,从而降低标注成本; 常见的智能标注手段包括全自动标注和半自动标注。

(1)全自动标注

全自动标注是完全由算法模型完成标注的过程。标注平台将待标素材送往算法模型进行预测,并将预测结果作为样本存储,常使用无监督学习模型实现,例如聚类算法等。这种方式因模型预测置信度问题,只适用于一些粗粒度分类场景。

(2)半自动标注

半自动标注则是对“小部分”素材先进行人工标注,产生模型训练集并使用有监督学习模型或半监督学习模型训练,然后将剩余素材由模型完成标注。


AI标注的核心在于标注模型的预测效果,而其决定因素是训练集的提取,即人工标注部分,一般来说有两种提取方式,随机抽取和“有策略的找出特征丰富、鲜明的素材”作为训练集,显然后者更符合标注场景要求。因此,在半自动标注过中,如何找出所谓“高价值”、“难区分”的素材给予人工标注是这一个命题的核心。主动学习(Active Learning)则是业界来解决这一问题业研究方向。


如图所示,在相同数目的标记样本下,主动学习选取的表现要好于随机选取的表现,这种可以描绘出整个学习过程的曲线也一般用于对主动学习方法进行评估。主动学习的研究目标在于:通过某种策略构建出较少的训练数据,来减少标注成本的机器学习方式,而其中的重点在于以什么策略对素材进行重要性评估。行业内对于特征不确定性素材的评估策略一般有:低置信度采样、边缘采样、熵等方法,对于这一课题不在本文讨论重点,不做赘述。

5.1.4 业务助力的数据标注

利用一些用户对C端媒体资源的操作,并恰巧能形成标注效果的业务,也能为数据标注产生助力,从而一定程度上降低标注人力成本,我称之为: 业务助力的数据标注,典型的例如: 图片验证码标注,业务C端用户在使用图片验证码验证过程中完成图片分类。 但目前此类标注具有较高的局限性,只能完成分类标注,同时要实现标注系统和验证码系统的对接。
从人效提升方面来说,实际上是一个不断学习的过程,随着系统的应用,会不断更迭提效手段,对于系统维护者来说,如何让平台使用成本更低、更易用也是要长期关注的问题。
5.2 数据存储
对于标注平台数据来说,其本身并不关心素材如何被收集、样本如何被使用,更会关心以何种数据类型存储、用什么介质存储、数据协议是否通用;但系统本身应该具备数据对接能力,在与不同业务方合作过程中更轻量化、在线化的完成数据导入和交付。
5.2.1 标注数据存储
标注平台的数据从其应用背景来说,大多用于模型训练场景,因此具有体量大、媒体类型多样的特点。

从技术角度,标注数据一般又是结构化或半结构化数据,同时又由人去“加工”,对于存储的选型和读写性能要求比较严格,恒星标注平台的存储设计如下:


●对象存储:标注平台主流媒体类型包括文本、图片、音频、视频,当前对于媒体类型的存储必然会依赖于对象存储。在选型过程中需要关注的点包括存储上限、性能(CDN)、内外网隔离(内网公有读私有写,外网私有读私有写)等,恒星使用58自研的WOS作为对象存储。

●大数据存储:包括素材和样本基本信息、资源url、Schema信息(尺寸、大小、名称、分辨率),对于数据存储要求数据库具备较好的读写性能,即意味着GUI页面的响应速度。对于样本,除原始数据外还包括标签数据,复杂的标注方式或复杂的素材,其标签数据也是很大的。因此,对于素材和样本的存储,采用列式数据库是比较合适的方案,如HBase,此类数据库没有Schema信息,无需预分配空间,存储利用率更高。

●消息队列:恒星标注平台使用消息队列,一般用来做异步化、非阻塞型业务逻辑的处理,例如系统级数据对接、异步资源下载等等。

●数据仓库:对于数据统计一般应该有一个独立的OLAP型的服务来支撑,因为数据统计对数据的实时性要求不高,由Hive来支持。工作台提交的数据作为ODS数据,经过DWD规范化后,由DWS聚合汇总,最终在ADS形成数据报表。
业务建设:
从自身业务来说,一般样本数据均具备一定行业普世化特征,因此对标注数据存储合理的分类、划堆可以极大对提升数据价值,进而可形成行业行业数据集。这里提供一个思路,可以对已经沉淀的样本库构建分类树的方式将应用样本数据进行聚合、降噪、再索引,从而可形成行业标准样本库,形成标注平台数据衍生价值。

5.2.2 系统级数据对接

标注数据Pipline的流程抽象

数据导入导出形式除依托于产品功能的人工上传、下载外,还包括依托于系统级的数据对接形式;数据可对接的能力,会极大的降低系统间的“沟通”成本,尤其对于集团内不同业务与标注平台的数据采集、交付和本地化标注与数据中心对接等场景,这就要求平台支持“多租户”的对接能力和数据权限隔离。

系统级对接要求由标注平台向使用方授权,数据传输的安全性是系统级对接的注意点,对于应用于内容安全类模型训练的样本数据要避免外泄。系统对接的形式包括技术手段很多典型的包括消息队列、API接口等。


样本交付:

对于样本数据,应具备一套规范化存储协议,可以帮助平台更好的沉淀标准化样本,产生平台衍生价值,这一点我们可以借鉴一些行业数据集,例如MicroSoft的COCO数据集、Object365等。而对于多租户系统来说,各租户往往对样本协议的要求并不是统一的,这时要求标注平台在交付时承担各组户的协议兼容,但平台自身应该有一套核心的标准化协议。

一般来说,一套完整的样本协议需由:样本基本信息、元数据、标注方式、标签、坐标、绘制形状等部分构成,当然不同的标注方式会存在差异,下面是以目标检测为例的协议案例:

{    "pattern":"标注方式",    "basicinfo":{        "name":"样本文件名称",        "url":"样本下载地址",        "mediatype":"文本/图像/音频/视频/行为/点云",        "audittype":"机器标注/人工标注"    },    "metadata":{         "format":"png",        "width":600,        "height":450,         "depth":24,         "resolution":"600*450",         "size":97616    },    "result":[        {            "ptype":"rectangle",            "postion":[[45,97],[136,26]],            "contenttype":1,            "audittype":"机器标注/人工标注",            "label":"car",,            "rate":0.89,              "evidence":{                           "content":"选中内容"            }        },        {            "ptype":"rectangle",            "postion":[[45,97],[136,26]],            "contenttype":1,            "audittype":"机器标注/人工标注",            "label":123,            "rate":0.89,              "evidence":{                           "content":"选中内容"            }        }    ],    "version":"v1"}

5.3 质量和人效管理

5.3.1 标注质检

标注质量是标注平台另一个重要的命题,对于机器学习来说样本输出质量直接决定着算法模型的准确率和召回率。通常标注质量管理是标注平台相对独立的一个模块,该模块主要实时评估标注产生的数据效果和对产生的样本数据“回捞”修正。

针对标注结果的质检一般需要多轮,原因在于其一是多次检查以保证样本的准确性;其二是可以实时感知标注人员的标注水平和质量。对于不合格的标注结果予修改或驳回,对于不合格的标注人员及时终止其任务并重新培训上岗。


恒星标注平台质量管理支持实时质检和抽检两种方式。

●实时质检:标注完成后依据质检比例将命中数据推送到实时质检任务池,质检通过的允许数据产生样本;实时质检的优势在于能力实时监控标注人员的当前标注准确率,以便于管理人员及时终止并培训。

●非实时质检(抽检):目的在于对已经产生且还未交付的样本数据进行抽取复检并修改,进一步保证样本的质量。


质检范围(条件):

●全量质检:将标注完成数据全部进行质检审核。

●抽量质检:按照一定条件和比例抽取“样本”进行质检

     人员:按照标注人员配置抽检比例。

     时间范围:按照时间范围筛选样本配置抽检比例。

     标签:按照标签配置抽检比例。

质检方法:

●一次质检:进行一次质检后,推送样本。

●二次质检:提供两轮质检,对标注和一轮质检修改不一致情况进行复查。

5.3.2 人效管理

相较于线下标注,人效管理也是平台化建设的一大优势,管理员可以直观的依据数据大盘评估标注人效。人效管理统计维度和统计指标需要在设计初期就考虑完整,并形成相关业务数据埋点,常见的统计指标包括:标注任务量,任务框选量、标注时长、准确率、驳回率的等。

数据统计的核心在于数仓建设和BI指标,因不同的标注团队对于人效管理的方式、工作量统计、计费方式各有不同,本模块设计仅供参考。


数据标注平台除上述建设以外,还会依托用户账户体系、用户权限、数据权限以及风控、数据安全性等功能的建设,这部分完全可以独立于数据标注本身去设计,这样既能保证标注平台核心设计的低耦合和可扩展性,又能更容易的实现本地化部署改造。


6

本地化&私有化建设

本地化是一种软件服务 形式,相比于Sass服务,本地化的服务方式具有更好的私密性和安全性,同时在满足个性化需求方面更有灵活性。 标注平台本地化旨在将标注服务通过一套本地化方案提供给外部客户。
本地化部署交付的全流程主要分为软件交付前、合同签署、正式交付和交付后等4个阶段。
在软件交付前,核心要关注的是客户需求,识别到客户需求并进入对接流程; 合同签署作为关键环节,除了商务层面的对接之外,产研侧需要关 合同内容,包括但不限于软件产品内容、授权期限、维护说明、软件升级说明、版权申明等; 在正式交付阶段,主要是依据合同约定,部署正式包,并在客户环境完成测试; 最后是软件交付后,核心需要关注的问题是,维护问题和二次开发问题。
License认证
为防止系统在其他未授权环境运行和使用,需要建立License授权认证机制。 License认证模块包含环境指纹采集工具、证书管理和认证服务。 License认证对外可以方便集成到任何本地化产品用作授权认证。

代码加密
为防止本地化源码通过反编译等手段造成泄漏,需要对软件源码做加密处理。本文只阐述以恒星标注平台为例,Jar工程加密方案:
(1)开源加密工具XJar(https://github.com/core-lib/xjar)
开源协议:http://www.apache.org/licenses/LICENSE-2.0,支持商业化闭源,满足披露要求即可。
基于对JAR包内资源的加密以及拓展ClassLoader来构建的一套程序加密启动, 动态解密运行的方案, 避免源码泄露以及反编译
(2)JVMTI方式自定义实现Jar加解密

通过Java虚拟机工具接口(JVMTI),用C++生成动态链接库(DLL)的方式,给你指定的二进制的class文件进行加密。在jar启动时,同样地,加载解密DLL完成解密并启动。

版权问题
●作为软件提供方,了解软件著作权保护相关法律法规,保护自身软件版权不受侵害
●同时也需要关注,我们所提供的软件产品中集成的第三方开源框架和代码符合商业闭源要求,不侵害他人软件版权。

7

平台化建设总结

做平台产品,是否能切实服务用户、创造价值是评价平台成功的因素,因此对于平台产品来说最难的并不是技术壁垒,也不是产品方案,而是是否能够真正推广使用。 平台上线初期势必需要经过一批用户的试用和建议反馈,来逐渐优化系统缺陷,提升平台自身的易用性,用户粘性。 但实际上谁都不愿意成为小白鼠,在此之前,用户已经适应了老的工作模式和习惯,即使那是繁琐的。 使用新系统意味着有新的学习成本、要改变固有的工作习惯,甚至初期会面对各种各样的问题,这对用户来说是需要消耗精力的。
当然自建平台一旦开始产生价值,它紧贴业务、快速的升级迭代、轻量化的系统对接、协议适配等优势会逐渐体现出来,当对业务产生赋能,对用户给予正反馈,这其实是对平台最好的宣传。 我们在经过漫长的推广使用实则也达到了不错的效果,恒星数据标注平台不仅赋能于算法团队,还赋能于3D建模、业务标注等多种需求场景。

想要用户能端到端的使用平台,并完成他们的业务需求,还是需要一个漫长的过程。相对来说,至上而下的推动实则更为有效,总有一批人要先来体验、先来淌坑,给出建议和反馈,这样这个平台才会越来越好,朝好的地方发展;而不是一开始上来就堆功能,什么炫酷搞什么、大而全。但是在用户使用上,易用性和稳定性并不好,或者是并不能解决用户的需求和难点,那这种平台是活不下去的。

随着标注行业的发展,越来越多的企业将外包、众包等灵活用工方式应用于数据标注。 行业内较为著名的数据标注产品例如: 龙猫、倍赛、百度EasyData、京东众智等,均在标注平台自身能力的建设的同时,通过众包来解决人效问题,将繁琐的标注任务面向互联网自由职业者,以缩减企业人力雇佣、运营成本。 这也是恒星标注平台未来的的发展方向,同时也期待着对行业赋能。
感谢广大读者,希望对相关从业人员有所帮助。

作者简介
侯志明: 58同城 资深后端工程师       
李刚强: 58同城 资深后端工程师       
邢而康: 58同城 资深后端工程师

胡北辰:58同城 恒星标注平台产品负责人


平台使用
平台地址: https://stella.58.com
使用说明: https://docs.qq.com/doc/DRHpWcm5jdGJmVHV2

本文分享自微信公众号 - 58技术(architects_58)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部