輕松玩轉70億參數(shù)大模型!借助Walrus在AWS上部署Llama2

Llama 2 是 Meta 的下一代開源大語言模型。它是一系列經(jīng)過預訓練和微調(diào)的模型,參數(shù)范圍從 70 億到 700 億個。Meta Llama 2 可免費用于研究和商業(yè)用途并且提供了一系列具有不同大小和功能的模型,因此一經(jīng)發(fā)布備受關注。在之前的文章中,我們詳細地介紹了Llama 2 的使用和優(yōu)勢以及FAQ。本文將介紹如何借助應用管理平臺 Walrus 在 AWS 上部署 Llama 2。
?
Walrus 已于本周正式開源,關于該項目的詳細開源信息可點擊此處查看。本文將手把手帶您使用 Walrus 在 AWS 上用 CPU 部署 Llama-2,并通過用戶友好的 web UI 來使用它。
?
前期準備
在開始部署之前,你需要準備以下:
AWS 賬號以及關聯(lián)的憑證,并且有足夠的權限來創(chuàng)建 EC2 實例。
安裝 Walrus(點擊查看安裝教程)。
??提示
雖然使用 CPU 比 GPU 便宜,但依舊會產(chǎn)生對應 EC2 實例的開銷。
?
添加 Llama-2 服務模板
登入 Walrus,點擊左側導航中的為
運維中心
,在模板
標簽頁中,點擊新建模板
按鈕。填入模板名稱,例如為
llama-2
。在來源中填寫
https://github.com/walrus-tutorials/llama2-on-aws
。點擊
保存
。

配置環(huán)境和 AWS 憑證
在左側導航中點擊
應用管理
,在default
項目視圖中,點擊模連接器
標簽頁。點擊
新建連接器
按鈕,選擇云提供商
類型。填入連接器名稱,例如
AWS
。在類型選項中選擇
AWS
。在
區(qū)域
選項中選擇東京(ap-northeast-1)
。點擊
保存
。?
在配置環(huán)境和 AWS 憑證時,注意這里使用指定的區(qū)域,是因為后續(xù)使用了該區(qū)域下指定的 AMI。如果您想使用其它區(qū)域,可以將該 AMI 導出到您的區(qū)域。
?

點擊
環(huán)境
標簽頁,點擊新建環(huán)境
按鈕。填入環(huán)境名稱,例如
dev
。點擊
添加連接器
按鈕,選擇上一步創(chuàng)建的AWS連接器。點擊
保存
。
?
創(chuàng)建 Llama-2 服務
在
環(huán)境
標簽頁中點擊dev
環(huán)境的名稱,進入環(huán)境視圖。點擊
新建服務
按鈕。填入服務名稱,例如
my-llama-2
。在模板選項中選擇
llama-2
。點擊
保存
。
?
在創(chuàng)建 Llama-2 服務時請注意,默認的服務配置假定您的 AWS 賬號在對應區(qū)域有一個默認的 VPC。如果您沒有默認的VPC,請到 AWS 的 VPC 控制臺創(chuàng)建一個新的 VPC,并關聯(lián)一個子網(wǎng)和安全組到該 VPC。安全組需要開放7860 TCP 端口(用于訪問 llama-2 web UI)。您可以在服務配置中設置您的 VPC 名字和安全組名字。
?
訪問 Llama-2 web UI
您可以在 Llama-2 服務的詳情頁中看到它的部署和運行狀態(tài)。等待 Llama-2 服務完成部署后,可以通過 Walrus UI 點擊該服務的訪問鏈接來訪問它的 web UI。
?

從零開始構建 Llama-2 鏡像的關鍵步驟
本教程中使用了打包好的 Llama-2 鏡像,這樣在創(chuàng)建一個新的 Llama-2 實例時,您就不再需要花費時間下載大語言模型(通常有著可觀的文件大小)以及構建推理服務。想要深入了解 Llama-2 如何構建,請參考下方鏈接查看。
?
完整構建過程:https://github.com/walrus-tutorials/llama2-on-aws/blob/build/main.tf。
?
在這里,我們列出構建過程中的關鍵步驟,內(nèi)容如下:
?
# get text-generation-webuigit clone https://github.com/oobabooga/text-generation-webui && cd text-generation-webui# configure text-generation-webuiln -s docker/{Dockerfile,docker-compose.yml,.dockerignore} .cp docker/.env.example .envsed -i '/^CLI_ARGS=/s/.*/CLI_ARGS=--model llama-2-7b-chat.ggmlv3.q4_K_M.bin --wbits 4 --listen --auto-devices/' .envsed -i '/^\s*deploy:/,$d' docker/docker-compose.yml# get quantized llama-2curl -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 rundocker compose up --build
?
簡單來說,該過程下載了量化的 Llama-2-7b-chat 模型,然后構建并使用 text-generation-webui 來啟動 Llama-2 服務。
?
?? 到這里,你已經(jīng)成功使用 Walrus 在 AWS 上用 CPU 部署 Llama-2!