在您的计算机上本地运行 LLM

348 阅读4分钟

您想在自己的计算机上运行类似 ChatGPT 的聊天机器人吗?

最简单的方法

如果您在 Windows 中使用 WSL,则可以运行一个简单的批处理文件,并且效果可能会很好。超级简单。

克隆存储库:

git clone https://github.com/oobabooga/text-generation-webui.git

然后运行批处理文件:

start_wsl.bat

它会要求您选择 GPU/平台设置:

它已启动并运行:

如果这有效,请跳到运行 WebUI步骤。

但如果失败(我见过),您必须手动执行。以下是在 WSL 中手动安装它的说明。这也是在常规旧 Linux 中安装它的说明。让我们开始吧。

安装Anaconda

我在 WSL 中使用 Ubuntu。这是我们将运行的命令:

sudo apt-get update

是个好主意

sudo apt-get install wget

切换到tmp目录:

cd /tmp

然后,我们要从这个目录中获取最新版本的安装脚本。在撰写本文时,这是 Linux-x86_64 的最新版本:

wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh

这个脚本很大。下载完成后,您应该看到如下内容:

然后你需要验证它:

sha256sum Anaconda3-2023.09-0-Linux-x86_64.sh

如果您没有看到任何错误,则可以开始:

现在是时候运行它了!

bash Anaconda3-2023.09-0-Linux-x86_64.sh

接受许可条款(如果您想使用它)并按 Enter 键。

它会询问您要将其安装在哪里。我选择了默认位置:

它会询问您是否要自动初始化 Conda。我做了很多 Python 的事情,所以我选择 yes。选择最适合您的方式。

现在退出 shell 并重新启动 WSL 窗口。

安装文本用户界面

接下来,我们将为我们的模型安装 Web UI 界面。这是用于大型语言模型的 Gradio Web UI。

正如存储库中所述,他们的目标是成为文本生成领域的AUTOMATIC1111/stable-diffusion-webui

将其克隆到您想要使用的文件夹中:

git clone https://github.com/oobabooga/text-generation-webui.git

现在输入

conda deactivate

如果您正在运行基础版本。然后我们将创建一个新环境:

conda create -n textgen python=3.11
conda activate textgen

如果您在提示符前面看到 (textgen),则说明它正在运行。

现在,我们需要安装 PyTorch。我使用的是 NVidia 卡,因此我输入:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

如果您不使用 NVidia 卡而只想使用 CPU,请使用以下命令:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

你会看到很多这样的情况:

等待它完成。如果您运行的是 NVidia 卡,您可能需要执行以下操作:

conda install -y -c "nvidia/label/cuda-12.1.0" cuda-runtime

接下来,我们需要安装更多依赖项。这将取决于您的机器。

cd text-generation-webui
pip install -r <requirements file according to table below>

使用的需求文件:

GPUCPUrequirements file to use
NVIDIAhas AVX2requirements.txt
NVIDIAno AVX2requirements_noavx2.txt
AMDhas AVX2requirements_amd.txt
AMDno AVX2requirements_amd_noavx2.txt
CPU onlyhas AVX2requirements_cpu_only.txt
CPU onlyno AVX2requirements_cpu_only_noavx2.txt

一切安装完毕后,您应该准备好运行 WebUI。

运行网络用户界面

现在我们准备好运行了!在text-generation-webui目录中,运行以下命令:

python server.py

你应该看到这个:

惊人的!让我们在网络浏览器中加载它:

如果你看到这个,你就是金子!但是,您还不能用它做任何事情。你需要一个模型。

下载LLM模型

您的模型将被下载并放置在text-generation-webui/models文件夹中。下载模型的方法有多种,但最简单的方法是通过 Web UI 下载。

单击顶部菜单中的“模型”:

在这里,您可以单击“下载模型或 Lora”,然后输入Hugging Face上托管的模型的 URL 。

有很多可供选择。我要加载的第一个是Hermes 13B GPTQ

我只需要放置 Hugging Face 中的用户名/模型路径即可执行此操作。

TheBloke/Nous-Hermes-13B-GPTQ

然后我可以通过网络界面下载它。

单击刷新后,我可以看到可用的新模型:

选择它,然后按加载。

聊天

您可以调整大量参数。您可能会迷失在设置中,一旦我了解更多信息,我一定会在这里分享。

这是我的测试聊天:

它在我的机器上本地运行。

我决定向它询问一个编码问题:

好吧,虽然不如 GitHub Copilot 或 ChatGPT 那么好,但它是一个答案!

结论

出于多种原因,您可能希望在自己的计算机上本地运行大型语言模型。您可能有自己这样做的原因,例如内容生成或可以开玩笑的聊天机器人。事实上,您不必连接到互联网或支付月费,这真是太棒了。