Redian新闻
>
在Graphcore IPU上高效部署Meta开源Llama 2

在Graphcore IPU上高效部署Meta开源Llama 2

公众号新闻

Llama-2是Meta公司最新推出的开源大型语言模型(LLM),相比Llama早期版本,该升级版具有更好的语言理解和更快的推理速度。由于其性能可与更大型的模型相媲美,而且其宽松开源许可证允许其在商业应用中使用和分发,因此它被誉为大型语言模型采用和商业化的游戏规则改变者。


Graphcore拟未在Llama 2推出后迅速完成了其在IPU处理器上的高效能部署,IPU用户不但可以在自己机房的PCIe卡C600或者Bow Pod系统上直接部署Llama 2,还可以利用我们通过云端IPU免费提供的该模型前期试用。


什么是 Llama-2?


Llama 2是一种大型语言模型,与2023年2月发布的上一代模型相比有了显著改进。最初的Llama仅授权用于研究,而根据新的开源许可,Llama-2甚至可以用于商业应用。


最新版Llama的训练数据量增加了40%,根据Meta的随附论文[1],其性能与ChatGPT和Palm等专有模型相当,并优于一些广受赞誉的开源LLM。


Llama-2模型库[2]提供多种模式尺寸,包括7B、13B和70B参数版本,这使应用部署变得切实可行,而且无需在基础设施上花费巨资。


在您机房的C600和

IPU Pod/Bow Pod系统上

快速部署Llama 2


基于Graphcore近期开源的PopTransformer库,Graphcore工程团队快速完成了Llama 2的适配工作,正如我们在之前文章中所介绍的,我们对大模型推理的关键优化技术均已集成在PopTransformer以及Poplar软件栈中,因此只需一个工程师一天的时间,就可以完成Llama2模型的适配和部署。


运行在IPU上的Llama2模型拥有令人惊艳的推理性能,以Llama2-13B为例,在最大上下文长度为16384的情况下,其单个token的推理延时为12.4毫秒,更多性能数据详见下表。



极低的推理延时正是IPU的显著优势之一,这意味着在相同延时要求下,如果开发者选择在IPU上部署模型,则可以将模型升级为更大尺寸的版本,进而充分发挥大模型的优势,让用户拥有更好的使用体验。


以上性能数据来自Graphcore Mk2系列,Llama 2同样可以直接部署在Graphcore的PCIe加速卡C600上,相比Mk2,C600拥有更高的算力同时原生支持FP8精度推理,在不损失模型性能的基础上,进一步降低内存占用。此外,C600支持以Scaleout方式部署模型,可以更加灵活的支持多卡并行(TensorParallel),流水线运行(Pipeline)等提高模型Throughput的技术,显著提高模型部署的性价比。


查看IPU上的开源Llama 2代码,传送门:

https://github.com/graphcore/PopTransformer/tree/main/examples/llama2


查看PopTransformer代码和模型库请至查看代码,请至:

https://github.com/graphcore/PopTransformer


申请试用和评估C600,请至:

https://www.graphcore.ai/zh-cn/reserve-your-first-c600-card


在云端IPU上

免费使用Llama-2


如您的机房还未部署IPU产品,我们还在云端IPU上提供了免费的Llama 2前期试用。


随附的notebook将指导您在Graphcore IPU上使用Paperspace Gradient notebook创建和配置推理流水线,该notebook预打包了库和前提文件,因此您可以轻松开始使用Llama-2。


新用户可以通过Paperspace提供的六小时免费试用,在免费的IPU-Pod4上试用Llama-2。如果要实现更高性能,您也可以升级到IPU-Pod16


01 请求访问模型权重


如要下载和使用预训练的Llama-2基本模型和微调的Llama-2聊天检查点,您需要在Hugging Face网站上验证Hugging Face Hub并创建读取访问标记[3]。执行以下内容后,系统会提示您需要该标记的访问权限:



Llama-2在Meta许可[4]下开源,您需要接受该许可才能访问模型权重和标记器。Hugging Face hub中的模型卡也是门控模型,因此您需要通过模型卡申请访问权限(参见llama-2-7b-chat[5]、llama-2-13b-chat[6])。


02 选择模型权重


Meta发布了7B、13B和70B参数版本的模型。Llama-2-7B和Llama-2-13B适合在我们的Paperspace免费版环境中使用Graphcore IPU-Pod4系统。用户还可以扩展到付费的IPU-Pod16系统,以获得更快的推理速度。



03 创建推理流水线



我们的下一个目标是建立推理流水线。我们将指定最大序列长度和迷你批尺寸。在IPU上部署一个模型之前,我们需要通过编译过程将其转换为可执行的格式。


我们在创建流水线时进行这一步骤。在编译之前定义好所有输入维度至关重要。我们提供了必要的配置,帮助您无缝运行。取决于模型的大小,编译步骤可能需要15到30分钟,但我们也会在缓存中提供预编译的执行文件,将这一步骤缩短到1分钟。


选择更长的序列长度或更大的批次大小将占用更多的IPU存储。这意味着增加其中一项可能就需要减少另一项。您接下来可以尝试通过调整这些超参数来提高系统效率。


请记住,如果您进行了更改,流水线将需要重新编译,取决于模型的大小,这可能需要10到30分钟。


如果您想尝试另一个参数数量不同的模型,请在前一个单元中选择不同的检查点,然后重新运行此步骤,将正确的模型加载到IPU上。


04 运行推理


调用您刚刚创建的llama_pipeline对象,从提示中生成文本。



在流水线调用中,您可以利用其中的一些可选参数控制生成行为:


  • temperature:表示您想要更多还是更少的创造性输出。值1.0意味着模型的默认行为。temperature大于1.0会让下个标记的分布变得更加平缓,从而更有可能产生更多不寻常的下个标记。temperature必须为零或正值。

  • k:表示只能对最高k个可能的标记进行采样。这被称为“top k”采样。您可以将该值设置为0,从而禁用top k采样,并从所有可能的标记中进行采样。K的值必须大于0并且小于config.model.embedding.vocab_size,也就是32000。K的默认值为5。

  • output_length:该值设置了标记的最大输出长度。模型通常在生成它的end_key文本时停止生成,但我们也可以通过制定output_length选项在此之前就停止生成。将output_length设置为None时,该选项将被禁用。默认值为“None”。



您可以从不同的用户输入开始,尝试这些可选参数。例如,我们可以使用提示“如果我被困在荒岛上,我该如何获得帮助?”,然后设置temperature=0.4,并将top-K采样设置为10。


提示Llama 2


使用您自己的开源LLM的好处之一就是能够控制系统提示,这在通过API和聊天应用提供的模型上是无法实现的。这让您可以预先定义您生成式文本代理的行为,注入个性,并为终端客户或客户应用提供更简洁的体验。


如欲查看完整的系统提示和格式,您可以调用流水线上的last_instruction_prompt属性。


让我们看看这个Llama 2提示指南[7]中描述的默认提示格式。



Llama-2适合我吗?


Llama-2是一个非常强大的模型,可用于构建您自己的生成式文本和聊天应用,它的性能颇具竞争力,并具有非常宽松的研究和商业化许可。Llama-2性能优越,存储占用较小,对于生产中的广泛采用和部署来说,它是一个非常可行且经济高效的模型。


有关如何在C600和IPU Pod/Bow Pod系统上以及云上构建和扩展Llama 2应用的问题,请联系Graphcore:


https://www.graphcore.cn/getstarted/


[1]https://arxiv.org/abs/2302.13971

[2]https://huggingface.co/meta-llama

[3]https://huggingface.co/login?next=%2Fsettings%2Ftokens

[4]https://ai.meta.com/resources/models-and-libraries/llama-downloads/

[5]https://huggingface.co/meta-llama/Llama-2-7b-chat

[6]https://huggingface.co/meta-llama/Llama-2-13b-chat

[7]https://huggingface.co/blog/llama2#how-to-prompt-llama-2




获取更多Graphcore资讯,阅读深度技术文章,并与其他创新者们一起交流,请至中国官网graphcore.cn,以及关注Graphcore微信、微博和知乎创新社区。

Graphcore中国官网

Graphcore官方微信

Graphcore微博创新社区

Graphcore知乎创新社区

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
在IPU上启用Graphium,大规模训练分子GNN2023 WAIC | 亮点抢先看,Graphcore展台指北Hume/ㄏㄩㄇ/休谟道德哲学译注再谈乌克兰夏季大反攻—— 克里米亚之战将要怎样进行武汉AI方案出台六大计划;360讯飞WPS大模型面向全民开放;阿里云发布开源LLM开发框架多所名校24Fall官宣不再接受网考GRE!GRE本月正式改版!开源打败闭源?Meta即将推出开源代码生成平台Code Llama,剑指OpenAI Codex促进低精度数字格式使用,Graphcore发布全新Unit Scaling库Git 不要只会 pull 和 push,试试这 5 条提高效率的命令!​下一代Transformer:RetNet结构可视化及Vision RetNet展望在Graphcore IPU上运行Julia中文版开源Llama 2同时有了语言、多模态大模型,完全可商用Graphcore AI工具生态系统再扩展,UbiOps增加IPU支持增强版开源Llama2 终可商用;5G消息真的要来了,工信部最新通知;微软英伟达市值一夜飙升1750亿美元 | AIoT情报开源打败闭源?Meta 即将推出开源代码生成平台 Code Llama,剑指 OpenAI Codex在IPU上使用Graphium进行多任务分子建模11个LLM一起上,性能爆炸提升!AI2联合USC开源LLM-Blender集成学习框架:先排序再融合|ACL 2023地中海邮轮之旅(7):Gibraltar 直布罗陀之二 (照片待加,未完成!)在IPU上使用BART Large进行文本摘要mold 2.0.0正式发布,开源License从AGPL变更为MITGACS 2023 | Graphcore现场解读IPU的独特架构如何助力AI大时代Meta开源像语言识别系统,模型识别唇语翻译6种语言,本地部署人人可用Graphcore携手Pienso荣获CogX最佳创新类别的自然语言处理奖多瑙河岸景,城堡大观Graphcore支持Byte MLPerf,为AI生产部署提供性能基准参考DPU与智能网卡技术公开课上新!三位技术大牛主讲开源DPU、内生安全智能网卡与DPU云化裸金属拾象硅谷见闻系列:打破围绕开源LLM的6大迷思Meta为什么要发布开源Llama 2大模型;2027上市,Meta AR眼镜放弃MicroLED技术Erklärung zur ZusammenarbeitPyTorch 基金会又添新成员!Graphcore 官宣加入,推动 AI 研究和应用突破小羊驼背后的英雄,伯克利开源LLM推理与服务库:GPU减半、吞吐数十倍猛增Graphcore专区已在飞桨AI Studio上线Graphcore加入PyTorch基金会长篇小说《如絮》 第一百二十四章 越南-1964年 SOGCogX Festival开幕在即,Graphcore入围CogX Awards两大奖项
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。