近日, LlaMA(羊驼)这个大模型再次冲上热搜!

LLaMA(Large Language Model Meta AI),由 Meta AI 发布的一个开放且高效的大型根本措辞模型,共有 7B、13B、33B、65B(650 亿)四种版本。
其数据集来源都是公开数据集,无任何定制数据集,担保了其事情与开源兼容和可复现,全体演习数据集在 token 化之后大约包含 1.4T 的 token。
关于模型性能,LLaMA 的性能非常精良:具有 130 亿参数的 LLaMA 模型「在大多数基准上」可以赛过 GPT-3( 参数量达 1750 亿),而且可以在单块 V100 GPU 上运行;而最大的 650 亿参数的 LLaMA 模型可以媲美谷歌的 Chinchilla-70B 和 PaLM-540B。

上篇文章(大措辞模型底层架构你理解多少?大措辞模型底层架构之一Transfomer-云社区-华为云)有先容了LLaMA 所采取的Transformer 构造和细节,与之前所先容的Transformer架构不同的地方包括采取了前置层归一化(Pre-normalization)并利用RMSNorm 归一化函数(Normalizing Function)、激活函数改换为SwiGLU,并利用了旋转位置嵌入(RoP),整体Transformer架构与GPT-2 类似,如图1.1所示。

图1.1 GPT-2 模型构造

大年夜模型那么火教你一键Modelarts玩转开源LlaMA羊驼大年夜模型

关于演习集,其来源都是公开数据集,无任何定制数据集,担保了其事情与开源兼容和可复现。
全体演习数据集在 token 化之后大约包含 1.4T 的 token。
个中,LLaMA-65B 和 LLaMA-33B 是在 1.4万亿个 token 上演习的,而最小的模型 LLaMA-7B 是在 1万亿个 token 上演习的。
LLaMA 上风在于其只利用公开可用的数据,这可以担保论文的事情与开源兼容和可复现。
之前的大模型要么利用了不公开的数据集去演习从而达到了 state-of-the-art,如 Chinchilla、PaLM 或 GPT-3;要么利用了公开数据集,但模型效果不是最佳无法和 PaLM-62B 或 Chinchilla 相竞争,如 OPT、GPT-NeoX、BLOOM 和 GLM。

和 GPT 系列一样,LLaMA 模型也是 Decoder-only 架构,但结合古人的事情做了一些改进,比如:

Pre-normalization [GPT3]. 为了提高演习稳定性,LLaMA 对每个 transformer 子层的输入进行归一化,利用 RMSNorm 归一化函数,Pre-normalization 由Zhang和Sennrich(2019)引入。
SwiGLU 激活函数 [PaLM]. 将 ReLU 非线性更换为 SwiGLU 激活函数,且利用2/34D而不是 PaLM 论文中的 4d,SwiGLU 由 Shazeer(2020)引入以提高性能。
Rotary Embeddings [GPTNeo]. 模型的输入不再利用 positional embeddings,而是在网络的每一层添加了 positional embeddings (RoPE),RoPE 方法由Su等人(2021)引入。

不同模型的超参数详细信息在表2中给出,详细可以去看看我上篇文章,

详细怎么在华为云的ModelArts上玩转LLAMA开源大模型呢?

前期准备:

1.登录华为云官方账号(「链接」):

点击右上角“掌握台”,搜索栏输入“ModelArts”

点击“AI Gallery“,选择“北京四”区域,

点击"资产集市--Notebook",输入“Mindformers运用之LLaMA_7B推理运用”

点击“Run in ModelArts”,进入,

1. 安装MindFormers开拓套件

%cd /home/ma-user/work!git clone -b r0.6 https://gitee.com/mindspore/mindformers.gitCloning into 'mindformers'... remote: Enumerating objects: 21732, done. remote: Counting objects: 100% (437/437), done. remote: Compressing objects: 100% (330/330), done. remote: Total 21732 (delta 262), reused 190 (delta 107), pack-reused 21295 Receiving objects: 100% (21732/21732), 37.74 MiB | 3.73 MiB/s, done.编译代码

%cd mindformers!bash build.sh%cd ../home/ma-user/work/mindformers---------------- MindFormers: build start ----------------running bdist_wheelrunning buildrunning build_pycreating build/lib/mindformerscopying mindformers/__init__.py -> build/lib/mindformerscopying mindformers/auto_class.py -> build/lib/mindformerscopying mindformers/mindformer_book.py -> build/lib/mindformerscreating build/lib/mindformers/corecopying mindformers/core/__init__.py -> build/lib/mindformers/corecopying mindformers/core/clip_grad.py -> build/lib/mindformers/corecopying mindformers/core/parallel_config.py -> build/lib/mindformers/corecreating build/lib/mindformers/dataset........2.下载LLaMA模型和tokenizer

%cd /home/ma-user/work/mindformersimport moxing as moxmox.file.copy_parallel('obs://modelarts-labs-bj4-v2/case_zoo/Mindfomer_LLaMA/', 'checkpoint_download/llama')3.推理-利用pipeline接口开启快速推理

from mindformers.pipeline import pipelinepipeline_task = pipeline("text_generation", model='llama_7b', max_length=20)pipeline_result = pipeline_task("I love Beijing, because", top_k=3)print(pipeline_result)

- 当我输入提示词:

text_generation_text': I love Beijing, because

通过LLaMA_7B模型推理可以快速输出:

['I love Beijing, because it is a city that is constantly changing.\nI love the city']

赶紧来点击试一试,体验下自己写代码调用LLAMA_7B开源大模型的魅力吧!

关注#华为云开拓者同盟# 点击下方,第一韶光理解华为云新鲜技能~

华为云博客_大数据博客_AI博客_云打算博客_开拓者中央-华为云