如何在您自己的 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 模組和許多其他創意應用程序中。 進一步的改進還將產生可以在較弱硬件上運行的更快、更準確的模型。