目前以数据为中心(Data-centric)的人工智能发展如何?

[复制链接]
xiaojin 发表于 2023-8-9 12:02:50|来自:中国 | 显示全部楼层 |阅读模式
目前以数据为中心(Data-centric)的人工智能发展如何?
全部回复5 显示全部楼层
一抹白云 发表于 2023-8-9 12:03:37|来自:中国 | 显示全部楼层
@吴恩达 老师曾经大力倡导过一种搭建AI系统的新理念,就是Data-centric 人工智能,这里回顾吴恩达老师的原话。
Data-centric AI is the discipline of systematically engineering the data used to build an AI system. — Andrew Ng


Data-centric 人工智能范式

在前几年,传统的搭建AI模型的方式还普遍以模型为中心(Model-centric AI)的AI搭建范式,其主要注重于模型的设计和优化,并将数据视为模型开发过程中的辅助手段。在固定数据集的情况下,不断的设计模型、魔改模型,在论文中普遍采用几个常见或者公认的数据集进行测试,这导致过去一段时间人工智能的模型过度在这些数据集上过拟合,实际应用中的数据并不固定从而导致现实数据上效果差。

数据为中心(Data-centric AI)系统构建范式注重于数据的收集、处理和清洗,并将其作为机器学习和深度学习模型的主要手段。这种方法侧重于数据质量、数据可用性以及对数据进行分析,来帮助模型更好的改进和运作。在这层面更相信 (Garbage in, garbage out,GIGO
虽然在2021年吴恩达老师提出以数据为中心(Data-centric AI)的方式构建AI,但是在之前像李飞飞、Andrej Karpathy、Robert Munro 和 Jennifer Prendki 一系列大佬都将数据处理作为其工作的主要部分,下面描述了这两种AI系统构建范式的主要区别:
以模型为中心的人工智能以数据为中心的人工智能
主要重点是改进模型参数主要目标是改善数据质量
通过优化模型来处理数据噪声通过提高数据质量来处理噪声数据
模型足够好,不一致的数据标签可能会被消除旨在实现数据的高一致性
以数据为中心的人工智能范式


在以数据为中心的人工智能开发中,团队花费更多的时间来标记、筛选和扩展数据,在这里数据的质量和数量是成功结果的关键。因此,常常需要与数据科学家合作一起改进模型的输入数据。

以下是以数据为中心的AI系统构建范式注重三个关键原则:

1.  训练数据质量——坚信未来人工智能开发的重要进步越来越不是来自改进的算法、特征工程或模型架构,而是来自于输入给人工智能模型学习的数据质量、数量以及迭代方式

2.  可扩展策略——以数据为中心的人工智能程序旨在解决当今深度学习模型所需的大量训练数据以及在大多数现实环境的人工数据标记、数据迭代的困难。大数据手动标记数百万个数据点是不切实际的,数据收集、数据清洗、数据标记标记、和数据迭代的过程必须实现自动化或半自动化。

3.  领域专家——以数据为中心的人工智能需要领域专家合作,通过领域专家的知识可以使其收集的数据更具有代表性,数据质量更高。
数据训练框架


这里介绍了一个一个一般流程,并非所有步骤都是必须包括或者强制执行的。例如,无监督学习不需要标注数据。这些步骤也可以以不同的顺序执行。例如,数据扩增可以在数据缩减之前进行。

以数据为中心就是通过有意识的精挑细选部分高质量数据给予模型数据,并相信模型的学习能力;并且能够将整个流程自动化,从而实现数据—训练的闭环。




Data-centric 人工智能基本训练流程


另外吴恩达老师不止一次的表明对以数据为中心的人工智能系统的优势,曾经输过,“我无法雇佣 10,000 名机器学习工程师来构建10000 个定制机器学习系统,来真对不同场景,然而通过以数据为中心的人工智能是就可以解决这个问题,因为它可以为人们提供设计数据和构建所需的定制人工智能系统所需的工具。“
嗨,我是大K,@TopGeeky一个专注于前沿互联网科技的伪全能开发者,如果喜欢我的回答请点赞、收藏;如果觉得我的回答还不错不如点个关注吧~
ChatGPT ——成功的典型




ChatGPT基本训练结构

ChatGPT使用来自人类反馈的强化学习 (RLHF) 来训练该模型。首先使用监督微调训练了一个初始模型:人类 AI 训练员提供对话,他们在对话中扮演双方——用户和 AI 助手。其次,ChatGPT 让标记者可以访问模型编写的建议,以帮助他们撰写回复。最后,ChatGPT 将这个新的对话数据集与原有数据集混合,将其转换为对话格式。具体来看,主要包括三个步骤:

1)第一阶段:训练监督策略模型。在 GPT的模型的训练过程中,必须包括标记数据来参与监督学习的过程。首先,ChatGPT 会从问题数据集中随机抽取若干问题并向模型解释强化学习机制,其次标记者通过给予特定奖励或惩罚引导 AI 行为,最后通过监督学习将这一条数据用于微调 GPT3.5 模型。

2)第二阶段:训练奖励模型。这一阶段的主要目标,在于借助标记者的人工标注,训练出合意的奖励模型,为监督策略建立评价标准。训练奖励模型的过程同样可以分为三步:
        1、抽样出一个问题及其对应的几个模型输出结果;
        2、标记员将这几个结果按质量排序;
3、  将排序后的这套数据结果用于训练奖励模型。

3)第三阶段:采用近端策略优化进行强化学习。近端策略优化(Proximal Policy Optimization)是一种强化学习算法,核心思路在于将 Policy Gradient 中 On-policy 的训练过程转化为Off-policy,即将在线学习转化为离线学习。具体来说,也就是先通过监督学习策略生成 PPO模型,经过奖励机制反馈最优结果后,再将结果用于优化和迭代原有的 PPO 模型参数。往复多次第二阶段和第三阶段,从而得到参数质量越来越高的 ChatGPT 模型。

ChatGPT的训练数据有两个来源:
● 由我们的标注人员编写的Prompt数据集
● 提交给早期 InstructGPT模型版本API的Prompt数据集
标记人员

OpenAI通过一系列的筛选,找到了40个对不同人口群体的偏好敏感并且善于识别可能有害的输出的全职标记人员。整个过程中,OpenAI的研发人员跟这些标记人员紧密合作,给他们进行了培训,并对他们是否能够代表大众的偏好进行了评测。

标记人员的工作是根据内容自己编写prompt,并且要求编写的Prompt满足下面三点:
简单任务:标记人员给出任意简单的任务,同时要确保任务的多样性;
Few-shot任务:标注人员写出一个指示,同时写出其各种不同说法。
用户相关的:从接口中获取用例,然后让标记人员根据这些用例编写prompt。



标记人员统计

40名外包员工来自美国和东南亚,分布比较集中且人数较少, InstructGPT/ChatGPT的目标是训练一个价值观正确的预训练模型,它的价值观是由这40个外包员工的价值观组合而成。而这个比较窄的分布可能会生成一些其他地区比较在意的歧视,偏见问题。
API用户

OpenAI训练了一个早期版本的InstructGPT,开放给了一部分用户,根据他们提问信息构造样本,对数据集做了如下操作:

● 删除了一些重复的、包含个人信息的prompt;
● 每个用户只取200条prompt;
● 按照用户ID划分训练集、验证集和测试集,避免类似问题同时出现在训练集和验证集。



早期公测数据

除了针对数据进行优化外,ChaGPT还需要对模型进行微调:



ChatGPT微调结构

总体上来说,ChatGPT模型的成功很大一部分上取决于其花费了大量时间才数据标注上面,并通过强化学习训练,通过优秀的标注数据来进行指导。在某种程度上来说,ChatGPT的成功就是数据为中心的人工智能系统最好的验证。相较于国内的文本训练数据而言,ChatGPT即使开源了其模型结构也没有一家可以与之比肩的公司。
未来趋势——AGI


毫不夸张的说,未来的趋势逐渐显现,就是大模型一统天下附加着自动化数据采集、清洗、标注、训练等一系列的流程。特别是在AGI这个领域显现出来其巨大作用。大模型以及AIGC是可预见的未来AI的风口以及增长点。

但是除了OpenAI一家独大以外,其他公式难以复刻出来与其一样优秀的产品。如果想要短时间迅速入门或者了解AIGC大模型领域这一方面,跟随有经验的AI专家来学习一门AI大模型领域课程无疑是一种最迅速,最有效的方式,恰好知乎平台就存在与之对应的课程。



知学堂课程推荐

知乎开课的「知乎知学堂」和「AGI课堂」联动,推出了【程序员的AI大模型进阶之旅】公开课同样收到很多人的关注,这一门两天的导读课程,让你快速清晰的认识到AI大模型的面貌。更重要的是,学习要跟对教程老师,这门课的老师来源于科研界和工业界大牛授课,帮助你展望AI未来发展趋势。
上面的链接就是公开课的链接,最重要的这是知乎知学堂推出的免费课程,如果你是科研大牛不妨和工业界大牛一起讨论未来趋势,如果你是小白不妨多一分科普认识到未来AI的发展趋势,如果现在不来那么如何掌握未来AI发展趋势呢?
参考资料

[Github]数据为中心的人工智能论文仓库汇总:  <a href="http://link.zhihu.com/?target=https%3A//github.com/daochenzha/data-centric-AI" class=" external" target="_blank" rel="nofollow noreferrer">https://github.com/daochenzha/data-centric-AI
[Github]文本数据抓取工具:  https://github.com/codelucas/newspaper
[论文]Data-centric Artificial Intelligence: A Survey: https://arxiv.org/pdf/2303.10158.pdf
[论文]Data-centric AI: Perspectives and Challenges: https://arxiv.org/pdf/2301.04819.pdf
[论文]GPT-4 Technical Report: https://cdn.openai.com/papers/gpt-4.pdf
[博客]ChatGPT模型的三层理解: https://imzhanghao.com/2023/02/24/chatgpt/
<hr/>嗨,我是大K,@TopGeeky一个专注于前沿互联网科技的伪全能开发者,如果喜欢我的回答请点赞、收藏;如果觉得我的回答还不错不如点个关注吧~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阿博科技 发表于 2023-8-9 12:03:44|来自:中国 | 显示全部楼层
以数据为中心(Data-centric AI)与 以模型为中心(Model-centric AI)的 AI 系统构建范式的区别在于:

  • Model-centric AI:固定数据集的情况下设计、扩大模型,强调模型参数量和架构的重要性。论文中通常在相同的数据集上测试不同模型作为测试(Evaluation Dataset),证明模型的优越性
  • Data-centric AI:固定模型架构(甚至参数量),不断扩大数据集规模、优化数据集内容和构成。这主要是目前的模型架构具有参数可扩展性(scalability),在数据上远远没有饱和。大量的高质量数据可以让目前模型性能显著增加。
数据收集中,最昂贵的部分是人类标记数据。难度越大、粒度越细的任务,标注的成本也就越高。诸如回答问题(需要写一段话)、语义分割(需要标注每个物体不规则的形状)等任务,单个样本的标记成本是很高的。之前这些任务之所以没有特别大的数据集,也是数据收集的成本过高。在数据带来的收益量不够明确之前,大家不舍得花如此高的价格。


最近大火的模型(如 ChatGPT,Segment Anything)往往将模型训练和数据收集耦合。这种新的范式通过训练模型,降低单个样本标记的人工成本。这可能会是下一阶段 Data-centric AI 指导下大模型训练的思路。



Segment Anything 模型训练和数据收集框架

在 Segment Anything (SAM) 中,训练和数据收集流程分为了三个阶段:

  • 带辅助的人工阶段(Assisted-manual stage):这一阶段标注者需要点击每一个前景和背景的物体,已经训练的 SAM 模型会给出一个可能的物体范围,标注者用“笔刷”和“橡皮擦”工具再修改范围。在这一阶段,模型训练和标记就迭代了 6 次,而每个物体信息的平均标注时间也从 33 秒减少到 14 秒。但即使是 14 秒,总共标记了 430 万个物体信息,如果一个人来做的话不吃不喝需要整整两年时间。
  • 半自动阶段(Semi-automatic stage):这一阶段模型首先会给出高置信度的物体信息,标注者只要标记剩下的物体。由于剩下的物体往往较难,每个物体信息的标注时间又增加到 34 秒。该阶段训练和标记迭代了 5 次。
  • 全自动阶段(Fully automatic stage):最后,所有的标记工作都有模型给出,不需要任何的人力成本。
如果我们考虑一张图片的标记成本,其中每张图片的物体数量用半自动阶段结束后的平均值 72 个计算。虽然第一阶段并没有让标记者每张图片标记那么多数据,但如果想达到相同质量的数据,第一阶段开始时是 72 x 33s = 40 分钟,第一阶段最后一次是 72 x 14 = 17 分钟。而在第二阶段,虽然论文并没有给出 SAM 标注的物体数量,我们用第一阶段结束时每张图片的物体 mask 数量 44 估计,标记一张图片需要 (72 - 44) x 34 = 16 分钟,且不断迭代的过程中模型输出的高置信度 mask 数量也会越来越多。



InstructGPT (ChatGPT) 训练三阶段

在 ChatGPT 的训练三个步骤中,我们将第一步监督训练看成阶段一,第二、三步 RLHF 看做阶段二,而目前出现的众多基于开源模型(LLaMa 等)进行 instruction fune-tuning 获得对话模型看做阶段三,可以发现标注单个样本的代价也不断降低。

  • 监督训练:一方面需要收集问题(prompt),另一方面需要标注着书写问题的回答。 在 InstructGPT 论文中,两者加在一起每个样本的长度约 200~500 个单词。书写这些内容是很花时间的。
  • 基于人类反馈的强化学习:在收集到的问题基础上,模型输出不同的回答,标注者只需要对输出进行排序。与撰写回答相比,排序的代价低很多。
  • Self-instruct 和 ChatGPT 回答:与 Alpaca 类似的项目(如 BELLE, Vicuna, ColossalChat)都使用了 Self-instruct 和 ChatGPT 来获得新的数据集。具体而言,通过种子问题(175 个),让调用 ChatGPT 生成新的问题以及回答,并在收集过程中去重。这个过程几乎不需要人类标注成本,如 Alpaca 收集的 52k 数据集只需要 500 美元调用 OpenAI 的 API。
通过这两个案例可以看出,对于标注成本很高的任务,通过同时训练模型和标注数据,可以不断的降低单个样本的标注成本,从而获得大量的高质量数据。SAM 的训练形式没有改变,而 ChatGPT 通过引入 RLHF 将生成任务的标记代价降低为了排序任务的标记代价。
传统的主动学习(Active Learning)希望标记较少且关键的数据来获得更好的性能。这与上述范式不同,因为主动学习没有降低单个样本的标记成本,从而以小代价获得更多的数据。之后对于一些难领域、新领域,如果有标注成本高的问题,在上述训练-收集共同进行的思路下,或许更符合 data-centric AI 的指导思想。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
xchina 发表于 2023-8-9 12:04:42|来自:中国 | 显示全部楼层
从个人工作经验看,认识的互联网AI领域从业者一直都比较关注数据环节。只是这两年被各行业更广泛关注了。
从数据生产/收集、数据(预)标注、数据质量判别与优化、数据-模型迭代等各个环节都可以沉淀下来不少技术和经验,最近就在考虑如何沉淀成通用的产品功能。Data-centric技术与自动化结合,会发挥更大的作用。
利益相关,以开源产品PaddleNLP为例:

  • 数据标注环节:与NLPer广泛使用的标注工具Labelstudio、Doccano等打通,后续计划推出预标注(自动标注)功能。例如信息抽取任务数据标注示例:
PaddleNLP/model_zoo/uie at develop · PaddlePaddle/PaddleNLP

  • 数据增强:低成本且收益明显,例如常见的文本数据增强策略:词替换、词插入、词删除、词交换等,在CAIL2019—婚姻家庭要素提取数据子集(500条)上做个实验,有明显效果提升



  • 数据质量判别:基于TrustAI可信增强能力进行稀疏数据筛选、脏数据清洗,效果提升显著:
https://github.com/PaddlePaddle/PaddleNLP/tree/develop/applications/text_classification

以上这些数据相关的技术/经验都值得被广泛用起来,很多时候效果提升远高于模型的调优。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
linuxunion 发表于 2023-8-9 12:05:26|来自:中国 | 显示全部楼层
今天谈谈AI的另一种实现方案:以数据为中心的AI(Data-Centric AI)不同于以模型为中心的AI(Model-Centric AI),对于优化AI的泛化能力采用的是数据集的优化,而不是模型的优化(如CNN、Transformer、Bert、GPT等)。在工业界显示,采用数据驱动来优化AI往往比模型更有效,提升更大。如下:



通过数据增强清洗等模型性能的提升,图片来自吴恩达公开课

Data-Centric AI
以数据为中心的AI就明显突出了数据的重要性而非模型,做数据也就成为了关键,通过各种方法系统性的删除一些噪音数据,修正一些错误标注数据,做数据集的扩充等等就尤为关键,而承担这一工作的角色称为Machine Learning Operators(MLOps),投票显示这一岗位更适合的人群为数据科学家或者领域专家。



算法工程师或者领域专家更适合作为MlOps



以下是Data-centric AI的key point

个人对AI的理解为:AI system = data(train、dev、test 70%)+ model(CNN、RNN、Bert、GPT 20%)+ trick(10% loss、warmup、optimizer、attack-training etc),数据决定了AI模型的上限,模型和trick只是去逼近这个上线,记住:garbage in, garbage out。
Data Clue

接下来给大家分享一个以Data-centric AI为指导思想的论文:
DataClue:A Benchmark Suite for Data-centric NLP
数据集构建

由于是以数据为中心,首先构造一个有挑战性的数据集就很重要了,作者徐亮以文本分类任务为依托,对数据进行一些特殊处理,使得train-dev的精度在70%左右,test集合保持为ground truth(95%+ acc)。



分类任务数据集

or CIC more than 1/3 and 1/5 of the data in the training set and validation set may have the problem of labeling errors. Meanwhile, the dataset is seriously unbalanced, making it more difficult to learn a good model.



通过random或者top5 select打乱label,构造训练集噪声



一些难以区分的badcase

做数据,基本也就是增删改操作了,通过这些操作不停的提高训练集的质与量。作者采用了所有的方式做数据,并进行了各种实验以及结果分析。
噪声标签删除

交叉验证训练多个模型,根据熵判断最有可能错误的。



删除熵最大的脏数据

数据标签修改

交叉验证训练多个模型,取模型预测结果一致且prob比threshold大的数据。(或者top2000)。多个模型可以采用不同的seed,不同的训练集测试机,或者不同的模型结果(bert与textcnn等)。

  • human_resource check:
  • 1、random_select (策略基本无效,验证了该任务的难度有效性)
  • 2、selected by prob distribute (策略有一点效果)


数据增强(data-aug)

- 同义词替换(Synonym Replacement, SR):从句子中随机选取n个不属于停用词集的单词,并随机选择其同义词替换它们;
- 随机插入(Random Insertion, RI):随机的找出句中某个不属于停用词集的词,并求出其随机的同义词,将该同义词插入句子的一个随机位置。重复n次;
- 随机交换(Random Swap, RS):随机的选择句中两个单词并交换它们的位置。重复n次;
- 随机删除(Random Deletion, RD):以 $p$ 的概率,随机的移除句中的每个单词;

  • 值得一提的是,长句子相对于短句子,存在一个特性:长句比短句有更多的单词,因此长句在保持原有的类别标签的情况下,能吸收更多的噪声。

  • EDA提高文本分类的效果的原理是什么?
生成类似于原始数据的增强数据会引入一定程度的噪声,有助于防止过拟合;
使用EDA可以通过同义词替换和随机插入操作引入新的词汇,允许模型泛化到那些在测试集中但不在训练集中的单词;
2. 为什么使用EDA而不使用语境增强、噪声、GAN和反向翻译?
由于需要一个深度学习模型,这些技术往往在其取得的效果面前,付出的实现代价更高。而EDA的目标在于,使用简单方便的技术就能取得相接近的结果。
3. EDA是否有可能会降低模型的性能?
确实有可能。原因在于,EDA有可能在增强的过程中,改变了句子的意思,但其仍保留原始的类别标签,从而产生了标签错误的句子。
对于同义词替换部分,模型认为的相似的词(embedding的向量接近)与人类社会认为的同义词可能不太一样。


我们通常认为的“反义词”,从客观上来看,它们都算是比较相似的词,比如“喜欢”和“讨厌”,它们的共性多了去了:都是动词,都是描述情感倾向,用法也差不多,所以我们怎么能说这两个词“毫不相似”甚至“相反”?我们说它是反义词,是指它在某一个极小的维度下是对立关系,要注意,只是某个维度,不是全部。 ——
定义增强(definition_aug)




定义增强是吸收了标签定义的信息增益

能做def_aug是因为标签即知识,对于那种给一个ID的标签不可行,比如情感识别的label只给出01,即label提供不了任何信息的时候该方法是很难适用的。



Input为训练集测试集,output为新的训练集测试集

结果分析




删除脏数据增益,先增后减(数据删除多了信息自然会丢失)



数据增强增益,同样增强太多会引入噪声



定义增强增益

需要控制EDA数量, signal-to-noise ratio信噪比别太小,triple比较合适
对于Def_aug,The use of augmentation here also has a similar phenomenon to the previous one, that is, too much data augmentation is meaningless. According to our experiment, a 50-fold augmentation is an optimal choice.


we find that the label augmentation and the data augmentation methods looks incompatible. This may due to the over-augmentation creates too much noise.


参考资料:

Paper:DataCLUE: A Benchmark Suite for Data-centric NLP https://arxiv.org/pdf/2111.08647.pdf
DataCLUE: 数据为中心的NLP基准与工具包
https://github.com/CLUEbenchmark/DataCLUE
吴恩达新课:从以模型为中心到以数据为中心的AI哔哩哔哩bilibili
CLUE中文语言理解基准测评
cleanlab:GitHub - cleanlab/cleanlab: The standard data-centric AI package for data quality and machine learning with messy, real-world data and labels
eda_nlp: GitHub - jasonwei20/eda_nlp: Data augmentation for NLP, presented at EMNLP 2019
Synonyms: Chatopera/Synonyms
EDA_NLP_for_Chinese: GitHub - zhanlaoban/EDA_NLP_for_Chinese: An implement of the paper of EDA for Chinese corpus.中文语料的EDA数据增强工具。NLP数据增强。论文阅读笔记。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
loyowo 发表于 2023-8-9 12:06:13|来自:中国 | 显示全部楼层
光有数据中心没啥可持续性。
就国内情况来看,没有延伸的终端的落地路径是最大的产业缺陷。

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则