精選聯盟

5個簡單好用的本地運作大模型的方法

作者:不秃頭程式員
5個簡單好用的本地運作大模型的方法

像ChatGPT、Claude.ai和phind這樣的聊天機器人非常有用,但可能并不總是希望的問題或敏感資料由外部應用程式處理。在平台上尤其如此,在這些平台上,你的互動可能會被人類審查,并以其他方式用于幫助訓練未來的模型。

一種解決方案是下載下傳一個大型語言模型(LLM)并在自己的機器上運作它。這樣一來,外部公司就永遠無法通路的資料。這也是嘗試一些新專業模型的一個快速選擇,如Meta最近宣布的Code Llama系列模型,這些模型經過了編碼調整,以及Seamless M4T,旨在實作文本到語音和語言翻譯。

運作自己的LLM聽起來可能很複雜,但有了正确的工具,它會出奇地容易。而且許多型号的硬體要求并沒有想象中那麼瘋狂。我已經在兩個系統上測試了本文中提供的選項:一個是帶有英特爾i9處理器、64GB RAM和英偉達GeForce 12GB GPU(可能沒有參與運作該軟體的大部分工作)的戴爾PC,另一個是隻有16GB RAM的M1晶片的Mac。

請注意,可能需要一點研究才能找到一個在的任務中運作良好并在桌面硬體上運作的模型。而且,很少有人能像你習慣的ChatGPT(尤其是GPT-4)或Claude.ai這樣的工具那樣好。指令行工具LLM的建立者Simon Willison在上個月的一次示範中認為,即使本地模型的響應是錯誤的,運作它也是值得的:

在你的筆記本電腦上運作的[一些]會産生瘋狂的幻覺——我認為這實際上是運作它們的一個很好的理由,因為在你的電腦上運作弱型号是了解這些東西如何工作及其局限性的一種更快的方式。

同樣值得注意的是,開源模型可能會不斷改進,一些行業觀察人士預計,它們與商業領袖之間的差距會縮小。

5個簡單好用的本地運作大模型的方法

使用GPT4All運作本地聊天機器人

如果你想要一個在本地運作、不會在其他地方發送資料的聊天機器人,ᅠGPT4Allᅠ提供了一個易于設定的桌面用戶端供下載下傳。它包括在自己的系統上運作的型号的選項,還有Windows、macOS和Ubuntu的版本。

當第一次打開GPT4All桌面應用程式時,将看到下載下傳大約10個(截至本文撰寫之時)可以在本地運作的模型的選項。其中包括Meta AI的模型Llama-2-7B聊天。如果你有API密鑰,你也可以設定OpenAI的GPT-3.5和GPT-4(如果你有通路權限)供非本地使用。

GPT4All接口的模型下載下傳部分一開始有點令人困惑。在我下載下傳了幾個模型後,我仍然可以選擇全部下載下傳。這表明下載下傳不起作用。然而,當我檢查下載下傳路徑時,模型就在那裡。

5個簡單好用的本地運作大模型的方法

GPT4All中模型下載下傳接口的一部分。一旦我打開應用程式的使用部分,我下載下傳的模型就會自動出現。

一旦建立了模型,聊天機器人界面本身就很幹淨,易于使用。友善的選項包括将聊天複制到剪貼闆并生成響應。

5個簡單好用的本地運作大模型的方法

GPT4All聊天界面簡潔易用

還有一個新的測試版LocalDocs插件,可以讓你在本地與自己的文檔“聊天”。可以在中啟用Settings > Plugins 頁籤,将看到“LocalDocs插件(BETA)設定”标題和在特定檔案夾路徑建立集合的選項。

該插件正在進行中,并且ᅠ文檔ᅠ 警告說,即使LLM可以通路添加的專家資訊,它仍可能“産生幻覺”(編造)。盡管如此,這是一個有趣的功能,随着開源模型變得更加強大,它可能會得到改進。

除了聊天機器人應用程式,GPT4All還綁定了Python、Node和指令行界面(CLI)。還有一種伺服器模式,可以讓你通過一個結構非常像OpenAI的HTTP API與本地LLM互動。目标是通過更改幾行代碼,讓你用本地LLM交換OpenAI的LLM。

5個簡單好用的本地運作大模型的方法

指令行啟動LLM

Simon Willison的LLM是我見過的在自己的機器上本地下載下傳和使用開源LLM的更簡單的方法之一。雖然确實需要安裝Python來運作它,但不應該接觸任何Python代碼。如果你在Mac電腦上使用Homebrew,隻需使用

brew install llm           

如果在Windows計算機上,請使用最喜歡的安裝Python庫的方式,例如

pip install llm           

LLM預設使用OpenAI模型,但可以使用插件在本地運作其他模型。例如,如果安裝gpt4all插件,将可以從gpt4all通路其他本地模型。還有用于llama、MLC項目和MPT-30B的插件,以及其他遠端模型。

在指令行上安裝一個插件,名稱為llm Install model:

llm install llm-gpt4all           

可以使用指令llm-models-list檢視所有可用的型号——遠端和已安裝的型号,包括每種型号的簡要資訊。

5個簡單好用的本地運作大模型的方法

當要求LLM列出可用型号時顯示。

要将查詢發送到本地LLM,文法如下:

llm -m the-model-name "Your query"           

如何選擇正确的模型?可以前往ᅠGPT4All首頁ᅠ并向下滾動到與GPT4All相容的模型的模型資料總管。falcon-q4_0選項是一款評級較高的相對較小的型号,具有允許商業使用的許可證,是以我從那裡開始。

然後,我問了它一個類似于ChatGPT的問題,但沒有發出單獨的指令下載下傳模型:

llm -m ggml-model-gpt4all-falcon-q4_0 "Tell me a joke about computer programming"           

這是LLM使用者體驗如此優雅的一點:如果本地系統上不存在GPT4All模型,LLM工具會在運作查詢之前自動為下載下傳它。下載下傳模型時,将在終端中看到進度條。

5個簡單好用的本地運作大模型的方法

LLM自動下載下傳了我在查詢中使用的模型

這裡有一個笑話:“程式員為什麼關掉電腦?因為他想看看它是否還在工作!”——但事實上,這個查詢确實起了作用。如果結果令人失望,那是因為模型性能或使用者提示不足,而不是LLM工具。

還可以為LLM中的模型設定别名,以便可以使用較短的名稱來引用它們:

llm aliases set falcon ggml-model-gpt4all-falcon-q4_0           

要檢視所有可用的别名,請輸入:llm aliases。

這個ᅠMeta的Llama模型的LLM插件ᅠ需要比GPT4All多一點的設定。閱讀上的詳細資訊ᅠLLM插件的GitHub回購。請注意,通用llama-2-7b-chat确實設法在我的工作Mac上運作了M1 Pro晶片,隻有16GB的RAM。與為沒有GPU的小型機器優化的GPT4All型号相比,它運作得相當慢,在我更健壯的家用電腦上表現更好。

LLM還有其他功能,例如argument标志,使可以從以前的聊天中繼續,并能夠在Python腳本中使用它。9月初,該應用程式獲得了ᅠ用于生成文本嵌入的工具,可用于搜尋相關文檔的文本含義的數字表示。可以在LLM網站上看到更多資訊。Willison是流行的Python Django架構的聯合建立者,他希望社群中的其他人能為LLM生态系統貢獻更多插件。

5個簡單好用的本地運作大模型的方法

桌面上調用模型:Ollama

Ollama是一種比LLM更容易下載下傳和運作模型的方法。然而,該項目僅限于macOS和Linux,直到2月中旬,Windows的預覽版終于問世。我測試了Mac版本。

5個簡單好用的本地運作大模型的方法

通過點選安裝是一種優雅的體驗。盡管Ollama是一個指令行工具,但隻有一個指令具有以下文法ollama run model-name名稱。與LLM一樣,如果模型還沒有在的系統上,它将自動下載下傳。

可以在上檢視可用型号的清單ᅠhttps://ollama.ai/library,截至本文撰寫之時,它包括基于Llama的模型的幾個版本,如通用Llama 2、Code Llama、針對某些程式設計任務進行微調的DeepSE的CodeUp,以及針對回答醫學問題進行微調的meddlama2。

這個ᅠOllama GitHub repo's README 檔案包括一些型号規格的有用清單和建議,“你應該至少有8GB的RAM來運作3B型号,16GB來運作7B型号,32GB來運作13B型号。”在我的16GB RAM Mac上,7B Code Llama的性能出奇地快。它将回答有關的問題ᅠbash/zshᅠshell指令以及Python和JavaScript等程式設計語言。

5個簡單好用的本地運作大模型的方法

在Ollama終端視窗中運作Code Llama的外觀

盡管它是家族中最小的模型,但如果不完美地回答了一個R編碼問題,這會讓一些更大的模型感到困惑,那它還是很好的:“為ggplot2圖寫R代碼,其中的條形圖是鋼藍色的。”代碼是正确的,隻是其中兩行代碼中有兩個額外的右括号,這很容易在我的IDE中找到。我懷疑更大的Code Llama本可以做得更好。

Ollama還有一些附加功能,例如ᅠLangChainᅠ內建和使用PrivateGPT運作的能力,除非檢查ᅠGitHub repo的教程頁面。

如果你在Mac電腦上,想使用Code Llama,你可以在終端視窗中運作它,每次有問題時都會把它拉出來。我期待着在我的家用電腦上使用Ollama Windows版本。

5個簡單好用的本地運作大模型的方法

與自己的文檔聊天:H2OGPT

H2O.aiᅠ一段時間以來,該公司一直緻力于自動化機器學習,是以很自然地進入了聊天LLM領域。它的一些工具最好由熟悉該領域的人使用,但安裝其測試版本的說明ᅠh20GPTᅠ聊天桌面應用程式快速而直接,即使對于機器學習新手來說也是如此。

你可以通路web上的示範版本(顯然不是使用系統本地的LLM),網址:ᅠgpt.h2o.ai。

5個簡單好用的本地運作大模型的方法

本地LLaMa模型基于VS代碼文檔回答問題

無需添加自己的檔案,就可以将該應用程式用作通用聊天機器人。或者,可以上傳一些文檔并詢問有關這些檔案的問題。相容的檔案格式包括PDF、Excel、CSV、Word、文本、标記等。測試應用程式在我的16GB Mac上運作良好,盡管較小型号的結果無法與帶GPT-4的付費ChatGPT相比(一如既往,這是型号的函數,而不是應用程式的函數)。H2OGPT UI為知道自己在做什麼的使用者提供了一個專家頁籤,其中包含許多配置選項。這為更有經驗的使用者提供了嘗試改進其結果的選項。

5個簡單好用的本地運作大模型的方法

如果你想對流程進行更多控制,并為更多型号提供選項,請下載下傳完整的應用程式。對于帶有GPU或僅帶有CPU的系統,有适用于Windows和macOS的一鍵安裝程式。請注意,我的Windows防病毒軟體對Windows版本不滿意,因為它沒有簽名。我熟悉H2O.ai的其他軟體,代碼在GitHub上也有,是以我願意下載下傳并安裝它。

Rob Mulla,現在在H2O.ai,釋出了一個ᅠYouTube視訊ᅠ關于在Linux上安裝該應用程式。盡管該視訊已經釋出了幾個月,應用程式使用者界面似乎也發生了變化,但該視訊仍然有有用的資訊,包括關于H2O.ai LLM的有用解釋。

5個簡單好用的本地運作大模型的方法

輕松但緩慢的資料聊天:PrivateGPT

PrivateGPTᅠ還設計用于讓使用自然語言查詢自己的文檔,并獲得生成的人工智能響應。此應用程式中的文檔可以包括幾十種不同的格式。README確定資料“100%私有,任何時候都不會有資料離開的執行環境。可以在沒有網際網路連接配接的情況下擷取文檔并提出問題!”

PrivateGPT的特點是腳本可以攝取資料檔案,将其分割成塊,建立“embeddings”(文本含義的數字表示),并将這些嵌入存儲在本地Chroma矢量存儲中。當你提出問題時,該應用程式會搜尋相關文檔,并将其發送給LLM以生成答案。

如果熟悉Python以及如何設定Python項目,可以克隆完整的PrivateGPT存儲庫并在本地運作它。

繼續閱讀