科研视野

分享IDEA研究院的科研趋势观察与工作随笔

编者按:ChatGPT 爆红之后,大语言模型等 AI 模型的发展再度受到关注。训练一个强大的大语言模型,需要依托充足的高质量数据。然而,当前人类可用的高质量文本数据似乎达到存量上限。面对数据存量不足,我们还能怎样向 AI 模型注入人类智能?模型的发展,要如何突破数据危机带来的瓶颈?

特别分享由 IDEA 研究院王昊博士应专业 IT 社区 CSDN 邀请所著文章,与您探讨模型与数据合作共生这一可能解法。


 

在深度学习发展的第三波浪潮中, ChatGPT 引发了人们对人工智能前所未有的关注。它的出现意味着基于指令学习和人类反馈的 AI 技术成为人工智能领域的关键。然而,当前所展示的能力还远不是 AI 的最终形态,无论是产业界还是学术界都对其未来的发展抱有极大期待。换句话说,ChatGPT 等技术也许只是人类进入下一代 AI 的起点。

数据危机

轰轰烈烈的技术演变背后,离不开强大的预训练大模型的支撑。到了今天,AI 的核心就是大模型。“数据之于大模型的重要性正如石油之于现代国家”,关注 AI 领域发展的人目前应该会认同“数据是 AI 的战略资源”这一说法,其必要性从下面的一系列真实数字中可见一斑。

从目前自然语言领域发展的趋势来看,模型尺寸越大,所具备的能力就越强,模型参数的量级正在接近人类神经元连接数。训练一个强大的大语言模型的前提,就是要有充足的高质量数据。OpenAI 训练 GPT-3(1750 亿参数),使用了包含接近 500B tokens(注:token 指文本被 BPE 等方案编码后的单元,1B=10 亿)的高质量语料,Google 训练 PaLM(5400 亿参数),消耗了 780B tokens。足够多的高质量语料可以帮助同等规模的模型学习到更强的能力,Google 和 DeepMind 分别使用了 1.56T (注:1T=1 万亿) 和 1.4T tokens 来训练更小的 LaMDA (1370 亿参数)和 Chinchilla(700 亿参数),这些模型的能力大幅超过更大尺寸的模型。

但是另一个问题随之而来,全世界有多少可用的高质量文本?按照估计,这个数字可能在 4.6T 到 17.2T 个 tokens 之间。也就是说,目前人类已使用的高质量文本已经和存量在同一数量级。且未来人类对更多高质量文本的需求量(指数级),远超于数据产生的速度(1%~7%/每年)。除了文本,人类对于视觉数据的消耗速度也很快,据估计现有数据将在 2030 年~2070 年间被使用殆尽。因此,将数据比作 AI 的战略资源再恰当不过。

模型危机

基于当前大模型结构,人们总是可以通过增大数据量和模型参数来训练更大的模型。但是,如果训练数据更多,模型更大,智能就能从模型中产生吗?我想答案是否定的。

回顾近几十年的 AI 发展,人们从未停止过对这个问题的思考。长期以来,人们认为机器学习模型或者深度神经网络不过是从海量数据中学习到了数据的概率分布,所以根本不存在具备认知一说。即使进入到预训练模型时代,即利用海量无标签数据进行自监督学习来提升模型的基础能力,然后针对具体任务数据微调模型,在解决给定问题的主要流程上仍然和过去基本相同。

具体来说,首先需要收集与特定问题和领域相关的原始数据;其次,根据问题人工标注数据;第三,在带标签的数据集上基于预训练模型继续训练(这个过程还包括在预留验证集上选择模型,以及在预留测试集上测试模型的泛化性能)。

渐渐地,人们发现对于定义的各种任务,数据收集和标注可能占据了 80%或者更多的工作量,尤其是在以 Transformer 为主的深度神经网络结构成为主流,且训练方式差别不大的情况下,数据质量已经成为提升模型性能的瓶颈所在。人们尝试利用合成数据来解决数据来源单一和数据量不足的问题,但极难避免合成数据带来的数据领域偏移。从这点来看,仅从合成数据角度出发,不仅无法彻底解决单一任务的数据问题,让模型具备智能更无从谈起。

在自然语言处理领域,超大语言模型的出现为人类带来了更多的可能性。大模型不仅在理解、问答、生成等方面的性能显著提升,还初步具备了推理能力,让人看到了大模型拥有认知能力的潜能。

针对具体任务对大模型进行微调的代价太大,人们转而用输入少量示例的方式启发大模型进行 in-context learning,或者直接通过提示进行零样本(zero-shot)推理。一段时间里出现了提示工程师(prompt engineer)的职业,只为了写出能够激发模型能力的提示。prompt 成为了人类适应大模型的接口,或者说 prompt 是开启大模型魔法的“咒语”。“让我们一步一步地思考(Let’s think step by step)”是一个有意思的“咒语”, 在模型输入里加上这句话就能增加大模型多步推理正确的几率。在黑盒大模型内部,似乎存在着另外一套不同于人类的思考语言,所有的文字生成、逻辑推理、编程能力等都依赖这套不可知的语言。自然语言是人类智慧延续的根本,大模型和人类的认知必须建立在相同的语言逻辑之下,才能真正为人类服务。

数据和模型的共生

黑盒的学习机器对执行认知任务有天然的限制。人类水平的人工智能无法从一个黑盒中出现,它需要数据和模型的共生。

早期探索

人类第一次关于数据和模型共生系统的成功实践是 AlphaZero。在仅知道棋局规则的前提下,它利用卷积神经网络结合树搜索算法生成下一步棋子位置。

通过自我对弈,AlphaZero 分别在围棋和象棋上战胜了 AlphaGo 和 Stockfish,代表了当时 AI 的最高水平。这套系统的精妙之处在于不需要提前准备数据,训练模型的所有数据完全来自于模型的生成,模型本身也完成了一次次迭代进化。人们在文本和图像上也有相当多类似的尝试。文本和图像信息只是整个世界里可以被观察到的外在状态,世界内部并没有运行一个像下棋那样明确的规则系统,来规定世界运行的法则和产生这些状态的机制。

人们一直试图尝试让模型通过数据学习,来构建出一套模型内部的信息表示机制,而不仅仅是输入和输出间的映射。生成对抗网络(GAN)是文本与图像数据和模型共生的例子。判别器给生成模型提供人类世界和生成模型样本差别的反馈,使合成的数据能够一步步接近真实数据分布。只不过这个指导的过程是通过多次对抗完成的。

观察以前数据和模型共生系统成功的实践,发现几乎都是两个玩家有限的零和博弈,它们可以通过具有足够计算和模型能力的自我博弈来解决,最终收敛到一个最优策略。然而要实现人类水平的人工智能,零和博弈远远不够,必须通过建立模型间的合作机制从复杂的现实世界中学习。

人类反馈

研究表明,模型通过完全自我博弈学习到的策略,与人类社会潜在的规范并不一致。所以,在涉及语言的任务中引入多智能体的合作可能产生与人类不兼容的语言特性和行为,这种合作机制必须以人类反馈作为前提。

语言生成模型有一个特点:文本输入、文本输出。这对将人类和模型纳入同一个闭环系统来说有天然的好处。人类可以将文本提示作为模型输入,然后观察生成模型的输出并给予相应的评估和修正,这些结果可以继续输入给生成模型。在模型处理复杂的任务时,可以人为将复杂任务拆解成多个连续的中间任务,这些任务都是靠接收上一步的输出和产生对下一步的输入串联在一起的,人们可以在每一个步骤上施加反馈。

ChatGPT 在语言上实现了文本数据和生成模型的合作共生。为了解决模型和人类认知失配的情况,其使用真实的人类反馈数据训练排序模型,并以此模型作为模拟环境来和生成模型交互,实现了生成模型用自己生成的数据来训练自己。

初想之下,这些做法似乎没有本质上的创新,也根本不可能使模型接近人类认知的范畴。以打分器模拟人类反馈,在 GAN 相关的研究工作中似乎也是这个思路。只不过 GAN 多用二分类,对样本只有好(服从真实样本分布)与坏(服从生成分布)的区别。仔细思考人类思考和学习的方式,就能反应过来上面说法的不合理之处。人类的价值判断不是二元的,没有绝对的好与坏,一切都是相对的。ChatGPT 引入相对排序的方式实际上更符合人类价值判断标准,从有限的人类反馈中拟合出一个具有连续状态的世界评估模型,尽管这不是个完美的环境,但相比于好与坏的二元论,已经有本质区别。

用模型生成数据训练模型

“用自己生成的数据训练自己”听上去似乎不合理。学界有观点称,“我们所能知道的一切都可以包含在百科全书中,因此只要阅读百科全书的所有内容就能让我们对所有事物都有全面的了解。”按这种说法,只要语言模型够大,大到能够记忆人类所掌握的绝大部分知识,那么语言模型就具备了足够的智能来解决任何问题。显然现在的语言模型已经大到了这个量级,却在很多方面展示出来非常有限的能力。另一方面,如果将语言模型比作一个知识库,它已经记住了这个世界的绝大部分知识,模型生成的数据不是理应已经包含在知识库之中吗,那么用这些生成数据作为训练数据又有什么意义?

再次类比人类的学习过程。读懂一本书,掌握书中知识的最有效的办法绝对不是把整本书都背诵下来,这种学习方式很难挖掘到知识之间深层的关联和逻辑关系。相反,大多数情况下人是在解决问题或者回答问题的过程中开始理解知识或者加深知识间的联系。这些问题可能来源于书本习题,也可能是我们在脑海中对自己的发问,或者是遇到实际问题时我们迅速建立起和知识点相关的联系。对一个见过海量数据的大型语言模型来说,最重要的是,要设计相当多的难题和任务并引导模型解决这些困难,这样才会强化模型本身的知识理解,逐渐形成对知识融会贯通的能力,也就是一种类人的智力。引入多样的指令和任务,可以帮助大模型在解决问题的能力上远胜普通的预训练模型。

人们常常忽视生成语言模型和人类之间类似的一点,那就是不确定性。对人体来说,神经递质中离子或分子的量子行为,导致神经元有是否激发的不确定性。正是大量神经元集体的随机性让人类拥有了自由意志,形成源源不断新奇的想法,也正是这些想法促进了人类的进步。大多数人都有“灵光一闪”的经历,甚至在睡梦中,大脑也能通过这种机制产生从未有过的新想法。凯库勒在梦中发现了苯环的分子结构,就是一个例证。对于生成语言模型来说,同样存在着随机性,它发生在模型生成的采样阶段。在模型的采样阶段引入随机性,可以让我们得到非常多样的输出结果,这些结果会遵守一定的事实,同时又引入了新的观点。这些新的观点并非只是知识的堆砌,而是一种知识内化,可以形成逻辑自洽,知识上融汇的观点。尤其是在大型语言模型上,这种现象更加明显。

由此可以得出,在大型语言模型上,用自己生成的数据训练自己并非没有意义。首先借助这种方式,人类能从根本上解决大模型的数据危机问题。此外,人们不仅用这种方式教会大模型解决各种问题,还开始尝试以类似的方式使大模型自我反思,自我验证和自我提升,这是未来能够让模型变得更加智能的重要途径。

结语

在早期,人们主要依靠直觉和经验来获取知识,但这种知识是有限的,因为我们只能凭借有限的感官和思维能力来理解世界。后来,借助假定和推理的方式,人类创建了各种模型和理论,以解释自然现象和社会现象。这种基于推理的知识是无限的,因为它不仅依赖于我们已经知道的事实和理论,还可以通过不断地实验和验证来扩展和改进。

未来,人工智能的发展,也会基于对无限推理的探索。能够区分有限和无限,是大模型真正具备类人智能的标志。数据和模型合作共生,正是人类能够将人类智慧注入到模型,并促进模型自我学习和进化的最好方式。这让人们看到了实现通用人工智能的可能途径。

作者简介

王昊,IDEA 研究院认知计算与自然语言研究中心(CCNL)文本生成算法团队 Leader。北京大学博士,发表 10 余篇论文。

观点|AI大模型发展遭遇数据危机,如何突破瓶颈?

作者:IDEA CCNL 王昊 日期:2023-03-21
  • 分享:
让模型更加智能的可能途径

编者按:ChatGPT 爆红之后,大语言模型等 AI 模型的发展再度受到关注。训练一个强大的大语言模型,需要依托充足的高质量数据。然而,当前人类可用的高质量文本数据似乎达到存量上限。面对数据存量不足,我们还能怎样向 AI 模型注入人类智能?模型的发展,要如何突破数据危机带来的瓶颈?

特别分享由 IDEA 研究院王昊博士应专业 IT 社区 CSDN 邀请所著文章,与您探讨模型与数据合作共生这一可能解法。


 

在深度学习发展的第三波浪潮中, ChatGPT 引发了人们对人工智能前所未有的关注。它的出现意味着基于指令学习和人类反馈的 AI 技术成为人工智能领域的关键。然而,当前所展示的能力还远不是 AI 的最终形态,无论是产业界还是学术界都对其未来的发展抱有极大期待。换句话说,ChatGPT 等技术也许只是人类进入下一代 AI 的起点。

数据危机

轰轰烈烈的技术演变背后,离不开强大的预训练大模型的支撑。到了今天,AI 的核心就是大模型。“数据之于大模型的重要性正如石油之于现代国家”,关注 AI 领域发展的人目前应该会认同“数据是 AI 的战略资源”这一说法,其必要性从下面的一系列真实数字中可见一斑。

从目前自然语言领域发展的趋势来看,模型尺寸越大,所具备的能力就越强,模型参数的量级正在接近人类神经元连接数。训练一个强大的大语言模型的前提,就是要有充足的高质量数据。OpenAI 训练 GPT-3(1750 亿参数),使用了包含接近 500B tokens(注:token 指文本被 BPE 等方案编码后的单元,1B=10 亿)的高质量语料,Google 训练 PaLM(5400 亿参数),消耗了 780B tokens。足够多的高质量语料可以帮助同等规模的模型学习到更强的能力,Google 和 DeepMind 分别使用了 1.56T (注:1T=1 万亿) 和 1.4T tokens 来训练更小的 LaMDA (1370 亿参数)和 Chinchilla(700 亿参数),这些模型的能力大幅超过更大尺寸的模型。

但是另一个问题随之而来,全世界有多少可用的高质量文本?按照估计,这个数字可能在 4.6T 到 17.2T 个 tokens 之间。也就是说,目前人类已使用的高质量文本已经和存量在同一数量级。且未来人类对更多高质量文本的需求量(指数级),远超于数据产生的速度(1%~7%/每年)。除了文本,人类对于视觉数据的消耗速度也很快,据估计现有数据将在 2030 年~2070 年间被使用殆尽。因此,将数据比作 AI 的战略资源再恰当不过。

模型危机

基于当前大模型结构,人们总是可以通过增大数据量和模型参数来训练更大的模型。但是,如果训练数据更多,模型更大,智能就能从模型中产生吗?我想答案是否定的。

回顾近几十年的 AI 发展,人们从未停止过对这个问题的思考。长期以来,人们认为机器学习模型或者深度神经网络不过是从海量数据中学习到了数据的概率分布,所以根本不存在具备认知一说。即使进入到预训练模型时代,即利用海量无标签数据进行自监督学习来提升模型的基础能力,然后针对具体任务数据微调模型,在解决给定问题的主要流程上仍然和过去基本相同。

具体来说,首先需要收集与特定问题和领域相关的原始数据;其次,根据问题人工标注数据;第三,在带标签的数据集上基于预训练模型继续训练(这个过程还包括在预留验证集上选择模型,以及在预留测试集上测试模型的泛化性能)。

渐渐地,人们发现对于定义的各种任务,数据收集和标注可能占据了 80%或者更多的工作量,尤其是在以 Transformer 为主的深度神经网络结构成为主流,且训练方式差别不大的情况下,数据质量已经成为提升模型性能的瓶颈所在。人们尝试利用合成数据来解决数据来源单一和数据量不足的问题,但极难避免合成数据带来的数据领域偏移。从这点来看,仅从合成数据角度出发,不仅无法彻底解决单一任务的数据问题,让模型具备智能更无从谈起。

在自然语言处理领域,超大语言模型的出现为人类带来了更多的可能性。大模型不仅在理解、问答、生成等方面的性能显著提升,还初步具备了推理能力,让人看到了大模型拥有认知能力的潜能。

针对具体任务对大模型进行微调的代价太大,人们转而用输入少量示例的方式启发大模型进行 in-context learning,或者直接通过提示进行零样本(zero-shot)推理。一段时间里出现了提示工程师(prompt engineer)的职业,只为了写出能够激发模型能力的提示。prompt 成为了人类适应大模型的接口,或者说 prompt 是开启大模型魔法的“咒语”。“让我们一步一步地思考(Let’s think step by step)”是一个有意思的“咒语”, 在模型输入里加上这句话就能增加大模型多步推理正确的几率。在黑盒大模型内部,似乎存在着另外一套不同于人类的思考语言,所有的文字生成、逻辑推理、编程能力等都依赖这套不可知的语言。自然语言是人类智慧延续的根本,大模型和人类的认知必须建立在相同的语言逻辑之下,才能真正为人类服务。

数据和模型的共生

黑盒的学习机器对执行认知任务有天然的限制。人类水平的人工智能无法从一个黑盒中出现,它需要数据和模型的共生。

早期探索

人类第一次关于数据和模型共生系统的成功实践是 AlphaZero。在仅知道棋局规则的前提下,它利用卷积神经网络结合树搜索算法生成下一步棋子位置。

通过自我对弈,AlphaZero 分别在围棋和象棋上战胜了 AlphaGo 和 Stockfish,代表了当时 AI 的最高水平。这套系统的精妙之处在于不需要提前准备数据,训练模型的所有数据完全来自于模型的生成,模型本身也完成了一次次迭代进化。人们在文本和图像上也有相当多类似的尝试。文本和图像信息只是整个世界里可以被观察到的外在状态,世界内部并没有运行一个像下棋那样明确的规则系统,来规定世界运行的法则和产生这些状态的机制。

人们一直试图尝试让模型通过数据学习,来构建出一套模型内部的信息表示机制,而不仅仅是输入和输出间的映射。生成对抗网络(GAN)是文本与图像数据和模型共生的例子。判别器给生成模型提供人类世界和生成模型样本差别的反馈,使合成的数据能够一步步接近真实数据分布。只不过这个指导的过程是通过多次对抗完成的。

观察以前数据和模型共生系统成功的实践,发现几乎都是两个玩家有限的零和博弈,它们可以通过具有足够计算和模型能力的自我博弈来解决,最终收敛到一个最优策略。然而要实现人类水平的人工智能,零和博弈远远不够,必须通过建立模型间的合作机制从复杂的现实世界中学习。

人类反馈

研究表明,模型通过完全自我博弈学习到的策略,与人类社会潜在的规范并不一致。所以,在涉及语言的任务中引入多智能体的合作可能产生与人类不兼容的语言特性和行为,这种合作机制必须以人类反馈作为前提。

语言生成模型有一个特点:文本输入、文本输出。这对将人类和模型纳入同一个闭环系统来说有天然的好处。人类可以将文本提示作为模型输入,然后观察生成模型的输出并给予相应的评估和修正,这些结果可以继续输入给生成模型。在模型处理复杂的任务时,可以人为将复杂任务拆解成多个连续的中间任务,这些任务都是靠接收上一步的输出和产生对下一步的输入串联在一起的,人们可以在每一个步骤上施加反馈。

ChatGPT 在语言上实现了文本数据和生成模型的合作共生。为了解决模型和人类认知失配的情况,其使用真实的人类反馈数据训练排序模型,并以此模型作为模拟环境来和生成模型交互,实现了生成模型用自己生成的数据来训练自己。

初想之下,这些做法似乎没有本质上的创新,也根本不可能使模型接近人类认知的范畴。以打分器模拟人类反馈,在 GAN 相关的研究工作中似乎也是这个思路。只不过 GAN 多用二分类,对样本只有好(服从真实样本分布)与坏(服从生成分布)的区别。仔细思考人类思考和学习的方式,就能反应过来上面说法的不合理之处。人类的价值判断不是二元的,没有绝对的好与坏,一切都是相对的。ChatGPT 引入相对排序的方式实际上更符合人类价值判断标准,从有限的人类反馈中拟合出一个具有连续状态的世界评估模型,尽管这不是个完美的环境,但相比于好与坏的二元论,已经有本质区别。

用模型生成数据训练模型

“用自己生成的数据训练自己”听上去似乎不合理。学界有观点称,“我们所能知道的一切都可以包含在百科全书中,因此只要阅读百科全书的所有内容就能让我们对所有事物都有全面的了解。”按这种说法,只要语言模型够大,大到能够记忆人类所掌握的绝大部分知识,那么语言模型就具备了足够的智能来解决任何问题。显然现在的语言模型已经大到了这个量级,却在很多方面展示出来非常有限的能力。另一方面,如果将语言模型比作一个知识库,它已经记住了这个世界的绝大部分知识,模型生成的数据不是理应已经包含在知识库之中吗,那么用这些生成数据作为训练数据又有什么意义?

再次类比人类的学习过程。读懂一本书,掌握书中知识的最有效的办法绝对不是把整本书都背诵下来,这种学习方式很难挖掘到知识之间深层的关联和逻辑关系。相反,大多数情况下人是在解决问题或者回答问题的过程中开始理解知识或者加深知识间的联系。这些问题可能来源于书本习题,也可能是我们在脑海中对自己的发问,或者是遇到实际问题时我们迅速建立起和知识点相关的联系。对一个见过海量数据的大型语言模型来说,最重要的是,要设计相当多的难题和任务并引导模型解决这些困难,这样才会强化模型本身的知识理解,逐渐形成对知识融会贯通的能力,也就是一种类人的智力。引入多样的指令和任务,可以帮助大模型在解决问题的能力上远胜普通的预训练模型。

人们常常忽视生成语言模型和人类之间类似的一点,那就是不确定性。对人体来说,神经递质中离子或分子的量子行为,导致神经元有是否激发的不确定性。正是大量神经元集体的随机性让人类拥有了自由意志,形成源源不断新奇的想法,也正是这些想法促进了人类的进步。大多数人都有“灵光一闪”的经历,甚至在睡梦中,大脑也能通过这种机制产生从未有过的新想法。凯库勒在梦中发现了苯环的分子结构,就是一个例证。对于生成语言模型来说,同样存在着随机性,它发生在模型生成的采样阶段。在模型的采样阶段引入随机性,可以让我们得到非常多样的输出结果,这些结果会遵守一定的事实,同时又引入了新的观点。这些新的观点并非只是知识的堆砌,而是一种知识内化,可以形成逻辑自洽,知识上融汇的观点。尤其是在大型语言模型上,这种现象更加明显。

由此可以得出,在大型语言模型上,用自己生成的数据训练自己并非没有意义。首先借助这种方式,人类能从根本上解决大模型的数据危机问题。此外,人们不仅用这种方式教会大模型解决各种问题,还开始尝试以类似的方式使大模型自我反思,自我验证和自我提升,这是未来能够让模型变得更加智能的重要途径。

结语

在早期,人们主要依靠直觉和经验来获取知识,但这种知识是有限的,因为我们只能凭借有限的感官和思维能力来理解世界。后来,借助假定和推理的方式,人类创建了各种模型和理论,以解释自然现象和社会现象。这种基于推理的知识是无限的,因为它不仅依赖于我们已经知道的事实和理论,还可以通过不断地实验和验证来扩展和改进。

未来,人工智能的发展,也会基于对无限推理的探索。能够区分有限和无限,是大模型真正具备类人智能的标志。数据和模型合作共生,正是人类能够将人类智慧注入到模型,并促进模型自我学习和进化的最好方式。这让人们看到了实现通用人工智能的可能途径。

作者简介

王昊,IDEA 研究院认知计算与自然语言研究中心(CCNL)文本生成算法团队 Leader。北京大学博士,发表 10 余篇论文。