【自然语言处理 | Language Models】Language Models 常见算法介绍合集(四)

文章介绍了多种基于Transformer架构的模型,如RAG(结合参数和非参数记忆)、CodeT5(针对编程语言的代码理解和生成)、CTRL(控制文本生成)等,这些模型在语言生成、代码处理和模型效率优化方面有所突破。
部署运行你感兴趣的模型镜像

一、RAG

检索器增强生成(RAG)是一种语言生成模型,它结合了预先训练的参数和非参数记忆来生成语言。 具体来说,参数存储器是预训练的 seq2seq 模型,非参数存储器是维基百科的密集向量索引,可通过预训练的神经检索器访问。 供查询,最大内积搜索(MIPS)用于查找top-K文档。 用于最终预测,我们对待作为潜在变量,并在给定不同文档的情况下边缘化 seq2seq 预测。

在这里插入图片描述

二、CodeT5

CodeT5是一个基于Transformer的模型,用于基于T5架构的代码理解和生成。 它利用标识符感知的预训练目标,考虑代码中的关键令牌类型信息(标识符)。 具体来说,T5 的去噪 Seq2Seq 目标通过两个标识符标记和预测任务进行了扩展,以使模型能够更好地利用编程语言中的标记类型信息,即开发人员分配的标识符。 为了提高自然语言与编程语言的一致性,使用双模态双重学习目标来实现自然语言和编程语言之间的双向转换。

在这里插入图片描述

三、CTRL

CTRL 是条件转换器语言模型,经过训练以控制样式、内容和特定于任务的行为的控制代码为条件。 控制代码源自与原始文本自然共存的结构,保留了无监督学习的优势,同时提供对文本生成的更明确的控制。 这些代码还允许 CTRL 预测训练数据的哪些部分最有可能是给定的序列。

在这里插入图片描述

四、CodeGen

CodeGen 是一种自回归转换器,以下一个标记预测语言模型为学习目标,在自然语言语料库和 GitHub 上整理的编程语言数据上进行训练。

五、Universal Transformer

通用 Transformer 是 Transformer 架构的泛化。 Universal Transformers 将 Transformer 等前馈序列模型的并行性和全局感受野与 RNN 的循环归纳偏置相结合。 他们还利用动态的每个位置停止机制。

在这里插入图片描述

六、Switch Transformer

Switch Transformer 是一种稀疏激活的专家 Transformer 模型,旨在简化和改进 Mixture of Experts。 通过将稀疏的预训练和专门的微调模型蒸馏为小型密集模型,它可以将模型大小减少高达 99%,同时保留大型稀疏教师 30% 的质量增益。 它还使用选择性精度训练,以较低的 bfloat16 精度进行训练,以及允许扩展到更多专家的初始化方案,并增加正则化,以改进稀疏模型微调和多任务训练。

在这里插入图片描述

七、BLOOMZ

BLOOMZ 是 BLOOM 的多任务提示微调 (MTF) 变体。

八、Reformer

在这里插入图片描述
在这里插入图片描述

九、Synthesizer

Synthesizer 是一个无需 token-token 交互即可学习合成注意力权重的模型。 与变形金刚不同,该模型避开了点产品自注意力,也完全避开了基于内容的自注意力。 合成器学习合成自对齐矩阵,而不是手动计算成对点积。 它是基于转换的,仅依赖于简单的前馈层,并且完全不需要点积和显式的令牌-令牌交互。

合成器采用的这个新模块称为“综合注意力”:一种无需明确参与(即没有点积注意力或基于内容的注意力)即可学习参与的新方法。 相反,合成器生成独立于令牌-令牌依赖性的对齐矩阵。

在这里插入图片描述

十、Linformer

Linformer 是一个线性 Transformer,它利用线性自注意力机制来解决 Transformer 模型的自注意力瓶颈。 原始缩放的点积注意力通过线性投影分解为多个较小的注意力,使得这些操作的组合形成原始注意力的低阶分解。

在这里插入图片描述

十一、BigBird

BigBird 是一个具有稀疏注意力机制的 Transformer,可以将自注意力的二次依赖性减少到令牌数量的线性。 BigBird 是序列函数的通用逼近器,并且是图灵完备的,从而保留了二次全注意力模型的这些属性。 具体来说,BigBird 由三个主要部分组成:

在这里插入图片描述
这导致高性能的注意力机制扩展到更长的序列长度(8x)。

在这里插入图片描述

十二、Levenshtein Transformer

Levenshtein Transformer (LevT) 是一种变压器,旨在解决以前解码模型缺乏灵活性的问题。 值得注意的是,在以前的框架中,生成的序列的长度要么是固定的,要么随着解码的进行而单调增加。 作者认为这与人类水平的智能不相容,人类可以修改、替换、撤销或删除其生成文本的任何部分。 因此,LevT 被提出通过打破目前标准化的解码机制并用插入和删除这两个基本操作来代替它来弥补这一差距。

LevT 使用模仿学习进行训练。 结果模型包含两个策略,并且它们以交替方式执行。 作者认为,通过这种模型,解码变得更加灵活。 例如,当给解码器一个空令牌时,它会退回到正常的序列生成模型。 另一方面,当初始状态是低质量的生成序列时,解码器充当细化模型。

LevT 框架的关键组成部分之一是学习算法。 作者利用了插入和删除的特征——它们是互补的,但也是对抗的。 他们提出的算法称为“双策略学习”。 这个想法是,当训练一个策略(插入或删除)时,我们使用其对手在前一次迭代中的输出作为输入。 另一方面,专家政策则被用来提供修正信号。

在这里插入图片描述

您可能感兴趣的与本文相关的镜像

Qwen3-8B

Qwen3-8B

文本生成
Qwen3

Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一整套密集型和专家混合(MoE)模型。基于广泛的训练,Qwen3 在推理、指令执行、代理能力和多语言支持方面取得了突破性进展

### 关于论文 'Language Models are Few-Shot Learners' 下半部分的翻译与解析 #### 2.4 评估 在这一章节中,作者详细探讨了如何对大规模语言模型(如 GPT-3)进行性能评估。具体而言,该章节讨论了几种不同的配置及其对应的实验设计。 1. **Zero-shot、One-shot 和 Few-shot 设置** 论文定义了三种主要的评估场景:zero-shot、one-shot 和 few-shot。这些设置分别对应于模型在没有任何额外示例、一个示例或少量示例的情况下完成任务的能力[^3]。这种设定允许研究人员分析模型在未见过的任务中的泛化能力,同时也揭示了其内在的知识存储方式。 2. **实验设计** 实验涵盖了多种自然语言处理任务,包括但不限于问答、文本补全、分类和逻辑推理等。对于每种任务,作者提供了详细的提示模板,并确保所有任务描述、示例和提示的具体措辞均记录在附录 G 中。这种方法不仅提高了实验的可重复性,还使得结果更具可信度。 3. **模型表现分析** 结果表明,在某些情况下,GPT-3 即使是在 zero-shot 或 one-shot 场景下的表现也能媲美甚至超越经过 fine-tuning 的专用模型[^1]。这进一步证明了超大语言模型具备强大的上下文学习能力和潜在的通用性。 4. **技术实现细节** 在实际训练过程中,为了应对计算资源的挑战,作者采用了模型并行性和分布式训练策略。此外,他们通过监控梯度噪声尺度动态调整批量大小和学习率,从而优化了训练效率[^4]。所有的训练过程和技术细节都被详尽地记录在附录 B 中。 以下是代码片段的一个简化版本,用于演示如何加载预训练的语言模型: ```python from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("gpt3-model-name") model = AutoModelForCausalLM.from_pretrained("gpt3-model-name") def generate_text(prompt, max_length=50): inputs = tokenizer.encode(prompt, return_tensors="pt") outputs = model.generate(inputs, max_length=max_length) text = tokenizer.decode(outputs[0], skip_special_tokens=True) return text ``` --- #### 解读与总结 通过对这篇论文下半部分内容的研究可以看出,GPT-3 不仅是一个强大的生成工具,更是一种全新的范式转变。它展示了无需大量标注数据即可解决复杂任务的可能性,为未来的 NLP 应用开辟了新的方向。然而,尽管取得了显著进展,仍需注意的是,few-shot learning 是否真正代表了一种新型的认知机制仍有待验证[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旅途中的宽~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值