Running free and open source large language models locally on your PC.
這是「開源大型語言模型」與「跑大型語言模型的開源軟體」列表。
本文Ivon解說如何在您的個人電腦跑類似ChatGPT的大型語言模型。免費、開源、無需網路,支援Linux/Windows/macOS系統。
1. 大型語言模型是什麼?為什麼要離線跑?#
大型語言模型(Large Language Model,簡稱LLM)是一種語言模型,屬於生成式AI的技術,最知名的應用莫過於OpenAI的ChatGPT了。2022年,隨著ChatGPT的出現,讓人們了解到通用大型語言模型的應用潛力。
不過ChatGPT有些缺點,就是它跑在OpenAI的雲端伺服器,必須連上網路才可以使用。且ChatGPT提示詞會受到OpenAI限制,導致不能肆意妄為,有些甚至要催眠一下才會聽話。對話資料由OpenAI掌控,對注重隱私的用戶來說肯定是不合適的。
還有,ChatGPT是封閉原始碼的軟體,沒有人知道背後如何運作,改進方法也只有OpenAI自己知道。
那麼有沒有可能在個人電腦跑大型語言模型呢?
有的,ChatGPT的替代品很多的,但這篇文章Ivon要講的不是其他公司提供的線上AI服務,而是可以真正離線執行的大型語言模型。
相較於ChatGPT跑在雲端,跑在個人電腦的大型語言模型,我們會稱之為本機語言模型(Local LLM)。跑在本機的好處不言而喻,除了保障隱私外,你還可以自由的調整AI,讓它發揮你想要的功能。如果採用的是自由開放原始碼的方案,有能力的人更是能著手改進相關程式。
寫AI聊天程式不難,問題是語言模型何處尋?我們有許多開源的語言模型能用。
2023年,Meta釋出了開源的「LLaMA」模型,提供了對應各種等級硬體的模型,模型後面的「B」代表訓練資料數量,LLaMA的訓練資料量從7B、14B、40B、到65B都有。65B以上的模型是給伺服器使用的,讓他們可以跟ChatGPT競爭。至於最小的7B適合在個人電腦跑,中階以上的CPU就夠跑了,甚至連GPU都不需要。
在LLaMA釋出之後,基於LLaMA訓練的模型如雨後春筍出現,人們餵給LLaMA各式各樣的資料進行微調(finetune),強化LLaMA的聊天能力。比方說:Alpaca、Vicuna、WizardLM、Open Assistant等等。甚至有基於LLaMA的模型支援中文對答了,比如台灣聯發科的Breeze-7B。
LLaMA一出,其他科技公司陸續開源了自家訓練的語言模型,例如2023年的Mistral AI,還有Google於2024年釋出的Gemma。這些模型給了人們更多選擇,讓使用者可以自由下載到個人電腦使用。未來應該還會有更多模型出現吧。
咦?可是這些模型都不是ChatGPT啊?是的,Open AI自從GPT 3以後就沒有開源自家模型了,這篇文章的標題「離線版ChatGPT」是一種方便理解的比喻而已(我承認這個標題有點誤導)。這些開源模型都不是原版的ChatGPT,只是各家廠商釋出的開源模型,功能類似ChatGPT。
能夠在個人電腦跑的主要為訓練資料2B、3B、4B、7B、8B、13B、30B的開源模型,儘管這些模型回答品質差ChatGPT一截,但是在做特定方面任務表現就已經很不錯了,比如寫文案、整理重點、翻譯文字、生成一小段程式碼,所以這些語言模型已經具備實用價值。隨著時代演進,開源模型的性能應會逐步追上ChatGPT。
有了這麼多開源模型,要如何在個人電腦使用呢?大型語言模型只是模型檔案,你需要開發者撰寫軟體方能與模型互動,這篇文章下面會介紹的,就是著名的開源大型語言模型,以及操作大型語言模型的軟體。
2. 著名的開源大型語言模型列表#
這裡列出著名開源的大型語言模型。在你選好要用的語言模型後,還要安裝跑大型語言模型的軟體才能對話。
大型語言模型日新月異,這個列表我會不定時參照 Reddit r/Localllama的資訊更新推薦的模型,並務求耗費資源最小,不用太高級的硬體也可以跑(以7B的為主)。列表越上面的模型越推薦使用。
那如何下載模型呢?模型檔案多半可以在 HugginFace下載。如果模型為.gguf格式且經過量化,建議選擇Q5_K_M的版本,兼顧資源佔用與性能。
由於開源模型在釋出後多半會有人製作修改版,比如將其調整為*-Instruct
和*-Coder
版本以接受複雜指令,或是改成*-Uncensored
去除道德限制。因此我沒辦法將變種全部列出來,只能盡量按照「譜系」去分,並從中挑出評價比較好的模型。
LLaMA系#
- LLaMA 3.2 11B:2024年9月釋出,支援128K上下文。另有支援圖像辨識的多模態模型LLaMA 3.2 Vision 11B。
- Llama-3-Taiwan-8B:2024年7月釋出,研發代號Project TAME,基於LLaMA 3微調的大模型,強化台灣在地繁體中文的理解能力。
- Llama-3-TAIDE-LX-8B:2024年5月釋出,台灣國科會發表的繁體中文模型,基於LLaMA 3。
Gemma系#
- Google Gemma 2 9B
- Google Gemma 7B
Mistral系#
- Pixtral 12B:支援128K上下文,支援圖像辨識的多模態模型。
- Ministral 8B
- Breeze 7B:2024年3月釋出,聯發科的繁體中文模型,基於Mistral 7B,支援處理64k token
小模型#
小型語言模型(Small Language Model,SLM),訓練參數低於7B以下的模型,耗用資源更少,專為行動裝置和硬體較弱的裝置設計。
- LLaMA 3.2 3B:2024年9月釋出的模型,支援128K上下文。
- Microsoft Phi 3.5 Mini
- Google Gemma 2 2B
- Ministral 3B
其他#
- LLaVA 7B:圖像辨識的多模態模型
- Qwen 2.5 7B
- LAION Open Assistant Falcon 7B
- Huggingface BLOOM 7B
3. 跑開源大型語言模型的軟體列表#
大型語言模型不能直接使用,還需要有人開發程式方能與大型語言模型對話。
這裡列出的軟體都支援Linux、Windows、macOS系統。且都是免費、開放原始碼、無需網路、容易擴充的方案。
Open WebUI#
以網頁為主的解決方案,簡單又容易擴充的模組化設計,提供API,能夠與許多軟體結合使用。透過Docker即可輕鬆部署到個人伺服器。
在這裡Ollama為後端,會自動依照硬體性能分配CPU與GPU加速運算。Open WebUI是為網頁前端,支援RAG檢索增強生成、整理PDF內容、匯總Google搜尋結果、辨識圖像。
支援串接線上ChatGPT API。
使用方法看 這篇。
SillyTavern#
專為角色扮演設計的語言模型軟體,內建角色卡機制、人物表情、語音合成系統,輕鬆進入AI聊天模式。支援RAG檢索增強生成。
SillyTavern只是個前端界面,需要搭配Ollama或ChatGPT做後端服務才可以跑起來。
使用教學: SillyTavern安裝
AnythingLLM#
主打開箱即用的桌面應用程式,支援多種語言模型引擎,包含Ollama和ChatGPT,或其他線上語言模型服務。
提供語音辨識、RAG、整理網頁資料、總結PDF等功能。AnythingLLM除了在桌面使用外,也可以改用Docker部署變成網頁應用程式。
官網下載: AnythingLLM | The all-in-one AI application for everyone
Jan AI#
一體化的解決方案,設計理念很像閉源的LM Studio,主打開箱即用。
透過桌面應用程式即可完成下載語言模型、管理對話、處理文件等應用,無需打指令。
支援串接線上ChatGPT API,或者單純跑離線語言模型。
官網下載: Jan - Turn your computer into an AI computer
Text Generation WebUI#
oobabooga開發的「Text Generation WebUI」提供網頁界面,支援載入多個開源語言模型、擴充功能、RAG檢索增強生成。它提供API讓其他軟體可以與其整合。
前端用Gradio寫的,操作界面很像Stable Diffusion WebUI。需要花點時間調整系統參數。
既能當語言模型的前端也能當後端。
使用方法看 這篇。
LangChain#
專業的大型語言模型Python框架,模組化設計,自由度極高,可以任意搭配各種語言模型與相關技術,建立AI應用程式。
上手有一定難度。