GPT4ALL:終極開源大語言模型解決方案
開源語言模型生態(tài)系統(tǒng)正在興起,這些生態(tài)系統(tǒng)為個人提供綜合資源以創(chuàng)建用于研究和商業(yè)目的的語言應(yīng)用程序。
本文深入研究GPT4ALL,它通過提供全面的搭建模塊,使任何人都能開發(fā)類似ChatGPT的聊天機器人,從而超越了特定的使用案例。
什么是GPT4ALL項目?
GPT4ALL可以在使用最先進的開源大型語言模型時提供所需一切的支持。它可以訪問開源模型和數(shù)據(jù)集,使用提供的代碼訓(xùn)練和運行它們,使用Web界面或桌面應(yīng)用程序與它們交互,連接到Langchain后端進行分布式計算,并使用Python API進行輕松集成。
開發(fā)人員最近推出了Apache-2許可的GPT4All-J聊天機器人,該機器人在大量精心策劃的助手交互語料庫上進行了訓(xùn)練,包括單詞問題、多輪對話、代碼、詩歌、歌曲和故事。為了使其更易于訪問,他們還發(fā)布了Python bindings和一個聊天UI,使幾乎所有人都可以在CPU上運行該模型。
可以通過在桌面上安裝本地的聊天客戶端來自己嘗試。
- Mac/OSX(https://gpt4all.io/installers/gpt4all-installer-darwin.dmg)
- Windows(https://gpt4all.io/installers/gpt4all-installer-win64.exe)
- Ubuntu(https://gpt4all.io/installers/gpt4all-installer-linux.run)
之后,運行GPT4ALL程序并下載自己選擇的模型。也可以在這里(https://github.com/nomic-ai/gpt4all-chat#manual-download-of-models)手動下載模型,并將其安裝在GUI中模型下載對話框所指示的位置。
在筆記本電腦上使用GPT4ALL的體驗比較好,收到了快速和準確的回應(yīng)。此外,GPT4ALL對用戶很友好,即使是非技術(shù)人員也可以使用。
GPT4ALL Python客戶端
GPT4ALL有Python、TypeScript、Web Chat interface和Langchain后端。
在本節(jié)中,我們將研究使用nomic-ai/pygpt4all訪問模型的Python API。
- 使用PIP安裝Python GPT4ALL庫。
pip install pygpt4all
- 從http://gpt4all.io/models/ggml-gpt4all-l13b-snoozy.bin下載GPT4All模型,也可以在這里(https://github.com/nomic-ai/gpt4all-chat#manual-download-of-models)瀏覽其他模型。
- 創(chuàng)建文本回調(diào)函數(shù),加載模型,并向mode.generate()函數(shù)提供一個提示,以生成文本。查閱庫的文檔(https://nomic-ai.github.io/pygpt4all/)以了解更多信息。
from pygpt4all.models.gpt4all import GPT4All
def new_text_callback(text):
print(text, end="")
model = GPT4All("./models/ggml-gpt4all-l13b-snoozy.bin")
model.generate("Once upon a time, ", n_predict=55, new_text_callback=new_text_callback)
此外,可以使用轉(zhuǎn)換器下載和運行推理。只需提供模型名稱和版本。在本文的示例中,正在訪問最新和改進的v1.3-groovy模型。
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
"nomic-ai/gpt4all-j", revisinotallow="v1.3-groovy"
)
入門指南
nomic-ai/gpt4all資源庫附帶有用于訓(xùn)練和推理的源代碼、模型權(quán)重、數(shù)據(jù)集和文檔??梢詮淖约簢L試一些模型開始,然后嘗試用Python客戶端或LangChain將其集成。
GPT4ALL為我們提供了一個CPU量化的GPT4All模型檢查點。要訪問它,我們必須:
- 從Direct Link或[Torrent-Magnet]下載gpt4all-lora-quantized.bin文件。
- 克隆這個資源庫,并將下載的bin文件移到chat文件夾。
- 運行適當?shù)拿顏碓L問該模型:
- M1 Mac/OSX:cd chat;./gpt4all-lora-quantized-OSX-m1
Linux:cd chat;./gpt4all-lora-quantized-linux-x86
- Windows(PowerShell):cd chat;./gpt4all-lora-quantized-win64.exe
- Intel Mac/OSX:cd chat;./gpt4all-lora-quantized-OSX-intel
也可以前往Hugging Face Spaces,并試用Gpt4all的演示。
圖片來自Gpt4all
資源:
- 技術(shù)報告:GPT4All-J: An Apache-2 Licensed Assistant-Style Chatbot(https://static.nomic.ai/gpt4all/2023_GPT4All-J_Technical_Report_2.pdf)
- GitHub:nomic-ai/gpt4all(https://github.com/nomic-ai/gpt4all)
- Python API:nomic-ai/pygpt4all(https://github.com/nomic-ai/pygpt4all)
- 模型:nomic-ai/gpt4all-j(https://huggingface.co/nomic-ai/gpt4all-j)
- 數(shù)據(jù)集:nomic-ai/gpt4all-j-prompt-generations(https://huggingface.co/datasets/nomic-ai/gpt4all-j-prompt-generations)
- Hugging Face演示:Gpt4all(https://huggingface.co/spaces/Monster/GPT4ALL)
- ChatUI:nomic-ai/gpt4all-chat: gpt4all-j chat(https://github.com/nomic-ai/gpt4all-chat)
- GPT4ALL后端:GPT4ALL - ????LangChain 0.0.154(https://python.langchain.com/en/latest/modules/models/llms/integrations/gpt4all.html)