LLMs之LLaMA2:LLaMA2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略

news2024/11/24 0:36:55

LLMs之LLaMA2:LLaMA2的简介(技术细节)、安装、使用方法(开源-免费用于研究和商业用途)之详细攻略

导读:2023年7月18日,Meta重磅发布Llama 2!这是一组预训练和微调的大型语言模型(LLM),规模从70亿到700亿个参数不等。Meta微调的LLM称为Llama 2-Chat,专为对话使用场景进行了优化。Llama 2模型在我们测试的大多数基准测试中胜过开源聊天模型,并且根据Meta的人类评估,对于可靠性和安全性,可能是闭源模型的适当替代品。Meta提供了关于如何微调和提高Llama 2-Chat安全性的详细说明,以便让社区在Meta的工作基础上建立并为LBM的负责任开发做出贡献。
Llama 2 = Llama 1【RoPE+RMSNorm+SwiGLU+AdamW】+数据量新增40%+2Ttokens+4096+高质量SFT+RLHF对齐【PPO+Rejection 采样微调】:Llama 2模型是在2万亿个标记上进行训练的,Llama-2-chat模型还额外训练了超过100万个新的人类注释。Llama 2的数据比Llama 1多了40%,上下文长度增加了一倍。并且,Llama-2-chat使用从人类反馈中进行的强化学习来确保安全和有用。Llama 2 采用了 Llama 1 中的大部分预训练设置和模型架构,包括标准 Transformer 架构、使用 RMSNorm 的预归一化、SwiGLU 激活函数和旋转位置嵌入。 采用AdamW 优化器进行训练,其中 β_1 = 0.9,β_2 = 0.95,eps = 10^−5。同时使用余弦学习率计划(预热 2000 步),并将最终学习率衰减到了峰值学习率的 10%。Meta 在其研究超级集群(Research Super Cluster, RSC)以及内部生产集群上对模型进行了预训练。​​​​​​​
三个常用基准评估了 Llama 2 的安全性:采用 TruthfulQA 基准评估真实性+采用 ToxiGen 基准评估毒性+采用 BOLD 基准评估偏见。Meta 在安全微调中使用监督安全微调、安全 RLHF、安全上下文蒸馏。首先通过收集人类对安全性的偏好数据来进行 RLHF,其中注释者编写他们认为会引发不安全行为的 prompt,然后将多个模型响应与 prompt 进行比较,并根据一系列指南选择最安全的响应。接着使用人类偏好数据来训练安全奖励模型,并在 RLHF 阶段重用对抗性 prompt 以从模型中进行采样。Meta 通过上下文蒸馏完善了 RLHF 流程。
模型性能开源即秀+高昂承本A100+依旧走Open路线:Meta两个集群均使用了 NVIDIA A100。HuggingFace 机器学习科学家内森·兰伯特估算 Llama 2 的训练成本可能超过 2500 万美元。Meta公布了Llama 2 模型训练数据、训练方法、数据标注、微调等大量细节,对比发现,同等参数规模, Llama 2 能力超过所有的开源大模型;公布的测评结果显示,Llama 2 在包括推理、编码、精通性和知识测试等许多外部基准测试中都优于其他开源语言模型。
Llama 2的诞生,以及它开源的脾性,直接硬刚哪些说要Open却一点都不Open、一直在构建“技术围墙”的GPT-4,还有谷歌的PaLM 2。Llama 2将会是LLMs在开源领域的一个重要里程碑,未来将大概率加速改变大语言模型市场的格局和生态。
那么,今天,你的LLMs底座换了吗?

目录

LLaMA2的简介

LLaMA2的简介

1、基准测试

2、Llama-2-chat使用从人类反馈中进行的强化学习来确保安全和有用

LLaMA2的安装

1、下载下载模型权重和分词器

T1、从官网下载

T2、基于Hugging Face下载

2、安装

LLaMA2的使用方法

1、基础用法

(1)、模型推理

(2)、预训练模型

(3)、微调聊天模型


相关文章

LLMs之LLaMA:《LLaMA: Open and Efficient Foundation Language Models》翻译与解读

LLMs之LLaMA:《LLaMA: Open and Efficient Foundation Language Models》翻译与解读_ai自然语言处理_一个处女座的程序猿的博客-CSDN博客


 

LLaMA2的简介

地址

GitHub地址:GitHub - facebookresearch/llama: Inference code for LLaMA models

论文地址:
https://ai.meta.com/research/publications/llama-2-open-foundation-and-fine-tuned-chat-models/

博客地址:https://ai.meta.com/resources/models-and-libraries/llama/

时间

2023年7月18日

作者

Meta

LLaMA2的简介

         2023年7月18日,Meta重磅发布Llama 2,就像官网阐述的那样,Meta正在释放这些大型语言模型的力量。Llama 2现在可供个人、创作者、研究人员和企业使用,以便他们能够负责任地实验、创新和扩展他们的想法。此版本包括预训练和微调Llama语言模型的模型权重和起始代码,范围从7B到70B个参数不等。
         Llama 2是在公开可用的在线数据源上进行预训练的。经过微调的模型Llama-2-chat利用了公开可用的指令数据集和超过100万个人类注释。在模型内部,Llama 2模型是在2万亿个标记上进行训练的,具有Llama 1的2倍的上下文长度。Llama-2-chat模型还额外训练了超过100万个新的人类注释。Llama 2的数据比Llama 1多了40%,上下文长度增加了一倍。并且,Llama-2-chat使用从人类反馈中进行的强化学习来确保安全和有用。
         Llama-2-chat是使用公开可用的在线数据对Llama 2进行预训练。然后使用监督式微调创建Llama-2-chat的初始版本。接下来,使用从人类反馈中进行的强化学习(RLHF)进行Llama-2-chat的迭代优化,其中包括拒绝抽样和近端策略优化(PPO)。

1、基准测试

Llama 2在许多外部基准测试中优于其他开源语言模型,包括推理、编码、熟练度和知识测试。

2、Llama-2-chat使用从人类反馈中进行的强化学习来确保安全和有用

LLaMA2的安装

1、下载下载模型权重和分词器

T1、从官网下载

如果下载模型权重和分词器,需要访问Meta AI网站并接受Meta 的许可。一旦您的请求获得批准,您将通过电子邮件收到签名的URL。然后运行download.sh脚本,在提示开始下载时传递提供的URL。请确保只复制URL文本本身,不要使用右键单击URL时的“复制链接地址”选项。如果复制的URL文本以https://download.llamameta.net开头 ↗,那么您已正确复制它。如果复制的URL文本以https://l.facebook.com开头 ↗,则您复制错误了。

确保已安装wget和md5sum。然后运行脚本:

./download.sh

T2、基于Hugging Face下载

我们还提供了在Hugging Face上的下载。您必须首先使用与您的Hugging Face帐户相同的电子邮件地址从Meta AI网站请求下载。这样做后,您可以请求访问Hugging Face上的任何模型,在1-2天内,您的帐户将获得访问所有版本的权限。

2、安装

在具有PyTorch/CUDA的conda环境中,克隆存储库并在顶级目录中运行

pip install -e 

LLaMA2的使用方法

1、基础用法

(1)、模型推理

不同的模型需要不同的模型并行(MP)值

ModelMP
7B1
13B2
70B8

所有模型都支持最多4096个标记的序列长度,但我们根据max_seq_len和max_batch_size值预分配缓存。因此,请根据您的硬件设置这些值。

(2)、预训练模型

这些模型没有微调为聊天或问答。它们应该被提示,以便预期的答案是提示的自然延续。
有关一些示例,请参见example_text_completion.py。为了说明这一点,请查看下面的命令,以使用llama-2-7b模型运行它(nproc_per_node需要设置为MP值):

torchrun --nproc_per_node 1 example_text_completion.py \
    --ckpt_dir llama-2-7b/ \
    --tokenizer_path tokenizer.model \
    --max_seq_len 128 --max_batch_size 4

(3)、微调聊天模型

这些经过微调的模型是为对话应用程序而训练的。为了获得预期的特征和性能,需要遵循在chat_completion中定义的特定格式,包括INST和<<SYS>>标签、BOS和EOS标记,以及它们之间的空格和换行符(我们建议对输入调用strip()以避免双空格)。
您还可以部署其他分类器,以过滤出被认为不安全的输入和输出。请参见llama-recipes存储库,了解如何将安全检查器添加到您的推断代码的输入和输出中的示例。
使用llama-2-7b-chat的示例:

torchrun --nproc_per_node 1 example_chat_completion.py
--ckpt_dir llama-2-7b-chat/
--tokenizer_path tokenizer.model
--max_seq_len 512 --max_batch_size 4

Llama 2是一项新技术,其使用存在潜在风险。到目前为止进行的测试并不能涵盖所有情况。为了帮助开发人员应对这些风险,我们创建了负责任的使用指南。更多详细信息可以在我们的研究论文中找到。

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

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

相关文章

(三)springboot实战——web新特性之函数式实现

前言 本节内容我们主要介绍一下web访问的另一种形式&#xff0c;通过函数式web实现一个restful风格的http请求案例。函数式web是spring5.2之后的一个新特性&#xff0c;可以通过函数去定义web请求的处理流程&#xff0c;使得代码更为简洁&#xff0c;耦合性也降低了。 正文 …

在vue3中配置ByteMD掘金同款markdown编辑器

最近因为想要一个富文本编辑器集合到项目中&#xff0c;在查找网上很多资料后&#xff0c;选择了ByteMD 编辑器&#xff0c;ByteMD 编辑器是字节跳动的掘金团队所开源的一个编辑器组件&#xff0c;还挺好用的&#xff0c;那如果要在vue3项目中配置ByteMD编辑器要如何配置呢&…

【YOLO】关闭控制台推理日志

问题 每次推理时&#xff0c;控制台都会打一条日志 消除方法 外部库里找到\site-packages\ultralytics\engine\predictor.py 将代码的282、283、292、293&#xff0c;这四行注释掉&#xff08;v5和v8一样&#xff09; 也可以搜关键词# Print time (inference-only)可以定位代…

基于PHP+ vue2 + element +mysql自主研发的医院不良事件上报系统

医院不良事件上报管理系统源码 不良事件上报是为了响应卫生部下发的等级医院评审细则中第三章第9条规定&#xff1a;医院要有主动报告医疗安全&#xff08;不良&#xff09;事件的制度与工作流程。由医疗机构医院或医疗机构报告医疗安全不良事件信息&#xff0c;利用报告进行研…

WEB安全测试通常要考虑的测试点

1、问题&#xff1a;没有被验证的输入 测试方法&#xff1a; 数据类型&#xff08;字符串&#xff0c;整型&#xff0c;实数&#xff0c;等&#xff09; 允许的字符集 最小和最大的长度 是否允许空输入 参数是否是必须的 重复是否允许 数值范围 特定的值&#xff08;枚举型&a…

基于UDP的可靠传输,文件+目录(C++,Qt)

一、基础知识 UDP&#xff08;UserDatagramProtocol&#xff09;是一个简单的面向消息的传输层协议&#xff0c;尽管UDP提供标头和有效负载的完整性验证&#xff08;通过校验和&#xff09;&#xff0c;但它不保证向上层协议提供消息传递&#xff0c;并且UDP层在发送后不会保留…

【Tomcat】无法将位于-的资源添加到Web应用程序-的缓存中,因为在清除过期缓存条目后可用空间仍不足 - 请考虑增加缓存的最大空间

1、问题 org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [xxx] to the cache for web application [/xxx] because there was insufficient free space available after evicting expired cache entries - consider increasing the maxim…

为Android构建现代应用——设计原则

为Android构建现代应用——设计原则 - 掘金 state”是声明性观点的核心 在通过Compose或SwiftUI等框架设计声明性视图时&#xff0c;我们必须明确的第一个范式是State(状态)。UI组件结合了它的图形表示(View)和它的State(状态)。UI组件中发生变化的任何属性或数据都可以…

Kotlin~Observer观察者模式

概念 定义一对多的依赖关系&#xff0c;让多个观察者同时监听一个主题对象。 角色介绍 Subject&#xff1a;主题&#xff0c;也称被观察者&#xff0c;它是具有状态的对象维护着一个观察者列表。提供添加、删除和通知观察者的方法。ConcreteSubject&#xff1a;具体主题&…

mfc140.dll丢失的解决方法(最新解决方法)

一&#xff1a;mfc140.dll的作用&#xff1a; mfc140.dll的主要作用是提供了&#xff08;简称MFC&#xff09;的函数和资源&#xff0c;它是用于构建Windows应用程序的一组C类库。MFC是微软开发环境中提供的一个工具集&#xff0c;它封装了Windows操作系统的底层API&#xff0…

2.多线程-初阶(中)

文章目录 4. 多线程带来的的风险-线程安全 (重点)4.1 观察线程不安全4.2 线程安全的概念4.3 线程不安全的原因4.3.1原子性4.3.2可见性4.3.3代码顺序性 4.4 解决之前的线程不安全问题 5. synchronized[ˈsɪŋkrənaɪzd] 关键字-监视器锁monitor lock5.1 synchronized 的特性5.…

【限流】4 种常见的限流实现方案

在微服务应用中&#xff0c;考虑到技术栈的组合&#xff0c;团队人员的开发水平&#xff0c;以及易维护性等因素&#xff0c;一个比较通用的做法是&#xff0c;利用 AOP 技术 自定义注解实现 对特定的方法或接口进行限流。 下面基于这个思路来分别介绍下几种常用的限流方案的…

OceanBase 压测时为什么冻结阈值在变化?

本文从源码角度分析了 OceanBase 压测中冻结阈值动态变化的原因&#xff0c;并给出运维建议。 作者&#xff1a;张乾 外星人2号&#xff0c;兼任五位喵星人的铲屎官。 本文来源&#xff1a;原创投稿 爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转…

Redis两种持久化机制RDB和AOF详解(面试常问,工作常用)

redis是一个内存数据库&#xff0c;数据保存在内存中&#xff0c;但是我们都知道内存的数据变化是很快的&#xff0c;也容易发生丢失。幸好Redis还为我们提供了持久化的机制&#xff0c;分别是RDB(Redis DataBase)和AOF(Append Only File)。 在这里假设你已经了解了redis的基础…

微信小程序上,实现图片右上角数字显示

微信小程序上&#xff0c;实现图片右上角数字显示 直接上代码&#xff1a; 样式代码index.wxss如下&#xff1a; .circle_rednum {position: absolute;color: white;font-size: 13px;background-color: #EC2F43;width: 23px;height: 23px;line-height: 23px;left: 80%;top: …

RuntimeError: DataLoader worker (pid 2105929) is killed by signal: Killed.

PyTorch DataLoader num_workers Test - 加快速度 可以利用PyTorch DataLoader类的多进程功能来加快神经网络训练过程。 加快训练进程 为了加快训练过程&#xff0c;我们将利用DataLoader类的num_workers可选属性。 num_workers属性告诉DataLoader实例要使用多少个子进程进…

pytorch工具——pytorch中的autograd

目录 关于torch.tensor关于tensor的操作关于梯度gradients 关于torch.tensor 关于tensor的操作 x1torch.ones(3,3) xtorch.ones(2,2,requires_gradTrue) print(x1,\n,x)yx2 print(y) print(x.grad_fn) print(y.grad_fn)zy*y*3 outz.mean() print(z,out)注意 atorch.randn(2,…

SQL调优教程

SQL调优教程 基础方法论 任何计算机应用系统性能问题最终都可以归结为 1.cpu消耗 2.内存使用 3.对磁盘&#xff0c;网络或其他I/O设备的输入/输出(I/O)操作 遇到性能问题时&#xff0c;要判断的第一点就是“在这三种资源中&#xff0c;是否有哪一种资源达到了有问题的程度”&…

通过四点分析CRM系统的发展趋势

CRM系统企业管理客户的有力武器&#xff0c;为企业发展、降本增效奠定了基础&#xff0c;国内CRM经过十几年的发展产品已经十分成熟&#xff0c;很多企业会问CRM系统未来发展趋势是什么&#xff1f;今天小编就分享几个CRM未来的趋势。 1.AI人工智能 去年席卷全球的ChatGPT让大…

【数据结构】链表是否有环相关问题

文章目录 快指针走3、4、5步甚至更多可以吗为什么快慢指针一定在入口点相遇![在这里插入图片描述](https://img-blog.csdnimg.cn/ba346dbc9fee425dbb895ae2962e99ce.png) 快指针走3、4、5步甚至更多可以吗 部分情况下可以。 如果这样&#xff0c;相对&#xff08;追及&#xf…