时下改变AI的六大NLP语言模型

译文 精选
人工智能
大语言模型能够生成类似人类的文本、自动执行的日常任务、以及在创意和分析过程中提供各项帮助。这使得它们已成为了如今快节奏的、技术驱动的世界中,不可或缺的工具。它们不但彻底改变了自然语言处理领域,并且在提高各类角色和行业的生产力方面,显示出了巨大的潜力。

译者 | 陈峻

审校 | 重楼

51CTO读者成长计划社群招募,咨询小助手(微信号:CTOjishuzhan)

本文将深入研究大语言模型领域的最新进展,改变AI的6大NLP语言模型,每个模型能够引入的增强功能、以及潜在功能应用与限制。  

图片

在快速发展的人工智能(AI)领域,自然语言处理(Natural Language Processing,NLP)已成为了研究人员和开发人员的关注焦点。作为该领域显著进步的标志,近年来业界出现了多种突破性的语言模型。它们推动了机器理解和生成能力的进行。在本文中,我们将深入研究大语言模型领域的最新进展,探索每个模型能够引入的增强功能、以及潜在功能应用。

下面,我们将从2018年具有开创性的BERT模型开始,向您介绍如下大语言模型:

Google的BERT(https://www.topbots.com/top-6-nlp-language-models-transforming-ai-in-2023/#bert)

OpenAI的GPT-3(https://www.topbots.com/top-6-nlp-language-models-transforming-ai-in-2023/#gpt3)

Google的LaMDA(https://www.topbots.com/top-6-nlp-language-models-transforming-ai-in-2023/#lamda)

Google的PaLM(https://www.topbots.com/top-6-nlp-language-models-transforming-ai-in-2023/#palm)

Meta AI的LLaMA(https://www.topbots.com/top-6-nlp-language-models-transforming-ai-in-2023/#llama)

OpenAI的GPT-4(https://www.topbots.com/top-6-nlp-language-models-transforming-ai-in-2023/#gpt4)

一、Google的BERT

2018年,Google AI团队推出了源于Transformers的Bidirectional Encoder Representations(BERT)自然语言处理(NLP)模型。它在设计上允许模型考虑每个单词的左右与上下文。虽然其概念相对简单,但是BERT能够在11种NLP任务上获得最新的结果。其中包括问答、已命名实体识别、以及与一般语言理解相关的其他任务。该模型标志着NLP进入了预训练语言模型标准的新时代。

1.目标

消除早期语言模型的局限性,特别是在预训练中表现出的单向性。这些限制了可用于预训练的架构选择,以及微调的方法。例如,OpenAI的GPT v1使用从左到右的架构,其中每个token(表征)只关注变形的自我关注层(self-attention)中的先前token。因此,这种设置对于语句级(sentence-level)任务来说是次优的,而对于token级任务则更加不利。毕竟在token级任务中,合并双方的上下文是非常重要的。

2.如何处理

  • 该模型通过随机屏蔽一定比例的输入标记来训练深度双向模型,从而避免单词陷入间接“看到自己”的循环(https://www.reddit.com/r/MachineLearning/comments/9nfqxz/r_bert_pretraining_of_deep_bidirectional/)。
  • 此外,BERT通过构建一个简单的二元分类任务,来预训练句子关系模型,以预测句子B是否紧跟在句子A之后,从而使之能够更好地理解句子之间的关系。
  • 训练一个包含了大数据的大模型,其中包括33亿字的语料库、1024个隐藏的24种Transformer块、以及340M参数。

3.结果

该技术提升了11项NLP任务,其中包括:

  • 获得了80.4%的GLUE分数,比之前的最佳成绩提高了7.6%。
  • 在SQuAD上获得93.2%的准确性,比人类的表现超出了2%。
  • 提供了一个预先训练的模型,不需要对特定的NLP任务进行任何实质性的架构修改。

4.在哪里可以了解更多关于这项研究的信息?

  • 研究论文:《BERT:用于语言理解的深度双向Transformer预训练》(https://arxiv.org/abs/1810.04805)
  • 博客文章:《开源BERT:Google AI带来的、最先进的自然语言处理预训练》(https://ai.googleblog.com/2018/11/open-sourcing-bert-state-of-art-pre.html)

5.在哪里可以获得实现代码?

  • Google Research发布的官方Github存储库,其中包含了Tensorflow代码和BERT的预训练模型(https://github.com/google-research/bert)。
  • BERT的PyTorch实现也可以在GitHub上找到(https://github.com/codertimo/BERT-pytorch)。

二、OpenAI的GPT-3

OpenAI团队引入了GPT-3,作为为每个语言任务提供标记数据集的替代方案。他们建议,扩展语言模型可以提高与任务无关的小样本(few-shot)性能。为了测试这一建议,他们训练了一个带有175B参数的自回归语言模型——GPT-3,并评估了它在二十多种NLP任务上的性能。在小样本学习、单样本学习、以及零样本学习下的评估表明,GPT-3取得了不俗的结果,它们甚至偶尔会超过微调模型,获得最新的结果。

1.目标

当需要对每个新语言任务标记数据集时,可将其作为现有解决方案的替代。

2.如何处理

  • 研究人员建议扩大语言模型,以提高与任务无关的小样本的表现。
  • GPT-3模型使用与GPT-2相同的模型和架构,包含了修改初始化、预规范化和可逆标记化。
  • 不过,与GPT-2相比,它在转换层中使用了交替的密集和本地带状稀疏专注模式(banded sparse attention patterns),这与Sparse Transformer(https://arxiv.org/abs/1904.10509)十分类似。

图片

3.结果

未经微调的GPT-3模型在许多NLP任务上都取得了令人满意的结果,甚至有时超过了针对特定任务进行微调的最先进模型:

  • 在CoQA基准测试中,零样本设置为81.5 F1,单样本设置为84.0 F1,小样本设置为85.0 F1,而微调SOTA的得分为90.7 F1。
  • 在TriviaQA的基准测试中,零样本的准确率为64.3%,单样本的准确率为68.0%,小样本的准确率为71.2%,比目前的水平(68%)高出了3.2%。
  • 在LAMBADA数据集上,零样本的准确率为76.2%,单样本的准确率为72.5%,小样本的准确率为86.4%,比目前的技术水平(68%)高出了18%。

在人类参与的评估中,由175b参数的GPT-3模型生成的新闻文章,很难与真实文章相区分开来。

4.在哪里可以了解更多关于这项研究的信息?

研究论文:《小样本学习语言模型》

5.从哪里可以获得实现代码?

虽然无法直接获得其代码,但是可以获取其被发布在GitHub上(https://github.com/openai/gpt-3)的一些统计数据集,以及来自GPT-3的无条件的、未过滤的2048个token的样本。

三、Google的LaMDA

对话应用语言模型(Language Models for Dialogue Applications,LaMDA)是通过对一组专门为对话设计的、基于Transformer的神经语言模型进行微调而创建的。这些模型最多有137B参数,并且经过训练可以使用外部的知识来源。LaMDA有三个关键性目标——质量、安全性和真实性(groundedness)。结果表明,微调可以缩小其与人类水平的质量差距,但在安全性和真实性方面,该模型的性能仍然低于人类水平。

作为ChatGPT的替代品,谷歌最近发布了由LaMDA提供支持的Bard(https://blog.google/technology/ai/bard-google-ai-search-updates/)。尽管Bard经常被贴上无聊的标签,但它可以被视为谷歌致力于优先考虑安全的证据。

1.目标

该模型是为开放域的对话式应用构建的。其对话代理不但能够就任何主题展开对话,而且可以保证其响应是合理的、特定于上下文的、基于可靠来源的、以及合乎道德的。

2.如何处理

基于Transformer(https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html)的LaMDA是Google Research于2017年发明并开源的神经网络架构。和其他BERT和GPT-3等大语言模型类似,LaMDA是在TB级的文本数据的基础上训练出来的。它能够了解单词之间的关系,进而预测接下来可能出现的单词。

然而,与大多数语言模型不同的是,LaMDA经历了对话训练,因此能够捕捉到,将开放式对话与其他语言形式区分开来的细微差别。

同时,该模型也通过微调来提高其反应的敏感性、安全性和特殊性。例如,虽然像“那很好(That's nice)”和“我不知道(I don 't know)”之类的短语,在许多对话场景中可能有不同的含义,但是它们不太可能会导致后续有趣对话的发生。

通常,LaMDA生成器首先会生成几个候选的响应,然后根据它们的安全性、敏感性、特殊性、以及有趣程度,对其进行评分。其中,安全得分较低的响应会被过滤掉。最终,生成器会选择排名靠前的结果作为响应。

图片

3.结果

  • 一系列定性评估证实,LaMDA可以参与各种主题的开放式对话。该模型的反应不但是明智的、具体的、有趣的,并且能够基于可靠的外部来源进行适当修改。
  • 尽管到目前为止该模型已取得了大幅进展,但是许多文字工作者也认识到该模型仍然存在许多局限性,可能导致产生不适当、甚至有害的响应内容。

4.在哪里可以了解更多关于这项研究的信息?

  • 研究论文:《LaMDA:对话式应用语言模型》(https://arxiv.org/abs/2201.08239)
  • Google Research团队的博客文章:《LaMDA:迈向安全、真实、高质量的对话模型》(http://ai.googleblog.com/2022/01/lamda-towards-safe-grounded-and-high.html)《LaMDA:我们的突破性对话技术》(https://blog.google/technology/ai/lamda/)《通过语言理解世界》(https://blog.google/technology/ai/understanding-the-world-through-language/)

5.在哪里可以获得实现代码?

我们可以在GitHub的链:https://github.com/conceptofmind/LaMDA-rlhf-pytorch处,找到用于LaMDA预训练架构的开源式PyTorch实现。

四、Google的PaLM

Pathways Language Model(PaLM)是一个包含了540亿个参数的基于Transformer的语言模型。它使用Pathways在6144个TPU v4芯片上进行训练。这是一种新的机器学习系统,可在多个TPU Pod上进行高效训练。该模型展示了在小样本学习中扩展的好处,能够在数百种语言理解和生成基准上,产生最先进的结果。PaLM在多步推理任务上优于经过微调的先进模型,而且在BIG基准测试中的表现,也超过了人类的平均水平。

1.目标

提高大语言模型规模对于如何影响小样本学习的理解。

2.如何处理

该模型的关键思想是使用Pathways系统,来扩展具有540亿个参数语言模型的训练:

  • 其开发团队在两个Cloud TPU v4 Pod中使用Pod级别的数据并行性,同时在每个Pod中使用到了标准数据和模型的并行性。
  • 他们能够将训练扩展到6144个TPU v4芯片中,这是迄今为止用于训练的最大基于TPU的系统配置。
  • 该模型实现了57.8%的硬件FLOP利用率的训练效率,这也是迄今为止大语言模型能够达到的最高训练效率。

PaLM模型的训练数据包括了英语、以及多语言数据集组合,其中不乏高质量的Web文档、书籍、维基百科、对话、以及GitHub代码。

图片

3.结果

大量实验表明,随着团队扩展到更大的模型,该模型的性能会急剧上升。目前,PaLM 540B在多项困难任务中,都达到了突破性的性能。例如:

  • 语言理解和生成。被引入的模型可以在29种任务中的28个上超过了之前大模型的小样本性能。其中包括:问答任务、完形填空、句子完成、上下文阅读理解、常识推理、以及SuperGLUE(译者注:一种基于图卷积神经网络的特征匹配算法)等任务。PaLM在大基准任务上的表现,展示了它可以区分因果关系,并在适当的上下文中理解概念的组合。
  • 推理。通过8-shot(样本)的提示,PaLM解决了GSM8K中58%的问题。这是数千个具有挑战性的小学水平数学问题的基准。它超过了之前通过微调GPT-3 175B模型获得的55%的最高分。PaLM还展示了在需要多步逻辑推理、世界知识、以及深入语言理解等复杂组合的情况下,生成显式解释的能力。
  • 代码生成。PaLM的性能与经过微调的Codex 12B相当,同时它所使用的Python代码减少了50倍。这证实了大语言模型可以更有效地从其他编程语言、以及自然语言数据中转移学习。

4.在哪里可以了解更多关于这项研究的信息?

  • 研究论文:《PaLM,使用路径扩展语言建模》(https://arxiv.org/abs/2204.02311)
  • 博客文章:《Pathways Language Model(PaLM):Google Research扩展到540亿个参数,以实现突破性性能》(https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html)

5.在哪里可以获得实现代码?

PaLM研究论文中有关特定Transformer架构的非官方PyTorch实现,可在GitHub的链接--https://github.com/lucidrains/PaLM-pytorch处获得。不过,它不会扩展,仅出于教育目的而发布。

五、Meta AI的LLaMA

Meta AI团队曾断言,在更多token上训练较小的模型,更容易针对特定产品的应用,进行重新训练和微调。因此,他们引入了LLaMA(Large Language Model Meta AI),这是一组具有7B到65B参数的基础语言模型。LLaMA 33B和65B在1.4万亿个token上进行了训练,而最小的模型LLaMA 7B则在13万亿个token上进行了训练。他们只使用公开可用的数据集,而不依赖于专有或受限的数据。该团队还实施了关键的架构增强和训练速度的优化技术。总之,LLaMA-3B的性能优于GPT-10,体积小了65倍以上,而LLaMA-65B则表现出与PaLM-540B相仿的性能。

1.目标

  • 证明了不依赖于专有或受限的数据源,仅在可公开访问的数据集上,训练性能最佳模型的可行性。
  • 为研究界提供更小、性能更高的模型,从而使那些无法访问大量基础设施的人能够研究大语言模型。

2.如何处理

为了训练LLaMA模型,研究人员只使用公开可用的数据,并与开源相兼容。同时,他们还对标准的Transformer架构进行了一些改进:

  • 采用GPT-3方法,通过规范化每个Transformer子层的输入,而不是归一化输出,来增强训练的稳定性。
  • 受到了PaLM模型的启发,研究人员用SwiGLU激活函数,取代了ReLU非线性,以提高性能。
  • 受到了Su等人(2021,https://arxiv.org/abs/2104.09864)的启发,他们消除了绝对位置的嵌入,而是在网络的每一层都加入了旋转位置的嵌入(rotary positional embeddings,RoPE)。

最后,Meta AI团队通过如下方式提高了模型的训练速度:

  • 避免存储注意力权重(storing attention weights)或计算屏蔽的键/查
  • 评分(computing masked key/query scores),而使用高效的因果多头注意力(multi-head attention implementation)的实现。在向后传递期间,使用检查点最大程度地减少了各种重新计算的激活。
  • 重叠性的激活计算和GPU之间通过网络进行通信。

3.结果

尽管减小了3倍以上,但是LLaMA-13B仍然超过了GPT-10,而LLaMA-65B仍然相对PaLM-540B具有竞争力。

4.在哪里可以了解更多关于这项研究的信息?

  • 研究论文:《LLaMA,开放高效的基础语言模型》(https://arxiv.org/abs/2302.13971)
  • 博客文章:《Meta AI的基础性65亿参数大语言模型--LLaMA的介绍》(https://ai.facebook.com/blog/large-language-model-llama-meta-ai/)

5.在哪里可以获得实现代码?

Meta AI在个案评估的基础上,为学术研究人员、政府、民间组织、学术机构、以及全球行业研究实验室相关的个人,提供了对于LLaMA的访问。您可以通过GitHub存储库的链接:https://github.com/facebookresearch/llama进行申请。

六、OpenAI的GPT-4

GPT-4是一种大规模的多态模型,可以接受图像和文本的输入,并生成文本输出。出于竞争和安全的考虑,其相关模型架构和训练的具体细节被隐匿了。在性能方面,GPT-4在传统基准测试上已超越了以前的语言模型,并在用户意图理解和安全属性方面表现出了显著改进。同时,该模型还在各种考试中达到了人类水平的表现能力,例如,在模拟统一律师考试中,就取得了前10%的分数。

1.目标

  • 开发一种可以接受图像和文本输入,并产生文本输出的大规模多态模型。
  • 开发在各种规模上可预测的基础设施和优化方法。

2.如何处理

鉴于竞争格局和安全影响,OpenAI决定隐瞒有关架构、模型大小、硬件、训练计算、数据集构建、以及训练方法等详细信息,仅透露了:

  • GPT-4是基于Transformer的模型,经过了预先训练,可预测文档中的下一个token。
  • 它利用公开可用的数据和第三方许可的数据。
  • 该模型使用来自人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF)进行微调。

图片

3.结果

  • GPT-4在大多数专业和学术考试中,都达到了人类水平的表现能力,尤其是在模拟统一律师考试中,就取得了前10%的分数。
  • 在传统的NLP基准测试上,预先训练的基础GPT-4模型优于现有的语言模型和先前最先进的系统,且无需针对特定于基准的制作、或额外的训练协议。
  • 在遵循用户意图方面,GPT-4表现出了实质性的改进,在来自ChatGPT和OpenAI API的5214项提示中,它的响应比GPT-3.5的响应高出70.2%。
  • 与GPT-3.5相比,GPT-4的安全性得到了明显增强,特别是在响应违禁内容的请求时,明显下降了82%;而在对于医疗建议和自我伤害等敏感请求的策略上,则增加了29%。

4.在哪里可以了解更多关于这项研究的信息?

  • 研究论文:《OpenAI的GPT-4技术报告》(https://arxiv.org/abs/2303.08774)
  • 博客文章:《OpenAI的GPT-4》(https://openai.com/research/gpt-4)

5.在哪里可以获得实现代码?

目前,仍无法获悉GPT-4的代码实现。

七、大语言模型的实际应用

近年来最重要的AI研究突破,主要来自在庞大的数据集上训练的大语言模型。这些模型展示了卓越的性能,并将对诸如:客服、营销、电子商务、医疗保健、软件开发、以及新闻业等领域,带来彻底的改变。在大语言模型的广泛应用中,我们以GPT-4为例,其典型应用场景包括:

  • 以聊天机器人和虚拟助手为互动形式的自然语言理解和生成。
  • 不同语言之间的机器翻译。
  • 产生文章、报告或其他文本文档的摘要。
  • 可用于市场研究或社交媒体的情绪监控与分析。
  • 可用于营销、社交媒体或创意类写作的内容生成。
  • 可用于客户支持或知识库的问答系统。
  • 提供垃圾邮件筛选、主题分类或文档组织的文本分类。
  • 提供个性化的语言学习和辅导工具。
  • 支持代码生成和软件开发协助。
  • 协助医疗、法律和技术文件的分析和协助。
  • 适用于残障人士的功能辅助工具,例如文本与语音之间的相互转换。
  • 语音识别和转录服务。

八、风险和限制

当然,在现实生活中部署此类模型之前,我们需要考虑由此产生的相应风险和限制。有趣的是,如果您向GPT-4询问其风险和局限性,它可能会为您提供一长串相关考虑。在此基础上,我进行了按需筛选和添加,并为您列出了如下大语言模型的关键风险和限制:

  • 偏见和歧视:大语言模型需要从大量的文本数据中学习,而这些数据很可能包含了偏见和歧视性内容。因此,由此生成的输出,也可能会在无意中延续了刻板印象、冒犯性语言、以及基于性别、种族或宗教等因素的歧视。
  • 错误信息:大语言模型可能会生成事实上不正确、具有误导性或过时的内容。虽然这些模型在各种来源上已进行了训练,但它们可能并不总是提供最准确或最新的信息。发生这种情况,通常源于模型会优先考虑生成语法的正确性,或是看起来一致的输出,即使它们具有一定的误导性。
  • 缺乏理解:尽管这些模型似乎能够理解人类语言,但它们主要是通过识别训练数据中的模式和关联统计来实现的。它们本身对于自己生成的内容,并没有深刻的理解,这有时会导致无意义的、或不相关的输出。
  • 不当内容:虽然开发者努力减少大语言模型生成冒犯性、有害或不适当的内容,但是由于训练数据的性质、以及模型无法识别上下文或用户意图,因此此类情况仍有发生的可能。

九、小结

综上所述,大语言模型能够生成类似人类的文本、自动执行的日常任务、以及在创意和分析过程中提供各项帮助。这使得它们已成为了如今快节奏的、技术驱动的世界中,不可或缺的工具。它们不但彻底改变了自然语言处理领域,并且在提高各类角色和行业的生产力方面,显示出了巨大的潜力。

当然,正如上文提到的,鉴于大模型的相关局限性与风险,以及可能出现的偏见、错误、甚至是恶意使用等问题也不容忽视。随着我们持续将AI驱动的技术,整合到日常生活中,必须在利用其能力和确保人类监管之间取得平衡。我们只有负责任地去谨慎采用生成式人工智能技术,才能为人类更美好的未来铺平道路。

译者介绍

陈峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

责任编辑:武晓燕 来源: 51CTO技术栈
相关推荐

2019-10-23 19:27:38

数据分析模型分析

2020-02-17 09:42:09

编程语言JavaWindows

2010-03-11 16:42:31

Python语言开发

2011-08-03 09:40:29

云存储存储管理

2022-03-31 08:00:00

人工智能技术数字化转型

2023-12-15 09:44:45

2012-05-23 11:20:48

IBM云计算云驱动业务模型

2022-05-18 16:18:09

区块链运输物流

2022-08-31 07:23:33

人工智能AI

2023-03-22 13:49:00

智能建筑物联网区块链

2011-03-16 10:44:19

2010-09-09 10:54:58

2016-07-06 11:16:47

2013-08-23 10:18:06

Hadoop

2023-05-11 11:36:56

云计算云供应商

2023-07-24 11:01:32

2019-03-26 16:05:10

AI

2011-07-11 17:56:04

java

2021-04-08 10:49:42

人工智能制造网络

2010-08-16 10:14:23

云计算误区
点赞
收藏

51CTO技术栈公众号