当前位置: 首页 > news >正文

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

888ece20dfe6f91795d00ac312634c93.gif

来自 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)的基础模型。

6fa5a202736677926f8150fa6f686788.jpeg

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

使用 SageMaker JumpStart 

简化大模型的部署

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

ac68e4afdcad81b59e04ce291af3f90f.jpeg

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

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

5e94caeb56d268e90d14fdfe5e64cc7c.jpeg

方案概述

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

1. 部署模型

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

1.1 SageMaker JumpStart 一键部署

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

ea2b81e09223d75d6b435603e4cb95b5.jpeg

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

1c0e615c7c26dd2b82a08b357616cc45.jpeg

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

1.2 使用 SageMaker Notebook 部署

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

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

d878c59a6bff315c1fdb957274edbc0d.jpeg

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

397ff8d8f40e1ee0ffe48064276b11d6.jpeg

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

413559ae61e4ce5c346fafbc197ad397.jpeg

2. 设置模型的参数

b178337d15649dfe6e3f2782507b5129.jpeg

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

f772498ea33a29e16d18816933132b28.jpeg

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

a7c796e38612a20c4e85a3d3c426d4d5.jpeg

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

完整的代码可以参考链接:

https://github.com/tsaol/llama2-on-aws.git。

4. 测试

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

0702252ee9b929dc0ca49aceb3e12912.jpeg

5. 清理和删除环境

7a576e2db8ba731724767bc3d897dc2b.jpeg

总结

本文介绍了如何使用 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/

本篇作者

8b984a7fcf0f26c761863edfc45790f8.jpeg

曹镏

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

4d31885605d645c6d60cb39eb6004024.gif

b2a5bccac3f93602333944b940126afe.gif

听说,点完下面4个按钮

就不会碰到bug了!

46172c2160ef4c346ad677c6c5d39ea9.gif

相关文章:

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

来自 Meta 的 Llama 2 基础模型现已在 Amazon SageMaker JumpStart 中提供。我们可以通过使用 Amazon SageMaker JumpStart 快速部署 Llama 2 模型,并且结合开源 UI 工具 Gradio 打造专属 LLM 应用。 Llama 2 简介 Llama 2 是使用优化的 Transformer 架构的自回归语…...

ansible远程执行命令

一、ansible简介 需要在一台机器上搭建ansible环境,且配置目的ip的密码,通道没有问题即可下发命令 使用的通道是ssh(端口:36000) 二、搭建细节 1、安装ansible yum install -y ansible 2、把目的ip密码写到配置…...

Windows快速恢复丢失的颜色校准

场景 有时开机或启动某个软件后,颜色校准(设置项:校准显示器颜色)会丢失,每次重新设置很麻烦。 文章首发及后续更新:https://mwhls.top/4723.html,无图/无目录/格式错误/更多相关请至首发页查看…...

Vue安装单文件组件

安装 npm npm 全称为 Node Package Manager,是一个基于Node.js的包管理器,也是整个Node.js社区最流行、支持的第三方模块最多的包管理器。 npm -v由于网络原因 安装 cnpm npm install -g cnpm --registryhttps://registry.npm.taobao.org安装 vue-cli…...

小白的Node.js学习笔记大全---不定期更新

Node.js是什么 Node. js 是一个基于 Chrome v8 引擎的服务器端 JavaScript 运行环境Node. js 是一个事件驱动、非阻塞式I/O 的模型,轻量而又高效Node. js 的包管理器 npm 是全球最大的开源库生态系统 特性 单一线程 Node.js 沿用了 JavaScript 单一线程的执行特…...

第二周晨考自测(2.0)

1.冒泡排序 冒泡排序是数组解构中的常见排序算法之一。规则如下:先遍历数组,让相邻的两个数据进行比较,如果前一个比后一个大,那么就把这两个数据交换位置,经过一轮遍历之后,最大的那个数字就排在数组最后…...

计算机视觉之三维重建(三)(单视图测量)

2D变换 等距变换 旋转平移保留形状、面积通常描述刚性物体运动 相似变换 在等距变换的基础增加缩放特点 射影变换 共线性、四共线点的交比保持不变 仿射变换 面积比值、平行关系等不变仿射变换是特殊的射影变换 影消点与影消线 2D无穷远点 两直线的交点可由两直线的…...

docker 批量快速删除容器和镜像

一、批量删除镜像 如果你想要批量删除 Docker 镜像,可以使用各种命令。以下是一些示例: 1. 删除所有镜像: docker rmi $(docker images -q) 2. 删除所有未标记的镜像(即 <none> 镜像): docker rmi $(docker images -f "dangling=true" -q) 请注意…...

【数据分析入门】Matplotlib

目录 零、图形解析与工作流0.1 图形解析0.2 工作流 一、准备数据1.1 一维数据1.2 二维数据或图片 二、绘制图形2.1 画布2.2 坐标轴 三、绘图例程3.1 一维数据3.2 向量场3.3 数据分布3.4 二维数据或图片 四、自定义图形4.1 颜色、色条与色彩表4.2 标记4.3 线型4.4 文本与标注4.5…...

mongodb.使用自带命令工具导出导入数据

在一次数据更新中&#xff0c;同事把老数据进行了清空操作&#xff0c;但是新的逻辑数据由于某种原因&#xff08;好像是她的电脑中病毒了&#xff09;&#xff0c;一直无法正常连接数据库进行数据插入&#xff0c;然后下午2点左右要给甲方演示&#xff0c;所以要紧急恢复本地的…...

IndexError: tensors used as indices must be long, byte or bool tensors

运行出现报错。修改数据格式 输出sample_ids的值&#xff0c;可以看到数据类型是 torch.int32 解决 需要将sample_ids类型转为long&#xff0c;修改方式&#xff1a; idx idx.type(torch.long)或 idx self.tensor(idx, dtypetorch.long)参考&#xff1a; IndexError: tenso…...

设计模式 : 单例模式笔记

文章目录 一.单例模式二.单例模式的两种实现方式饿汉模式懒汉模式 一.单例模式 一个类只能创建一个对象,这样的类的设计模式就称为单例模式,该模式保证系统中该类只能有一个实例(并且父子进程共享),一个很典型的单例类就是CSTL的内存池C单例模式的基本设计思路: 私有化构造函数…...

深度优先搜索算法

目录 4.1 二叉树的最大深度&#xff08;简单&#xff09;&#xff1a;深度优先搜索 4.2 对称二叉树&#xff08;简单&#xff09;&#xff1a;递归 4.3 岛屿数量&#xff08;中等&#xff09;&#xff1a;深度优先搜索 4.4 岛屿的最大面积&#xff08;中等&#xff09;&…...

k8s ----POD控制器详解

目录 一&#xff1a;pod控制器 1、Pod控制器及其功用 2、pod控制器类型 3、Pod与控制器之间的关系 二&#xff1a;Deployment 三&#xff1a;SatefulSet 1、StatefulSet组成 2、为什么要有headless&#xff1f; 3、为什么要有volumeClaimTemplate&#xff1f; 4、实现…...

ReactNative进阶(三十四):ipa Archive 阶段报错error: Multiple commands produce问题修复及思考

文章目录 一、前言二、问题描述三、问题解决四、拓展阅读五、拓展阅读 一、前言 在应用RN开发跨平台APP阶段&#xff0c;从git中拉取项目&#xff0c;应用Jenkins进行组包时&#xff0c;发现最终生成的ipa安装包版本号始终与项目中设置的版本号不一致。 二、问题描述 经过仔…...

MySQL索引ES索引

MySQL MySQL索引的种类 按照索引列值的唯一性:索引可分为唯一索引和非唯一索引; 唯一索引:此索引的每一个索引值只对应唯一的数据记录,对于单列唯一性索引,这保证单列不包含重复的值。对于多列唯一性索引,保证多个值的组合不重复。主键索引是唯一索引的特定类型。该索引…...

webSocket 聊天室 node.js 版

全局安装vue脚手架 npm install vue/cli -g 创建 vue3 ts 脚手架 vue create vue3-chatroom 后端代码 src 同级目录下建 server: const express require(express); const app express(); const http require(http); const server http.createServer(app);const io req…...

iptables防火墙(SNAT与DNAT)

目录 1 SNAT 1.1 SNAT原理与应用 1.2 SNAT工作原理 1.3 SNAT转换前提条件 2 SNAT示例 ​编辑 2.1 网关服务器配置 2.1.1 网关服务器配置网卡 2.1.2 开启SNAT命令 2.2 内网服务器端配置 2.3 外网服务器端配置 2.4 网卡服务器端添加规则 2.5 SNAT 测试 3 DNAT 3.1 网卡…...

第 359 场 LeetCode 周赛题解

A 判别首字母缩略词 签到题… class Solution { public:bool isAcronym(vector<string> &words, string s) {string pf;for (auto &s: words)pf.push_back(s[0]);return pf s;} };B k-avoiding 数组的最小总和 贪心&#xff1a;从 1 1 1开始升序枚举&#xff0c…...

【开源项目】Stream-Query的入门使用和原理分析

前言 无意间发现了一个有趣的项目&#xff0c;Stream-Query。了解了一下其基本的功能&#xff0c;可以帮助开发者省去Mapper的编写。在开发中&#xff0c;我们会编写entity和mapper来完成业务代码&#xff0c;但是Stream-Query可以省去mapper&#xff0c;只写entity。 快速入…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

深入浅出Diffusion模型:从原理到实践的全方位教程

I. 引言&#xff1a;生成式AI的黎明 – Diffusion模型是什么&#xff1f; 近年来&#xff0c;生成式人工智能&#xff08;Generative AI&#xff09;领域取得了爆炸性的进展&#xff0c;模型能够根据简单的文本提示创作出逼真的图像、连贯的文本&#xff0c;乃至更多令人惊叹的…...

在Zenodo下载文件 用到googlecolab googledrive

方法&#xff1a;Figshare/Zenodo上的数据/文件下载不下来&#xff1f;尝试利用Google Colab &#xff1a;https://zhuanlan.zhihu.com/p/1898503078782674027 参考&#xff1a; 通过Colab&谷歌云下载Figshare数据&#xff0c;超级实用&#xff01;&#xff01;&#xff0…...

day51 python CBAM注意力

目录 一、CBAM 模块简介 二、CBAM 模块的实现 &#xff08;一&#xff09;通道注意力模块 &#xff08;二&#xff09;空间注意力模块 &#xff08;三&#xff09;CBAM 模块的组合 三、CBAM 模块的特性 四、CBAM 模块在 CNN 中的应用 一、CBAM 模块简介 在之前的探索中…...