【AI学习】LLaMA 系列模型的进化(一)

一直对LLaMA 名下的各个模型关系搞不清楚,什么羊驼、考拉的,不知所以。幸好看到两篇综述,有个大致了解,以及SEBASTIAN RASCHKA对LLaMa 3的介绍。做一个记录。

一、文章《Large Language Models: A Survey》中对LLaMa的介绍

论文:Large Language Models: A Survey
https://arxiv.org/html/2402.06196v2

在这里插入图片描述

LLaMA家族

LLaMA 是 Meta 发布的基础语言模型集合。 与 GPT 模型不同,LLaMA 模型是开源的,即模型权重在非商业许可下发布给研究社区。 因此,LLaMA 系列迅速发展,因为这些模型被许多研究小组广泛使用,以开发更好的开源 LLM 以竞争闭源 LLM,或为关键任务应用程序开发特定任务的 LLM。

LLaMA的第一组模型于2023年2月发布,参数范围从7B到65B。这些模型是在公开可用数据集收集的数万亿个token上预训练的。LLaMA使用GPT-3的Transformer架构,但有一些小的架构修改,包括(1)使用SwiGLU激活函数代替ReLU,(2)使用旋转位置嵌入代替绝对位置嵌入,以及(3)使用均方根层归一化(root-mean-squared layer-normalization )代替标准层归一化。
开源 LLaMA-13B 模型在大多数基准测试中优于专有的 GPT-3 (175B) 模型,使其成为 LLM 研究的良好基线。

2023年7月,Meta与Microsoft合作发布了LLaMA-2系列,其中包括基础语言模型和针对对话进行微调的Chat模型,称为LLaMA-2 Chat。LLaMA-2 Chat模型在许多公共基准测试中的表现超过了其他开源模型。图12展示了LLaMA-2 Chat的训练过程。该过程首先使用公开可用的在线数据预训练LLaMA-2。然后,通过监督微调构建LLaMA-2 Chat的初始版本。随后,模型使用RLHF、拒绝采样和近端策略优化(rejection
sampling and proximal policy optimization)进行迭代细化。在RLHF阶段,积累人类反馈以修订奖励模型至关重要,以防止奖励模型发生太大变化,这可能会损害LLaMA模型训练的稳定性。
在这里插入图片描述
Alpaca是从LLaMA-7B模型微调而来,使用了52K条遵循指令的示例,这些示例以自我指导(self-instruct)的方式使用GPT-3.5(text-davinci-003)生成。Alpaca在训练上非常划算,特别是对于学术研究。在自我指导评估集上,Alpaca的表现与GPT-3.5相似,尽管Alpaca要小得多。

Vicuna团队通过在ShareGPT上收集的用户共享对话对LLaMA进行微调,开发了一个13B的聊天模型,Vicuna-13B。使用GPT-4作为评估者进行初步评估表明,Vicuna-13B在超过90%的情况下实现了与OpenAI的ChatGPT和Google的Bard相似的质量,并且在超过90%的情况下优于其他模型,如LLaMA和Stanford Alpaca。图13通过GPT-4展示了Vicuna和其他一些知名模型的相对响应质量。Vicuna-13B的另一个优势是其相对有限的模型训练计算需求。Vicuna-13B的训练成本仅为300美元。
在这里插入图片描述

像Alpaca和Vicuna一样,Guanaco模型也是使用指令跟随数据对LLaMA进行微调的模型。但是,微调是通过QLoRA非常高效地完成的,以至于可以在单个48GB GPU上微调一个65B参数的模型。QLoRA通过冻结的4位量化预训练语言模型将梯度反向传播到低秩适配器(LoRA)中。最佳Guanaco模型在Vicuna基准测试上的表现超过了所有以前发布的模型,达到了ChatGPT性能水平的99.3%,同时仅需要在单个GPU上微调24小时。

Koala是另一个建立在LLaMA上的指令跟随语言模型,但专注于交互数据,包括用户输入和由高度能力的封闭源聊天模型(如ChatGPT)生成的响应。根据基于真实用户提示的人工评估,Koala-13B模型与最先进的聊天模型具有竞争力。

Mistral-7B是一个为卓越性能和效率而设计的7B参数语言模型。Mistral-7B在所有评估的基准测试中都优于最佳的开源13B模型(LLaMA-2-13B),在推理、数学和代码生成方面优于最佳的开源34B模型(LLaMA-34B)。该模型利用分组查询注意力实现更快的推理,结合滑动窗口注意力以有效处理任意长度的序列,降低推理成本。

LLaMA家族正在迅速发展,因为更多的指令跟随模型已经建立在LLaMA或LLaMA-2之上,包括Code LLaMA、Gorilla、Giraffe、Vigogne、Tulu 65B、Long LLaMA和Stable Beluga2,仅举几例。

二、《大语言模型》中对LLaMa的介绍

来自《大语言模型》一书(赵鑫 李军毅 周昆 唐天一 文继荣 著),

LLaMA 变体系列

自 2023 年 2 月发布以来,LLaMA 系列模型在学术界和工业界引起了广泛的关注,对于推动大语言模型技术的开源发展做出了重要贡献。
LLaMA 拥有较优的模型性能,并方便用户公开获取,因此一经推出就迅速成为了最受欢迎的开放性语言模型之一。众多研究人员纷纷通过指令微调或继续预训练等方法来进一步扩展 LLaMA 模型的功能和应用范围。其中,指令微调由于相对较低的计算成本,已成为开发定制化或专业化模型的首选方法,也因此出现了庞大的 LLaMA 家族。根据指令微调所使用的指令类型,对现有的 LLaMA 变体模型进行简单的梳理介绍。
• 基础指令. 在 LLaMA 的扩展模型中,Stanford Alpaca 是第一个基于LLaMA (7B) 进行微调的开放式指令遵循模型。通过使用 Self-Instruct 方法借助大语言模型进行自动化的指令生成,Stanford Alpaca 生成了 52K 条指令遵循样例数据(Alpaca-52K)用于训练,其指令数据和训练代码在随后的工作中被广泛采用。Vicuna作为另一个流行的 LLaMA 变种,也受到了广泛关注。它并没有使用合成指令数据,主要是使用 ShareGPT 收集的用户日常对话数据进行训练,展现了基于 LLaMA 的语言模型在对话生成任务中的优秀实力。
中文指令. 原始的 LLaMA 模型的训练语料主要以英语为主,在中文任务上的表现比较一般。为了使 LLaMA 模型能够有效地支持中文,研究人员通常会选择扩展原始词汇表,在中文数据上进行继续预训练,并用中文指令数据对其进行微调。经过中文数据的训练,这些扩展模型不仅能更好地处理中文任务,在跨语言处理任务中也展现出了强大的潜力。目前常见的中文大语言模型有 Chinese LLaMA、Panda、Open-Chinese-LLaMA、Chinese Alpaca、YuLan-Chat 等。
垂域指令. LLaMA 虽然展现出了强大的通用基座模型能力,但是在特定的垂直领域(例如医学、教育、法律、数学等)的表现仍然较为局限。为了增强 LLaMA模型的垂域能力,很多工作基于搜集到的垂域相关的指令数据,或者采用垂域知识库以及相关专业文献等借助强大的闭源模型 API(例如 GPT-3.5、GPT-4 等)构建多轮对话数据,并使用这些指令数据对 LLaMA 进行指令微调。常见的垂域 LLaMA模型有 BenTsao(医学)、LAWGPT(法律)、TaoLi(教育)、Goat(数学)、Comucopia(金融)等。
多模态指令. 由于 LLaMA 模型作为纯语言模型的强大能力,许多的多模态模型都将其(或将其衍生模型)作为基础语言模型,搭配视觉模态的编码器,使用多模态指令对齐视觉表征与文本。与其他语言模型相比,Vicuna 在多模态语言模型中受到了更多的关注,由此形成了一系列基于 Vicuna 的多模态模型,包括LLaVA 、MiniGPT4 、InstructBLIP 和 PandaGPT 。
除了使用不同种类的指令数据进行全参数微调外,研发人员还经常使用轻量化微调的技术训练 LLaMA 模型变体,以降低训练成本,方便用户部署。例如,AlpacaLoRA 使用 LoRA 复现了 Stanford Alpaca。LLaMA 模型系列的发布有力地推动了大语言模型技术的发展。为了更直观地展示 LLaMA 系列模型的研究进展以及衍生模型之间的关系,下图展示了一个 LLaMA 系列模型的简要演化图,
呈现了 LLaMA 模型系列从发布到快速发展以及在各个领域中的广泛应用。由于衍生模型的数量庞大,这里无法将所有相关模型纳入到图中。
在这里插入图片描述

三、SEBASTIAN RASCHKA对LLaMa 3的介绍

来自SEBASTIAN RASCHKA的博客文章《How Good Are the Latest Open LLMs? And Is DPO Better Than PPO?》

LLaMa 3: Larger data is better

Meta AI 于 2023 年 2 月发布了第一个 Llama 模型,这是公开可用的 LLM 的一大突破,也是开放(源代码)LLM 的关键时刻。因此,自然而然地,每个人都对去年发布的 Llama 2 感到兴奋。现在,Meta AI 已经开始推出的 Llama 3 模型同样令人兴奋。

虽然 Meta 仍在训练一些最大的模型(例如 400B 变体),但他们发布了熟悉的 8B 和 70B 尺寸范围的模型。下图将官方 Llama 3 博客文章中的 MMLU 分数添加到之前分享的 Mixtral 图中。
在这里插入图片描述
总体而言,Llama 3 架构与 Llama 2 几乎相同。主要区别在于词汇量增加,以及 Llama 3 还对较小规模的模型使用分组查询注意力。
以下是用于在 LitGPT 中实现 Llama 2 和 Llama 3 的配置文件,有助于一目了然地显示主要区别。
在这里插入图片描述
训练数据大小

与 Llama 2 相比,性能明显提高的主要原因是数据集要大得多。Llama 3 的训练是用 15 万亿个Token训练的,而 Llama 2 “只有”2 万亿个Token。

这是一个非常有趣的发现,因为正如 Llama 3 博客文章所指出的那样,根据 Chinchilla 缩放定律,80 亿参数模型的最佳训练数据量要小得多,大约 2000 亿个Token。此外,Llama 3 的作者观察到,即使在 15 万亿尺度上,80 亿和 700 亿参数模型也表现出对数线性改进。这表明我们(即一般的研究人员)可以通过超过 15 万亿个Token的更多训练数据来进一步增强模型。

指令微调和对齐

对于指令微调和对齐,研究人员通常选择通过近端策略优化 (PPO) 或无奖励模型的直接偏好优化 (DPO) 使用具有人工反馈的强化学习 (RLHF)。有趣的是,Llama 3 的研究人员并没有偏爱其中一种;他们两者都用了!

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

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

相关文章

❤【纯干货】Matplotlib总结,任何项目都用得到❤

. . . . . . . . . . . 纯 干 货 . . . . . . . . .Matplotlib 在很多人眼里是无敌的存在,而且可以说是无敌的存在。 走过数据科学的路,路上必然有Matplotlib 的风景在你周围。 如果同一个项目,你的用了matplotlib …

vue脚手架 笔记08

目录 01 vuex的四大辅助函数的使用 mapState使用方式: mapMutations的使用方式: mapGetters的使用方式: mapActions的使用方式: 02 vuex中的模块化 vuex的modules模块化的使用: modules模块化的使用: 01 vuex的四大辅助函数的使用 帮助我们把vuex里面的数据映射到当前组件里…

资料合集|SmartX 虚拟化特性解读、迁移实践与用户案例

面对 VMware 的种种变动,不少用户开始探索新的出路。但对于虚拟化平台这一核心组件的替换,一些用户仍处于观望状态,主要是出于以下担忧: 新的虚拟化平台是否具备与 VMware 虚拟化相当的能力?替代 VMware 虚拟化平台涉…

【微服务网关——负载均衡】

1. 四大负载均衡策略 随机负载 随机挑选目标服务器IP 轮询负载 ABC三台服务器,ABCABC依次轮询 加权负载 给目标设置访问权重,按照权重轮询 一致性hash负载 请求固定URL访问指定IP 2.随机负载均衡 可以通过random函数来随机选择一个ip 2.1 代码实现 …

陶建辉入选 2023 年度“中国物联网行业卓越人物榜”

在这个技术飞速发展的时代,物联网行业作为推动社会进步的重要力量,正在不断地演化和革新。近日,中国智联网生态大会暨“2023 物联之星”年度榜单颁奖典礼在上海浦东举行。现场公布了拥有物联网行业奥斯卡奖之称的 ——“物联之星 2023 中国物…

「51媒体」上海电视台媒体邀约专访怎么做?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 电视台专访通常会对一些热门话题,行业热点,或者新闻焦点,邀请嘉宾进行访谈。企业如果想要在电视台进行专访,通常要有合适的时机和选题。 下…

【面试干货】Java方法重写的规则

【面试干货】Java方法重写的规则 1、Java方法重写的规则2、示例代码3、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java中,方法重写(Overriding)是面向对象编程中的一个核心概念,它…

结硬寨:联想服务器的向前之路

曾国藩曾经将自己的战略思想,总结为“结硬寨,打呆仗”。 这种稳健的策略,往往在真实的产业发展中能收获奇效。我们喜欢听颠覆性的产业创新,却往往忽视稳扎稳打,把每一个优势聚集起来形成整体优势,可能才是市…

在Python项目中自定义日志工具

在Python项目中自定义日志工具 日志记录是软件开发中的一个关键部分,它可以帮助开发人员调试代码、监控运行状况以及记录重要事件。在Python中,logging 模块提供了强大的日志记录功能。本文将介绍如何创建一个日志工具,使其能够同时将日志输…

通义灵码使用笔记

通义灵码使用笔记 通义灵码使用指南代码智能生成⾏级/函数级实时续写自然语言生成代码生成单元测试、代码优化建议、代码注释、代码解释选中代码后,一键触发功能 通义灵码使用指南 通义灵码是一种智能编码助手,可以在你进行编码工作时,为你提…

【ajax基础02】URL详解

目录 一:什么是URL 二:URL组成 协议 ​编辑 域名(在url中必须写) 资源路径 三:URL查询参数 定义: 语法格式: 如何利用axios实现特定数据查询: 语法格式: 案例&#xff1a…

springboot-自动配置

一、自动配置的原理 Spring Boot 的自动配置基于以下几个核心概念: 条件注解 (Conditional Annotations):Conditional 系列注解用于根据特定条件判断是否加载某个配置类或 Bean。 自动配置类 (Auto-configuration Classes):这些类通过 META-…

【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢

【耐水好】强耐水UV胶水它的粘接强度和普通UV胶水比如何呢 强耐水UV胶水的粘接强度与普通UV胶水相比,具有显著的优势。以下是详细的比较和归纳: 固化方式: 两者都是通过紫外线(UV)照射进行固化,但强耐水UV…

2024年全球架构师峰会(ArchSummit深圳站)

前言 ArchSummit全球架构师峰会是极客邦科技旗下InfoQ中国团队推出的重点面向高端技术管理者、架构师的技术会议,54%参会者拥有8年以上工作经验。 ArchSummit聚焦业界强大的技术成果,秉承“实践第一、案例为主”的原则,展示先进技术在行业中的…

程序员学CFA——经济学(三)

经济学(三) 总产出、价格水平和经济增长总产出、总收入和总支出总产出、总收入和总支出的概念及联系国内生产总值国内生产总值(GDP)的定义GDP的衡量方法GDP的相关概念GDP的核算方法 总需求、总供给和市场均衡总需求总需求及其假设…

React.FC`<ChildComponentProps>`解释

代码场景 ParentComponent.tsx import React, { useState } from react; import ChildComponent from ./ChildComponent;function ParentComponent() {const [childData, setChildData] useState<string>();const handleChildData (data: string) > { // 可以直接…

MyBatis的缓存功能总结

MyBatis的缓存功能总结 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 1. 缓存概述 MyBatis的缓存功能是为了提高数据库访问效率而设计的。通过缓存&#xff…

Netty中Reactor线程的运行逻辑

Netty中的Reactor线程主要干三件事情&#xff1a; 轮询注册在Reactor上的所有Channel感兴趣的IO就绪事件。 处理Channel上的IO就绪事件。 执行Netty中的异步任务。 正是这三个部分组成了Reactor的运行框架&#xff0c;那么我们现在来看下这个运行框架具体是怎么运转的~~ 这…

【八股系列】怎么处理项目中的异常捕获行为?(js)

文章目录 1. 基本的try-catch-finally结构2. 全局异常处理3. 自定义错误类4. 使用Promise的catch5. 异步函数中的try-catch6. 记录日志7. 用户友好的错误提示 在 JavaScript项目中&#xff0c;合理地处理异常捕获对于提高程序的健壮性和用户体验至关重要。以下是一些关键实践和…

设计模式-结构型-06-桥接模式

1、传统方式解决手机操作问题 现在对不同手机类型的不同品牌实现操作编程&#xff08;比如&#xff1a;开机、关机、上网&#xff0c;打电话等&#xff09;&#xff0c;如图&#xff1a; UML 类图 问题分析 扩展性问题&#xff08;类爆炸&#xff09;&#xff1a;如果我们再…