作者丨查道琛
人工智能(Artificial Intelligence, AI)最近取得了巨大的进展,特别是大语言模型(Large Language Models, LLMs),比如最近火爆全网的ChatGPT和GPT-4。GPT模型在各项自然语言处理任务上有着惊人的效果。至于具体有多强,这里就不再赘述了。做了这么多年AI研究好久没这么激动过了。没试过的朋友赶紧试一下!
正所谓「大力出奇迹」,把参数量调「大」能提高模型性能已经成为了大家的普遍共识。但是仅仅增加模型参数就够了吗?仔细阅读GPT的一系列论文后就会发现,仅仅增加模型参数是不够的。它们的成功在很大程度上还归功于用于训练它们的大量和高质量的数据。
在本文中,我们将从数据为中心的人工智能视角去分析一系列GPT模型(之后会用Data-centric AI以避免啰嗦)。Data-centric AI大体上可以分文三个目标:训练数据开发(training data development)、推理数据开发(inference data development)和数据维护(data maintenance)。本文将讨论GPT模型是如何实现(或者可能即将实现)这三个目标的。感兴趣的读者欢迎戳下方链接了解更多信息。
综述论文:Data-centric Artificial Intelligence: A Survey
短篇介绍:Data-centric AI: Perspectives and Challenges
GitHub资源(不定期持续更新,欢迎贡献):https://github.com/daochenzha/data-centric-AI
1
什么是大语言模型?
什么又是GPT模型?
这章将简单介绍下大语言模型和GPT模型,对它们比较熟悉的读者可以跳过。大语言模型指的是一类自然语言处理模型。顾名思义,大语言模型指的是比较「大」的(神经网络)语言模型。语言模型在自然语言处理领域已经被研究过很久了,它们常常被用来根据上文来推理词语的概率。例如,大语言模型的一个基本功能是根据上文预测缺失词或短语的出现概率。我们常常需要用到大量的数据去训练模型,使得模型学到普遍的规律。
通过上文来预测缺失词示意图
GPT模型是由OpenAI开发的一系列大语言模型,主要包括GPT-1,GPT-2,GPT-3,InstructGPT以及最近上线的ChatGPT/GPT-4。就像其他大语言模型一样,GPT模型的架构主要基于Transformer,以文本和位置信息的向量为输入,使用注意力机制来建模词之间的关系。
GPT-1模型的网络结构,图片来自原论文 https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
之后的GPT系列模型结构大体上都与GPT-1类似,主要区别在于更多参数(更多层,更多隐含层维度等等)。
GPT系列模型大小比较
2
什么是Data-centric AI?
Data-centric AI是一种搭建AI系统的新理念,被@吴恩达老师大力倡导。我们这里引用下他给出的定义
Data-centric AI is the discipline of systematically engineering the data used to build an AI system.
— Andrew Ng
传统的搭建AI模型的方法主要是去迭代模型,数据相对固定。比如,我们通常会聚焦于几个基准数据集,然后设计各式各样的模型去提高预测准确率。这种方式我们称作以模型为中心(model-centric)。然而,model-centric没有考虑到实际应用中数据可能出现的各种问题,例如不准确的标签,数据重复和异常数据等。准确率高的模型只能确保很好地「拟合」了数据,并不一定意味着实际应用中会有很好的表现。
与model-centric不同,Data-centric更侧重于提高数据的质量和数量。也就是说Data-centric AI关注的是数据本身,而模型相对固定。采用Data-centric AI的方法在实际场景中会有更大的潜力,因为数据很大程度上决定了模型能力的上限。
需要注意的是,「Data-centric」与「Data-driven」(数据驱动),是两个根本上不同的概念。后者仅强调使用数据去指导AI系统的搭建,这仍是聚焦于开发模型而不是去改变数据。
Data-centric AI和model-centric AI的区别,图片来源于https://arxiv.org/abs/2301.04819
Data-centric AI框架包括三个目标:
Data-centric AI框架第二层是目标,第三层是子目标,图片来源于 https://arxiv.org/abs/2303.10158
3
为什么Data-centric AI是
GPT模型取得成功的重要原因?
数月前,Yann LeCun发文称ChatGPT在技术上并不是什么新鲜事物。的确如此,ChatGPT和GPT-4中使用的方法,比如Transformer、「从人类反馈中进行的强化学习」(Reinforcement Learning from Human Feedback,RLHF)等都不是什么新技术。即便如此,ChatGPT还是取得了以前的模型无法企及的惊人效果。那么,是什么推动了它的成功?
毋庸置疑,增加模型参数的数量对GPT模型的成功至关重要,但这只是其中的一个原因。通过详细阅读GPT-1、GPT-2、GPT-3、InstructGPT和ChatGPT/GPT-4论文中有关数据的描述,我们可以明显看出OpenAI的工程师们花了极大心血去提高数据的质量和数量。以下,我们用Data-centric AI框架从三个维度进行分析。
训练数据开发:从GPT-1到ChatGPT/GPT-4,通过更好的数据收集(data collection)、数据标注(data labeling)和数据准备(data preparation)策略,用于训练GPT模型的数据数量和质量都得到了显著提高。以下括号中标识了每个具体策略对应到Data-centric AI框架中的子目标。
从GPT-1到ChatGPT/GPT-4,所用的训练数据大体经历了以下变化:小数据(小是对于OpenAI而言,对普通研究者来说也不小了)->大一点的高质量数据->更大一点的更高质量数据->高质量人类(指能通过考试的标注者)标注的高质量数据。模型设计并没有很显著的变化(除了参数更多以顺应更多的数据),这正符合了Data-centric AI的理念。从ChatGPT/GPT-4的成功,我们可以发现,高质量的标注数据是至关重要的。在AI的任何子领域几乎都是如此,即便是在很多传统上的无监督任务上,标注数据也能显著提高性能,例如弱监督异常检测。OpenAI对数据和标签质量的重视程度令人发指。正是这种执念造就了GPT模型的成功。这里顺便给大家推荐下朋友做的可视化文本标注工具Potato,非常好用!
推理数据开发:现在的ChatGPT/GPT-4模型已经足够强大,强大到我们只需要调整提示(推理数据)来达到各种目的,而模型则保持不变。例如,我们可以提供一段长文本,再加上特定的指令,比方说「summarize it」或者「TL;DR」,模型就能自动生成摘要。在这种新兴模式下,Data-centric AI变得更为重要,以后很多AI打工人可能再也不用训练模型了,只用做提示工程(prompt engineering)。
提示工程示例,图片来源于https://arxiv.org/abs/2303.10158
当然,提示工程是一项具有挑战性的任务,它很大程度上依赖于经验。这篇综述很好地总结了各种各样的方法,有兴趣的读者可以继续阅读。与此同时,即使是语义上相似的提示,输出也可能非常不同。在这种情况下,可能需要一些策略去降低输出的方差,比如Soft Prompt-Based Calibration。
Soft prompt-based calibration,图片来源于https://arxiv.org/abs/2303.13035v1
大语言模型的推理数据开发研究仍处于早期阶段。我相信在不久的将来,很多其他任务中用到过的推理数据开发方法也会逐渐被迁移到大语言模型中,例如构建对抗攻击(Adversarial Attacks)数据以测试模型的鲁棒性。
数据维护:作为一款商业产品,ChatGPT/GPT-4一定不是仅仅训练一次就结束了,而是会被持续更新和维护。我们在外部没办法知道OpenAI数据维护具体是如何进行的。因此,我们只能推测。OpenAI可能采取了如下策略:
ChatGPT/GPT-4 会收集用户反馈
4
从大语言模型的成功中
我们能学到什么?
大语言模型的成功可以说是颠覆性的。展望未来,我做几个预测:
用ChatGPT来合成数据训练下游模型,图片来源于 https://arxiv.org/abs/2303.04360
回想起五年前,我还在纠结「如何才能提高文本分类的准确率」,多次失败的经历曾让我一度怀疑自然语言处理和AI没有半点关系。如今ChatGPT/GPT-4惊人的能力让我提前见证了历史!
未来AI的发展将走向何方?大语言模型的进展日新月异,经常看到一些研究自然语言处理的朋友们担心大模型的出现会不会让AI科研无路可走了。我认为完全不需要有这种担心。技术永远是不断进步的。新技术的出现不可避免会取代旧的技术(这是进步),但同时也会催生更多新的研究方向。比如,近年来深度学习的飞速发展并没有让传统机器学习的研究无路可走,相反,提供了更多的可供研究的方向。
同时,AI一个子领域的突破势必会带动其他子领域的蓬勃发展,这其中就有许多新的问题需要研究。比如,以ChatGPT/GPT-4为代表的大模型上的突破很可能会带动计算机视觉的进一步提升,也会启发很多AI驱动的应用场景,例如金融、医疗等等。无论技术如何发展,提高数据的质量和数量一定是提高AI性能的有效方法,Data-centric AI的理念将越来越重要。
那么大模型就一定是达成通用人工智能的方向吗?我持保留态度。纵观AI发展历程,各个AI子领域的发展往往是螺旋上升、相互带动的。这次大模型的成功是多个子领域的成功碰撞出的结果,例如模型设计(Transformer)、Data-centric AI(对数据质量的重视)、强化学习(RLHF)、机器学习系统(大规模集群训练)等等,缺一不可。在大模型时代,我们在AI各个子领域依然都大有可为。比如,我认为强化学习相比大模型可能有更高的上限,因为它能自我迭代,可能不久的将来我们将见证由强化学习引领的比ChatGPT更惊艳的成果。对强化学习感兴趣的读者可以关注下我之前的文章DouZero斗地主AI深度解析,以及RLCard工具包介绍。
在这个AI发展日新月异的时代,我们需要不断学习。我们对Data-centric AI这个领域进行了总结,希望能帮助大家快速高效地了解这个领域,相关链接见本文开头。鉴于Data-centric AI是一个很大的领域,我们的总结很难面面俱到。欢迎感兴趣的读者去我们的GitHub上指正、补充。
本文经授权转载自知乎:https://zhuanlan.zhihu.com/p/617057227,作者查道琛,目前是莱斯大学博士生,主要从事强化学习和数据挖掘方面的研究。
他的工作发表在了主流的机器学习和数据挖掘会议上,包括ICML、NeurIPS、KDD、AAAI等。他是多个机器学习项目的作者,包括DouZero、RLCard、TODS、AutoVideo等,在GitHub上总共收到了超过7,000个星标。
更多内容,点击下方关注: