自然语言处理(NLP)基础入门

「X」Embedding in NLP|一文读懂 2023 年最流行的 20 个 NLP 模型

2023-11-23

2023 年爆火的大语言模型 NLP 模型一览

By 倪逸云

上一篇文章中,我们已经科普了什么是自然语言处理(NLP)、常见用例及其与向量数据库的结合。今天,依然是「X」Embedding in NLP 系列专题,本文为初阶第二篇,我们将深入介绍在 2023 年爆火的大语言模型 NLP 模型,包括 BERT、XLNet 等基础模型和 GPT、PaLM 等。

01.火爆 2023 年的 10 大语言模型

大语言模型(LLM)是一种机器学习模型,可以执行各种 NLP 任务,包括文本翻译、回答问题、根据知识库分类和生成词汇等。大语言模型中的“大”体现在其架构使用的参数数量上,常见的 LLM 都包含数十亿个参数。以下是在 2023 年爆火且备受关注的 LLM。

OpenAI 推出的 GPT 系列

*GPT,全称 Generative pre-trained transformers,即生成式预训练 Transformer 模型

GPT-3

  • 于2021年发布,包含 1750 亿个参数。

  • 能够完成翻译、问答、写作论文,甚至生成代码等任务。

  • 从模型架构而言,GPT-3 是只带有解码器(decoder)的 transformer 模型。

  • 是最后一个由 OpenAI 公开参数数量的 GPT 模型。

  • 自 2022 年 9 月起由微软独家使用。

GPT-3.5

  • 2022 年推出的升级版 GPT 模型,包含参数更少。

  • ChatGPT 训练所用的模型是基于 GPT-3.5 模型微调而来的。GPT-3.5 一经推出即迅速走红,短短五天内吸引 100 万用户,用户总数在 2 个月内达到 1 亿。

  • GPT-3.5 模型基于截至 2021 年 9 月的数据进行训练,比之前版本的模型更具有时效性。

  • 必应(Bing)搜索引擎中最初集成了 GPT-3.5,但目前使用的是 GPT-4。

GPT-4

  • GPT 系列中的最新版本,于 2023 年发布。

  • GPT-4 是多模态模型,支持图像和文本类型的输入。

  • 在微软 Azure AI 的人工智能超级计算机上训练,比以往任何模型都更具创造力和协作性。

Google 推出的 PaLM 2

  • 于 2023 年推出,展现 Google 在机器学习和 Responsible AI 领域积累的成果。

  • 相比 PaLM,PaLM 2 基于并行多语言文本和更大的语料库进行预训练。

  • 在高级推理、翻译和代码生成方面表现出色。

Meta 和 Microsoft 推出的 LLama2

  • 于 2023 年发布,提供三种参数规格(70 亿、130 亿和 700 亿)的基础模型。

  • LLama 2 Chat 包括基础模型和针对对话功能微调的模型。

  • 功能丰富,性能强大,专为查询和自然语言理解等任务设计。

  • Meta 专注于打造教育型应用产品,因此 LLaMA-2 是适用于 EdTech 平台理想的 AI 助手。

Anthropic 推出的 Claude 2

  • 于 2023 年推出,擅长复杂的推理任务。

  • 聚焦于 Constitutional AI,引导 AI 根据一些原则或规则进行自我完善和监督,避免产生有害或不友善的输出。

  • Claude 2 是一个友好的助手,能够完成用户发出的各种自然语言指令。

xAI 推出的 Grok-1

  • 埃隆·马斯克的公司 xAI 于 2023 年宣布推出 Grok-1,用于巧妙回答几乎所有问题。

  • 灵感来源于《银河系漫游指南》。

  • 通过 𝕏 平台实时获取真实世界中的知识。

  • 技术创新研究所(Technology Innovation Institute)推出的 Falcon

  • 于 2023 年开源的模型。

  • 包含 1800 亿参数,参数数量超过 Hugging Face Open LLM 排行榜上的 Llama。

  • 基于高质量数据集训练,数据集中包含文本和代码,涵盖各种语言和方言。

Cohere 推出的 Cohere

  • 2022 年由加拿大初创公司 Cohere 推出的开源多语言模型。

  • 基于多样的数据集训练,能够理解超过 100 种语言的文本。

  • Oracle 和 Salesforce 产品中已接入 Cohere,主要用于语言生成、文本内容概括和情感分析等任务。

02.10 大基础 NLP 模型

BERT(基于 Transformer 的双向编码器表示技术)

  • BERT 最初于 2018 年由 Jacob Devlin 在其论文《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》中首次提出。

  • BERT 模型的主要突破是,它在训练过程中查看文本时,以双向方式扫描文本,不是从左到右,也不是从左到左和从右到左的组合。

  • BERT 模型有两种配置——BERT(base)和 BERT(large),区别在于可配置参数数量。BERT(base)包含 1.1 亿参数, BERT(large)包含 3.45 亿参数。

XLNet

  • XLNet 于 2019 年在论文《XLNet: Generalized Autoregressive Pretraining for Language Understanding》中发布。

  • XLNet使用排列语言建模(Permutation Language Modeling) 来融合自回归(autoregressive, AR)和去噪自编码(autoencoding, AE) 模型的优点。

  • 传统的模型基于前一个词的上下文预测句子中的词。但与之不同的是,XLNet 的排列语言建模考虑了词之间的相互依赖关系。

  • XLNet 性能比 BERT 提高了 2-15%。

RoBERTa(强力优化的 BERT 方法)

  • RoBERTa 于 2019 年在论文《RoBERTa: A Robustly Optimized BERT Pretraining Approach》中提出。

  • RoBERTa 改进了 BERT 的架构和训练流程。具体而言,RoBERTa 去掉下一句预测(NSP)任务,采用了更大的训练数据集,并使用了动态掩码替换静态掩码。

  • RoBERTa 性能比 BERT 提高了 2-20%。

ALBERT(轻量级的 BERT)

  • ALBERT 模型于 2019 年在论文《ALBERT: A Lite BERT for Self-supervised Learning of Language Representations》中提出。

  • ALBERT 基于 BERT 模型改进,其主要亮点是在保持性能的同时显著减少了参数数量。

  • AlBERT 实现了跨层参数共享。也就是说,12 层 Encoder 共享一套参数。而 BERT 中每层 Encoder 都有一组参数。

StructBERT

  • StructBERT 于 2019 年在论文《StructBERT: Incorporating Language Structures into Pre-training for Deep Language Understanding》中提出。

  • StructBERT 基于 BERT,将语言结构信息引入到预训练任务中。

  • StructBERT 还引入了单词结构目标(WSO),它有助于模型学习单词的排序。

T5(文本到文本的 Transformer)

  • T5 在 2019 年的论文《Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer》中被提出。T5 全称为“Text-To-Text Transfer Transformer”。

  • T5 作者还发布了一个数据集,取名为“Colossal Clean Crawled Corpus (超大型干净爬取数据)”,简称 C4。

  • T5 将所有 NLP 任务都转化成 Text-to-Text (文本到文本)任务。

  • T5 模型提供 5 种不同的参数配置:T5-small(6000 万参数)、T5-base(2.2 亿参数)、T5-large(7.7 亿参数)、T5-3B(30 亿参数)、T5-11B(110 亿参数)。

SentenceTransformers

  • SentenceTransformers 最初于 2019 年在发论文《Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks》中发表。

  • SentenceTransformers 是一个可以用于句子、文本和图像 embedding 的 Python 库

  • SentenceTransformers 可以计算超过 100 种语言的句子或文本 embedding。

  • SentenceTransformers 框架基于 PyTorch 和 Transformers,提供许多针对各种任务调优的预训练模型。

ERNIE(通过知识集成的增强表示)

  • ERNIE 由百度开发,于 2019 年在论文《ERNIE: Enhanced Language Representation with Informative Entities》中首次被介绍,并由百度的研究人员在计算语言学协会(ACL)会议上展示。

  • ERNIE 将现实知识整合到预训练的语言模型中,从而理解人类语言的细微差别并提高各种 NLP 任务的表现。

  • ERNIE 提供不同版本。而且,ERNIE 随时间推移不断更新和完善,从而在广泛的 NLP 任务上取得更好的性能。

CTRL(可控文本生成)

  • CTRL 由 Salesforce Research 在 2019 年 NeurIPS 论文《CTRL: A Conditional Transformer Language Model》中提出。

  • CTRL 允许用户控制生成文本的风格和内容。

  • CTRL 模型能够生成多样且可控的文本,用户对语言生成过程更可控。

ELECTRA

  • ELECTRA 在 2020 年的论文《ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators》中提出。

  • ELECTRA 提出了新的预训练任务和框架,把生成式的 Masked language model(MLM) 预训练任务改成了判别式的 Replaced token detection(RTD) 任务,判断当前token是否被语言模型替换过。

  • ELECTRA体积越小,相比于BERT就提升得越明显。

  • 倪逸云