如何在您自己的 PC 上运行类似 ChatGPT 的 AI

已发表: 2023-04-06
由 MidJourney 生成的友好羊驼。
中途
您可以使用 Alpaca 在您自己的 PC 上运行类似 ChatGPT 的 AI,Alpaca 是斯坦福大学研究人员创建的聊天机器人。 它支持 Windows、macOS 和 Linux。 您只需要至少 8GB 的​​ RAM 和大约 30GB 的可用存储空间。

聊天机器人现在风靡一时,每个人都想分一杯羹。 谷歌有 Bard,微软有 Bing Chat,而 OpenAI 的 ChatGPT 在这一点上几乎就是 AI 的代名词。 但是,如果您不想为聊天机器人依赖云服务怎么办? 我们有一个类似 ChatGPT 的 AI,您可以下载它——一只羊驼。

目录

什么是羊驼?
Alpaca 与 ChatGPT 相比如何?
运行羊驼需要什么?
如何在您的 PC 上本地运行 Alpaca
为 Linux 2 安装 Windows 子系统
安装 Docker
在 Windows 上安装 GIT
安装 Serge 和 Alpaca
使用哔叽和羊驼毛

什么是羊驼?

Alpaca 是一种语言模型(基本上是聊天机器人),很像 ChatGPT。 它能够回答问题、推理、讲笑话,以及我们对聊天机器人所期望的几乎所有其他事情。 Alpaca 是由斯坦福大学的研究人员通过微调 Facebook 的 LLaMA 创建的。

与 ChatGPT 和当今可用的大多数其他聊天机器人不同,Alpaca 完全在您自己的 PC 上运行。 这意味着没有人可以窥探您的谈话或您向 Alpaca 询问的内容,而且您的交流也不会意外泄露。 这也意味着您无需支付任何月费,如果您拥有硬件,您可以进一步训练模型以更好地满足您的需求,并且您可以将其集成到您想要的任何应用程序中。 您仅受硬件和编程技巧的限制。

但是,它也可以像普通的旧聊天机器人一样出色地工作,您可以与之交谈,我们将向您展示如何在几乎任何 PC 上运行它。

Alpaca 与 ChatGPT 相比如何?

我们先把它弄清楚:ChatGPT,尤其是运行 GPT-4 的 ChatGPT,目前比 Alpaca 更智能、更快。

Alpaca 的速度主要受其运行的计算机的限制——如果您拥有一台具有大量内核和大量 RAM 的速度极快的游戏 PC,您将获得良好的性能。 内核较少的速度较慢的 PC 将需要更长的时间来生成响应。 当然,在这方面将它与 ChatGPT 进行比较是不公平甚至不合理的——我们不知道 ChatGPT 在什么样的计算机上运行,​​但它肯定比普通台式 PC 更强大。

目前羊驼主要有3个变种,7B、13B、30B。 一般来说,数字越大,聊天机器人就越聪明。

Alpaca,尤其是 7B 型号,明显比 ChatGPT“笨”。 推理不好,肯定过不了图灵测试。 但是,如果您想要食谱建议,7B 仍然很棒。

13B 和 30B 型号是另一回事。 13B 能够提供连贯的、类似人类的对话,并能回答复杂的问题。 30B 更令人印象深刻,如果你有运行它的硬件,并且在 ChatGPT 的惊人距离之内。 如果提示,它会从哲学上讲故事或开个玩笑而不会错过任何一个节拍。

运行羊驼需要什么?

Alpaca 有相当灵活的系统要求。 这些准则高于最低限度,但却是很好的准则。 我们还将在 Windows 上安装它。 如果您在运行 Linux 或 macOS 的系统上安装它,只需跳过适用于 Linux 的 Windows 子系统部分——它与您无关。

  • 16 GB 内存
    • 32 GB 更好,如果你想运行 30B 模型,这是必需的
  • 如果您想要所有三种型号,SSD 上有 35 GB 的存储空间。
    • 7B 型号为 4 GB,13B 型号为 8 GB,30B 型号为 20 GB
    • 带有 WSL2 的默认 Ubuntu 需要 500MB
    • 其他依赖项之间的更多 GB
  • 现代 CPU 是理想选择
    • 任何锐龙 CPU
    • 第 7 代英特尔处理器或更高版本
  • 适用于 Linux 2 (WSL2) 的 Windows 子系统
  • 地理信息系统
  • 码头工人
  • 一个社区项目 Serge,它为 Alpaca 提供了一个漂亮的 Web 界面
警告:目前没有理由怀疑这个特定项目有任何重大安全缺陷或恶意。 我们已经检查了代码并自己运行了软件,没有发现任何问题。 这并不意味着它现在或将保持安全。 始终对您在互联网上找到的东西保持谨慎,并定期重新评估安全性。

如何在您的 PC 上本地运行 Alpaca

请务必按照给出的顺序执行这些步骤。 如果不这样做,Docker 可能会崩溃,需要完全重新安装 WSL2 和 Docker。

为 Linux 2 安装 Windows 子系统

Microsoft 的 Windows Linux 子系统 2 (WSL2) 允许您在 Windows 中运行 Linux 软件。 它的开销很低,在很多情况下都非常方便。 Docker for Windows依赖于WSL2,所以我们需要先安装WSL2。

注意:如果您已经安装了 WSL2,只需在 PowerShell 中运行 wsl –update 以确保所有内容都已更新。

以管理员身份打开 PowerShell 窗口,然后输入命令:

wsl --install

下载所有 WSL2 文件和 Ubuntu 需要一些时间。 安装完成后,您必须重新启动 PC。

安装 WSL2。

执行重启后,重新打开 PowerShell(不一定以管理员身份)并运行:

wsl -l -v

如果一切正常,您应该会看到类似下图的内容。 您也不需要特别安装 Ubuntu。 你可以安装任何你喜欢的发行版,Ubuntu 只是默认的。

检查 WSL2 是否安装了 Ubuntu。

安装 Docker

Docker 是一种程序,可让您在“容器”中运行程序。 容器类似于虚拟机,但它们的开销往往更少,并且对于许多应用程序而言性能更高。 Serge 使用 Docker 让安装超级方便。

相关: Docker 做什么,什么时候应该使用它?

首先,从 Docker 网站下载 Docker 安装程序。 如果您打算在 Linux 或 macOS 上运行 Docker,请确保您获取了合适的安装程序。

注意:如果您运行的是无头 Linux 服务器,则需要按照适用于您的 Linux 发行版的说明来运行 Docker。

从 Docker 网站安装 Docker Desktop。

运行安装程序并准备等待几分钟。 Docker 会花一些时间在幕后设置一堆东西。 完成后,您需要重新启动 PC。

重新启动后,打开 PowerShell 并再次运行wsl -l -v 。 这次您应该还会看到一些与 Docker 相关的条目。

Docker 使用 WSL2 创建虚拟机。

在 Windows 上安装 GIT

最后一个先决条件是 Git,我们将使用它从 Github 自动下载(和更新)Serge。 这不是绝对必要的,因为您总是可以下载 ZIP 并手动解压缩,但 Git 更好。

前往 Git 网站并为您的操作系统下载正确的版本。 Windows 用户只需要运行可执行文件。 确保至少查看安装选项,而不是快速单击所有选项。 一个,如下面的屏幕截图所示,是绝对关键的。

确保选择将 Git 添加到系统 PATH 的选项。

Git 安装完成后,您就可以安装 Serge 和 Alpaca。

安装 Serge 和 Alpaca

首先,确保 Docker Desktop 正在运行。 然后,在打开 PowerShell 窗口的情况下打开 PowerShell 或 Windows 终端(不是以管理员身份)并运行以下命令:

git clone https://github.com/nsarrazin/serge.git && cd serge

这会将文件从 GitHub 下载到您 PC 上的文件夹,然后将活动目录更改为创建的文件夹。

从 Github 下载塞尔。

您需要运行的下一个命令是:

cp .env.sample .env

该行创建了 .env.sample 的副本并将副本命名为“.env”。 该文件包含与存储对话的本地数据库以及连接时本地 Web 服务器使用的端口相关的参数。

然后运行:

docker compose up -d

Docker 将许多不同的容器组合成一个整洁的包。 如果您想更具体地了解此处涉及的内容,可以查看 Serge 文件夹中的 docker-compose.yml 文件。

Docker-Compose 设置 Serge。

最后一个命令将启动下载,在这里您需要在继续之前做出选择。 您可以下载三种不同的变体:7B、13B 和 30B。 7B 是最简单和“最笨”的模型,而 30B 是最复杂和最聪明的。 13B是中间地带。

变体下载大小需要空闲 RAM 在 Windows 上推荐的系统 RAM Linux 上推荐的系统 RAM
7B 4GB 4GB 16 GB 8GB
13B 8GB 8GB 16 GB 16 GB
30B 20 20GB 64 GB(可能) 32GB

Linux(可能还有 macOS)安装将能够使用比 Windows 安装更少的系统 RAM——Windows 是一个 RAM 猪。 您可能应该首先从 7B 变体开始,因为它是要求最低的选项。 如果需要,您可以随时下载 13B 或 30B。

运行以下命令下载 7B 模型(或替代 13B 或 30B)。

docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B

准备好等待,特别是如果您选择 30B 变体。 Huggingface 服务器似乎达到每秒 20 兆字节的最高速度,因此在最佳情况下,您将看到每 GB 下载 50 秒。

下载 7B 语言模型。

使用哔叽和羊驼毛

如果您已按照这些说明进行操作,则 Docker 和所有必需的容器当前正在运行,但是,如果您重新启动计算机,则必须重新打开它们。 为此,只需打开 Docker Desktop 并单击小三角形按钮。 当容器运行时,“名称”列左侧的图标变为绿色。

此时一切都已安装并准备就绪。 只需打开浏览器并在地址栏中输入“localhost:8008”,就像访问 Facebook 或任何其他网站一样。

注意:如果您在另一台计算机上托管 Alpaca/Serge,则需要输入该设备的本地 IP 地址而不是 localhost。

主屏幕左侧显示您之前的对话,中间显示新聊天的设置。

Serge Web 界面。

有相当多的可用设置,但您真正需要注意的有五个:

  • 温度——决定 AI 回答的自由程度。 较低的数字会导致更严格的答案,而较高的数字会更有创意。
  • Maximum Generated Text Length in Tokens – 机器人写入的响应可以有多长。
  • 型号选择– 在 7B、13B、30B 和您安装的任何其他型号之间进行选择。
  • n_threads – Serge/Alpaca 可以在你的 CPU 上使用的线程数。 分配更多将提高性能
  • 初始化对话的预提示——在对话开始之前提供上下文,以偏向聊天机器人的回复方式。

在这种情况下,我们提高了温度和线程,选择了 13B 型号,并告诉聊天机器人这是盗版。

重要的 Serge 设置。

这是对话进行的示例。

一个例子对话。

您可以与 Alpaca 谈论任何您喜欢的话题,而不必担心您的数据会发生什么。 它始终保留在您的设备上,由您控制。

请记住,ChatGPT、Alpaca 和其他聊天机器人看似可靠,但目前还不可靠。 他们很好地体现了这样一种观点:“如果你不能用才华让他们眼花缭乱,那就用废话来迷惑他们。” 他们编造事情的倾向被称为“幻觉”。 不要依赖它们来做任何重要的事情,尤其是对你的工作或健康无关紧要的事情。 目前它们只能用于娱乐或实验目的。

然而,随着时间的推移,这项技术只会变得更好——用不了多久,我们就会看到 Alpaca(或其他本地运行的 AI)集成到 Discord 服务器、Minecraft 模组和许多其他创意应用程序中。 进一步的改进还将产生可以在较弱硬件上运行的更快、更准确的模型。