首页 > 其他分享 >LLaMA大语言模型

LLaMA大语言模型

时间:2023-08-07 10:06:15浏览次数:36  
标签:语言 pth checklist 模型 chk json LLaMA

什么是LLaMA

LLaMA是由美国的Meta AI发布的大语言系列模型,全称是Large Language Model Meta AI,论文:LLaMA: Open and Efficient Foundation Language Models。Llama这个单词本身是指美洲大羊驼,所以社区也将这个系列的模型昵称为羊驼系模型

LLaMA大语言模型_大语言模型

在这篇论文中,使用数万亿个(trillions of) token 训练LLaMA模型,证明了使用公开数据集就能训练出最先进的模型, 而并非必须使用专有和私有数据集。

训练数据集有几种不同来源,涵盖了多个领域,如下表所示。

LLaMA大语言模型_大语言模型_02

LLaMA 模型能够生成文本、进行对话、总结书面材料以及解决数学定理或预测蛋白质结构等。按照参数量规模,LLaMA可分为四个:LLaMA-7B、LLaMA-13B、LLaMA-30B与LLaMA-65B。这里的B是billion的缩写,指代模型的参数规模。故最小的模型7B包含70亿个参数,而最大的一款65B则包含650亿个参数。

如何获取LLaMA

LLaMA本身的代码开源,其Github地址为:llama,如下图所示:

LLaMA大语言模型_大语言模型_03

但是其权重需要向Meta在线申请。下载完成后的权重文件大概如下所示:

LLaMA
├── 13B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   ├── consolidated.01.pth
│   └── params.json
├── 30B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   ├── consolidated.01.pth
│   ├── consolidated.02.pth
│   ├── consolidated.03.pth
│   └── params.json
├── 65B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   ├── consolidated.01.pth
│   ├── consolidated.02.pth
│   ├── consolidated.03.pth
│   ├── consolidated.04.pth
│   ├── consolidated.05.pth
│   ├── consolidated.06.pth
│   ├── consolidated.07.pth
│   └── params.json
├── 7B
│   ├── checklist.chk
│   ├── consolidated.00.pth
│   └── params.json
├── llama.sh
├── tokenizer_checklist.chk
└── tokenizer.model

全部文件加起来的大小约253.2GB。注意使用附带的checklist.chk文件校验文件哈希值。

md5sum -c checklist.chk

不过,基于 Llama 2 构建应用并不只是把它从开源库里下载下来那么简单,模型的后续调优、中文增强、安全评估、与外部数据的融合、推理算力消耗等都是摆在开发者、企业面前的现实问题。这也是当前很多大模型的共性问题。大模型和应用之间需要一座桥梁。

以LLaMA为基础,后续衍生出了多个“羊驼家族”模型如Vicuna(小羊驼)和Alpaca(羊驼)。


标签:语言,pth,checklist,模型,chk,json,LLaMA
From: https://blog.51cto.com/u_15408171/6990968

相关文章

  • 一种基于概念模型思想的ABCDE系统设计建模法的研究与应用
     《一种基于概念模型思想的ABCDE系统设计建模法的研究与应用》张云龙(JINGWHALE数字科学艺术创新中心,浙江杭州,310008)国作登字-2023-A-00087399 摘要:本文基于概念模型思想提出了一种归纳设计纲领、梳理业务模型、抽象概念模型、具象设计模型、评估改进模型的ABCDE概念模......
  • pytorch如何保存和加载模型
    两种方法:保存和加载参数 和 保存加载整个模型保存和加载参数 #保存torch.save(model.state_dict,PATH)#PATH推荐格式为.pt#加载model=TheModelClass(*args,**kwargs)model.load_state_dict(torch.load(PATH))保存加载整个模型 #保存torch.save(model,PATH)#......
  • 初识Go(Golang)语言
    初识Go(Golang)语言Go的诞生1.Go语言的发展历程 2007年,谷歌工程师RobPike,KenThompson和RobertGriesemer开始设计一门全新的语言,这是Go语言的最初原型。 2009年11月10日,Google将Go语言以开放源代码的方式向全球发布。 2015年8月19日,Go1.5版发布,本次......
  • GO语言刷题
    ###GO刷题记录二分法查找给定一个n个元素有序的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。示例1:输入:nums=[-1,0,3,5,9,12],target=9输出:4解释:9出现在nums中并且下标为4示例2:输入:nums......
  • MiniRBT中文小型预训练模型:结合了全词掩码技术和两段式知识蒸馏技术,加快推理速度
    MiniRBT中文小型预训练模型:结合了全词掩码(WholeWordMasking)技术和两段式知识蒸馏(KnowledgeDistillation)技术,加快推理速度在自然语言处理领域中,预训练语言模型(Pre-trainedLanguageModels)已成为非常重要的基础技术。为了进一步促进中文信息处理的研究发展,哈工大讯飞联合实验......
  • C语言定义并初始化一个二维数组(利用二级指针)
    C语言定义并初始化一个二维数组(利用二级指针)1.代码如下#include<stdio.h>#include<stdlib.h>intmain(){//m,n表示数组的行数和列数intm,n;scanf("%d%d",&m,&n);//p是一个二级指针,使用malloc函数初始化。注意p指向的是一个指针,所以sizeof操作......
  • c语言作业之猜数字游戏
    //猜数字游戏#include<time.h>#include<stdlib.h>//void表示“无类型”,相应的void*为无类型指针,即1.对函数返回的限定;2.对函数参数的限定//当函数不需要返回值时,必须用void限定例如:voidfunc(inta,char*b)//当函数不允许接受参数时,必须使用void限定例如:intfunc(void)......
  • C语言定义并初始化一个二维数组(利用指针数组)
    C语言定义并初始化一个二维数组(利用指针数组),可以实现二位数组的每一行的元素个数不同1.代码如下#include<stdio.h>#include<stdlib.h>intmain(){//arr是一个指针数组,即这个数组的所有元素都是指针,每一个元素都指向一个int型数组,每一个int型数组的长度可以不同......
  • 001、认识C语言,第一次编码
    001、认识C语言,第一次编码​ C语言常用于底层开发(应用层之下【操作系统、驱动】)写C语言代码的步骤:创建一个项目;创建一个源文件(xxx.c)【头文件:xxx.h】;写代码;编译代码(ctrl+F7);运行代码(ctrl+F5【不调试】、F5【调试】)主函数(一个工程中只能有一个主函数):/***写C语言的第一步......
  • 进程/线程模型
    进程/线程模型 进程模型 (一)多道程序设计 (Multiprogramming)允许多个程序同时进入内存并运行,其目的是为了提高系统效率。   并发环境与并发程序  并发环境:一段时间间隔内,单处理器上有两个或两个以上的程序同时处于开始运行但尚未结束的状态,并......