大模型那么火,教你一键Modelarts玩转开源LlaMA(羊驼)大模型
本文分享自华为云社区《大模型那么火,教你一键Modelarts玩转开源LlaMA(羊驼)大模型》,作者:码上开花_Lancer 。
近日, 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。
上篇文章有介绍了LLaMA 所采用的Transformer 结构和细节,与之前所介绍的Transformer架构不同的地方包括采用了前置层归一化(Pre-normalization)并使用RMSNorm 归一化函数(Normalizing Function)、激活函数更换为SwiGLU,并使用了旋转位置嵌入(RoP),整体Transformer架构与GPT-2 类似,如图1.1所示。
图1.1 GPT-2 模型结构
关于训练集,其来源都是公开数据集,无任何定制数据集,保证了其工作与开源兼容和可复现。整个训练数据集在 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/3*4D而不是 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.git Cloning 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_wheel running build running build_py creating build/lib/mindformers copying mindformers/__init__.py -> build/lib/mindformers copying mindformers/auto_class.py -> build/lib/mindformers copying mindformers/mindformer_book.py -> build/lib/mindformers creating build/lib/mindformers/core copying mindformers/core/__init__.py -> build/lib/mindformers/core copying mindformers/core/clip_grad.py -> build/lib/mindformers/core copying mindformers/core/parallel_config.py -> build/lib/mindformers/core creating build/lib/mindformers/dataset ........
2.下载LLaMA模型和tokenizer
%cd /home/ma-user/work/mindformers import moxing as mox mox.file.copy_parallel('obs://modelarts-labs-bj4-v2/case_zoo/Mindfomer_LLaMA/', 'checkpoint_download/llama')
3.推理-使用pipeline接口开启快速推理
from mindformers.pipeline import pipeline pipeline_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开源大模型的魅力吧!!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于Raft算法的DLedger-Library分析 | 京东物流技术团队
1 背景 在分布式系统应用中,高可用、一致性是经常面临的问题,针对不同的应用场景,我们会选择不同的架构方式,比如master-slave、基于ZooKeeper选主。随着时间的推移,出现了基于Raft算法自动选主的方式,Raft是在Paxos的基础上,做了一些简化和限制,比如增加了日志必须是连续的,只支持领导者、跟随者和候选人三种状态,在理解和算法实现上都相对容易许多。 1)DLedger 是openMessaging发布的一个基于 Raft 实现的JAVA类库,可以方便引用到系统中,满足其高可用、高可靠、强一致的需求,其中在RocketMQ中作为消息Broker存储高可用实现的一种解决方案。 2)Raft将系统中的角色分为领导者(Leader)、跟从者(Follower)和候选人(Candidate): Leader:接受客户端请求,定时发送心跳包,并向Follower同步请求日志,当日志同步到大多数节点上后告诉Follower提交日志。 Follower:接受并持久化Leader同步的日志,在Leader告之日志可以提交之后,提交日志。 Candidate:Leader选举过程中的...
- 下一篇
新一代“垫图”神器,IP-Adapter的完整应用解读
导读 不用训练lora,一张图就能实现风格迁移,还支持多图多特征提取,同时强大的拓展能力还可接入动态prompt矩阵、controlnet等等,这就是IP-Adapter,一种全新的“垫图”方式,让你的AIGC之旅更加高效轻松。 都是“垫图”,谁能还原你心中的图 “垫图”这个概念大家肯定都不陌生,此前当无法准确用prompt描述心中那副图时,最简单的办法就是找一张近似的,然后img2img流程启动,一切搞定。 可img2img简单的同时,也有它绕不过去的局限性,比如对prompt的还原度不足、生成画面多样性弱,特别是当需要加入controlnet来进行多层控制时,参考图、模型、controlnet的搭配就需要精心挑选,不然出图效果常常让人当场裂开… 但现在,我们有了新的“垫图”神器——IP-Adapter,在解读它之前,先来直观的感受一下它的效果。 效果可以说相当炸,那IP-Adapter就是终极答案了么?它的泛化性如何?兼容性是否足够?对prompt支持怎么样?当真的要接入现实工作中它还有什么拓展的能力呢?让我们一一来看。 IP-Adapter的核心优势,只画你关心...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器