编者按:
我们知道,当有了一个基础模型之后,可从两个维度来提高它的性能,一是以模型为中心的方法,即想尽各种办法提高算法设计的复杂度、技术含量等;二是以数据为中心的方法,通过数据增强、合成数据、主动学习等数据策略提高数据的质量,从而提升模型的效果。知名AI学者吴恩达发现,以数据为中心的方法比以模型为中心的方法能更多地提高模型性能。 2021年,他提出,过去十年,人工智能最大的转变是拥抱深度学习,未来十年,人工智能将从以模型为中心(Model-centric)转向以数据为中心(Data-centric)。吴恩达表示,AI = Data + Code,更好的AI=80%的数据+20%的模型。未来机器学习想要发展更快,应该做的不仅是改进算法,而是转向创造出一种更系统的方式来改进数据,将80%的工作用来准备数据,将重点从大数据转移到高质量数据。
获得高质量的数据是一个非常复杂的过程,涉及数据获取、数据标注、数据处理等多个环节,需要耗费大量的时间和人力成本。想要实现“从大数据转移到高质量数据”,就离不开数据策略的设计。OpenAI的ChatGPT就是通过精妙的数据策略——基于人类反馈的强化学习(RLHF),“一石激起千层浪”。(了解详情请点击《ChatGPT的成功,源自数据策略的精巧设计》)
本文详细介绍了星尘数据的数据策略案例与成果,以敏感句检测模型为例,深入解读了其中的数据策略“组合拳”,旨在帮助大家更好地理解“以数据为中心的AI”,了解如何运用数据策略,以最低的数据标注成本,动态实现“模型性能-数据集-标注规则”的同步提升。
一、难点
随着互联网技术的快速发展,网络上的内容呈现出爆炸式增长的趋势。一些用户在互联网上发布含有违法、违规的内容,比如暴力、色情、欺诈、骚扰等等,这些内容不仅会伤害他人、引发社会矛盾甚至犯罪,还会对互联网社区的秩序和公共安全带来威胁。因此,为了保障用户的合法权益,维护互联网社区的健康发展,以及满足政府法规的要求,各大互联网公司都需要进行内容审核,并通过AI技术实现更加准确、高效、自动化的审核流程。
敏感句是指可能会引起负面影响或招致不良后果的言论或话题,如涉及政治敏感话题、涉黄、涉暴、涉恐等内容,如下图:
![](https://img-blog.csdnimg.cn/img_convert/8fd0c3476456035c4cc46673df0e3c17.png)
敏感句检测是一种文本分类任务,需要通过机器学习模型来对敏感信息进行识别,实现文本内容实时监控和过滤,以保证内容和谐,被广泛应用于社交媒体、在线论坛和社区、金融保险、政府部门、舆情分析等。
以敏感句检测模型为例,传统的做法是获取一大批数据进行标注,通过监督学习的方式训练模型,然后不断迭代算法提高模型效果,但这其中存在三大难点:
1、获取数据难
敏感句的种类和形式多种多样,要覆盖所有可能出现的情况需要大量的样本数据,常用的方法包括开源数据集、网络爬取等。然而,现实中敏感句通常是非常少见的,网络上的内容已经进行了过滤,需要大量的人工从海量数据中进行筛选,犹如“大海捞针”,获取数据的成本极高,效率极低,有效数据稀缺。
2、语义分析难
敏感句涵盖的语义范围非常广泛,标注规则制定难度很高,极易产生人为因素主观误差。例如:“特朗普在美国南部建了一堵墙”,这是一个涉及种族歧视的敏感句,但是人需要具备丰富的历史、地理和文化知识才能判断出来,模型则需要非常精细的标注规则才能准确预测。再例如,“有人开枪打人”是一个涉及暴力的敏感句,但是“警察开枪击毙了歹徒”却不是敏感句。丰富的语义导致模型需要非常详细的解释和说明,才能“慧眼识敏”。
3、模型迭代难
首先,数据量少会影响敏感句算法迭代的效果;其次,敏感句类型多,不同领域、不同表达方式、不同文化等多样性差异使得算法难以进行泛化,容易出现过拟合等问题;最后,敏感句算法的结果往往是有一定程度的主观性和不确定性的,这使得算法的迭代过程更加复杂和困难。
综上所述,我们不难发现,在敏感句检测算法训练的过程中,传统的以模型为中心的模式在数据获取、数据标注、算法迭代上都受到了极大的阻力。
为了解决上述难题,星尘数据打出一套精巧的数据策略组合拳,不仅能最大程度提高算法的识别能力和准确性,还能同步实现数据集、标注规则、人类主观意志偏差的优化,该方法已经在实际项目中应用并取得了良好的效果。
下面,星尘君将为大家揭秘这套独特的数据策略。
二、打出数据策略“组合拳”,星尘的“独门绝技”
1、整体设计
![](https://img-blog.csdnimg.cn/img_convert/e161c767dddd62f89c64f7b6ba85ab48.jpeg)
图:星尘数据敏感句检测算法中的数据策略
为了解决数据稀缺、语义分析难度大、模型迭代困难的问题,星尘数据通过采用合成数据、主动学习、知识蒸馏、人机交互迭代等数据策略,在最少标注量的前提下,动态提高了数据质量,精炼了标注规则,并最大程度降低了数据标注的成本,使得模型效果达到最佳。
2、数据策略
(1)合成数据(Synthetic Data)
数据稀缺,怎么办?为了获得基础模型的冷启动数据,我们采用的第一个数据策略是合成数据。
合成数据是指通过计算机生成虚拟的数据集,从而代替真实数据集。与传统的数据采集方式相比,合成数据可以控制数据的类型、数量、质量和分布,减少对真实数据集采集、处理和存储过程的依赖,还可以缩短训练时间,减少成本,没有实际数据采集、整理和标注的限制。
![](https://img-blog.csdnimg.cn/img_convert/0d96509e20d241aa757f98496f825bcd.png)
图:prompt模版示例
在敏感句检测案例中,我们合成数据采用的方法是使用GPT模型生成训练所需的敏感句语料。星尘的数据策略师通过Prompt engineering指导GPT模型生成数据,确保其快速生成大量不同角度、不同风格、不同长度的高质量敏感句,节省手动标注数据的时间和人力成本。例如,通过向GPT模型输入“这个句子是关于暴力的”“发生的时间是上周”“叙述者是一个年轻的男孩”“这个句子出现在一篇新闻中”等提示,获取符合要求的敏感句。
![](https://img-blog.csdnimg.cn/img_convert/b092ae3a64ddd68ac43de40f6ea3fd85.webp?x-oss-process=image/format,png)
图:自动化语料数据合成管道
当然,合成数据无法完全代表现实世界的真实情况。为了避免模型的泛化性能下降,我们还准备了两部分少量的真实数据,一部分是来自论坛、社交媒体等平台的正样本数据;另一部分是星尘的数据策略师通过精选、整理和校对得到的高质量数据,这部分数据消除了一些潜在的偏见或错误,增强了数据集的准确性,从而减少模型在处理复杂问题时出现的反事实偏差。
上述的三部分数据(合成数据、正样本数据、人类精选数据)组成了模型的冷启动数据集,通过训练我们得到了一个基础的敏感句检测模型。但是,此时的模型和数据都比较脏,接下来,我们采用了主动学习策略,进一步优化数据质量和模型效果,降低数据标注的成本。
(2)主动学习(Active Learning)
主动学习指模型在推理过程中主动选择需要标注的样本来优化迭代。通过有效的主动学习数据选择策略,可以利用少量标注数据获得与使用大量标注数据训练模型相当的性能,从而节省标注成本,提高模型效果。
在我们的设计中,模型推理结果为确定且正确的数据将不再进行人工标注,推理结果为不确定或错误的数据将交给人类数据策略师进行标注。人工标注完成的数据重新放入数据集,对模型进行训练。多次重复这个过程,我们就会得到尽了最大努力的模型(best-effort model)和达到上限的数据集(best-effort data)。
通过主动学习数据策略,我们在最少标注量的基础上得到了暂时最优的模型和数据集。类似的方法在Open AI发表于2023年2月14日的论文《A Holistic Approach to Undesired Content Detection in the Real World》中有详细的介绍。
但是星尘的数据策略不止如此,我们在上述训练结果的基础上增加了全新的数据策略,形成了星尘独家的数据策略“组合拳”,实现了标注规则、模型效果和数据集的同步优化。
(3)知识蒸馏(Knowledge Distillation)+人机交互迭代(Human in the loop)
在敏感句检测模型训练中,我们引入了知识蒸馏+人机交互数据策略,将上一步得到的最大努力模型(best-effort model)作为老师模型进行知识蒸馏,训练一个最终的学生模型,并在中间加入了判断逻辑和人机交互策略,进行数据集和数据标注规则的同步优化,具体步骤如下:
当老师模型碰到一个置信度很高但推理错误或不确定的难例数据(如“警察开枪击毙了歹徒”),星尘数据策略专家组将对推理结果进行投票判断,确认问题归因于算法、数据样本缺失、还是数据标注规则需要进一步迭代。
如果是此前没有类似数据,则需要合成新的数据;如果是算法问题,则需要改进算法;如果判断为标注规则不清晰,如规定了所有含“枪”的句子都为敏感,则数据策略专家需要对标注规则精炼迭代,并重新标注数据。
完成人机交互迭代后的老师模型继续进行知识蒸馏,能够使学生模型效果提升2%。不仅如此,星尘还可以实现通过多个老师模型进行知识蒸馏,得到一个最优的学生模型。
在知识蒸馏+人机交互迭代的过程中,数据集、数据标注规则、模型效果同时达到了最优。
三、质量控制
确保数据标签的准确性对于训练一个高质量的模型至关重要。然而,在标记分类时总存在主观性,这使得获得高质量的标记数据很困难。为了解决这个问题,星尘采取了各种措施来提高标记数据的质量。
首先,星尘的数据策略师致力于设计尽可能明确和具体的标记指令,以便可以最小化主观性。这意味着我们会定义每个类别及其子类别,使它们相互排斥,并尽可能减少任何模糊性。此外,我们定期进行校准会议,以核实标注者和策略师之间的一致性,并识别任何潜在的标记问题。
为了确保更高质量的标记数据,我们的质检考虑到了不同类别的分布,随机选择样本来检查标签的准确性,同时追踪标注人的表现。特别是,我们选择10个已标记为“负面”的样本和10个模型置信度大于50%的样本,以检测潜在的误报(即假阳性)和漏报(即假阴性)情况,为我们提供更准确的标记数据。
然而,即使我们已经采取了明确和详细的标记指令和有效的审计措施,标注数据中仍然可能存在错误。因此我们将训练数据集分成两部分,分别进行训练和评分,以检测潜在的错误标记。
对于稀有难例,我们针对标注员分配的标签计算F-1分数,同时使用审核员分配的标签作为真实标签。当确有误标签的情况发生时,分类指标的分离使得容易识别特定类别的问题,并相应地重新培训标注者。
最后,我们选择其中一部分样本进行检验,如果错误标注占样本超过阈值,则需要重新进行标记,以确保我们的模型有高质量的标记数据进行训练。
四、算法效果
![](https://img-blog.csdnimg.cn/img_convert/f2f450c678f612d89eabafd920a447d3.webp?x-oss-process=image/format,png)
基于上述的数据策略,星尘数据敏感句检测算法表现优秀,准确率高、误报率低,召回率高达97%以上,该任务难度较大,行业一般召回率仅80%-90%。目前该算法已应用在实际项目中,取得了良好的效果。此外,这个算法还具有自适应性和高可定制性的特点,可以根据不同行业和应用场景的需求灵活调整和优化,更好地应对各种情况和挑战。
五、进一步提升
事实上,以上流程还可以进一步优化,例如通过交叉验证的方式,找到噪音数据;又或是通过对数据降维分布找到分布的方式,找到小样本稀有案例,然后进一步通过合成数据的方式进行数据增强。
六、结语
不难看出,“以数据为中心的AI”运动正在掀起AI行业的范式转变,数据策略将在未来十年发挥愈加重要的作用。数据策略中涉及大量前沿技术,既包括算法中和数据相关的技术,如领域迁移、时空融合、数据增强、弱监督学习等等;也包括以数据为中心的反馈迭代技术,如主动学习、强化学习、数据检索、Human-in-the-loop、数据安全、场景化数据生成、模型测试等。星尘数据培养了大量经验丰富的数据策略专家,正在打造行业领先的数据策略服务能力,通过数据策略专家服务、Autolabeling技术和数据闭环系统服务,为全球人工智能企业特别是自动驾驶行业提供“燃料”。
参考资料
1.Markov,T.;Zhang,C.;Agarwal,S.;Eloundou,T.;Lee,T.;Adler, S.;Jiang,A.;Weng,L.S.2023. A Holistic Approach to Undesired Content Detection in the Real World.arXiv:2208.03274
2.Aluru, S. S.; Mathew, B.; Saha, P.; and Mukherjee, A. 2020. Deep learning models for multilingual hate speech detection. arXiv preprint arXiv:2004.06465.
3.Barrientos, G. M.; Alaiz-Rodrıguez, R.; Gonzalez-Castro,V.; and Parnell, A. C. 2020. Machine learning techniques for the detection of inappropriate erotic content in text. International Journal of Computational Intelligence Systems,13(1): 591–603.
4.A Chat with Andrew on MLOps: From Model-centric to Data-centric AI,吴恩达
5.下一代 AutoAI:从模型为中心,到数据为中心,雷锋网,李梅
6.https://spectrum.ieee.org/andrew-ng-data-centric-ai