如何在 Linux 上安装文本生成 WebUI Oobabooga并运行Llama 2

在这篇博文中,我将向您展示如何在配备 Nvidia RTX A5000 显卡的裸机 GPU 服务器上安装 TextGen WebUI Oobabooga 并轻松运行 Llama 2。

简介

Llama 2是一系列生成文本模型,针对类似助手的聊天用例进行了优化,或者可以适用于各种自然语言生成任务。它是一个经过预训练和微调的大型语言模型 (LLM),参数范围从 7B 到 70B 不等,来自 Facebook 母公司 Meta 的 AI 团队。

Oobabooga文本生成 WebUI是一个很棒的开源 Web 界面,允许您在本地计算机上完全免费运行任何开源 AI LLM 模型!它提供了一个用户友好的界面来与这些模型交互并生成文本,具有模型切换、笔记本模式、聊天模式等功能。

系统要求

运行和定制 Llama2 语言模型需要几个先决条件。尽管是最小的 7B 参数模型,但它需要大量的硬件资源才能平稳运行。请注意,Llama2 没有明确或官方的硬件要求。以下是根据社区和其他测试人员的反馈运行 7B 大小语言模型的一般建议。

请记住,GPU 内存 (VRAM) 至关重要。您也许可以使用较低规格的硬件进行管理,但性能非常慢。

鹄望云 Nvidia RTX A5000 GPU服务器测试环境

fiber_manual_record CPU:双 24 核 E5-2697v2、AVX架构
fiber_manual_record GPU:NVIDIA RTX A5000 显存 24GB
fiber_manual_record 内存:128GB DDR3
fiber_manual_record 磁盘:240GB SSD + 2TB SSD
fiber_manual_record 操作系统:Ubuntu 20.04 LTS,内核 5.4.0-169-generic

如何安装文本生成工具Oobabooga并运行Llama 2

有不同的安装方法可供选择,包括适用于 Windows、Linux 和 MacOS 的一键安装程序,以及使用 Conda 的手动安装。详细的安装说明可以在文本生成 Web UI 存储库中找到。下面我们将逐步演示如何在 RTX A5000 GPU Ubuntu Linux 服务器上安装它。

步骤 1. 克隆或下载项目库

首先使用SSH登录Ubuntu服务器,然后下载安装代码。有两种方式,一种是直接使用Git命令克隆项目代码,另一种是下载zip包然后解压。

# 方式 1 - Git克隆项目库代码
$ git clone https://github.com/oobabooga/text-generation-webui.git

# 方式2 - 下载zip包并解压
$ wget https://github.com/oobabooga/text-generation-webui/archive/refs/heads/main.zip
$ unzip main.zip

步骤2.运行start_linux.sh

进入text-generation-webui目录(或text-generation-webui-main),然后执行sudo start_linux.sh脚本。

$ cd text-generation-webui/
$ sudo ./start_linux.sh

步骤 3. 选择您的 GPU 品牌

由于我们使用的是NVIDIA的RTX A5000显卡,所以这里选择A。

select your gpu

步骤 4. 选择 CUDA 版本

select cuda version

步骤5.自动安装Pytorch

接下来我们将进入Pytorch的自动安装过程。我们所要做的就是等待。

automatic installation

安装过程大约需要十分钟。安装完成后输出如下:

finish installation

步骤 6. 下载模型

上述安装完成后,需要下载相关的模型才可以实际使用Llama 2。模型应放置在文件夹 text-generation-webui/models 中。它们通常是从 Hugging Face 下载的,使用 wget 从Hugging Face下载模型,举例如下:

$ cd text-generation-webui/models/
$ wget https://huggingface.co/TheBloke/Llama-2-7B-chat-GGUF/resolve/main/llama-2-7b-chat.Q4_K_M.gguf?download=true -O ./llama-2-7b-chat.Q4_K_M.gguf

模型是单个文件,应直接放入模型中。我们也可以使用 download-model.py 脚本通过命令行下载它。

# python download-model.py organization/model
$ python3 download-model.py TheBloke/Llama-2-7B-Chat-GGUF

提示:运行 python download-model.py --help 以查看所有选项。

以上是使用命令行下载模型的两种方式。我们也可以在UI中下载它。另一种下载方式是,您可以使用 UI 的"Model"选项卡自动从 Hugging Face 下载模型。

use gui download model

当提示内容显示"Done"时,模型下载完成。单击下图中模型选择栏右侧的刷新按钮,然后单击下拉箭头。我们会发现我们刚刚下载的模型就在那里。

use gui download model done

步骤 7. 选择并加载模型

选择模型 llama-2-7b-chat.Q4_K_M.gguf,在模型加载器中选择 llama.cpp,然后单击 Load。您将看到模型加载成功的消息:

load llama 2 7b model - llama-2-7b-chat.Q4_K_M.gguf
Successfully loaded llama-2-7b-chat.Q4_K_M.gguf.
It seems to be an instruction-following model with template "Llama-v2". In the chat tab, instruct or chat-instruct modes should be used.

第 8 步:可以快乐体验Llama 2了

点击左上角的聊天选项卡进入聊天页面,然后您可以提出任何您想问的问题。

llama 2 chat

结论

Oobabooga 是一个带有聊天机器人的文本生成 Web UI,您可以在其中根据您的要求提供输入提示。这是一个无法与任何其他聊天机器人相比的不同模型。如果您想使用聊天机器人模型生成文本,文本生成 Web UI 会更经济。

鹄望云提供针对高性能计算项目优化的专业GPU托管服务。这里我们推荐一些适合运行LLama 2的裸机GPU服务器解决方案。根据您要使用的型号选择合适的计划。例如,Llama 2 7B建议使用8GB显卡,Llama 2 13B使用16GB或24GB显卡,Llama 2 70B使用48GB及以上显卡。您可以随时开始您的旅程,我们将很乐意帮助您解决任何困难。