如何在您自己的 PC 上運行類似 ChatGPT 的 AI
已發表: 2023-04-06聊天機器人現在風靡一時,每個人都想分一杯羹。 谷歌有 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。
執行重啟後,重新打開 PowerShell(不一定以管理員身份)並運行:
wsl -l -v
如果一切正常,您應該會看到類似下圖的內容。 您也不需要特別安裝 Ubuntu。 你可以安裝任何你喜歡的發行版,Ubuntu 只是默認的。
安裝 Docker
Docker 是一種程序,可讓您在“容器”中運行程序。 容器類似於虛擬機,但它們的開銷往往更少,並且對於許多應用程序而言性能更高。 Serge 使用 Docker 讓安裝超級方便。
相關: Docker 做什麼,什麼時候應該使用它?
首先,從 Docker 網站下載 Docker 安裝程序。 如果您打算在 Linux 或 macOS 上運行 Docker,請確保您獲取了合適的安裝程序。
注意:如果您運行的是無頭 Linux 服務器,則需要按照適用於您的 Linux 發行版的說明來運行 Docker。
運行安裝程序並準備等待幾分鐘。 Docker 會花一些時間在幕後設置一堆東西。 完成後,您需要重新啟動 PC。
重新啟動後,打開 PowerShell 並再次運行wsl -l -v
。 這次您應該還會看到一些與 Docker 相關的條目。
在 Windows 上安裝 GIT
最後一個先決條件是 Git,我們將使用它從 Github 自動下載(和更新)Serge。 這不是絕對必要的,因為您總是可以下載 ZIP 並手動解壓縮,但 Git 更好。
前往 Git 網站並為您的操作系統下載正確的版本。 Windows 用戶只需要運行可執行文件。 確保至少查看安裝選項,而不是快速單擊所有選項。 一個,如下面的屏幕截圖所示,是絕對關鍵的。
Git 安裝完成後,您就可以安裝 Serge 和 Alpaca。
安裝 Serge 和 Alpaca
首先,確保 Docker Desktop 正在運行。 然後,在打開 PowerShell 窗口的情況下打開 PowerShell 或 Windows 終端(不是以管理員身份)並運行以下命令:
git clone https://github.com/nsarrazin/serge.git && cd serge
這會將文件從 GitHub 下載到您 PC 上的文件夾,然後將活動目錄更改為創建的文件夾。
您需要運行的下一個命令是:
cp .env.sample .env
該行創建了 .env.sample 的副本並將副本命名為“.env”。 該文件包含與存儲對話的本地數據庫以及連接時本地 Web 服務器使用的端口相關的參數。
然後運行:
docker compose up -d
Docker 將許多不同的容器組合成一個整潔的包。 如果您想更具體地了解此處涉及的內容,可以查看 Serge 文件夾中的 docker-compose.yml 文件。
最後一個命令將啟動下載,在這裡您需要在繼續之前做出選擇。 您可以下載三種不同的變體: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 秒。
使用嗶嘰和羊駝毛
如果您已按照這些說明進行操作,則 Docker 和所有必需的容器當前正在運行,但是,如果您重新啟動計算機,則必須重新打開它們。 為此,只需打開 Docker Desktop 並單擊小三角形按鈕。 當容器運行時,“名稱”列左側的圖標變為綠色。
此時一切都已安裝並準備就緒。 只需打開瀏覽器並在地址欄中輸入“localhost:8008”,就像訪問 Facebook 或任何其他網站一樣。
注意:如果您在另一台計算機上託管 Alpaca/Serge,則需要輸入該設備的本地 IP 地址而不是 localhost。
主屏幕左側顯示您之前的對話,中間顯示新聊天的設置。
有相當多的可用設置,但您真正需要注意的有五個:
- 溫度——決定 AI 回答的自由程度。 較低的數字會導致更嚴格的答案,而較高的數字會更有創意。
- Maximum Generated Text Length in Tokens – 機器人寫入的響應可以有多長。
- 型號選擇– 在 7B、13B、30B 和您安裝的任何其他型號之間進行選擇。
- n_threads – Serge/Alpaca 可以在你的 CPU 上使用的線程數。 分配更多將提高性能
- 初始化對話的預提示——在對話開始之前提供上下文,以偏向聊天機器人的回複方式。
在這種情況下,我們提高了溫度和線程,選擇了 13B 型號,並告訴聊天機器人這是盜版。
這是對話進行的示例。
您可以與 Alpaca 談論任何您喜歡的話題,而不必擔心您的數據會發生什麼。 它始終保留在您的設備上,由您控制。
請記住,ChatGPT、Alpaca 和其他聊天機器人看似可靠,但目前還不可靠。 他們很好地體現了這樣一種觀點:“如果你不能用才華讓他們眼花繚亂,那就用廢話來迷惑他們。” 他們編造事情的傾向被稱為“幻覺”。 不要依賴它們來做任何重要的事情,尤其是對你的工作或健康無關緊要的事情。 目前它們只能用於娛樂或實驗目的。
然而,隨著時間的推移,這項技術只會變得更好——用不了多久,我們就會看到 Alpaca(或其他本地運行的 AI)集成到 Discord 服務器、Minecraft 模組和許多其他創意應用程序中。 進一步的改進還將產生可以在較弱硬件上運行的更快、更準確的模型。