大语言模型的百家齐放

news2024/11/24 11:40:21

在这里插入图片描述

基础语言模型

概念

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

如何理解

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

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

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

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

举个例子

  • 比如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.coloradmin.cn/o/709634.html

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

相关文章

unity制作手游fps僵尸游戏

文章目录 介绍制作基本UI枚举控制角色移动切枪、设置音效、设置子弹威力、设置子弹时间间隔、换弹准星控制射击僵尸动画、血条设置导航 介绍 利用协程、枚举、动画器、导航等知识点。 实现移动、切枪、换弹、射击、僵尸追踪、攻击。 制作基本UI 制作人类血条、僵尸血条、移动按…

百度智能车竞赛丝绸之路1——智能车设计与编程实现控制

百度智能车竞赛丝绸之路1——智能车设计与编程实现控制 百度智能车竞赛丝绸之路2——手柄控制 一、项目简介 本项目现已基于鲸鱼机器人开发套件对其整体外形进行设计,并且对应于实习内容——以“丝绸之路”为题,对机器人各个功能与机器人结构部分进行相…

【几何数学】【Python】【C++】判断两条线段是否相交,若相交则求出交点坐标

判断线段是否相交的办法(使用了向量叉积的方法): 首先,通过给定的线段端点坐标p1、p2、p3和p4构建了四个向量v1、v2、v3和v4: v1表示从p1指向p2的向量,其分量为[p2[0] - p1[0], p2[1] - p1[1]]。 v2表示从…

Camtasia Studio2023标准版屏幕录制和视频剪辑软件

Camtasia Studio2023提供了强大的屏幕录像、视频的剪辑和编辑、视频菜单制作、视频剧场和视频播放功能等。它能在任何颜色模式下轻松地记录屏幕动作,包括影像、音效、鼠标移动的轨迹,解说声音等等,另外,它还具有及时播放和编辑压缩…

[前端]JS——join()与split()的使用

Array.join():数组转换为字符串,"()"里元素指定数组转为字符串用什么串联&#xff0c;默认为空。 Array.join()的使用&#xff1a; <script>let arr[1,2,3,4]console.log("arr未转换前:",arr,typeof(arr));console.log("arr使用join():"…

Netty核心技术八--Netty编解码器和handler的调用机制

1.基本说明 netty的组件设计&#xff1a;Netty的主要组件有Channel、EventLoop、ChannelFuture、 ChannelHandler、ChannelPipe等 ChannelHandler充当了处理入站和出站数据的应用程序逻辑的容器。 例如&#xff0c;实现ChannelInboundHandler接口&#xff08;或ChannelInbound…

Typora图床配置-OSS对象存储

Typora图床配置-OSS对象存储 1.PicGo下载 下载地址&#xff1a; Release 2.3.0 Molunerfinn/PicGo GitHub https://github.com/Molunerfinn/PicGo/releases/tag/v2.3.1 下载如下&#xff1a; 2.安装和配置 进入阿里云创建OSS对象存储服务。 设置为公共读才能被别人访问到。…

树与图的深度优先遍历

树的重心 本题的本质是树的dfs&#xff0c; 每次dfs可以确定以u为重心的最大连通块的节点数&#xff0c;并且更新一下ans。 也就是说&#xff0c;dfs并不直接返回答案&#xff0c;而是在每次更新中迭代一次答案。 这样的套路会经常用到&#xff0c;在 树的dfs 题目中 #includ…

IMU 互补滤波

IMU学名惯性测量单元&#xff0c;所有的运动都可以分解为一个直线运动和一个旋转运动&#xff0c;故这个惯性测量单元就是测量这两种运动&#xff0c;直线运动通过加速度计可以测量&#xff0c;旋转运动则通过陀螺。 void IMUupdate(float gx, float gy, float gz, float ax,fl…

Go 语言 context 都能做什么?

原文链接&#xff1a; Go 语言 context 都能做什么&#xff1f; 很多 Go 项目的源码&#xff0c;在读的过程中会发现一个很常见的参数 ctx&#xff0c;而且基本都是作为函数的第一个参数。 为什么要这么写呢&#xff1f;这个参数到底有什么用呢&#xff1f;带着这样的疑问&am…

postgresql数据库登录代理解析(包含登录协议包解析)

文章目录 postgresql数据库登录代理解析&#xff08;包含登录协议包解析&#xff09;背景描述版本不同对应的账号密码加密目标解析方法相关代码位置断点关键位置及相关重要变量 登录通信流程&#xff08;SCRAM-SHA-256方式&#xff09;代码实现相关参考资料 postgresql数据库登…

Python count()函数详解

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」&#xff1a;对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 count 1、指定搜索位置2、参数为负数3、列表的coun…

以太网OSI参考模型(四)

目录 OSI模型 一、物理层 二、数据链路层 三、网络层 四、传输层 五、会话层 六、表示层 七、应用层 OSI模型 OSI七层模型&#xff0c;是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)1984年联合制定的开放系统互联参考模型&#xff0c;为开放式互联信息系统提供…

06-C++学习笔记-指针的定义与使用

指针是C中非常重要的概念&#xff0c;它允许直接访问内存地址&#xff0c;并通过地址操作变量。本篇笔记将介绍指针的定义与使用方法&#xff0c;以及指针与数组的关系。 1️⃣ 指针的引入 指针的引入是为了解决需要直接访问内存地址的情况。通过指针&#xff0c;可以间接访问…

Android TextView 展示特殊字符高度变高问题解决

背景 #在我们的项目中&#xff0c;展示文字是很常见的需求&#xff0c;但是在线上展示中发现&#xff0c;有些信息是特殊字符展示的&#xff0c;而且这些字符的高度会导致TextView的高度变高&#xff08;与正常字符比&#xff09;。 效果如下&#xff1a; 很明显&#xff0…

森云+优控配置摄像头进行录像和拍照测试

森云和优控配置摄像头进行录像和拍照测试 现在其实已经基本上明确自己的环境了&#xff0c;就是在ubuntu下的pycharm和vscode&#xff0c;然后下载conda&#xff08;但是不要默认的base环境&#xff0c;只要conda create -n xxx 这样的基本功能就好了&#xff09; 显示opencv…

AI绘画StableDiffusion:云端在线版使用笔记分享(Kaggle版)

玩AI绘画&#xff08;SD&#xff09;&#xff0c;自己电脑配置不够&#xff1f;今天给大家介绍一下如何baipiao在线版AI绘画StableDiffusion。 Kaggle 是世界上最大的数据科学社区&#xff0c;拥有强大的工具和资源&#xff0c;可帮助您实现数据科学目标。&#xff08;每周可以…

【MySQL学习笔记】(六)MySQL基本查询

表的增删查改 1 create1.1 单行数据全列插入1.2 多行数据 指定列插入1.3 插入否则更新1.4 替换 2 retrieve2.1 select列2.1.1 全列查询2.2.2 指定列查询2.2.3 查询字段为表达式2.2.4 为查询结果指定别名2.2.5 结果去重 2.2 where 条件2.2.1 null的查询 2.3 结果排序2.4 筛选分…

如何搭建一个实时对话转录应用(类似zoom中的文本转录功能)并部署到 Heroku

文章目录 应用搭建Assembly AI文件夹结构前端搭建HTMLindex.js 后端搭建server.jspackage.json Heroku 部署创建账号创建Heroku应用上传仓库 应用搭建 应用基于 html javascript使用的第三方 API 是 Assembly AI 提供的 Assembly AI 要使用 real-time transcript 功能&…

ChatGPT:为教育创新提供五大机遇

随着智能技术的不断发展&#xff0c;ChatGPT在教育场景中的创新价值可能比我们能够意识到的还要多。比如它可以自动处理作业、在线答疑&#xff0c;可以辅助语言学习、实时沟通&#xff0c;甚至还可以用于评估诊断、科学研究。国内外关于利用ChatGPT实现教育创新的场景描绘已经…