首页 > 其他分享 >开源大语言模型Llama 2

开源大语言模型Llama 2

时间:2023-11-11 17:33:20浏览次数:40  
标签:Llama 示例 -- max 模型 开源 llama

Llama 2 Github开源地址

我们正在释放大型语言模型的潜力。我们最新版本的 Llama 现在可供个人、创作者、研究人员和各种规模的企业使用,以便他们可以负责任地进行实验、创新和扩展他们的想法。

此发布包括预训练和微调的 Llama 语言模型的模型权重和起始代码,参数范围从 7B 到 70B。

此存储库旨在作为加载 Llama 2 模型并运行推理的最小示例。有关更详细的示例,可查看 llama-recipes

发布后的更新

请参见 UPDATES.md。另外,有关经常问到的问题的持续列表,请参见此处

下载

⚠️ 7/18:我们注意到今天有人遇到了许多下载问题。仍然遇到问题的人应删除所有本地文件,重新克隆存储库,并请求新的下载链接。如果您有本地损坏的文件,这一点非常重要。

为了下载模型权重和分词器,请访问Meta 网站 并接受我们的许可协议。

一旦您的请求获得批准,您将通过电子邮件收到一个签名的 URL。然后运行 download.sh 脚本,并在提示时传递提供的 URL 来开始下载。

先决条件:确保您已安装 wgetmd5sum。然后运行脚本:./download.sh

请注意,链接在 24 小时内会过期,且下载数量有限。如果您开始看到“403: 禁止”等错误,您可以随时重新请求链接。

在 Hugging Face 上访问

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

快速开始

您可以按照以下步骤快速启动并运行 Llama 2 模型。这些步骤将允许您在本地快速进行推理。有关更多示例,请查看 Llama 2 recipes 存储库

  1. 在具有 PyTorch / CUDA 的 conda 环境中克隆并下载此存储库。

  2. 在顶层目录中运行:

    pip install -e .
    
  3. 访问 Meta 网站 并注册以下载模型。

  4. 注册后,您将收到一封包含下载模型 URL 的电子邮件。在运行 download.sh 脚本时,您将需要此 URL。

  5. 收到电子邮件后,导航到您下载的 Llama 存储库并运行 download.sh 脚本。

    • 确保为 download.sh 脚本授予执行权限
    • 在此过程中,您将被提示输入电子邮件中的 URL。
    • 请不要使用“复制链接”选项,而是确保手动从电子邮件中复制链接。
  6. 一旦您下载了所需的模型,您可以使用以下命令在本地运行模型:

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 6

注意

  • llama-2-7b-chat/ 替换为您的检查点目录路径,将 tokenizer.model 替换为您的分词器模型路径。
  • –nproc_per_node 应设置为您正在使用的模型的 MP 值。
  • 根据需要调整 max_seq_lenmax_batch_size 参数。
  • 此示例运行存储库中的 example_chat_completion.py,但您可以将其更改为其他 .py 文件。

推理

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

模型 MP
7B 1
13B 2
70B 8

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

预训练模型

这些模型没有为聊天或问答进行微调。它们应该被提示,以便预期的答案是提示的自然延续。

有关一些示例,请参见 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

微调的聊天模型

已经对这些模型进行了对话应用的训练。为了获得它们的预期特性和性能,需要遵循 chat_completion 中定义的特定格式,包括 INST<<SYS>> 标记、BOSEOS 标记,以及它们之间的空格和换行符(我们建议在输入上调用 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 6

Llama 2 是一项带有潜在风险的新技术。迄今为止进行的测试未能涵盖所有场景。
为了帮助开发者解决这些风险,我们已创建了负责任使用指南。有关更多详细信息,请参见我们的研究论文。

问题

请通过以下一种方式报告与模型有关的软件“bug”或其他问题:

模型卡片

请参见 MODEL_CARD.md

许可

我们的模型和权重适用于研究人员和商业实体,秉承着开放原则。我们的使命是通过这一机会赋予个人和产业力量,同时促进探索和道德人工智能的进展。

请查看 LICENSE 文件,以及我们的附带的可接受使用政策

引用

  1. 研究论文
  2. Llama 2 技术概述
  3. 开放创新人工智能研究社区

常见问题的 FAQ 可在此处找到,随着时间的推移,将根据新问题进行更新。

原始 LLaMA

原始 Llama 版本的存储库位于 llama_v1 分支。

标签:Llama,示例,--,max,模型,开源,llama
From: https://www.cnblogs.com/jerryqm/p/17826116.html

相关文章

  • Nature Plants | 从卫星监测的全大陆田间试验数据中获得主要作物性状的可解释机器学习
    目录背景信息论文背景:过去方案:论文的Motivation:实验方法主要结果代码获取澳大利亚国立大学生物研究院研究团队使用机器学习模型分析了大规模农田试验数据和卫星数据,成功预测了重要农作物特征,并揭示了作物行为的驱动因素和复杂相互作用。背景信息论文背景:预计到2050年,全球......
  • R语言模型部署方法总结
    目录模型部署概述R语言模型云端/服务器部署httpuvjugopencpufieryplumberRserveRestRserve结语模型部署概述数据科学项目的生命周期通常以迭代方式执行以下主要阶段:业务理解(Businessunderstanding)数据采集和理解(Dataacquisitionandunderstanding)建模(Modeling)部署(Deploy......
  • 预热篇1:大模型训练显卡选型
    AI模型训练主要使用GPU的算力,GPU,显卡这些知识大家都懂的,还是简单说一下GPU吧:GPU是显卡的核心部分,GPU承担着与CPU不同的定位和功能,芯片设计思路也完全不同,GPUCore小而且多,它不承担系统管理、调度的功能,完全专注于使用(大量的)小核心并行化地执行运算。GPU的几个主要用途:1、......
  • 状态机模型DP
    //http://ybt.ssoier.cn:8088/problem_show.php?pid=1302#include<bits/stdc++.h>usingnamespacestd;constintN=2e5+10;intdp[N][3][3],n,w[N],t;intmain(){cin>>t;while(t--){cin>>n;intres=0;memset(......
  • OpenGL 模型加载详解
    1.Assimp目前为止,我们已经可以绘制一个物体,并添加不同的光照效果了。但是我们的顶点数据太过简单,只能绘制简单的立方体。但是房子汽车这种不规则的形状我们的顶点数据就很难定制了。索性,这部分并不需要我们苦逼的开发人员去考虑。成熟的3D建模工具可以将设计师设计的模型导出模......
  • 领域和领域模型
    领域domain一个组织做的事情;领域的作用:解决通用的问题,没有组织特性;项目中的领域:把模型单独放到一个领域;不同的业务划分成不同的领域,隔开服务; 对于领域的对象进行建模,从而抽象出来模型; 领域通用语言和界限上下文 通用语言:1就是1,2就是2;1表示12表示2就是通用......
  • 关于W3C制定的 JavaScript 标准事件模型,先事件捕获从windows > document 往下级直到
    关于W3C制定的JavaScript标准事件模型,先事件捕获从windows>document往下级直到特定的事件节点,然后进行事件处理,再事件冒泡,从特定节点往上级,这个完整的过程dom2规定的事件流包括3个阶段:①事件捕获,②处于目标阶段(事件处理),③事件冒泡阶段。DOM2级事件"规定事件流的三个阶......
  • 机器学习——语言模型和数据集
     语言模型 马尔可夫模型和n元语法 自然语言统计 读取长序列数据由于序列数据本质上是连续的,因此我们在处理数据时需要解决这个问题。在 8.1节中我们以一种相当特别的方式做到了这一点:当序列变得太长而不能被模型一次性全部处理时,我们可能希望拆分这样的序列方......
  • 基于大模型的日程管理通知系统——数据库设计心得
    项目:基于大模型的日程管理通知系统指导老师:李友焕组名:PMA班级:软件21011.  前言上学期数据库系统的课程,让我们了解了数据库的基本操作和设计原则。我们认识到良好的数据库设计在工程项目中是至关重要的。它直接影响到项目的成功与否,对系统的性能、安全性、可维护性和用户体......
  • 基于 three.js 加载器分别加载模型
    点击查看代码/***参数:模型文件路径,成功回调函数**基于three.js加载器分别加载模型**全部加载后通过回调函数传出打印*/import{FBXLoader}from'three/examples/jsm/loaders/FBXLoader.js'import{GLTFLoader}from'three/examples/jsm/loaders/GLTF......