大语言模型的百家齐放

在这里插入图片描述

基础语言模型

概念

基础语言模型是指只在大规模文本语料中进行了预训练的模型,未经过指令和下游任务微调、以及人类反馈等任何对齐优化。

如何理解

  • 只包含纯粹的语言表示能力,没有指导性或特定目标。

  • 只在大量无标注文本上进行无监督预训练,用于学习语言表示。

  • 仅依靠大量文本中的统计信息来学习语言规律(语法、语义等)。

  • 未进行任何下游任务微调或优化,也没有使用任何人类注释的数据。

举个例子

  • 比如GPT模型,第一代GPT仅仅在大量书籍文本上进行了预训练,学习了语言表示。它只是一个生成模型,未进行下游任务微调。所以它可以看做是一个基础语言模型。

  • 而BERT模型则不同,BERT在预训练的基础上又进行了下游任务的微调,比如分类任务。所以BERT就不仅仅是一个基础语言模型。可以用于分类和检测这类任务。

  • 基础语言模型更偏向于纯粹的语言学习,专注于语言本身的规律,而非特定的应用。而下游任务微调则考虑了特定任务的需求,不再纯粹。

模型结构

Decoder-only

  • 绝大部分的语言模型都是Decoder-only 自回归语言模型的模型结构
  • 为什么?
  • 总结原因:LLM之所以主要都用Decoder-only架构,除了训练效率和工程实现上的优势外,在理论上是因为Encoder的双向注意力会存在低秩问题,这可能会削弱模型表达能力,就生成任务而言,引入双向注意力并无实质好处。而Encoder-Decoder架构之所以能够在某些场景下表现更好,大概只是因为它多了一倍参数。所以,在同等参数量、同等推理成本下,Decoder-only架构就是最优选择了。
  • 典型代表是:GPT系列
  • 理解
    • 通常情况下, Encoder和Decoder是分开训练的。

    • Decoder-only就是只有Decoder部分,而没有Encoder部分。

    • 这意味着:

      • 输入序列不需要编码为fixed-length向量。

      • Decoder直接以序列(如句子)为输入,开始解码。

    • Decoder-only的优点是:

      • 简单直接。只需要训练Decoder部分就可以,不需要单独训练Encoder。

      • 效率高。省去了Encoder的编码过程。

      • 依赖更少。不依赖Encoder提供的上下文。

Encoder-Decoder

  • 典型代表:GOOGLE开源的T5模型
  • 理解
    • 对比decoder-only,该结构需要训练encoder
    • 优点:
      • Encoder和Decoder分开训练,可以复用Encoder,也可以替换Decoder
    • 缺点:
      • 需要单独训练Encoder和Decoder。
      • 依赖Encoder提供的向量表示,效率较低。
      • 因使用固定向量表示,信息损失较多。
    • 用途两种差不多,但是效率decoder-only更高,更简单易用

GLM

典型代表:清华开源模型GLM-130B

  • 理解
    • GLM(General Language Model) 是泛指通用语言模型,包括各种预训练大规模语言模型。

    • 采用Transformer Encoder作为模型主体

    • 通过自上而下的预训练策略,在大量文本数据上进行自 supervised 学习

    • 主要通过Masked LM和第三方信息(如句子顺序)作为预训练任务

    • 主要用途偏句子顺序预测任务

Multi-task

典型代表:百度模型-ERNIE3.0-Titan,未开源

百家大模型

模型名称发布时间发布机构语言参数Tokens规模模型机构是否开源
T5Oct-19Google13BT5-style
GPT-3May-20OpenAI175B300BGPT-style×
LaMDAMay-21Google137B2.8TGPT-style×
Jurass1cAug-21AI21178B300BGPT-style×
MT-NLGOct-21Microsoft.NVIDIA530B270BGPT-style×
ERNIE 3.0 TitanDec-21Baidu260B300BMulti-task×
GopherDec-21DeepMMind280B300BGPT-style×
ChinchillaApr-22DeepMind70B1.4TGPT-style×
PaLMApr-22Google多语言540B780BGPT-style×
OPTMay-22Meta125M-175B180BGPT-style
BLOOMJul-22BigScience多语言176B366BGPT-style
GLM-130BAug-22Tsinghua中、英130B400BGPT-style
LLaMAFeb-23Meta多语言7B-65B1.4TGPT-style

大模型示例

GPT3

  • GPT由OpenAI公司从2018年开始陆续提出的一系列预训练模型,目前一共有三个版本:GPT-1、GPT-2和GPT-3,不同版本的GPT模型结构相差不大,但是模型参数规模却不断变大,比如GPT-3就有1750亿个参数,是GPT-2的100倍,性能也逐渐变得强大,支持few-shot、one-shot和zero-shot等下游任务

GPT1论文

  • 采用“预训练-微调”的模式,在大规模无标记的文本语料上进行无监督的预训练,然后再在特定任务上进行有监督的微调
    在这里插入图片描述

GPT2论文

  • GPT-2模型结构和GPT-1相同是自回归语言模型,仍然使用Transformer的Decoder组成,预训练使用的数据以及模型参数规模但相比GPT-1变得更大,GPT-2模型参数规模大约是GPT-1的10倍左右,同时GPT-2采用多任务学习的预训练,对于下游任务主打zero-shot,不再需要微调即可使用
    在这里插入图片描述

GPT3论文

  • GPT-3延续了GPT-2的单向Transformer的自回归语言模型结构,但将模型参数规模是GPT-2的100倍,1750亿个参数。GPT-3不在追求zero-shot的设定,而是在下游任务中给定少量标注的样本让模型学习再进行推理生成。因此,GPT-3主要展示了超大规模语言模型的小样本学习能力
    在这里插入图片描述

微调方式

在这里插入图片描述

  • 论文通过大量的实验证明,在zero-shot、one-shot 和few-shot设置下,GPT-3 在许多 NLP 任务和基准测试中表现出强大的性能。GPT-3模型不需要任何额外的微调,就能够在只有少量目标任务标注样本的情况下进行很好的泛化,证明大力出奇迹,做大模型的必要性

GLM系列

  • GLM-130B 是清华大学与智谱AI共同研制的一个开放的双语(英汉)双向密集预训练语言模型,拥有 1300亿个参数,使用通用语言模型(General Language Model, GLM)的算法进行预训练。 2022年11月,斯坦福大学大模型中心对全球30个主流大模型进行了全方位的评测,GLM-130B 是亚洲唯一入选的大模型。GLM-130B 在广泛流行的英文基准测试中性能明显优于 GPT-3 175B(davinci)
  • 智谱AI是由清华大学计算机系技术成果转化而来的公司,致力于打造新一代认知智能通用模型。公司合作研发了双语千亿级超大规模预训练模型GLM-130B,并构建了高精度通用知识图谱,形成数据与知识双轮驱动
  • https://github.com/THUDM/GLM-130B
  • 智谱
    在这里插入图片描述
    在这里插入图片描述

与chatGPT对比

在这里插入图片描述

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

LLaMA

  • LLaMA 是 Meta AI 发布的包含 7B、13B、33B 和 65B 四种参数规模的基础语言模型集合,LLaMA-13B 仅以 1/10 规模的参数在多数的 benchmarks 上性能优于 GPT-3(175B),LLaMA-65B 与业内最好的模型 Chinchilla-70B 和 PaLM-540B 比较也具有竞争力
  • 使用比通常更多的 tokens 训练一系列语言模型,在不同的推理预算下实现最佳的性能,也就是说在相对较小的模型上使用大规模数据集训练并达到较好性能。Chinchilla 论文中推荐在 200B 的 tokens 上训练 10B 规模的模型,而 LLaMA 使用了 1.4T tokens 训练 7B的模型,增大 tokens 规模,模型的性能仍在持续上升
  • https://github.com/facebookresearch/llama

指示学习

  • Instruction(指令)是指通过自然语言形式对任务进行描述。对于翻译任务,在对需要翻译的句子 “I Love You.” 前加入任务指令 “Translate the given English utterance to French script.”
    在这里插入图片描述
    在这里插入图片描述
  • 指示微调大模型
模型名称发布时间发布机构语言模态参数规模基础模型是否开源
GPT-3.5Jun-21OpenAI多语言文本175BGPT-3×
FLANSep-21Google文本137BLaMDA×
T0Oct-21Hugging Face文本13BT5
Flan-PaLMOct-22Google多语言文本540BPaLM×
BLOOMZNov-22Hugging Face多语言文本176BBLOOM
mT0Nov-22Hugging Face多语言文本13BmT5
ChatGPTNov-22OpenAI多语言文本173BGPT3.5×
Alpaca2023/3/14StandFord文本7BLLaMA
ChatGLM2023/3/14Tsinghua中、英文本6B,130BGLM
GPT-42023/3/14OpenAI多语言文本、图像GPT-4×
ERNIE Bot2023/3/15Baidu文本、图像ERNIE×
Bard2023/3/21Google文本137BLaMDA×

在这里插入图片描述

GPT-3.5 & ChatGPT 由来

  • 参考
历史
  • 2020年7月,发布GPT-3,最原始的 GPT-3 基础模型主要有 davinci、curie、ada 和 babbage 四个不同版本,其中 davinci 是功能最强大的,后续也都是基于它来优化的;
  • 2021年7月,发布Codex[25],在代码数据上对 GPT-3 微调得到,对应着 code-davinci-001 和 code-cushman-001 两个模型版本;
  • 2022年3月,发布 InstructGPT[26] 论文,对 GPT-3 进行指令微调 (supervised fine-tuning on human demonstrations) 得到 davinci-instruct-beta1 模型;在指令数据和经过标注人员评分反馈的模型生成样例数据上进行微调得到 text-davinci-001,InstructGPT 论文中的原始模型对应着 davinci-instruct-beta;
  • 2022年6月,发布 code-davinci-002,是功能最强大的 Codex 型号,在文本和代码数据上进行训练,特别擅长将自然语言翻译成代码和补全代码;
  • 2022年6月,发布 text-davinci-002,它是在code-davinci-002 基础上进行有监督指令微调得到;
  • 2022年11月,发布 text-davinci-003 和 ChatGPT[27], 它们都是在 text-davinci-002 基础上利用人类反馈强化学习 RLHF 进一步微调优化得到
    在这里插入图片描述
  • ChatGPT 是在 GPT-3.5 基础上进行微调得到的,微调时使用了从人类反馈中进行强化学习的方法(Reinforcement Learning from Human Feedback,RLHF),这里的人类反馈其实就是人工标注数据,来不断微调 LLM,主要目的是让LLM学会理解人类的命令指令的含义(比如文生成类问题、知识回答类问题、头脑风暴类问题等不同类型的命令),以及让LLM学会判断对于给定的prompt输入指令(用户的问题),什么样的答案输出是优质的(富含信息、内容丰富、对用户有帮助、无害、不包含歧视信息等多种标准)

Alpaca

由来

  • Alpaca(羊驼)模型是斯坦福大学基于 Meta 开源的 LLaMA-7B 模型微调得到的指令遵循(instruction-following)的语言模型。在有学术预算限制情况下,训练高质量的指令遵循模型主要面临强大的预训练语言模型和高质量的指令遵循数据两个挑战,作者利用 OpenAI 的 text-davinci-003 模型以 self-instruct 方式生成 52K 的指令遵循样本数据,利用这些数据训练以有监督的方式训练 LLaMA-7B 得到 Alpaca 模型。在测试中,Alpaca 的很多行为表现都与 text-davinci-003 类似,且只有 7B 参数的轻量级模型 Alpaca 性能可与 GPT-3.5 这样的超大规模语言模型性能媲美
  • https://github.com/tatsu-lab/stanford_alpaca
    在这里插入图片描述
  • 演进
    • https://github.com/Facico/Chinese-Vicuna
    • https://github.com/masa3141/japanese-alpaca-lora
    • https://github.com/LC1332/Chinese-alpaca-lora
    • https://github.com/Beomi/KoAlpaca

总结

  • 模型结构
  • 基础模型特点
  • 指示模型演变

参考

  • Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer https://arxiv.org/pdf/1910.10683.pdf
  • mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer https://arxiv.org/pdf/2010.11934.pdf
  • Language Models are Few-Shot Learners https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2005.14165.pdf
  • LaMDA: Language Models for Dialog Applications https://arxiv.org/pdf/2201.08239.pdf
  • Jurassic-1: Technical Details and Evaluation https://uploads-ssl.webflow.com/60fd4503684b466578c0d307/61138924626a6981ee09caf6_jurassic_tech_paper.pdf
  • Using DeepSpeed and Megatron to Train Megatron-Turing NLG 530B, the World’s Largest and Most Powerful Generative Language Model https://arxiv.org/pdf/2201.11990.pdf
  • Scaling Language Models: Methods, Analysis & Insights from Training Gopher https://storage.googleapis.com/deepmind-media/research/language-research/Training%20Gopher.pdf
  • Training Compute-Optimal Large Language Models https://arxiv.org/pdf/2203.15556.pdf
  • PaLM: Scaling Language Modeling with Pathways https://arxiv.org/pdf/2204.02311.pdf
  • Pathways: Asynchronous Distributed Dataflow for ML https://arxiv.org/pdf/2203.12533.pdf
  • Transcending Scaling Laws with 0.1% Extra Compute https://arxiv.org/pdf/2210.11399.pdf
  • UL2: Unifying Language Learning Paradigms https://arxiv.org/pdf/2205.05131.pdf
  • OPT: Open Pre-trained Transformer Language Models https://arxiv.org/pdf/2205.01068.pdf
  • LLaMA: Open and Efficient Foundation Language Models https://arxiv.org/pdf/2302.13971v1.pdf
  • BLOOM: A 176B-Parameter Open-Access Multilingual Language Model https://arxiv.org/pdf/2211.05100.pdf
  • GLM-130B: An Open Bilingual Pre-Trained Model https://arxiv.org/pdf/2210.02414.pdf
  • ERNIE 3.0 Titan: Exploring Larger-scale Knowledge Enhanced Pre-training for Language Understanding and Generation https://arxiv.org/pdf/2112.12731.pdf
  • ERNIE 3.0: Large-scale Knowledge Enhanced Pre-training for Language Understanding and Generation https://arxiv.org/pdf/2107.02137.pdf
  • Is Prompt All You Need? No. A Comprehensive and Broader View of Instruction Learning https://arxiv.org/pdf/2303.10475v2.pdf
  • T0 Multitask Prompted Training Enables Zero-Shot Task Generalization https://arxiv.org/pdf/2110.08207.pdf
  • Finetuned Language Models Are Zero-shot Learners https://openreview.net/pdf?id=gEZrGCozdqR
  • Scaling Instruction-Finetuned Language Models https://arxiv.org/pdf/2210.11416.pdf
  • Crosslingual Generalization through Multitask Finetuning https://arxiv.org/pdf/2211.01786.pdf
  • GPT-3.5 https://platform.openai.com/docs/models/gpt-3-5
  • Evaluating Large Language Models Trained on Code https://arxiv.org/pdf/2107.03374.pdf
  • Training language models to follow instructions with human feedback https://arxiv.org/pdf/2203.02155.pdf
  • OpenAI Blog: Introducting ChatGPT https://openai.com/blog/chatgpt
  • OpenAI Blog: Introducing ChatGPT https://openai.com/blog/chatgpt
  • OpenAI Blog: GPT-4 https://openai.com/research/gpt-4
  • Alpaca: A Strong, Replicable Instruction-Following Model https://crfm.stanford.edu/2023/03/13/alpaca.html
  • ChatGLM:千亿基座的对话模型开启内测 https://chatglm.cn/blog

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP连接管理(三次握手,四次挥手)

目录 一、回顾一下TCP包头二、连接的建立——“三次握手”三、连接的建立——“四次挥手”保活计时器 一、回顾一下TCP包头 源端口号(Source Port):16 位字段,表示发送方的端口号。 目的端口号(Destination Port&…

Python——爬虫入门

爬虫的流程 第一步:获取网页内容 浏览器访问网页时也是一样,都是先发个请求获取网页内容,但是浏览器多了个渲染的步骤。 程序获取的内容都是网页源代码 第二步:解析网页内容 第三步:储存或分析数据 要做数据集就存起来,要做数据分析就形…

IP 协议(网络层协议)

IP协议 IP 协议作用地址管理动态分配 IP 地址NAT 机制IPv6IP 地址的组成 路由选择 IP 协议作用 主要有两点 : 地址管理 为每个上网的设备分配一个唯一地址. 路由选择 两台主机间的信息交互, 具体走哪条线路. 地址管理 先来看看 IP协议 报文格式 : IP 协议最主要就是 32 位的…

web学习笔记1

计算机: 课程大纲:html(五条猫结构) 结构 css 表现 JavaScript 行为 html:超文本标记语言 超:超链接,能从一个网页跳转到另一个网页 标记:文本要变成超文本,就需要各…

Linux——进程信号(下)

目录 总结 一,信号保存 1.1 阻塞信号 2.2 信号在内核(操作系统)中的表示 2.3 系统接口 2.3.1 sigset_t信号集 2.3.2 信号集的操作函数 2.3.3 sigprocmask 2.3.4 sigpending 2.4 实验样例 三,信号处理 3.1 信号捕捉 3.2 sigaction接口 3.3 实验…

c++11 标准模板(STL)(std::basic_istream)(一)

定义于头文件 <istream> template< class CharT, class Traits std::char_traits<CharT> > class basic_istream : virtual public std::basic_ios<CharT, Traits> 类模板 basic_istream 提供字符流上的高层输入支持。受支持操作包含带格式…

3D空间的旋转的各种等价形式

旋转矩阵 欧拉轴和角度&#xff08;旋转矢量&#xff09; 欧拉旋转 四元数

Linux的

&#xff08;该图由AI绘制 关注我 学习AI画图&#xff09; 目录 网络配置 1、ifconfig查看网络信息 2、与网卡相关的配置文件 3、查询计算机的网络状态 4、systemctl启动/重启/停止网络 Linux远程连接与文件传输 1、为什么需要远程连接 2、SSH协议 3、sshd服务 4、…

​如何优雅的卸载Edge浏览器

如何优雅的卸载Edge浏览器 由于Edge浏览器越来越复杂&#xff0c;功能越来越繁琐我是真的一刻也用不下去了。虽然我主力是火狐浏览器&#xff0c;Edge用来访问一些只能使用Chromium内核的网页作为备用。 但是我现在一打开Edge浏览器我就窝火&#xff0c;也懒得再去调整优化&a…

Golang每日一练(leetDay0116) 路径交叉、回文对

目录 335. 路径交叉 Self-crossing &#x1f31f;&#x1f31f;&#x1f31f; 336. 回文对 Palindrome Pairs &#x1f31f;&#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/…

【Java遇错】Error: failed to initialize Sentinel CommandCenterLog

问题描述&#xff1a; 引入sentinel的相关依赖之后&#xff0c;启动项目服务&#xff0c;发现如下错误 Error: failed to initialize Sentinel CommandCenterLog java.lang.NoClassDefFoundError: com/alibaba/csp/sentinel/log/LoggerSpiProviderat com.alibaba.csp.sentin…

Python应用实例(一)外星人入侵(五)

外星人入侵&#xff08;五&#xff09; 1.项目回顾2.创建第一个外星人2.1 创建Alien类2.2 创建Alien实例 3.创建一群外星人3.1 确定一行可容纳多少个外星人3.2 创建一行外星人3.3 重构_create_fleet()3.4 添加行 在游戏《外星人入侵》中添加外星人。我们将首先在屏幕上边缘附近…