五个繁难好用的本地运转大模型的方法
出品 | 技术栈(微信号:blog51cto)
像ChatGPT、Claude.ai和phind这样的聊天机器人十分有用,但或许并不总是宿愿的疑问或敏感数据由外部运行程序处置。在平台上尤其如此,在这些平台上,你的互动或许会被人类审查,并以其余形式用于协助训练未来的模型。
一种处置打算是下载一个大型言语模型(LLM)并在自己的机器上运转它。这样一来,外部公司就永远不可访问的数据。这也是尝试一些新专业模型的一个极速选用,如Meta最近发表的Code Llama系列模型,这些模型经过了编码调整,以及Seamless M4T,旨在成功文本到语音和言语翻译。
运转自己的LLM听起来或许很复杂,但有了正确的工具,它会出奇地容易。而且许多型号的配件要求并没有构想中那么疯狂。我曾经在两个系统上测试了本文中提供的选项:一个是带有英特尔i9处置器、64GB RAM和英伟达GeForce12GB GPU(或许没有介入运转该软件的大局部上班)的戴尔PC,另一个是只要16GB RAM的M1芯片的Mac。
请留意,或许须要一点钻研才干找到一个在的义务中运转良好并在桌面配件上运转的模型。而且,很少有人能像你习气的ChatGPT(尤其是GPT-4)或Claude.ai这样的工具那样好。命令行工具LLM的创立者Simon Willison在上个月的一次性演示中以为,即使本地模型的照应是失误的,运转它也是值得的:
在你的笔记本电脑上运转的[一些]会发生疯狂的幻觉——我以为这实践上是运转它们的一个很好的理由,由于在你的电脑上运转弱型号是了解这些物品如何上班及其局限性的一种更快的形式。
雷同值得留意的是,开源模型或许会不时改良,一些行业观察人士估量,它们与商业首领之间的差距会增加。
1.经常使用GPT4All运转本地聊天机器人
假设你想要一个在本地运转、不会在其余中央发送数据的聊天机器人,ᅠGPT4Allᅠ提供了一个易于设置的桌面客户端供下载。它包括在自己的系统上运转的型号的选项,还有Windows、macOS和Ubuntu的版本。
当第一次性关上GPT4All桌面运行程序时,将看到下载大概10个(截至本文撰写之时)可以在本地运转的模型的选项。其中包括Meta AI的模型Llama-2-7B聊天。假设你有API密钥,你也可以设置OpenAI的GPT-3.5和GPT-4(假设你有访问权限)供非本地经常使用。
GPT4All接口的模型下载局部一开局有点令人困惑。在我下载了几个模型后,我依然可以选用所有下载。这标明下载不起作用。但是,当我审核下载门路时,模型就在那里。
GPT4All中模型下载接口的一局部。一旦我关上运行程序的经常使用局部,我下载的模型就会智能出现。
一旦建设了模型,聊天机器人界面自身就很洁净,易于经常使用。繁难的选项包括将聊天复制到剪贴板并生成照应。
还有一个新的测试版LocalDocs插件,可以让你在本地与自己的文档“聊天”。可以在中启用Settings > Plugins 选项卡,将看到“LocalDocs插件(BETA)设置”题目和在特定文件夹门路创立汇合的选项。
该插件正在启动中,并且ᅠ文档ᅠ 正告说,即使LLM可以访问增加的专家消息,它仍或许“发生幻觉”(假造)。虽然如此,这是一个幽默的性能,随着开源模型变得愈加弱小,它或许会失掉改良。
除了聊天机器人运行程序,GPT4All还绑定了Python、Node和命令行界面(CLI)。还有一种主机形式,可以让你经过一个结构十分像OpenAI的HTTP API与本地LLM交互。指标是经过更改几行代码,让你用本地LLM替换OpenAI的LLM。
2.命令行启动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 llmgpt4all
可以经常使用命令llm-models-list检查一切可用的型号——远程和已装置的型号,包括每种型号的简明消息。
当要求LLM列出可用型号时显示。
要将查问发送到本地LLM,语法如下:
复制
llm m themodelname
如何选用正确的模型?可以返回ᅠGPT4All主页ᅠ并向下滚动到与GPT4All兼容的模型的模型资源治理器。falcon-q4_0选项是一款评级较高的相对较小的型号,具备准许商业经常使用的容许证,所以我从那里开局。
而后,我问了它一个相似于ChatGPT的疑问,但没有收回独自的命令下载模型:
复制
llm m ggmlmodelgpt4allfalconq4_0
这是LLM用户体验如此优雅的一点:假设本地系统上不存在GPT4All模型,LLM工具会在运转查问之前智能为下载它。下载模型时,将在终端中看到进展条。
LLM智能下载了我在查问中经常使用的模型
这里有一个笑话:“程序员为什么关掉电脑?由于他想看看它能否还在上班!”——但理想上,这个查问确实起了作用。假设结果令人绝望,那是由于模型性能或用户揭示无余,而不是LLM工具。
还可以为LLM中的模型设置别名,以便可以经常使用较短的称号来援用它们:
复制
llm aliases falcon ggmlmodelgpt4allfalconq4_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生态系统奉献更多插件。
3.桌面上调用模型:Ollama
Ollama是一种比LLM更容易下载和运转模型的方法。但是,该名目仅限于macOS和Linux,直到2月中旬,Windows的预览版终于问世。我测试了Mac版本。
经过点击装置是一种优雅的体验。虽然Ollama是一个命令行工具,但只要一个命令具备以下语法ollama run model-name称号。与LLM一样,假设模型还没有在的系统上,它将智能下载。
可以在上检查可用型号的列表ᅠ,截至本文撰写之时,它包括基于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等编程言语。
在Ollama终端窗口中运转Code Llama的外观
虽然它是家族中最小的模型,但假设不完美地回答了一个R编码疑问,这会让一些更大的模型感到困惑,那它还是很好的:“为ggplot2图写R代码,其中的条形图是钢蓝色的。”代码是正确的,只是其中两行代码中有两个额外的右括号,这很容易在我的IDE中找到。我疑心更大的Code Llama本可以做得更好。
Ollama还有一些附加性能,例如ᅠLangChainᅠ集成和经常使用PrivateGPT运转的才干,除非审核ᅠGitHub repo的教程页面。
假设你在Mac电脑上,想经常使用Code Llama,你可以在终端窗口中运转它,每次有疑问时都会把它拉进去。我等候着在我的家用电脑上经常使用Ollama Windows版本。
4.与自己的文档聊天:H2OGPT
H2O.aiᅠ一段期间以来,该公司不时努力于智能化机器学习,因此很人造地进入了聊天LLM畛域。它的一些工具最好由相熟该畛域的人经常使用,但装置其测试版本的说明ᅠh20GPTᅠ聊天桌面运行程序极速而间接,即使关于机器学习新手来说也是如此。
你可以访问web上的演示版本(显然不是经常使用系统本地的LLM),网址:ᅠgpt.h2o.ai。
本地LLaMa模型基于VS代码文档回答疑问
无需增加自己的文件,就可以将该运行程序用作通用聊天机器人。或许,可以上行一些文档并征询无关这些文件的疑问。兼容的文件格局包括PDF、Excel、CSV、Word、文本、标志等。测试运行程序在我的16GB Mac上运转良好,虽然较小型号的结果不可与带GPT-4的付费ChatGPT相比(自始自终,这是型号的函数,而不是运行程序的函数)。H2OGPT UI为知道自己在做什么的用户提供了一个专家选项卡,其中蕴含许多性能选项。这为更有阅历的用户提供了尝试改良其结果的选项。
假设你想对流程启动更多控制,并为更多型号提供选项,请下载完整的运行程序。关于带有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存储库并在本地运转它。
本文转载自 技术栈