tech

新型的LLM大模型引领未来的人工智能

Large Language Model

关键词:大模型,大规模语言模型,LLM,GPT

知未智能与大模型

知未智能在大模型(LLM)技术的基础之上,构建专门的商业和金融信息相关应用,希望给用户提供最先进的、便捷的、全面的信息获取、监控、推理能力。

什么是大模型

这篇文章所介绍的大模型,主要特指大规模语言模型,即Large Language Model[1],简称LLM。

LLM是一类在语言理解和生成方面表现卓越的人工智能模型,通常具有高度的自我学习能力和自我适应能力。常见的LLM包括GPT类(Generative Pre-trained Transformer,Decoder结构),T5类(Encoder+Decoder结构)等。这些模型通过在大量语料上进行预训练,能够获得更高的语言理解和生成能力,并可以应用于各种自然语言处理任务,如机器翻译、问答系统、文本分类等。

大模型如何学习

大模型通常采用预训练的方式学习。在预训练阶段,模型会被训练在大量语料上,以学习语言特征和知识。预训练后的模型可以通过微调来应用于特定任务。

预训练的方式有两种:

  • 自监督学习,模型被训练在未标记的语料上,学习语言特征和知识。例如,著名的GPT模型通过自监督学习,在语料库中学习语言知识。因为互联网上充斥着大量的无监督语料,这些预料不需要人工标注,只需要进行一定程度的清理,就可以让大模型进行学习。
  • 监督学习,模型被训练在标记的语料上,学习特定任务。 例如 BERT,是一种监督学习的预训练模型,被训练在标记的语料上,学习语言关系。
  • 自监督学习+监督学习,例如InstructGPT/Bloomz模型,同时进行自监督学习和在一些有监督数据集上的有监督学习,这种方式可以使得模型体积减小,在保持自监督学习的泛化能力的同时,提高一些具体任务的能力。

预训练后的模型可以通过再次微调(Fine-tuning),或者通过提示词工程/提示词学习(Prompt Engineering/Prompt Learning [2])来应用于特定任务。微调过程后,模型会被训练在特定任务的标记语料上,以提高在特定任务上的表现。

为什么需要大模型

大模型是为了解决自然语言处理中的复杂问题而提出的。

  1. 语言理解能力: 大模型具有很高的语言理解能力,可以处理各种语言结构和语义关系。这使得它们能够解决复杂的问答任务和文本分类任务。
  2. 语言生成能力: 大模型具有很强的语言生成能力,可以生成高质量的自然语言文本。这使得它们能够解决机器翻译、文本摘要等任务。
  3. 复杂推理能力: 大模型通过在大规模语料上的学习,一些模型具有了很强的推理能力,通过被称为链式推理的技术(Chains-of-thought [3])使得大模型在一些需要复杂推理的问题上有了突破性的进展,优于之前最好的有监督学习。

因此,大模型是解决自然语言处理中复杂问题的有力工具。

只有大模型就够了吗

那么我们只需要大模型就够了吗?实际上并不是的,一般意义上的大模型是参数量巨大的模型,这样的大模型具有训练成本和使用成本高昂的问题,我们同样需要在具体任务上有不同层次参数量的小模型和专用模型来达成任务,实现收益与成本的平衡。

举一个更现实的例子,人类在搜索答案的时候的流程可能是,使用一个关键词,在搜索引擎中搜索这个关键词,并在前20个链接的文章(网页)中找到自己所要的答案。大模型要解决这个问题有两种直接的办法:第一种是直接用自己的“记忆”记住所有这20个文章的内容,这样就可以直接给出答案;第二种方法是每次都去阅读一下这20篇文章,并给出答案。

第一种方法在当前的实践中是不可行的,因为大模型本身没有足够大到可以记住所有的知识,而且也不能记住所有的知识,太过精确的“抄写”反而会影响模型的泛化能力和基于上下文的学习能力(In-context Learning)。

第二种方法在当前同样也是不行的,因为大模型的上下文输入能力收到技术和成本的双重限制,不可能无限制的放入上下文输入信息。(在当前2023年初的时间节点,OpenAI最新的text-davinci-003的输入限制在4001个token,并不是4096,这大概相当于3000个左右的汉字,这也有原因和GPT/decoder/多头注意力网络结构的技术限制有关,本文章不细节分析)

那么再扩展这个问题,假设我们要把搜索引擎的步骤也用大模型代替掉呢?那我们是需要一个模型能记住所有直接上一切信息的能力,还是它能瞬间阅读所有信息呢?这显然是不可能的。

当然这里提到的是不能“用一个模型直接”解决问题,所以我们当下只能通过间接的方式,将问题拆解成更小的部分。例如用GPT的embedding能力实现部分搜索引擎的召回任务,然后通过多次调用,或者精巧的拆解任务,和一定程度的继续训练(fine-tuning),来应用大模型实现这些任务。

正如一些文章[4]中提到的,大模型的出现使得一些自然语言处理的中间任务消亡了,但是同时,我们也看到为了配合大模型的能力,发展出了更多的方法来做到让问题解决的更好。(我们不再生产马车的车轮、养殖马匹,但是我们开始用更大规模的工厂生产发动机、轮胎、变速箱……)

因此,在实际应用中,我们需要通过结合多种不同的模型,在训练、验证和测试阶段,进行适当的调整和优化,来实现任务的最优解。

未来的发展趋势

大模型在自然语言处理领域取得了巨大的成功,并且在未来可能会有一些新的发展趋势:

  1. 更加高效的训练方式: 随着计算能力的提升,大模型可以在更短的时间内进行训练,并且能够在更小的数据集上进行训练。
  2. 更加灵活的架构: 大模型可能会更加灵活地适应不同的任务和应用场景。
  3. 更加轻量级的模型: 随着硬件和算法的发展,大模型可能会变得更加轻量级,更易于部署和使用。
  4. 更加智能的模型: 随着人工智能技术的进步,大模型可能会变得更加智能,能够自我学习

我们看到的是这个领域才刚刚开始,我们相信未来会有不断多的研究出现来从根本上改善人类的生活。