Large Language Model系列之二:Transformers和预训练语言模型

Large Language Model系列之二:Transformers和预训练语言模型

1 Transformer模型

Transformer模型是一种基于自注意力机制的深度学习模型,它最初由Vaswani等人在2017年的论文《Attention Is All You Need》中提出,主要用于机器翻译任务。随后,Transformer模型因其出色的性能和灵活性被广泛应用于各种自然语言处理(NLP)任务,如文本分类、问答系统、文本摘要等,以及计算机视觉领域中的一些任务。
在这里插入图片描述
以下是Transformer模型的几个关键特点:

  • 自注意力机制(Self-Attention)
    允许模型在编码(编码器)或解码(解码器)过程中,计算序列中每个元素对于其他所有元素的注意力权重,从而捕捉序列内部的长距离依赖关系。
  • 编码器-解码器架构(Encoder-Decoder Architecture)
    Transformer模型由编码器和解码器组成,编码器处理输入序列,解码器生成输出序列。
  • 多头注意力(Multi-Head Attention)
    模型并行地执行多个注意力函数,每个头学习输入的不同表示,然后将这些表示合并,以捕获不同子空间的信息。
  • 位置编码(Positional Encoding)
    由于Transformer模型缺乏递归和卷积结构,因此需要位置编码来提供序列中单词的位置信息。
  • 前馈网络(Feed-Forward Networks)
    在每个编码器和解码器层中,自注意力层的输出会通过一个前馈神经网络,进一步提取特征。
  • 层归一化(Layer Normalization) 和 残差连接(Residual Connections)
    这些技术有助于避免训练过程中的梯度消失问题,使得可以训练更深的网络。
  • 并行处理能力
    与循环神经网络(RNN)相比,Transformer模型可以并行处理整个序列,这大大提高了模型的计算效率。
  • 可扩展性
    Transformer模型可以通过简单地堆叠更多的层或使用更大的模型尺寸来扩展,以提高模型的容量。

Transformer模型的成功推动了后续许多变体和改进,例如BERT(Bidirectional Encoder Representations from Transformers)、GPT(Generative Pre-trained Transformer)和T5(Text-to-Text Transfer Transformer)等,这些模型在预训练和微调范式下取得了显著的成果。

参考资料:
1 十分钟理解Transformer
2 The Illustrated Transformer
3 Transformer模型详解(图解最完整版)
4 万字长文,深入浅出Transformer,值得收藏!

2 早期PLMs

2-1 仅编码器PLMs

仅编码器模型,最初为语言理解任务设计,如文本分类,通过编码器网络将文本转换为类别标签。这类模型的代表包括BERT及其衍生模型,如RoBERTa、ALBERT、DeBERTa、XLM、XLNet、UNILM等。

BERT模型

组成:嵌入模块、Transformer编码器堆栈、全连接层。
预训练目标:掩蔽语言模型(MLM)和下一个句子预测。
微调应用:适用于多种语言理解任务,通过添加分类器层进行微调。

变体模型

RoBERTa:通过调整超参数和训练策略提高BERT的鲁棒性。
ALBERT:采用参数减少技术,降低内存消耗,加快训练速度。
DeBERTa:引入解耦注意力机制和增强的遮蔽解码器,提高模型泛化能力。
ELECTRA:使用替换token检测(RTD)作为预训练任务,效率更高。

跨语言模型

XLMs:将BERT扩展到跨语言模型,使用无监督和监督两种方法,通过新的跨语言模型目标提高跨语言能力。

这些模型在语言理解任务上取得了显著成果,推动了AI社区开发更多基于BERT的仅编码器语言模型。

2-2 仅解码器PLM

在仅解码器预训练语言模型领域,OpenAI开发的GPT系列模型扮演了关键角色,从GPT-1到GPT-2。

GPT-1模型

创新:首次证明仅解码器Transformer模型通过生成式预训练能在多种自然语言处理任务上展现优异性能。
预训练:在大量未标记文本上进行自监督学习,目标是预测下一个词。
微调:在特定下游任务上进行微调,需要的样本数量较少。
影响:为后续GPT模型奠定了基础,每一代都在架构上进行了优化,提升了语言任务的性能。

GPT-2模型

能力:在大规模WebText数据集上训练,展示了语言模型在无明确监督的情况下执行特定任务的能力。
改进:在GPT-1的基础上进行了架构上的调整,包括层归一化的位置变动、增加额外的层归一化、修改初始化过程、调整残差层权重。
扩展:扩大了词汇量至50,257个,并将上下文大小从512个标记增加至1024个标记。

GPT系列模型通过逐步的架构优化和扩展,实现了在自然语言处理领域的显著进步,为大型语言模型的发展提供了坚实的基础。

2-3 编码器-解码器PLM

Raffle等人提出,几乎所有的自然语言处理(NLP)任务都可被视为序列到序列的生成任务。基于这一理念,编码器-解码器语言模型被设计为一个统一框架,能够处理所有自然语言理解和生成任务。以下是几个代表性的编码器-解码器预训练语言模型(PLM)的概览:

T5模型

框架:T5是一个文本到文本转换的Transformer模型,将所有NLP任务统一为文本到文本的生成任务,有效利用迁移学习。
特点:通过转换任务格式,T5能够处理广泛的NLP任务。

mT5

多语言支持:mT5是T5的多语言版本,预训练涉及101种语言,基于Common Crawl的多语言数据集。

MASS模型

遮蔽序列到序列预训练:MASS采用编码器-解码器框架,通过遮蔽句子片段并预测这些片段来同时训练编码器和解码器,用于语言嵌入和生成。

BART模型

训练方式:BART基于标准的序列到序列翻译模型架构,通过引入噪声并学习重构原始文本进行预训练。

这些模型展示了编码器-解码器架构在处理多样化NLP任务时的灵活性和强大能力,推动了自然语言理解和生成任务的进展。

3 大型语言模型(LLMs)

在这里插入图片描述

3-1 GPT 家族

GPT家族是由OpenAI开发的一系列仅解码器Transformer语言模型,涵盖了从GPT-1到GPT-4等多个版本,以及其他衍生模型如CODEX、WebGPT、InstructGPT和ChatGPT。
在这里插入图片描述

开源与封闭源代码

早期的GPT-1和GPT-2模型是开源的,而GPT-3和GPT-4等近期模型则是封闭源代码,仅通过API提供服务。

GPT-3模型

参数规模:GPT-3拥有1750亿参数,是一个巨大的自回归语言模型。
能力:作为首个真正的大型语言模型(LLM),GPT-3展示了无需微调即可在多种任务上应用的能力。
性能:在翻译、问答等NLP任务上表现卓越,且能够处理需要推理或领域适应的任务。

CODEX模型

发布:2023年3月发布,是一个能将自然语言解析生成代码的通用编程模型。
应用:支持GitHub Copilot服务,是GPT-3针对编程应用的微调版本。

WebGPT模型

功能:经过微调,能够使用文本浏览器回答开放式问题,帮助用户搜索和浏览网页。
训练:包括模仿人类浏览行为、学习奖励函数,并通过强化学习进行优化。

InstructGPT

设计:旨在使语言模型遵循人类指令,通过人类反馈进行微调。
改进:提高了真实性,减少了有害输出,同时保持了在公共NLP数据集上的性能。

ChatGPT

发布:2022年11月30日发布,是一个能够完成问答、搜索、摘要等任务的聊天机器人。
技术基础:基于GPT-3.5和GPT-4,遵循InstructGPT的训练理念。

GPT-4模型

最新进展:GPT-4是GPT家族中最新且功能最强大的LLM,具备多模态能力,可以接受图像和文本输入。
性能表现:在专业和学术基准测试中展现出与人类相媲美的性能。
训练与微调:通过预训练和RLHF微调,使模型行为与人类期望一致。

GPT家族的模型不仅在规模上不断增长,而且在能力上也不断创新,推动了自然语言处理技术的发展。

3-2 LLaMA 家族

LLaMA家族是由Meta发布的一系列开源基础语言模型,旨在推动开源大型语言模型(LLMs)的发展,并为特定任务应用提供定制化的解决方案。与GPT模型不同,LLaMA模型在非商业许可下向研究社区开放模型权重。
在这里插入图片描述

LLaMA模型

发布时间与规模:2023年2月发布的第一组模型,参数从70亿到650亿不等。
预训练数据:在数万亿标记的公开数据集上进行预训练。
架构创新:采用改进的Transformer架构,包括SwiGLU激活函数、旋转位置嵌入和均方根层归一化。
性能对比:LLaMA-13B模型在基准测试中超越了GPT-3模型。

LLaMA-2

发布背景:2023年7月,Meta与微软合作发布,包括基础语言模型和对话微调的LLaMA-2 Chat。
性能优势:在公共基准测试中表现优于其他开源模型。

Alpaca

来源与微调:从LLaMA-7B模型微调而来,使用自我指导方式生成的遵循指令演示。
成本效益:特别适合学术研究,性能与GPT-3.5相似,但模型规模更小。

Vicuna-13B

开发背景:通过对LLaMA模型微调,利用用户共享对话开发。
初步评估:质量上达到ChatGPT和Google Bard的90%以上,训练成本仅为300美元。

Guanaco

微调方法:使用QLoRA技术高效微调,即使是650亿参数的模型也能在单个GPU上完成。
性能对比:在Vicuna基准测试中胜过所有之前发布的模型。

Koala

构建背景:基于LLaMA,特别关注交互数据,包括用户输入和高性能封闭源代码聊天模型生成的响应。
性能评估:在现实世界用户提示的评估中与最先进的聊天模型相当。

Mistral-7B

模型特点:70亿参数的语言模型,采用分组查询注意力和滑动窗口注意力技术。
性能对比:在多个基准测试中优于其他开源模型,实现了更快的推理和更低的推理成本。

LLaMA家族的模型通过不断的技术创新和性能优化,为开源LLMs领域提供了强有力的竞争者,推动了自然语言处理技术的发展。

3-3 PaLM 家族

PaLM(Pathways语言模型)家族是由谷歌开发的一系列大型语言模型(LLMs),以其庞大的规模和高质量的预训练数据而著称。

首款PaLM模型

发布时间:2022年4月。
规模:基于5400亿参数的Transformer架构。
预训练资源:在7800亿个标记的文本语料上预训练,使用6144个TPU v4芯片和Pathways系统。
性能和成果:PaLM在多个语言理解和生成基准测试中实现了最先进的小样本学习结果,部分任务上与人类表现相当。

U-PaLM模型的持续训练

规模:提供8B、62B和540B三个规模的模型。
持续训练方法:采用UL2R方法,实现计算节省。

Flan-PaLM的指令微调

微调特点:使用大量任务和数据集进行指令微调。
性能提升:在多个任务上显著提高了性能。

PaLM-2模型

性能提升:相比前身,PaLM-2在多语言和推理能力上表现更佳,同时具有更高的计算效率。

Med-PaLM:面向医疗领域的专用模型

模型定位:专门用于提供高质量医学问题答案。
微调方法:使用指令提示微调方法,适应医学领域。

Med-PaLM 2的进一步改进

改进方法:通过医学领域微调和合成提示进行改进。
性能提升:在MedQA数据集上得分显著提高,创造了新的最先进水平。

PaLM家族的模型通过不断的技术创新和性能优化,在自然语言处理领域展现了强大的能力,特别是在多语言理解和生成任务上。此外,通过持续训练和指令微调,PaLM家族的模型在特定领域如医疗保健中也展现出了巨大的潜力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246421.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

誉海康运携手绿葆取袋机,暖心陪诊,守护您的就医之路

在繁忙的都市生活中,我们时常为了梦想和事业奔波,却往往忽略了身边最亲近的人——父母的健康。当父母因身体不适需要就医时,面对陌生的医院环境和繁琐的就诊流程,他们可能感到迷茫和无助。 这时,一份及时、贴心的陪诊…

石头剪刀布休息(猜拳游戏)

自己写的简易版 //2024.07.17 import java.util.Scanner; import java.util.Random; public class GuessingGame {public static void main(String[] args) {Tom tm new Tom();System.out.println("");for (int i 0; i < 3; i) {Random r new Random();tm.com…

STM32智能交通监测系统教程

目录 引言环境准备智能交通监测系统基础代码实现&#xff1a;实现智能交通监测系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;交通监测与管理问题解决方案与优化收尾与总结 1. 引言 智能交通监测系统通…

YOLOv10改进 | 检测头 | 融合渐进特征金字塔的检测头【AFPN4】

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录 &#xff1a;《YOLOv8改进有效…

求解答word图标变白

把WPS卸载了之后就变成白色了&#xff0c;然后在注册表中把word的地址改成office word的地址之后图标变成这样了&#xff0c;怎么办

[米联客-安路飞龙DR1-FPSOC] FPGA基础篇连载-17 I2C通信协议原理

软件版本&#xff1a;Anlogic -TD5.9.1-DR1_ES1.1 操作系统&#xff1a;WIN10 64bit 硬件平台&#xff1a;适用安路(Anlogic)FPGA 实验平台&#xff1a;米联客-MLK-L1-CZ06-DR1M90G开发板 板卡获取平台&#xff1a;https://milianke.tmall.com/ 登录“米联客”FPGA社区 ht…

【文心智能体】前几天百度热搜有一条非常有趣的话题《00后疯感工牌》,看看如何通过低代码工作流方式实现图片显示

00后疯感工牌体验&#xff1a;https://mbd.baidu.com/ma/s/6yA90qtM 目录 前言比赛推荐工作流创建工作流入口创建工作流界面工作流界面HTTP工具卡点地方 总结推荐文章 前言 前几天百度热搜有一条非常有有趣《00后疯感工牌》。 想着通过文心智能体去一键生成00后疯感工牌是不是…

2G内存的Linux云服务器到手却只有1.7G左右?找回消失的内存

使用命令 dmesg | grep -i memory 查看内核预留内存&#xff1a; [rootiZuf6hwfrhirwu85zqpl5kZ ~]# dmesg | grep -i memory [ 0.000000] Base memory trampoline at [ffff940980099000] 99000 size 24576 [ 0.000000] Reserving 161MB of memory at 688MB for crashkernel (…

MySQL 和 PostgreSQL,我到底选择哪个?

MySQL 和 PostgreSQL 是两个广泛使用的关系型数据库管理系统&#xff08;RDBMS&#xff09;。它们都具有强大的功能和广泛的社区支持&#xff0c;但在某些方面存在一些差异。本文将详细比较 MySQL 和 PostgreSQL&#xff0c;包括它们的特点、性能、扩展性、安全性以及适用场景等…

顺序表的应用——通讯录

通讯录的实现分为五个文件分别进行编写&#xff0c;分别为&#xff1a;SeqList.c&#xff0c;SeqList.h&#xff0c;Contact.c&#xff0c;Contact.h&#xff0c;test.c 其中前两个文件为上一篇博客中的顺序表的操作&#xff0c;后三个文件为通讯录功能的实现。 SeqList.h #d…

深度学习驱动智能超材料设计与应用

在深度学习与超材料融合的背景下&#xff0c;不仅提高了设计的效率和质量&#xff0c;还为实现定制化和精准化的治疗提供了可能&#xff0c;展现了在材料科学领域的巨大潜力。深度学习可以帮助实现超材料结构参数的优化、电磁响应的预测、拓扑结构的自动设计、相位的预测及结构…

自学鸿蒙HarmonyOS的ArkTS语言<十>@BuilderParam装饰器

作用&#xff1a;当子组件多处使用时&#xff0c;给某处的子组件添加特定功能 一、初始化 1、只能被Builder装饰的方法初始化 2、使用所属自定义组件的builder方法初始化 3、使用父组件的builder方法初始化 - 把父组件的builder传过去&#xff0c;参数名和子组件的builderPar…

SpringCloud教程 | 第十篇: 读取Nacos的配置

1、nacos服务器选用 2、test.yaml这一个DataId配置如下&#xff1a; config:name: aabb222 spring:application:name: testdatasource:type: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/hmblogs?useUni…

JuiceFS缓存特性

缓存 对于一个由对象存储和数据库组合驱动的文件系统&#xff0c;缓存是本地客户端与远端服务之间高效交互的重要纽带。读写的数据可以提前或者异步载入缓存&#xff0c;再由客户端在后台与远端服务交互执行异步上传或预取数据。相比直接与远端服务交互&#xff0c;采用缓存技…

HTML的简单应用 标记信件

前言&#xff1a; 暑假开始了&#xff0c;我也要正式开始学习web的相关知识了&#xff0c;先从三大件的html开始吧&#xff0c;目前只简单了解了html相关知识的基础&#xff0c;能写一些包含一些文字和图片的简单网页&#xff0c;其实会的东西还是不多&#xff0c;这边看书时发…

etcd的备份与恢复

一 为什么使用etcd 与ZooKeeper相比&#xff0c;etcd更简单&#xff0c;安装、部署和使用更加容易&#xff0c;并且etcd的某些功能是ZooKeeper所没有的。因此&#xff0c;在很多场景下&#xff0c;etcd 比ZooKeeper更受用户的青&#xff0c;具体表现在如下几个方面: 1 etcd更…

字节跳动十年经验老鸟,耗时大半年整理的软件测试面试真题【附答案】

软件测试工程师&#xff0c;和开发工程师相比起来&#xff0c;虽然前期可能不会太深&#xff0c;但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位&#xff0c;问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件…

操作系统详解之进程管理

一、进程 1.1 多道程序设计 允许多个程序同时进入内存并运行&#xff0c;提高CPU的利用率&#xff0c;目的是提高系统效率 a图内存中有四个程序&#xff0c;串行执行&#xff0c;因为这里只有一个程序计数器。 当有了多道程序技术之后就得到了b图&#xff0c;每个程序各自独立…

电脑显示mfc140u.dll丢失的修复方法,总结7种有效的方法

mfc140u.dll是什么&#xff1f;为什么电脑会出现mfc140u.dll丢失&#xff1f;那么mfc140u.dll丢失会给电脑带来什么影响&#xff1f;mfc140u.dll丢失怎么办&#xff1f;今天详细给大家一一探讨一下mfc140u.dll文件与mfc140u.dll丢失的多种不同解决方法分享&#xff01; 一、mfc…

C++初学者指南-5.标准库(第一部分)--容器遍历

C初学者指南-5.标准库(第一部分)–容器遍历 文章目录 C初学者指南-5.标准库(第一部分)--容器遍历前向遍历基于范围的循环for_each / for_each_n迭代器的显式使用基于索引的循环 逆向遍历反向范围循环(C20)反向 for_each / for_each_n反向迭代器的显式使用基于索引的反向循环…