AIGC入门 - LLM 信息概览

news2024/11/26 16:27:49

本文将介绍以下 LLM

  • OPT
  • LLaMa
  • Alpaca
  • Vicuna
  • Moss
  • chatGLM
  • Baichuan
  • Openbuddy

一、OPT

1、背景

OPT全称Open Pre-trained Transformer Language Models,即“开放的预训练Transformer语言模型”,是 Meta AI 团队在2022年5月发布了开源大模型OPT-175B,媲美 GPT-3。

2、模型介绍

1)、开源资源

OPT模型论文地址:OPT: Open Pre-trained Transformer Language Models
Github仓库地址:https://github.com/facebookresearch/metaseq
175B模型申请访问权限地址:https://forms.gle/dag8g7nKiR4o4VZq5

2)、模型介绍
  • OPT 模型是一种基于 Encoder-Decoder 结构的模型,它采用了双向 Transformer Encoder 对输入序列进行编码,然后使用单向 Transformer Decoder 生成输出序列。
  • 可在 huggingface 下载 OPT 开源模型:opt125m、opt350m、opt1.3b、opt2.7b、opt6.7b、opt13b、opt30b、opt66b等。
  • OPT系列模型包括了多组不同参数规模的模型权重,如图:
    在这里插入图片描述

二、LLaMa

1、背景

LLaMA 是 Meta 在 2023 年2月发布的一款开源的人工智能大型语言模型(包含从 7B 到 65B 的参数范围,训练使用多达 14,000 亿 tokens 语料。其中,LLaMA-13B 在大部分基准测评上超过了 GPT3(175B),与目前最强的语言模型 Chinchilla-70B 和 PaLM-540B 相比,LLaMA-65B 也具有竞争力。)。在 2023 年7月,Meta发布了其最新版本LLaMA 2。 相较上一代,LLaMA 2训练所用的token翻了一倍至2万亿,Llama2可免费开源商用。

2、模型介绍

1)、开源资源

论文地址: LLaMA: Open and Efficient Foundation Language Models
代码地址: https://github.com/facebookresearch/llama
模型地址:https://huggingface.co/models?sort=downloads&search=llama

2)、模型介绍
  • 可在 huggingface 下载 llama-2 开源模型:llama2-7b、llama2-13b、llama2-70b等。

  • llama用了tranformer的decoder部分,是decoder-only结构。目前大部分生成式的语言模型都是采用这种结构,bert采用Encoder-only,google t5采用encoder-decoder结构。

  • 为什么用decoder-only? 参考苏剑林【为什么现在的LLM都是Decoder-only的架构? - 科学空间|Scientific Spaces】,其中提到了attention在n×d的矩阵与d×n的矩阵相乘后再加softmax(n≫d),这种形式的Attention的矩阵因为低秩问题而带来表达能力的下降,但decoder only因为用了masked attention,是一个下三角矩阵,attention一定是满秩的。也可以参考【CastellanZhang:【大模型慢学】GPT起源以及GPT系列采用Decoder-only架构的原因探讨】。)

  • Llama2 相较于 Transformer-Decoder 有如下改动:

  • a )Pre-normalization
    为了提高训练的稳定性,Pre-norm很早就被提出,原生的transformer中使用的是post-norm,也就是在每个子层输出后进行归一化,相比post-norm,pre-norm是在每个子层输入前对输入的数据归一化,pre-norm的训练会更稳定,甚至都可以不需要做warm-up也能很好地训练transformer大模型。除此之外,LLaMa还是用RMSNorm(Root Mean Square Layer Normalization)取代了Layer Norm,RMSNorm是Layer Norm的一种变体,和Layer Norm中减去均值、除以方差的归一化方式不同,RMSNorm是直接除以均方根。

  • b)SwiGLU激活函数
    LLaMa使用SwiGLU激活函数替代了原有的ReLU激活函数,以提高性能。SwiGLU是Swish和GLU两个函数的结合
    其中Swish=x⋅sigmoid(βx),SwiGLU=Swish(Wx+b)⨂(Vx+c)

  • c)RoPE旋转位置编码
    使用旋转位置编码替代绝对位置编码,详见:
    Transformer升级之路:2、博采众长的旋转式位置编码

  • d)Multi-Head Attention
    由 Transformer 的 QKV,换成了GQA(llama是MQA)。

三、Alpaca(羊驼)

1、背景

Alpaca 是斯坦福在 LLaMa-7B 的基础上监督微调出来的模型,斯坦福是用OpenAI的Text-davinci-003 API配合 self-instruct 技术,使用175个提示语种子自动生成了52K条提示-回复的指示数据集,在LLaMa-7B上微调得到的模型,在8张80G的A100上训练了3小时。
在这里插入图片描述

2、模型介绍

1)、开源资源

文章地址: https://crfm.stanford.edu/2023/03/13/alpaca.html
代码地址: https://github.com/tatsu-lab/stanford_alpaca

2)、模型介绍

它使用 52K 个 intruction-following examples 来微调 Meta 的大语言模型 LLaMA 7B (Meta 开放了模型权重以及 Inference 代码,详见 https://github.com/facebookresearch/llama),从而生成了 Alpaca 7B。

但是这 52K 个 intruction-following examples 是如何生成的呢?Alpaca 团队使用 https://github.com/yizhongw/self-instruct 提供的 175 个 seed tasks,这些 seed tasks 长这样:
在这里插入图片描述
调用 OpenAI 的 text-davinci-003 模型,利用 OpenAI 的模型来产生有价值的 instructions!

不得不说,有点机智,这种方式很像蒸馏训练啊。将 OpenAI 性能完备的模型作为 Teacher,来指导参数更少的 Alpaca 模型进行训练,大幅降低了训练成本 。其中调用 OpenAI API 的成本不到 500 美刀,另外微调 7B 参数的 LLaMA 模型,使用云服务商提供的 8 块 80GB A100 显卡,训练 3 小时,消费不到 100 美刀。因此整体成本是小于 600 美刀。

相对来说,确实方便了独立的研究人员、学术机构以及大部分公司。

四、Vicuna(小羊驼)

1、背景

Vicuna 是UC伯克利大学的研究人员联合其它几家研究机构共同推出的一系列基于LLaMa-13B 微调的大语言模型。 数据集来自于ShareGPT.com 产生的用户对话数据,共70K条。通过GPT4来打分评测,Vicuna可以达到ChatGPT 90%的效果。基于LLaMA2的可免费商用授权协议。
在这里插入图片描述

2、模型介绍

1)、开源资源

中文领域 lora 训练: https://github.com/Facico/Chinese-Vicuna

2)、模型介绍
  • Vicuna具体的工作流程如下图所示,首先,研究人员从 http://ShareGPT.com(一个供用户分享 ChatGPT 对话内容的网站)收集了约 7 万个对话,相较于Alpaca,Vicuna在训练中将序列长度由512扩展到了2048,并且通过梯度检测和flash attention来解决内存问题;调整训练损失考虑多轮对话,并仅根据模型的输出进行微调,最高支持16K上下文输入。
  • 训练是在一天内通过 8 卡 A100 GPU 配合 PyTOrch FSDP 进行的full fine-tune。
  • 为了提供演示服务,Vicuna研究人员建立了一个轻量级的分布式服务系统FastChat,创建了八个问题类别(如:角色扮演、编码/数学任务等)的 80 个不同问题,利用 GPT-4 来判断模型输出,借此对模型质量做初步评估。
  • 为了比较两个不同的模型,Vicuna研究人员将每个模型的输出组合成每个问题的单个提示。 然后将提示发送到 GPT-4,GPT-4 评估哪个模型提供更好的响应。
    在这里插入图片描述

五、Moss

1、背景

MOSS是复旦大学自然语言处理实验室发布的国内第一个对话式大型语言模型。2023年4月,复旦MOSS升级版开源上线。

2、开源资源

项目代码: https://github.com/OpenLMLab/MOSS
试用网址: https://moss.fastnlp.top

六、chatGLM

1、背景

ChatGLM-6B、ChatGLM2-6B 是由清华大学 KEG 实验室和智谱 AI 基于千亿基座模型 GLM-130B 开发的对话语言模型,ChatGLM 为 encoder-decoder 架构。

2、开源资源

项目代码:https://github.com/THUDM/ChatGLM2-6B

七、Baichuan

1、背景

2023年6月15日,百川智能公司推出了7B 参数量的中英文预训练大模型——baichuan-7B。2023 年 7月11日,百川智能正式发布参数量13B 的通用大语言模型Baichuan-13B-Base。Baichuan 中英文大模型集高性能、完全开源、免费可商用等于一身。

2、开源资源

项目代码:https://github.com/baichuan-inc/Baichuan2
模型下载:https://huggingface.co/models?search=baichuan
(可下载 7B、13B 模型。)

3、模型介绍

在算法层面:模型架构基本与 LLaMA 一致。
参考:
https://www.zhihu.com/question/606757218/answer/3075464500
https://www.zhihu.com/question/611507751/answer/3114988669

八、Openbuddy

1、背景

OpenBuddy团队发布了基于Meta的LLaMA2基座的跨语言对话模型OpenBuddy-LLaMA2-13B。 LLaMA2仍存在一些局限性,如主要以英语训练数据为主,无法很好地应用于非英语语系的语言。为此,OpenBuddy团队设计并实验了多种微调方案,成功完成了OpenBuddy-LLaMA2-13B的首个版本的训练工作。

2、开源资源

Website: https://openbuddy.ai
GitHub: https://github.com/OpenBuddy/OpenBuddy
Huggingface: https://huggingface.co/OpenBuddy

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

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

相关文章

Ninja: Towards Transparent Tracing and Debugging on ARM【TEE的应用】

目录 摘要引言贡献 背景TrustZone和受信任的固件PMU和ETM 相关工作x86上的透明恶意软件分析ARM上的动态分析工具基于仿真的系统硬件虚拟化裸机系统 Trustzone相关的系统 系统架构具体实现和评估可以看论文,这里不赘述了讨论总结 作者:Zhenyu Ning and Fe…

ffmpeg编译 Error: operand type mismatch for `shr‘

错误如下: D:\msys2\tmp\ccUxvBjQ.s: Assembler messages: D:\msys2\tmp\ccUxvBjQ.s:345: Error: operand type mismatch for shr D:\msys2\tmp\ccUxvBjQ.s:410: Error: operand type mismatch for shr D:\msys2\tmp\ccUxvBjQ.s:470: Error: operand type mismatch…

BCrypt 密码数据加解密运用

前言: 当涉及到存储用户密码时,确保密码的安全非常重要。以往,我们通常都是采用 MD5 这种不可逆算法来进行密码数据的加密后存储,虽然MD5算法是一种常见的哈希函数,但是它已经不再被认为是安全的选项。 常规MD5加密&a…

趣解设计模式之《小王的学习秘籍》

〇、小故事 小王是学校的学霸,凭借着自己的天赋以及对于学习的刻苦,每次考试都能排到年级第一名。但是,他所在的班级总成绩却不高,在所有班级中,属于中游水平。老师希望通过小王的贡献,能否帮助整个班级同…

证券账户可以绑定几张银行卡,可以更换绑定吗

个人账户实现股票量化程序化自动交易,券商有接口,门槛已降低_股票程序交易接口的博客-CSDN博客像上面的例子,如果按照市面上常见的可转债万3或万2不免5,人工操作费率限制,这种情况就不要想,根本没机会&…

返回最大元素的索引 忽略数组中所有的NaN值 numpy.nanargmax()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 返回最大元素的索引 忽略数组中所有的NaN值 numpy.nanargmax() [太阳]选择题 请问代码中第一次执行语句的输出正确的是? import numpy as np a np.array([0,np.nan,2]) print(&…

H264视频压缩格式

H264简介 H.264从1999年开始,到2003年形成草案,最后在2007年定稿有待核实。在ITU的标准里称为H.264, 在MPEG的标准里是MPEG-4的一个组成部分-MPEG-4 Part 10,又叫Advanced Video Codec,因此常常称为MPEG-4AVC或直接叫AVC。 压缩算…

服务器搭建(TCP套接字)-fork版(服务端)

基础版的服务端虽然基本实现了服务器的基本功能,但是如果客户端的并发量比较大的话,服务端的压力和性能就会大打折扣,为了提升服务端的并发性能,可以通过fork子进程的方式,为每一个连接成功的客户端fork一个子进程,这样…

Ansible自动化:简化你的运维任务

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

OpenStack创建云主机并连接CRT

文章目录 OpenStackT版创建云主机并连接CRT命令行操作(1)创建镜像(2)创建实例(3)创建网络创建内网创建外网 (4)创建安全组(5)创建路由(6&#xff…

如何利用CSS实现三角形、扇形、聊天气泡框

思路 三角形 实现三角形的关键思路是使用 CSS 的 border 属性来创建一个透明的矩形块&#xff0c;并利用边框的透明部分来形成三角形。下面是创建三角形的一般思路&#xff1a; 创建一个 HTML 元素&#xff0c;通常是一个 <div> 元素&#xff0c;用于容纳三角形。 为该…

超低功耗段码LCD液晶显示驱动IC-VKL144A/BQFN48超小体积液晶驱动

产品品牌&#xff1a;永嘉微电/VINKA 封装形式&#xff1a;TSSOP48/QFN48L 产品年份&#xff1a;新年份 沈先生 135 、547/44,703 原厂&#xff0c;工程服务&#xff0c;技术支持&#xff01; VKL144A/B 概述: VKL144A/B 是一个点阵式存储映射的LCD 驱动器&#xff0c;可…

数据库操作-DML/DQL

数据库操作-DML DML英文全称是Data Manipulation Language(数据操作语言)&#xff0c;用来对数据库中表的数据记录进行增、删、改操作。 添加数据&#xff08;INSERT&#xff09; 修改数据&#xff08;UPDATE&#xff09; 删除数据&#xff08;DELETE&#xff09; 增加(ins…

面试题四:请解释一下watch,computed和filter之间的区别

watch与computed、filter&#xff1a; watch:监控已有属性&#xff0c;一旦属性发生了改变就去自动调用对应的方法 computed:监控已有的属性,一旦属性的依赖发生了改变&#xff0c;就去自动调用对应的方法.computed有详细的介绍&#xff0c;移步computed的使用 filter:js中为…

2023 Google 开发者大会 – 惊喜来袭

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 2023 Google 开发者大会 – 惊喜来袭 2023 Google 开发者大会面向开发者和科技爱好者展示最新产品和平台的年度盛会。今年Google大会为大家提供了丰富的学习资源&…

transforms数据预处理【图像增强】 ->(个人学习记录笔记)

文章目录 1. 安装2. transforms——Crop 裁剪2.1 transforms.CenterCrop2.2 transforms.RandomCrop2.3 transforms.RandomResizedCrop2.4 transforms.FiveCrop2.5 transforms.TenCrop 3. transforms——Flip 翻转3.1 transforms.RandomHorizontalFlip3.2 transforms.RandomVert…

Bash脚本学习:AWK, SED

1. AWK AWK 是一种编程语言&#xff0c;设计用于处理文件或数据流中基于文本的数据&#xff0c;或者使用 shell 管道。 可以将 awk 与 shell 脚本结合使用或直接在 shell 提示符下使用。 以上展示使用AWK分别打印第一个位置变量和第二个位置变量。 建立一个文档 csvtest.cs…

【前端知识】Three 学习日志(二)—— 加强三维空间认识

Three 学习日志&#xff08;二&#xff09;—— 加强三维空间认识 一、设置辅助观察坐标系 // 创建3D场景对象Scene const scene new THREE.Scene(); // AxesHelper&#xff1a;辅助观察的坐标系 const axesHelper new THREE.AxesHelper(150); scene.add(axesHelper);二、设…

布局设计和实现:计算器UI【TableLayout、GridLayout】

一、使用TableLayout实现计算器UI 1.新建一个空白项目布局 根据自己的需求输入其他信息 填写完成后&#xff0c;点击Finish即可 2. 设计UI界面 在res/layout文件夹中的XML文件中创建UI界面。在这个XML文件中&#xff0c;您可以使用TableLayout来设计计算器界面。 2.1 创建l…

【PyTorch攻略(1/7)】 张量基本语法

一、说明 Tensor 是一种特殊的数据结构&#xff0c;与数组和矩阵非常相似。在 PyTorch 中&#xff0c;我们使用张量对模型的输入和输出以及模型的参数进行编码。 张量类似于 NumPy 和 ndarray&#xff0c;除了张量可以在 GPU 或其他硬件加速器上运行。事实上&#xff0c;张量和…