您当前的位置:首页 > 电脑百科 > 人工智能

在本地运行大语言模型的五种简便方法

时间:2023-10-11 14:40:48  来源:51CTO  作者:

译者 | 陈峻

审校 | 重楼

现如今,像ChatGPT、以及phind之类基于AI的聊天机器人,已经能够为我们生活的方方面面提供各种帮助了。但是,您可能并不总是希望由外部应用程序来处理您提出的问题以及敏感数据。尤其是在一些平台上,您与AI的互动,很可能会被后台人工监控,甚至被用于帮助训练其未来的模型。

在本地运行大语言模型的五种简便方法

对此,您自然而然地会想到下载大语言模型(LLM),并在自己的机器上运行。如此,外部公司就无法访问您的数据。同时,这也是尝试一些新的专业模型的快速试错方式。例如,Meta最近发布的针对编程领域的Code Llama 系列模型,以及针对文本到语音、以及语言翻译的SeamlessM4T。

“在本地运行LLM”这听起来可能有些复杂,但是只要您拥有合适的工具,就会变得出奇简单。由于许多模型对硬件的要求并不高,因此我在两个系统上进行了测试。它们分别是:配备了英特尔i9处理器、64GB内存和Nvidia GeForce 12GB GPU的戴尔PC,以及配备了M1芯片,但只有16GB内存的mac

需要注意的是,您可能需要花点时间研究、并关注开源模型的不断迭代,以发现一款能在自己桌面硬件上运行的、性能合适的模型。

1.使用GPT4All运行本地聊天机器人

GPT4All提供了windows、macOS和Ubuntu版本桌面客户端的下载,以及在系统上运行不同模型的选项。总的说来,其设置并不复杂。

首次在打开GPT4All桌面应用时,您将看到约10个(截至本文撰写时)可下载到本地运行的模型选项,其中就包含了来自Meta AI的模型Llama-2-7B chat。如果您有API密钥的话,也可以设置OpenAI的GPT-3.5和GPT-4(如果您有访问权限的话)为非本地使用。

上图为GPT4All的模型下载界面部分。在我打开该应用时,事先下载的模型就自动出现了。

在设置好模型后,简洁易用的聊天机器人界面就出现了。说它便捷,是因为我们可以将聊天内容复制到剪贴板上,以生成回复。

在本地运行大语言模型的五种简便方法

同时,它提供了一个新的测试版LocalDocs插件,方便您与自己的本地文档进行“聊天”。您可以在“设置”>“插件”选项卡中启用它。在此,您会看到一个 “LocalDocs Plugin (BETA) Settings”标题和一个在特定文件夹路径下创建集合的选项。当然,该插件仍在开发中,其相关文档声称,这是一个有趣的功能,并会随着开源模型功能的不断完善,而得到持续改进。

除了聊天机器人应用,GPT4All也绑定了Python/ target=_blank class=infotextkey>Python、Node和命令行界面(CLI)。同时,GPT4All还有一个服务器模式,方便您可以通过结构类似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-name的格式,在命令行安装插件。例如:

llm install llm-gpt4all

接着,您可以使用命令llm models list,查看所有可用的远程或已安装的模型。如下列表所示,其中还包含了每个型号的简要信息。

您可以通过使用以下语法,向本地LLM发送查询请求:

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

接着,我向它提出了一个类似ChatGPT的问题,但并没有发出单独的命令来下载模型:

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

值得一提的是,如果本地系统中不存在GPT4All模型的话,LLM工具会在运行查询之前,自动为您下载。而且,在下载模型的过程中,您会在终端上看到如下的进度条。

在本地运行大语言模型的五种简便方法

模型给出的笑话是:“程序员为什么要关掉电脑?因为他想看看电脑是否还在工作!”这证明交互已成功进行。如果您觉得该结果不尽如人意的话,那是因为模型本身、或是用户提示信息不足,而并非LLM工具。

同时,您也可以在LLM中为模型设置别名,以便用更简短的名称来对其进行引用:

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

完成后,您可以通过输入:llm aliases,来查看所有可用的别名。

相比之下,用于Meta Llama模型的LLM插件需要比GPT4All更多的设置。您可以通过链接https://Github.com/simonw/llm-llama-cpp,在LLM插件的GitHub库阅读详情。值得注意的是,通用的llama-2-7b-chat虽然能够在我的Mac上运行,但是它与GPT4All模型相比,运行更慢。

当然,LLM还具有其他功能,例如:参数标志可以让您从之前的聊天处继续进行,以及在Python脚本中使用。9月初,该应用获得了生成式文本嵌入工具,即文本含义的数字表示,可用于相关文档的搜索。您可以通过访问LLM网站,了解更多相关信息。

3.Mac上的Llama模型:Ollama

Ollama是一种比LLM更容易下载和运行模型的方法,但它的局限性也更大。目前,它有macOS和linux版本,其Windows版本即将被推出。

如上图所示,通过几步点击即可完成安装。虽然Ollama是一个命令行工具,但它也只有一个语法命令:ollama run model-name。与LLM类似,如果系统中还没有所需的模型,它将自动进行下载。

您可以在https://ollama.ai/library网站上,查看到可用模型的列表。截至本文撰写之时,其中已包含了:通用Llama 2、Code Llama、DeepSE针对某些编程任务进行过微调的CodeUp,以及针对医学问答进行过微调的medllama2等,多个基于Llama的模型版本。

Ollama在GitHub代码库中的 README列出了各种型号与规格,并建议“若要运行3B型号,至少需要8GB内存;若要运行7B型号,至少需要16GB内存;若要运行13B型号,至少需要32GB内存”。在我的16GB内存Mac上,7B Code Llama的运行速度就特别快。在专业方面,它可以回答有关bash/zshshell命令,以及Python和JAVAScript等编程语言的问题。

在本地运行大语言模型的五种简便方法

上图展示了在Ollama终端窗口中运行Code Llama的效果。例如,对于一个R代码问题:“请为一个ggplot2条形图编写 R 代码,其中条形图的颜色为钢蓝色"。许多较大的模型都无法完整回答,而Code Llama虽然是该系列中最小的模型,但是其回答相当出色。其交付出的代码基本正确,只是其中有两行代码中多了两个小括号,这在集成开发环境(IDE)中很容易被发现。

Ollama还有一些附加功能,包括:与LangChain的集成(https://www.infoworld.com/article/3705097/a-brief-guide-to-langchain-for-software-developers.html)和与PrivateGPT一起运行的功能。当然,如果您不去查看其GitHub软件库的教程页面(https://github.com/jmorganca/ollama/blob/main/docs/tutorials.md)的话,这些功能可能并不明显。

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

深耕自动化机器学习领域多年的H2O.ai,已进入了聊天LLM赛道。其h2oGPT聊天桌面应用测试版,非常易于新手的安装与使用。

为了熟悉其界面,您可以访问https://gpt.h2o.ai/网站上的演示版本(注意,并非本地系统的LLM)。而为了获取其本地版本,您需要克隆其GitHub库,创建并激活Python虚拟环境,然后运行README文件中的五行代码。根据文档的相关介绍,运行结果会给您提供“有限的文档Q/A功能”和Meta的Llama模型。

在运行了如下代码后,您就可以在http://localhost:7860处下载Llama模型版本和应用了。

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

无需添加自己的文件,您就可以将该应用当作普通聊天机器人使用。当然,您也可以上传一些文件,根据文件内容进行提问。其兼容的文件格式包括:PDF、Excel、CSV、word、text、以及markdown等。上图展示的是本地LLaMa模型根据VS Code文档,来回答问题的截图。

h2oGPT测试程序在我的16GB Mac上运行良好,不过它不如带有付费GPT-4的ChatGPT。此外,如下图所示,h2oGPT的用户界面也提供了一个专家(Expert)选项卡,为专业用户提供了大量配置、以及改进结果的选项。

在本地运行大语言模型的五种简便方法

如果您希望对应用有更多的控制,并能够选择更多的模型,那么可以下载完整版的应用。其README提供了在Windows、macOS和Linux上安装的不同说明。当然,您也要顾及有限的硬件。事实证明,我现有的GPU,不足以运行一个相当大的模型。

5.能与数据进行简单但缓慢聊天的PrivateGPT

PrivateGPT可以让您使用自然语言查询自己的文档,并获得生成式AI的响应。该应用的文档可以包括几十种不同的格式。其README能够保证“100%的私密,任何数据都不会离开您的运行环境。您可以在没有互联网连接的情况下,输入文档并提出问题。”

PrivateGPT会通过脚本来接收数据文件,将其分割成不同的块,以创建“嵌入”(即:文本含义的数字表示),并将这些嵌入存储在本地的Chrome向量中。当您提出问题时,应用就会搜索相关文档,将其发送给LLM,以生成答案。

如果您熟悉Python、以及如何建立Python项目的话,您可以通过链接--https://github.com/imartinez/privateGPT,克隆一套完整的PrivateGPT库,并在本地运行之。当然,如果您对Python不甚了解,则可以参考Iván Martínez在一次研讨会上建立的简化版项目,它的设置要简单得多。其README 文件包含了详细的说明。虽然该库自带的source_documents文件夹中包含了大量Penpot(译者注:一款面向跨域团队的开源设计和原型制作工具)文档,但是您完全可以将其删除掉,并添加自己的文档。

不过,PrivateGPT的文档也警告道,它并不适合用于生产环境。毕竟一旦它在本地运行时,速度相对较慢。

6.本地LLM的更多途径

其实,在本地运行LLM的方法不止上述五种。不过其他桌面级应用往往需要从头开始编写脚本,并存在着不同程度的设置复杂性。

例如:PrivateGPT的衍生产品--LocalGPT就包含了更多的型号选项,并提供了详细说明和操作视频。虽然人们对其安装和设置的简单程度众说纷纭,但是它与PrivateGPT一样,在对应的文档中也警告了“仅在CPU环境中运行速度会很慢”。

我试用过的另一款桌面应用是LM Studio。它不但提供了简单易用的聊天界面,而且给用户更多的模型选择自主权。其中,Hugging Face Hub是LM Studio中模型的主要来源,它拥有大量可供下载的模型。

如下图所示,LM Studio会提供一个漂亮、简洁的界面。不过截至本文撰写时,其用户界面尚不能提供LLM的内置选项,以运行用户自己的数据。

在本地运行大语言模型的五种简便方法

正如其参考文档提到的,它带有一个内置的服务器,可以“作为OpenAI API的直接替代”,因此那些通过API调用OpenAI模型所编写出的代码,将能够在您所选择的本地模型上运行。

由于LM Studio的代码并非由GitHub所提供,因此它也会与h2oGPT一样,在Windows上安装时,会弹出:“这是一款未经验证的应用”的警告。

除了通过h2oGPT等应用,利用预建模(pre-built model)的下载界面,您也可以直接从Hugging Face处下载并运行各种模型。这是一个人工智能平台和社区,其中包含了许多 LLM。此外,Hugging Face还提供了一些关于如何在本地安装和运行可用模型的文档,具体请参考--https://huggingface.co/docs/transformers/installation。

而另一种流行的方法是在LangChain中下载并在本地使用LLM。这是一个用于创建端到端生成式AI应用的框架。您既可以通过链接--https://www.infoworld.com/article/3705097/a-brief-guide-to-langchain-for-software-developers.html,了解LangChain的基础知识;又可以通过https://python.langchain.com/docs/integrations/llms/huggingface_pipelines,查看有关Hugging Face本地管道的相关内容。

此外,OpenLLM也是另一个强大的独立平台,可以帮助开发者将基于LLM的应用部署到生产环境中。

译者介绍

陈峻(Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验。

原文标题:5 easy ways to run an LLM locally,作者:Sharon Machlis



Tags:大语言模型   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
为何大语言模型不会取代码农?
译者 | 布加迪审校 | 重楼生成式人工智能(GenAI)会取代人类程序员吗?恐怕不会。不过,使用GenAI的人类可能会取代程序员。但是如今有这么多的大语言模型(LLM),实际效果不一而足。如...【详细内容】
2024-03-21  Search: 大语言模型  点击:(21)  评论:(0)  加入收藏
大语言模型插件功能在携程的Python实践
作者简介成学,携程高级安全研发工程师,关注Python/Golang后端开发、大语言模型等领域。一、背景2023年初,科技圈最火爆的话题莫过于大语言模型了,它是一种全新的聊天机器人模型,...【详细内容】
2024-01-26  Search: 大语言模型  点击:(73)  评论:(0)  加入收藏
面向超长上下文,大语言模型如何优化架构,这篇综述一网打尽了
ChatGPT 的诞生,让基于 Transformer 的大型语言模型 (LLM) 为通用人工智能(AGI)铺开了一条革命性的道路,并在知识库、人机交互、机器人等多个领域得到应用。然而,目前存在一个普...【详细内容】
2024-01-03  Search: 大语言模型  点击:(114)  评论:(0)  加入收藏
大语言模型真的需要这么多层吗?
研究表明,移除70% 的注意力头和 20% 的前馈网络对上下文学习影响甚微,这暗示大语言模型或许训练得不够充分。本文经授权转载宝玉老师的个人博客(微博@宝玉xp ),链 接https://ba...【详细内容】
2023-12-19  Search: 大语言模型  点击:(67)  评论:(0)  加入收藏
大语言模型量化方法对比:GPTQ、GGUF、AWQ
在过去的一年里,大型语言模型(llm)有了飞速的发展,在本文中,我们将探讨几种(量化)的方式,除此以外,还会介绍分片及不同的保存和压缩策略。说明:每次加载LLM示例后,建议清除缓存,以防...【详细内容】
2023-11-17  Search: 大语言模型  点击:(262)  评论:(0)  加入收藏
SEO中的大语言模型量化方法
随着互联网的快速发展,搜索引擎优化(SEO)已经成为了企业提升网站流量和排名的重要手段。在SEO的过程中,大语言模型量化方法被广泛应用,以帮助企业更好地理解搜索引擎的工作原理,并...【详细内容】
2023-11-16  Search: 大语言模型  点击:(186)  评论:(0)  加入收藏
大语言模型数据泄露堪忧,超自动化Agent成解决之道
文/王吉伟阻碍广大企业应用大语言模型(LLM,Large Langeuage Models)的诸多因素中,无疑数据安全是最重要的。3月份ChatGPT发生了用户隐私数据泄露事件,OpenAI声明由于开源代码库中...【详细内容】
2023-11-15  Search: 大语言模型  点击:(187)  评论:(0)  加入收藏
无限上下文,多级内存管理!突破ChatGPT等大语言模型上下文限制
目前,ChatGPT、Llama 2、文心一言等主流大语言模型,因技术架构的问题上下文输入一直受到限制,即便是Claude 最多只支持10万token输入,这对于解读上百页报告、书籍、论文来说非常...【详细内容】
2023-11-02  Search: 大语言模型  点击:(274)  评论:(0)  加入收藏
十个2023年最具影响力的开源大语言模型
由于大型语言模型(LLM)的崛起,2023年被认为是开源领域的关键一年。下面精心挑选了一些在2023年上半年掀起波澜的最有影响力的模型。这些模型几乎可以与band、GPT-3.5、GPT4、Cl...【详细内容】
2023-10-13  Search: 大语言模型  点击:(333)  评论:(0)  加入收藏
引入大语言模型、首个支持国产算力生态,全新开源RL框架RLLTE来了
近年来,强化学习的研究热度不断攀升,在智能制造、自动驾驶、大语言模型等多个领域取得了耀眼成绩,展示出巨大的研究潜力。然而,强化学习算法高效、可靠的工程实现仍是长期存在的...【详细内容】
2023-10-12  Search: 大语言模型  点击:(363)  评论:(0)  加入收藏
▌简易百科推荐
藏在AI背后的“吃电狂魔”
人工智能时代的能耗黑洞据估算,到2027年,人工智能行业每年将消耗85~134太瓦时的电力,相当于瑞典或荷兰一年的总用电量。马斯克判断,电力缺口最早可能会在2025年发生,“明年你会看...【详细内容】
2024-04-09    雪豹财经社  Tags:AI   点击:(1)  评论:(0)  加入收藏
OpenAI和谷歌再起纷争:AI的尽头是内容
日前,纽约时报的一篇报道称,人工智能公司 OpenAI为收集高质量训练数据而开发了一个语音转录模型Whisper。该模型主要用于转录 OpenAI 获取的超过 100 万小时的 YouTube 视频,也...【详细内容】
2024-04-09  小编也疯狂  新浪网  Tags:AI   点击:(1)  评论:(0)  加入收藏
AI产业的灰色暗面:OpenAI、谷歌、META如何搞训练语料
财联社4月7日讯(编辑 史正丞)种种迹象显示,目前站在全世界AI领域潮头浪尖的这些公司,早在几年前就已经陷入对训练语料的“绝望”追逐中——为此他们不惜修改政策条款...【详细内容】
2024-04-09    财联社  Tags:AI产业   点击:(1)  评论:(0)  加入收藏
和“数字人”交朋友,当心隐私被出卖......
在虚拟社交中如何在保护用户隐私和数据安全的同时提供高质量的社交体验?如何避免过度依赖虚拟社交找到虚拟与真实之间的平衡点?《中国消费者报》记者就此展开了调查APP里有个...【详细内容】
2024-04-09    中国消费者报  Tags:数字人   点击:(2)  评论:(0)  加入收藏
AI“复活”成产业链:成本可降至数百元
大模型应用落地,带火数字人(11.560, 0.29, 2.57%)赛道。文|《中国企业家》记者李艳艳 实习生 孙欣编辑|姚赟头图来源|《流浪地球2》电影画面截图清明节前,预估会有需求的庞立...【详细内容】
2024-04-09    中国企业家  Tags:AI“复活”   点击:(2)  评论:(0)  加入收藏
多方热议人工智能产业新机遇
编者按  从前沿科技展会到高层对话平台,从上海、重庆到博鳌,从线上到线下……一场场高规格、大规模的盛会中,人工智能正在成为各界热议的高频词。赋能千...【详细内容】
2024-04-08    中国家电网  Tags:人工智能   点击:(4)  评论:(0)  加入收藏
​人形机器人时代来了吗
日前,由中国人形机器人(11.080, -0.05, -0.45%)百人会主办的人形机器人大赛在北京经济技术开发区开赛。工作人员向参观者展示一款人形机器人。参观者与一款陪护型人形机器人...【详细内容】
2024-04-08    中国青年报  Tags:​人形机器人   点击:(5)  评论:(0)  加入收藏
AI重塑社交:腾讯与字节跳动的新赛场
文|新火种 一号编辑|美美最近,腾讯和字节跳动这两大互联网巨头几乎同步推出了各自的AI社交产品,尽管腾讯和字节跳动在前段时间刚刚“破冰”,但这一举措不仅意味着这两大巨头之...【详细内容】
2024-04-07    蓝鲸财经  Tags:AI   点击:(8)  评论:(0)  加入收藏
第一批用 Kimi 做内容的网红已经杀疯了
作者:王东东 文章来自:斗战圣佛小组技术信仰派 VS 市场信仰派 朱啸虎和月之暗面老板杨植麟在前几天有一场不算 battle 的 battle。battle 的争论点是:大模型有没有戏。技术派...【详细内容】
2024-04-04    斗战圣佛小组  Tags:Kimi   点击:(4)  评论:(0)  加入收藏
昆仑万维发布面向人工智能时代的六条人才宣言
过去的一年多,是人工智能取得非凡进步的一年。在这充满突破性技术飞跃和备受争议的一年里,我们见证了人工智能的快速发展和广泛的影响,人工智能已经迅速地融入了我们的生活,深刻...【详细内容】
2024-04-03    砍柴网  Tags:昆仑万维   点击:(7)  评论:(0)  加入收藏
站内最新
站内热门
站内头条