自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在本地運(yùn)行大語(yǔ)言模型的五種簡(jiǎn)便方法

譯文 精選
人工智能
本文將向您介紹在本地運(yùn)行大語(yǔ)言模型(LLM)的5種以上簡(jiǎn)便方法。

譯者 | 陳峻

審校 | 重樓

現(xiàn)如今,像ChatGPT、以及phind之類(lèi)基于AI的聊天機(jī)器人,已經(jīng)能夠?yàn)槲覀兩畹姆椒矫婷嫣峁└鞣N幫助了。但是,您可能并不總是希望由外部應(yīng)用程序來(lái)處理您提出的問(wèn)題以及敏感數(shù)據(jù)。尤其是在一些平臺(tái)上,您與AI的互動(dòng),很可能會(huì)被后臺(tái)人工監(jiān)控,甚至被用于幫助訓(xùn)練其未來(lái)的模型。

對(duì)此,您自然而然地會(huì)想到下載大語(yǔ)言模型(LLM),并在自己的機(jī)器上運(yùn)行。如此,外部公司就無(wú)法訪問(wèn)您的數(shù)據(jù)。同時(shí),這也是嘗試一些新的專(zhuān)業(yè)模型的快速試錯(cuò)方式。例如,Meta最近發(fā)布的針對(duì)編程領(lǐng)域的Code Llama 系列模型,以及針對(duì)文本到語(yǔ)音、以及語(yǔ)言翻譯的SeamlessM4T

“在本地運(yùn)行LLM”這聽(tīng)起來(lái)可能有些復(fù)雜,但是只要您擁有合適的工具,就會(huì)變得出奇簡(jiǎn)單。由于許多模型對(duì)硬件的要求并不高,因此我在兩個(gè)系統(tǒng)上進(jìn)行了測(cè)試。它們分別是:配備了英特爾i9處理器、64GB內(nèi)存和Nvidia GeForce 12GB GPU的戴爾PC,以及配備了M1芯片,但只有16GB內(nèi)存的Mac。

需要注意的是,您可能需要花點(diǎn)時(shí)間研究、并關(guān)注開(kāi)源模型的不斷迭代,以發(fā)現(xiàn)一款能在自己桌面硬件上運(yùn)行的、性能合適的模型。

1.使用GPT4All運(yùn)行本地聊天機(jī)器人

GPT4All提供了Windows、macOS和Ubuntu版本桌面客戶(hù)端的下載,以及在系統(tǒng)上運(yùn)行不同模型的選項(xiàng)??偟恼f(shuō)來(lái),其設(shè)置并不復(fù)雜。

首次在打開(kāi)GPT4All桌面應(yīng)用時(shí),您將看到約10個(gè)(截至本文撰寫(xiě)時(shí))可下載到本地運(yùn)行的模型選項(xiàng),其中就包含了來(lái)自Meta AI的模型Llama-2-7B chat。如果您有API密鑰的話(huà),也可以設(shè)置OpenAIGPT-3.5GPT-4(如果您有訪問(wèn)權(quán)限的話(huà))為非本地使用。

上圖為GPT4All的模型下載界面部分。在我打開(kāi)該應(yīng)用時(shí),事先下載的模型就自動(dòng)出現(xiàn)了。

在設(shè)置好模型后,簡(jiǎn)潔易用的聊天機(jī)器人界面就出現(xiàn)了。說(shuō)它便捷,是因?yàn)槲覀兛梢詫⒘奶靸?nèi)容復(fù)制到剪貼板上,以生成回復(fù)。

同時(shí),它提供了一個(gè)新的測(cè)試版LocalDocs插件,方便您與自己的本地文檔進(jìn)行“聊天”。您可以在“設(shè)置”>“插件”選項(xiàng)卡中啟用它。在此,您會(huì)看到一個(gè) LocalDocs Plugin (BETA) Settings”標(biāo)題和一個(gè)在特定文件夾路徑下創(chuàng)建集合的選項(xiàng)。當(dāng)然,該插件仍在開(kāi)發(fā)中,其相關(guān)文檔聲稱(chēng),這是一個(gè)有趣的功能,并會(huì)隨著開(kāi)源模型功能的不斷完善,而得到持續(xù)改進(jìn)。

除了聊天機(jī)器人應(yīng)用,GPT4All也綁定了Python、Node和命令行界面(CLI)。同時(shí),GPT4All還有一個(gè)服務(wù)器模式,方便您可以通過(guò)結(jié)構(gòu)類(lèi)似OpenAI的HTTP API,與本地LLM進(jìn)行交互。可見(jiàn),其目標(biāo)是讓您只需修改幾行代碼,就能將本地LLM換成OpenAILLM。

2.命令行模式下的LLM

Simon Willison提供的LLM是我見(jiàn)過(guò)的,這是在本地計(jì)算機(jī)上下載和使用開(kāi)源LLM的最簡(jiǎn)單方法之一。雖然運(yùn)行它需要安裝Python,但您不需要接觸任何Python代碼。如果您使用的是Mac并安裝了Homebrew的話(huà),只需運(yùn)行如下命令:

brew install llm

如果您使用的是Windows系統(tǒng),請(qǐng)安裝Python庫(kù),并輸入:

pip install llm

LLM默認(rèn)會(huì)使用OpenAI模型,但是您可以使用插件在本地運(yùn)行其他模型。例如,如果您安裝了GPT4All插件,就可以訪問(wèn)GPT4All中的其他本地模型。此外,llama還有MLC項(xiàng)目、MPT-30B、以及其他遠(yuǎn)程模型的插件。

請(qǐng)使用llm install model-name的格式,在命令行安裝插件。例如:

llm install llm-gpt4all

接著,您可以使用命令llm models list,查看所有可用的遠(yuǎn)程或已安裝的模型。如下列表所示,其中還包含了每個(gè)型號(hào)的簡(jiǎn)要信息。

您可以通過(guò)使用以下語(yǔ)法,向本地LLM發(fā)送查詢(xún)請(qǐng)求:

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

接著,我向它提出了一個(gè)類(lèi)似ChatGPT的問(wèn)題,但并沒(méi)有發(fā)出單獨(dú)的命令來(lái)下載模型:

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

值得一提的是,如果本地系統(tǒng)中不存在GPT4All模型的話(huà),LLM工具會(huì)在運(yùn)行查詢(xún)之前,自動(dòng)為您下載。而且,在下載模型的過(guò)程中,您會(huì)在終端上看到如下的進(jìn)度條。

模型給出的笑話(huà)是:“程序員為什么要關(guān)掉電腦?因?yàn)樗肟纯措娔X是否還在工作!”這證明交互已成功進(jìn)行。如果您覺(jué)得該結(jié)果不盡如人意的話(huà),那是因?yàn)槟P捅旧?、或是用?hù)提示信息不足,而并非LLM工具。

同時(shí),您也可以在LLM中為模型設(shè)置別名,以便用更簡(jiǎn)短的名稱(chēng)來(lái)對(duì)其進(jìn)行引用:

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

完成后,您可以通過(guò)輸入:llm aliases,來(lái)查看所有可用的別名。

相比之下,用于Meta Llama模型的LLM插件需要比GPT4All更多的設(shè)置。您可以通過(guò)鏈接https://github.com/simonw/llm-llama-cpp,在LLM插件的GitHub庫(kù)閱讀詳情。值得注意的是,通用的llama-2-7b-chat雖然能夠在我的Mac上運(yùn)行,但是它與GPT4All模型相比,運(yùn)行更慢。

當(dāng)然,LLM還具有其他功能,例如:參數(shù)標(biāo)志可以讓您從之前的聊天處繼續(xù)進(jìn)行,以及在Python腳本中使用。9月初,該應(yīng)用獲得了生成式文本嵌入工具,即文本含義的數(shù)字表示,可用于相關(guān)文檔的搜索。您可以通過(guò)訪問(wèn)LLM網(wǎng)站,了解更多相關(guān)信息。

3.Mac上的Llama模型:Ollama

Ollama是一種比LLM更容易下載和運(yùn)行模型的方法,但它的局限性也更大。目前,它有macOSLinux版本,其Windows版本即將被推出。

如上圖所示,通過(guò)幾步點(diǎn)擊即可完成安裝。雖然Ollama是一個(gè)命令行工具,但它也只有一個(gè)語(yǔ)法命令:ollama run model-name。與LLM類(lèi)似,如果系統(tǒng)中還沒(méi)有所需的模型,它將自動(dòng)進(jìn)行下載。

您可以在https://ollama.ai/library網(wǎng)站上,查看到可用模型的列表。截至本文撰寫(xiě)之時(shí),其中已包含了:通用Llama 2、Code Llama、DeepSE針對(duì)某些編程任務(wù)進(jìn)行過(guò)微調(diào)的CodeUp,以及針對(duì)醫(yī)學(xué)問(wèn)答進(jìn)行過(guò)微調(diào)的medllama2等,多個(gè)基于Llama的模型版本。

Ollama在GitHub代碼庫(kù)中的 README列出了各種型號(hào)與規(guī)格,并建議“若要運(yùn)行3B型號(hào),至少需要8GB內(nèi)存;若要運(yùn)行7B型號(hào),至少需要16GB內(nèi)存;若要運(yùn)行13B型號(hào),至少需要32GB內(nèi)存”。在我的16GB內(nèi)存Mac上,7B Code Llama的運(yùn)行速度就特別快。在專(zhuān)業(yè)方面,它可以回答有關(guān)bash/zshshell命令,以及PythonJavaScript等編程語(yǔ)言的問(wèn)題。

上圖展示了在Ollama終端窗口中運(yùn)行Code Llama的效果。例如,對(duì)于一個(gè)R代碼問(wèn)題:“請(qǐng)為一個(gè)ggplot2條形圖編寫(xiě) R 代碼,其中條形圖的顏色為鋼藍(lán)色"。許多較大的模型都無(wú)法完整回答,而Code Llama雖然是該系列中最小的模型,但是其回答相當(dāng)出色。其交付出的代碼基本正確,只是其中有兩行代碼中多了兩個(gè)小括號(hào),這在集成開(kāi)發(fā)環(huán)境(IDE)中很容易被發(fā)現(xiàn)。

Ollama還有一些附加功能,包括:與LangChain的集成(https://www.infoworld.com/article/3705097/a-brief-guide-to-langchain-for-software-developers.html)和與PrivateGPT一起運(yùn)行的功能。當(dāng)然,如果您不去查看其GitHub軟件庫(kù)的教程頁(yè)面(https://github.com/jmorganca/ollama/blob/main/docs/tutorials.md)的話(huà),這些功能可能并不明顯。

4.與自己的文件聊天:h2oGPT

深耕自動(dòng)化機(jī)器學(xué)習(xí)領(lǐng)域多年的H2O.ai,已進(jìn)入了聊天LLM賽道。其h2oGPT聊天桌面應(yīng)用測(cè)試版,非常易于新手的安裝與使用。

為了熟悉其界面,您可以訪問(wèn)https://gpt.h2o.ai/網(wǎng)站上的演示版本(注意,并非本地系統(tǒng)的LLM)。而為了獲取其本地版本,您需要克隆其GitHub庫(kù),創(chuàng)建并激活Python虛擬環(huán)境,然后運(yùn)行README文件中的五行代碼。根據(jù)文檔的相關(guān)介紹,運(yùn)行結(jié)果會(huì)給您提供“有限的文檔Q/A功能”和Meta的Llama模型。

在運(yùn)行了如下代碼后,您就可以在http://localhost:7860處下載Llama模型版本和應(yīng)用了。

python generate.py --base_model='llama' --prompt_type=llama2

無(wú)需添加自己的文件,您就可以將該應(yīng)用當(dāng)作普通聊天機(jī)器人使用。當(dāng)然,您也可以上傳一些文件,根據(jù)文件內(nèi)容進(jìn)行提問(wèn)。其兼容的文件格式包括:PDF、Excel、CSV、Word、text、以及markdown等。上圖展示的是本地LLaMa模型根據(jù)VS Code文檔,來(lái)回答問(wèn)題的截圖。

h2oGPT測(cè)試程序在我的16GB Mac上運(yùn)行良好,不過(guò)它不如帶有付費(fèi)GPT-4ChatGPT。此外,如下圖所示,h2oGPT的用戶(hù)界面也提供了一個(gè)專(zhuān)家(Expert)選項(xiàng)卡,為專(zhuān)業(yè)用戶(hù)提供了大量配置、以及改進(jìn)結(jié)果的選項(xiàng)。

果您希望對(duì)應(yīng)用有更多的控制,并能夠選擇更多的模型,那么可以下載完整版的應(yīng)用。其README提供了在Windows、macOS和Linux上安裝的不同說(shuō)明。當(dāng)然,您也要顧及有限的硬件。事實(shí)證明,我現(xiàn)有的GPU,不足以運(yùn)行一個(gè)相當(dāng)大的模型。

5.能與數(shù)據(jù)進(jìn)行簡(jiǎn)單但緩慢聊天PrivateGPT

PrivateGPT可以讓您使用自然語(yǔ)言查詢(xún)自己的文檔,并獲得生成式AI的響應(yīng)。該應(yīng)用的文檔可以包括幾十種不同的格式。其README能夠保證“100%的私密,任何數(shù)據(jù)都不會(huì)離開(kāi)您的運(yùn)行環(huán)境。您可以在沒(méi)有互聯(lián)網(wǎng)連接的情況下,輸入文檔并提出問(wèn)題?!?/span>

PrivateGPT會(huì)通過(guò)腳本來(lái)接收數(shù)據(jù)文件,將其分割成不同的塊,以創(chuàng)建“嵌入”(即:文本含義的數(shù)字表示),并將這些嵌入存儲(chǔ)在本地的Chrome向量中。當(dāng)您提出問(wèn)題時(shí),應(yīng)用就會(huì)搜索相關(guān)文檔,將其發(fā)送給LLM,以生成答案。

如果您熟悉Python、以及如何建立Python項(xiàng)目的話(huà),您可以通過(guò)鏈接--https://github.com/imartinez/privateGPT,克隆一套完整的PrivateGPT庫(kù),并在本地運(yùn)行之。當(dāng)然,如果您對(duì)Python不甚了解,則可以參考Iván Martínez在一次研討會(huì)上建立的簡(jiǎn)化版項(xiàng)目,它的設(shè)置要簡(jiǎn)單得多。其README件包含了詳細(xì)的說(shuō)明。雖然該庫(kù)自帶的source_documents文件夾中包含了大量Penpot(譯者注:一款面向跨域團(tuán)隊(duì)的開(kāi)源設(shè)計(jì)和原型制作工具)文檔,但是您完全可以將其刪除掉,并添加自己的文檔。

不過(guò),PrivateGPT的文檔也警告道,它并不適合用于生產(chǎn)環(huán)境。畢竟一旦它在本地運(yùn)行時(shí),速度相對(duì)較慢。

6.本地LLM的更多途徑

其實(shí),在本地運(yùn)行LLM的方法不止上述五種。不過(guò)其他桌面級(jí)應(yīng)用往往需要從頭開(kāi)始編寫(xiě)腳本,并存在著不同程度的設(shè)置復(fù)雜性。

例如:PrivateGPT的衍生產(chǎn)品--LocalGPT就包含了更多的型號(hào)選項(xiàng),并提供了詳細(xì)說(shuō)明和操作視頻。雖然人們對(duì)其安裝和設(shè)置的簡(jiǎn)單程度眾說(shuō)紛紜,但是它與PrivateGPT一樣,在對(duì)應(yīng)的文檔中也警告了“僅在CPU環(huán)境中運(yùn)行速度會(huì)很慢”。

我試用過(guò)的另一款桌面應(yīng)用是LM Studio。它不但提供了簡(jiǎn)單易用的聊天界面,而且給用戶(hù)更多的模型選擇自主權(quán)。其中,Hugging Face HubLM Studio中模型的主要來(lái)源,它擁有大量可供下載的模型。

如下圖所示,LM Studio會(huì)提供一個(gè)漂亮、簡(jiǎn)潔的界面。不過(guò)截至本文撰寫(xiě)時(shí),其用戶(hù)界面尚不能提供LLM的內(nèi)置選項(xiàng),以運(yùn)行用戶(hù)自己的數(shù)據(jù)。

正如其參考文檔提到的,它帶有一個(gè)內(nèi)置的服務(wù)器,可以“作為OpenAI API的直接替代”,因此那些通過(guò)API調(diào)用OpenAI模型所編寫(xiě)出的代碼,將能夠在您所選擇的本地模型上運(yùn)行。

由于LM Studio的代碼并非由GitHub所提供,因此它也會(huì)與h2oGPT一樣,在Windows上安裝時(shí),會(huì)彈出:“這是一款未經(jīng)驗(yàn)證的應(yīng)用”的警告。

除了通過(guò)h2oGPT等應(yīng)用,利用預(yù)建模(pre-built model)的下載界面,您也可以直接從Hugging Face處下載并運(yùn)行各種模型。這是一個(gè)人工智能平臺(tái)和社區(qū),其中包含了許多 LLM。此外,Hugging Face還提供了一些關(guān)于如何在本地安裝和運(yùn)行可用模型的文檔,具體請(qǐng)參考--https://huggingface.co/docs/transformers/installation。

而另一種流行的方法是在LangChain中下載并在本地使用LLM。這是一個(gè)用于創(chuàng)建端到端生成式AI應(yīng)用的框架。您既可以通過(guò)鏈接--https://www.infoworld.com/article/3705097/a-brief-guide-to-langchain-for-software-developers.html,了解LangChain的基礎(chǔ)知識(shí);又可以通過(guò)https://python.langchain.com/docs/integrations/llms/huggingface_pipelines,查看有關(guān)Hugging Face本地管道的相關(guān)內(nèi)容。

此外,OpenLLM也是另一個(gè)強(qiáng)大的獨(dú)立平臺(tái),可以幫助開(kāi)發(fā)者將基于LLM的應(yīng)用部署到生產(chǎn)環(huán)境中。

譯者介紹

陳峻(Julian Chen),51CTO社區(qū)編輯,具有十多年的IT項(xiàng)目實(shí)施經(jīng)驗(yàn),善于對(duì)內(nèi)外部資源與風(fēng)險(xiǎn)實(shí)施管控,專(zhuān)注傳播網(wǎng)絡(luò)與信息安全知識(shí)與經(jīng)驗(yàn)。

原文標(biāo)題:5 easy ways to run an LLM locally,作者:Sharon Machlis

責(zé)任編輯:華軒 來(lái)源: 51CTO
相關(guān)推薦

2024-04-18 15:51:57

2023-12-27 11:31:27

2024-06-06 08:06:19

鴻蒙大語(yǔ)言模型LLM模型

2023-11-17 15:44:01

2023-09-26 07:36:24

2020-11-16 15:51:54

Kubernetes

2018-06-05 10:56:28

2024-05-23 13:54:40

2024-04-19 09:37:49

Ollama大語(yǔ)言模型開(kāi)源

2024-02-07 11:41:51

大語(yǔ)言模型鴻蒙alpaca模型

2023-11-21 15:23:15

JavaScript工具

2022-07-27 08:15:31

C 語(yǔ)言Linux

2025-02-27 07:48:25

2023-10-11 07:20:17

2020-08-09 14:02:22

物聯(lián)網(wǎng)安全技術(shù)

2024-05-24 08:54:18

2023-07-04 15:11:30

TypeScript類(lèi)型保護(hù)

2023-06-02 15:42:51

JavaScript數(shù)據(jù)結(jié)構(gòu)對(duì)象

2023-04-26 15:17:33

Vue 3開(kāi)發(fā)前端

2022-01-07 13:50:55

語(yǔ)言內(nèi)存代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)