Windows系統安裝Text Generation WebUI,本機跑大型語言模型

想要在自己的電腦跑離線版的ChatGPT嗎?不妨試試「Text Generation WebUI」。

oobabooga開發的Text Generation WebUI是支援多種大型語言模型(LLM)的開源軟體,可以在本機與AI對話,還提供自訂角色、對話翻譯、AI繪圖的擴充功能。

本文Ivon講解Windows系統安裝Text Generation WebUI的作法。

0. 硬體需求

硬體需求視使用的大型語言模型而定,主要依賴顯示卡算。

以最小的Alpaca 7B來說:

  • 需要Windows 10以上系統
  • 顯示卡VRAM最低6GB
  • RAM需要16GB以上
  • 30GB以上硬碟空間。

雖然Text Generation WebUI可以單純用CPU跑,但速度會變非常慢。例如,訓練參數13B的模型,用CPU跑AI生成一句話要等30分鐘,這可不是稱得上流暢的體驗。因此準備一張RTX3060以上的等級的顯示卡是有必要的,用顯示卡跑速度會提昇很多。

Text Generation WebUI部份功能會用到Linux才有的加速技術,因此用WSL Ubuntu或Linux實體機跑會更好。

除本機安裝外,開發者也有維護Google Colab筆記本供線上試玩。

1. 安裝前置依賴套件

目前Windows的一鍵安裝器只支援Nvidia顯示卡,其它廠牌的顯示卡無法用來加速,裝了會變成單純用CPU跑。

你也可以手動用Anaconda建立環境安裝。

  1. 安裝Nvidia驅動還有CUDA

  2. 安裝Git for Windows,一直下一步。

  3. 下載開發者提供的一鍵安裝器壓縮檔。

  4. 將安裝器解壓縮,按二下install的批次檔

  5. 輸入A按下Enter,即會自動安裝MicroMamba和Python依賴套件。

2. 下載大型語言模型

Text Generation WebUI支援載入多種語言模型,以及LoRa。

按二下download-model的批次檔下載模型,輸入要下載的模型,模型檔容量約4GB ~ 10GB左右。

英文模型有OPT、GPT-J 6B、Pygmalion 6B這類舊版的開源模型。模型後面的「B」代表訓練參數數量,越龐大的越吃效能。建議先從最小的6B、13B模型開始玩起,測試硬體能承受後再往上。

另外像LLaMA、llama.cpp、Alpaca、Vicuna、GPT4All、GPT4 x Alpaca、OpenAssistant這類比較先進的模型要手動下載。

中文模型有Chinese-LLaMA-AlpacaChatGLM 6B

3. 啟動Text Generation WebUI

完整引數請參考開發者的Github

Windows版是依靠點二下start-webui批次檔來啟動WebUI。預設是使用--autodevices引數啟動,也就是自動分配任務給CPU和GPU運算。

若要改啟動引數請對start-webui按右鍵 → 以記事本編輯,修改python server.py這行後面的啟動引數。

  1. 按二下start-webui的批次檔。

  2. 啟動後,用瀏覽器開啟WebUI的網址:http://127.0.0.1:7860,保持終端機開啟。

要關閉此程式,於終端機按Ctrl+C終止。

4. 對話方式

如何下指令(提示詞)依使用的語言模型而定,建議先以英文問題為主。

可以先從簡單的事實回答開始問起,例如:Who is the founder of Taiwan Semiconductor Manufacturing Co., Ltd?

AI在運算的時候不會顯示進度條,硬體較弱的可能要等幾十秒後才會開始回話。

接下來可嘗試讓AI翻譯文本,或者要求寫個小故事。

跟ChatGPT的用法類似,要求AI執行特定任務前,要先下確切的提示詞(prompt)告訴AI要扮演什麼角色,這樣它會更明白要做什麼。

5. 擴充功能

翻譯對話、角色扮演、AI繪圖…安裝擴充功能後就能讓AI做更多事。

參見Text Generation WebUI擴充功能用法

參考資料


感謝您的閱讀。歡迎分享Ivon的部落格(ivonblog.com)的文章,引用或轉載請註明文章網址,並遵守創用CC-姓名標示-非商業性-禁止改作 4.0 國際授權條款。如需商業使用請來信告之。

written by human, not by AI

如果本網站文章對您有幫助,歡迎請我喝杯珍珠奶茶。

留言板

點選按鈕,選擇您覺得方便的留言系統。

這是Giscus留言板,需要登入Github帳號才能留言。方便您張貼程式碼,若要上傳圖片請貼Imgur連結。您的留言會在Github Discussions向所有人公開。