在上一篇文章中,我们已经科普了什么是自然语言处理(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就提升得越明显。