轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2

轻松,玩转,参数,模型,借助,walrus,aws,部署,llama2 · 浏览次数 : 45

小编点评

**使用 Walrus 在 AWS 上部署 Llama-2** **简介** Llama-2 是 Meta 的下一代开源大语言模型,它是一个大型模型库,包含各种模型和工具,可用于各种自然语言处理任务。本文将介绍如何借助应用管理平台 Walrus 在 AWS 上部署 Llama-2。 **步骤** **1. 创建 AWS 账号和凭证** * 建立一个 AWS 账号。 * 创建一个新的 IAM 凭证并选择 "AWS API" 权限。 **2. 创建环境和连接器** * 在 AWS 的应用管理平台中创建环境和连接器。 * 设置环境名称为 "dev"。 * 创建一个新的 AWS 连接器,选择 "AWS" 作为连接类型。 * 设置区域为 "东京 (ap-northeast-1)"。 **3. 创建服务** * 在环境标签页中创建一个服务,命名为 "my-llama-2"。 * 选择 " llama-2" 模型。 * 设置模板为 "dev"。 **4. 部署 Llama-2 服务** * 点击 "创建服务",然后选择 "Amazon EC2"。 * 在 "服务配置"中设置您的 VPC 名字和安全组名称。 * 点击 "创建"。 **5. 获取 web UI 地址** * 访问 Llama-2 服务的详情页。 * 在 "Web UI" 中找到 web UI 地址。 * 使用 web UI 来访问 Llama-2 服务。 **其他提示** * 在部署之前,请确保您拥有足够的权限创建 EC2 实例。 * 使用 Walrus UI 在服务页面中查看和管理 Llama-2。 * 您可以在以下链接中查看完整构建过程: * https://github.com/walrus-tutorials/llama2-on-aws/blob/build/main.tf **结论** 通过使用 Walrus 在 AWS 上部署 Llama-2,您可以轻松地使用一个大型开源大语言模型。

正文

Llama 2 是 Meta 的下一代开源大语言模型。它是一系列经过预训练和微调的模型,参数范围从 70 亿到 700 亿个。Meta Llama 2 可免费用于研究和商业用途并且提供了一系列具有不同大小和功能的模型,因此一经发布备受关注。在之前的文章中,我们详细地介绍了Llama 2 的使用和优势以及FAQ。本文将介绍如何借助应用管理平台 Walrus 在 AWS 上部署 Llama 2。
 

Walrus 已于本周正式开源,关于该项目的详细开源信息可点击此处查看。本文将手把手带您使用 Walrus 在 AWS 上用 CPU 部署 Llama-2,并通过用户友好的 web UI 来使用它。
 

前期准备

在开始部署之前,你需要准备以下:
 

  • AWS 账号以及关联的凭证,并且有足够的权限来创建 EC2 实例。

  • 安装 Walrus(点击查看安装教程)。

 

💡提示
虽然使用 CPU 比 GPU 便宜,但依旧会产生对应 EC2 实例的开销。

 

添加 Llama-2 服务模板

  • 登入 Walrus,点击左侧导航中的为运维中心,在模板标签页中,点击新建模板按钮。

  • 填入模板名称,例如为llama-2

  • 在来源中填写https://github.com/walrus-tutorials/llama2-on-aws

  • 点击保存

 

 

配置环境和 AWS 凭证

  • 在左侧导航中点击应用管理,在default项目视图中,点击模连接器标签页。

  • 点击新建连接器按钮,选择云提供商类型。

  • 填入连接器名称,例如AWS

  • 在类型选项中选择AWS

  • 区域选项中选择东京(ap-northeast-1)

  • 点击保存

 
在配置环境和 AWS 凭证时,注意这里使用指定的区域,是因为后续使用了该区域下指定的 AMI。如果您想使用其它区域,可以将该 AMI 导出到您的区域。
 


 

  • 点击环境标签页,点击新建环境按钮。

  • 填入环境名称,例如dev

  • 点击添加连接器按钮,选择上一步创建的AWS连接器。

  • 点击保存

 

创建 Llama-2 服务

  • 环境标签页中点击dev环境的名称,进入环境视图。

  • 点击新建服务按钮。

  • 填入服务名称,例如my-llama-2

  • 在模板选项中选择llama-2

  • 点击保存

 
在创建 Llama-2 服务时请注意,默认的服务配置假定您的 AWS 账号在对应区域有一个默认的 VPC。如果您没有默认的VPC,请到 AWS 的 VPC 控制台创建一个新的 VPC,并关联一个子网和安全组到该 VPC。安全组需要开放7860 TCP 端口(用于访问 llama-2 web UI)。您可以在服务配置中设置您的 VPC 名字和安全组名字。
 

访问 Llama-2 web UI

您可以在 Llama-2 服务的详情页中看到它的部署和运行状态。等待 Llama-2 服务完成部署后,可以通过 Walrus UI 点击该服务的访问链接来访问它的 web UI。
 


 

从零开始构建 Llama-2 镜像的关键步骤

本教程中使用了打包好的 Llama-2 镜像,这样在创建一个新的 Llama-2 实例时,您就不再需要花费时间下载大语言模型(通常有着可观的文件大小)以及构建推理服务。想要深入了解 Llama-2 如何构建,请参考下方链接查看。
 

完整构建过程:https://github.com/walrus-tutorials/llama2-on-aws/blob/build/main.tf。
 

在这里,我们列出构建过程中的关键步骤,内容如下:
 

# get text-generation-webui
git clone https://github.com/oobabooga/text-generation-webui && cd text-generation-webui
# configure text-generation-webui
ln -s docker/{Dockerfile,docker-compose.yml,.dockerignore} .
cp docker/.env.example .env
sed -i '/^CLI_ARGS=/s/.*/CLI_ARGS=--model llama-2-7b-chat.ggmlv3.q4_K_M.bin --wbits 4 --listen --auto-devices/' .env
sed -i '/^\s*deploy:/,$d' docker/docker-compose.yml
# get quantized llama-2
curl -L https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGML/resolve/main/llama-2-7b-chat.ggmlv3.q4_K_M.bin --output ./models/llama-2-7b-chat.ggmlv3.q4_K_M.bin
# build and run
docker compose up --build

 
简单来说,该过程下载了量化的 Llama-2-7b-chat 模型,然后构建并使用 text-generation-webui 来启动 Llama-2 服务。
 

🌟 到这里,你已经成功使用 Walrus 在 AWS 上用 CPU 部署 Llama-2!

与轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2相似的内容:

轻松玩转70亿参数大模型!借助Walrus在AWS上部署Llama2

Llama 2 是 Meta 的下一代开源大语言模型。它是一系列经过预训练和微调的模型,参数范围从 70 亿到 700 亿个。Meta Llama 2 可免费用于研究和商业用途并且提供了一系列具有不同大小和功能的模型,因此一经发布备受关注。在[之前的文章](https://www.cnblogs.c

窗口函数大揭秘!轻松计算数据累计占比,玩转数据分析的绝佳利器

上一篇文章[《如何用窗口函数实现排名计算》](https://www.cnblogs.com/powertoolsteam/p/17627928.html)中小编为大家介绍了窗口函数在排名计算场景中的应用,但实际上窗口函数除了可以进行单行计算,还可以在每行上打开一个指定大小的计算窗口,这个计算窗口可

ChatGPT玩法(二):AI玩转Excel表格处理

在线免费体验ChatGpt:https://www.topgpt.one;你是否还在为记不住Excel的繁琐函数和公式而苦恼?如果是这样,那么不妨试试ChatExcel。即使你对函数一窍不通,也能轻松处理表格。只要你能清楚地描述你的需求,它就可以帮你搞定。此外,ChatExcel 的作者还制作了一张工作流程对比图,一眼就能明白ChatExcel的原理!快来试一试吧!

ChatGPT玩法(三):AI玩转PPT

在线免费体验ChatGpt:https://www.topgpt.one;作为许多职场人士的必备工具,PPT制作一直是一个琐碎而费时的任务。但最近我发现了一个非常有用的工具网站,它可以通过人工智能来制作PPT,这款工具可以轻松制作出漂亮和专业的PPT,让你在短短的三分钟内完成制作,效果也是非常出色的。

轻松掌握useAsyncData获取异步数据

摘要:本文详细介绍Nuxt.js中的useAsyncData组合式函数,它用于在服务端渲染(SSR)过程中异步获取数据,确保客户端正确水合,避免重复请求。内容包括基本概念、参数说明(key, handler, options)、示例用法、如何监听参数变化自动刷新数据及返回值详解,展示了在页面组件中使...

轻松实现H5页面下拉刷新:滑动触发、高度提示与数据刷新全攻略

前段时间在做小程序到H5的迁移,其中小程序中下拉刷新的功能引起了产品的注意。他说到,哎,我们迁移后的H5页面怎么没有下拉刷新,于是乎,我就急忙将这部分的内容给填上。 本来是计划使用成熟的组件库来实现,尝试之后发现这些组件和我们H5页面的其他逻辑有冲突(H5还有吸顶、锚点、滑动高亮、横向滚动),小小H

轻松掌握组件启动之Redis集群扩展秘籍:轻松扩容与缩容,释放高性能潜能

在这篇文章中,我们将揭示Redis集群的扩容和缩容操作,让您的Redis集群发挥最佳性能和可伸缩性。通过增加主节点和从节点,并将它们无缝添加到集群中,您将能够轻松扩展您的Redis集群以满足不断增长的需求。同时,我们还将探讨如何进行缩容操作,即删除节点,以优化集群资源的利用。无论您是初学者还是经验丰...

[转帖]轻松快速地调整Kubernetes的CPU和内存

在Kubernetes中分配和管理CPU和内存资源可能很棘手,但也很容易。本文,我将向你展示什么是Kubernetes资源和限制以及如何管理它们。 本文的目标是简单–如何帮助你快速调整项目中的Kubernetes资源信息,主要通过三种方式: 1. 为容器和 Pod 分配CPU和内存资源 2. Res

轻松掌握组件启动之MongoDB:快速入门、Linux安装和Docker配置指南

本文总结了MongoDB的快速入门、Linux安装和Docker配置指南。它提供了一步步的操作指引,帮助读者迅速上手MongoDB,并了解如何在Linux环境下进行安装、启动和配置。此外,文章还介绍了使用Docker安装和配置MongoDB的方法,使读者能够更轻松地部署和管理MongoDB实例。

轻松掌握组件启动之Redis单机、主从、哨兵、集群配置

这篇文章介绍了Redis的单机配置启动和主从架构、哨兵、集群搭建方法。无论你是初学者还是有一定经验的开发者,这篇文章都能为你提供实用的指导,让你轻松掌握Redis的配置和架构搭建。