亚马逊AWS官方博客

通过 SageMaker JumpStart 部署 Llama 2 快速构建专属 LLM 应用

来自 Meta 的 Llama 2 基础模型现已在 Amazon SageMaker JumpStart 中提供。我们可以通过使用 Amazon SageMaker JumpStart 快速部署 Llama 2 模型,并且结合开源 UI 工具 Gradio 打造专属 LLM 应用。

Llama 2 简介

Llama 2 是使用优化的 Transformer 架构的自回归语言模型,  旨在用于英文领域的商业和研究用途,其 context 长度是 Llama 1 代的两倍。 目前提供三种参数规格(7B、13B 和 70B)的基础模型。

(来源:https://ai.meta.com/llama/

使用 SageMaker JumpStart 简化大模型的部署

一站式开发平台 Amazon SageMaker,是一个机器学习(ML)中心,提供预训练模型、内置算法和预构建解决方案,能帮助您快速开始使用机器学习。在 SageMaker JumpStart 中提供了 6 个版本的 Llama-2 模型。

如果在您的 JumpStart 中没有看到相关的模型,请确认您使用的区域是否已支持 Llama 2 (在 JumpStart 模型页面查询支持的区域)以及是否是最新版本的 Studio(可以通过关闭重启来更新您的 SageMaker Studio 版本)。

下图是在 SageMaker 中 Llama 2 的 6 个模型分别对应的 ID ,默认实例类型,以及每个模型支持的最大 token 数,通过 model_id 我们可以便捷地在 SageMaker Notebook 中启动对应的模型。

方案概述

我们将在 SageMaker 上部署 Llama-2-7b-chat 模型,  并使 Gradio 构建前端页面,打造一个轻量化的聊天助手。

1. 部署模型

在 SageMaker 中可以使用 JumpStart 或者 Notebook 来部署推理节点,这两种方式我们都会展示。

1.1 SageMaker JumpStart 一键部署

在 SageMaker Studio 中您可以搜索到对应的模型, 点击就可以进入对应的模型页面。在这里我们使用了 Llama-2-7b-chat 的模型。

点击 Deploy 即可以部署相关模型,部署时间大约 15 分钟 – 20 分钟左右,另外可以通过 Deployment Configuration 修改对应部署的实例类型。

在部署完成后,您可以看到对应的推理节点信息。

1.2 使用 SageMaker Notebook 部署

如何您使用了 JumpStart 部署则不需要通过 SageMaker Notebook 部署,直接跳到 2。

(1)设置模型 ID ,在这里我们选择了 7b 规格的 chat 模型

(2)部署指定的模型(meta-textgeneration-llama-2-7b-f)

大约在 15 – 20 分钟左右您可以部署完成,完成后在 AWS 控制台 SageMaker 页面中的“终端节点”标签下,可以看到目前已经被启动的推理节点。

2. 设置模型的参数

3. 启动 Gradio 与部署完的模型进行交互

在执行完以后 Gradio 提供了本地的 url 和在 Gradio 上托管的 url 供您使用。

注意,您需要进行设置 custom_attributes=”accept_eula=true”才能成功调用推理端点。这样做是确认接受 Llama 2 的用户许可协议和使用政策。

完整的代码可以参考链接:https://github.com/tsaol/llama2-on-aws.git

4. 测试

打开 Gradio 提供的链接,我们会看到一个聊天页面,可以尝试向 Llama 2 问些问题。

5. 清理和删除环境

总结

本文介绍了如何使用 SageMaker JumpStart 以及 Notebook 部署 Llama 2 模型,结合 Gradio 轻松构建生成式 AI 应用。基于托管服务的特性让您无需担心底层基础设施的搭建与运维,同时拥有良好的开源项目体验。您还可以基于现有的方案进一步改造,打造专属的大模型应用。

参考资料

https://aws.amazon.com/cn/about-aws/whats-new/2023/07/llama-2-foundation-models-meta-amazon-sagemaker-jumpstart/

https://dev.amazoncloud.cn/column/article/64bf831469c6a22f966a19f4

https://aws.amazon.com/cn/blogs/machine-learning/llama-2-foundation-models-from-meta-are-now-available-in-amazon-sagemaker-jumpstart/

https://arxiv.org/pdf/2307.09288.pdf

https://www.gradio.app/guides

https://ai.meta.com/llama/

本篇作者

曹镏

亚马逊云科技解决方案架构师,负责企业信息化方案的咨询和架构设计。超过 10 年的研发经验,曾在大型国企和互联网独角兽任职,并主导百亿级平台的技术架构和数据架构的设计与落地。专注数智融合以及生成式 AI 方向,赋能企业创新成长。