亚马逊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://dev.amazoncloud.cn/column/article/64bf831469c6a22f966a19f4
https://arxiv.org/pdf/2307.09288.pdf