在本地运行大型语言模型(LLM)的世界中,LMStudio、Ollama、Jan.ai和HuggingFace等工具各展所长,提供了从桌面应用到开源模型支持的多样化解决方案。这些工具不仅易于使用,还强调了隐私保护和本地处理能力,让AI技术更加贴近用户的日常需求。
本文介绍在本地运行大型语言模型(LLM)的25个工具。
1 LMStudio
LMStudio 是一个桌面应用程序,用户可以在本地电脑上运行和操作大型语言模型。它支持多种模型,并且注重隐私保护,无需将数据发送到远程服务器。
链接:https://lmstudio.ai/
2 Ollama
Ollama 是一款本地运行开源大型语言模型的工具,支持包括 Llama 3和 Code Llama 在内的多种模型。通过将模型权重、配置和所需数据整合到一个 Modelfile 中,从而简化了模型部署和管理过程。
链接:https://ollama.com/
3 Hugging Face和Transformers
Hugging Face 是机器学习和人工智能领域的开源模型集散地,类似于 Docker Hub,提供了丰富的开源模型资源。
此外,Hugging Face 还推出了名为 transformers 的 Python 库,能够极大简化在本地部署和运行大型语言模型(LLM)的流程。以下是利用该库运行微软 Phi 2 模型的示例。
import torch from transformers import AutoModelForCausalLM, AutoTokenizer torch.set_default_device("cuda") model = AutoModelForCausalLM.from_pretrained("microsoft/phi-2", torch_dtype="auto", trust_remote_code=True) tokenizer = AutoTokenizer.from_pretrained("microsoft/phi-2", trust_remote_code=True) inputs = tokenizer('''def print_prime(n): """ Print all primes between 1 and n """''', return_tensors="pt", return_attention_mask=False) outputs = model.generate(**inputs, max_length=200) text = tokenizer.batch_decode(outputs)[0] print(text)
链接:https://huggingface.co/microsoft/phi-2
4 LangChain
LangChain是一个Python框架,用于构建AI应用程序。通过提供抽象层和中间件,使得开发者能够在其支持的各种模型基础之上,便捷地开发自己的 AI 应用。
举例来说,下面的代码展示了如何通过 LangChain 向微软的 DialoGPT-medium 模型发起询问。
from langchain.llms.huggingface_pipeline import HuggingFacePipeline hf = HuggingFacePipeline.from_model_id( model_id="microsoft/DialoGPT-medium", task="text-generation", pipeline_kwargs={"max_new_tokens": 200, "pad_token_id": 50256}, ) from langchain.prompts import PromptTemplate template = """Question: {question} Answer: Let's think step by step.""" prompt = PromptTemplate.from_template(template) chain = prompt | hf question = "What is electroencephalography?" print(chain.invoke({"question": question}))
链接:https://www.langchain.com/
5 Llama.cpp
Llama.cpp 是基于 C 和 C++ 开发的大型语言模型(LLM)推理引擎,特别为苹果硅芯片进行了性能优化,并能够高效运行 Meta 公司推出的 Llama2 模型。
链接:https://github.com/ggerganov/llama.cpp
6 Lamafile
Mozilla 开发的 Lamafile 提供了一种便捷友好的方式来运行大型语言模型(LLMs)。它以其出色的便携性以及能够生成单文件可执行程序的特性而受到用户的青睐。
链接:https://github.com/Mozilla-Ocho/llamafile
7 Jan.ai
Jan 能够将您的电脑转化为一台 AI 驱动的智能设备,通过在本地运行大型语言模型(LLMs),提供了一个以隐私保护为核心、优先考虑本地处理能力、并且完全开源的解决方案。
链接:https://jan.ai/
8 llm
Simon Willison 开发的 LLM 工具易用性很强,即使是编程新手也能轻松上手。它提供了一种简便的方法,让用户能够在自己的计算机上下载和使用开源的大型语言模型(LLMs)。即使使用这个工具需要先安装 Python 环境,但用户在使用过程中不需要编写或理解任何 Python 代码。
如果在 Mac 上使用 Homebrew,只需使用:
pip install llm
LLM 默认使用 OpenAI 模型,但用于可以使用插件在本地运行其他模型。例如,如果安装了 gpt4all 插件,就可以访问 GPT4All 中的其他本地模型。此外,还有 llama、MLC 项目和 MPT-30B 的插件,以及其他远程模型。
使用 LLM install model-name 命令行安装插件:
llm install llm-gpt4all
向本地 LLM 发送查询,请使用以下语法:
llm -m the-model-name "Your query"
9 GPT4ALL
GPT4ALL是一个易于使用的桌面应用程序,具有直观的GUI。它支持本地模型运行,并提供与OpenAI的API密钥连接。
链接:https://gpt4all.io/index.html
10 H2OGPT
h2oGPT 是一款简化私人大型语言模型(LLM)创建过程的工具。它集成了一个大型语言模型、一个嵌入模型、一个专用于文档嵌入的数据库,以及提供了命令行和图形用户界面两种操作方式,使用户能够便捷地进行交互和管理。
链接:https://github.com/h2oai/h2ogpt
11 LocalLLM
LocalLLM 是开源的,允许用户在自己的计算机上直接运行大型语言模型,无需依赖远程服务器。它提供了一套简便的工具和接口,使本地部署和使用 AI 模型变得更加容易。
链接:https://github.com/GoogleCloudPlatform/localllm
12 Koboldcpp
Koboldcpp 是一个开源项目,提供最新版本的下载,它允许用户在本地运行大型语言模型,以实现高效的文本生成和处理。通过这个工具,用户可以享受到快速且定制化的 AI 语言处理能力。
链接:https://github.com/LostRuins/koboldcpp/releases.
13 LocalAI
LocalAI是免费的、开源的OpenAI替代品。LocalAI作为一个与OpenAI(Elevenlabs、Anthropic等)API规范兼容的REST API的替代品,用于本地AI推理。
链接:https://github.com/mudler/LocalAI
14 EXUI
这是一个简单、轻量级的基于浏览器的UI,用于使用ExLlamaV2运行本地推理。
链接:https://github.com/turboderp/exui
15 vLLM
vLLM是一个快速且易于使用的LLM推理和服务库。安装非常简单。
pip install vllm
链接:https://github.com/vllm-project/vllm
16 MLX
MLX 是苹果公司机器学习研究团队推出的一个用于机器学习研究的数组框架,专为优化苹果硬件上的性能而设计。此外,它还支持用户在本地部署和运行自己的大型语言模型(LLMs)。
链接:https://github.com/ml-explore/mlx
17 CTranslate2
CTranslate2是一个C++和Python库,用于高效执行 Transformer 模型的推理任务。
目前支持以下模型类型:
-
编码器-解码器模型:包括基础版/大型版 Transformer、M2M-100、NLLB、BART、mBART、Pegasus、T5、Whisper。
-
仅解码器模型:包括 GPT-2、GPT-J、GPT-NeoX、OPT、BLOOM、MPT、Llama、Mistral、Gemma、CodeGen、GPTBigCode、Falcon。
-
仅编码器模型:包括 BERT、DistilBERT、XLM-RoBERTa。
链接:https://github.com/OpenNMT/CTranslate2
18 Pinokio
Pinokio 是一个提供多样化解决方案的平台,不仅限于托管大型语言模型(LLMs)。它旨在为用户提供更广泛的 AI 应用和服务,以满足不同需求。
链接:https://pinokio.computer/
19 PowerInfer
PowerInfer 是一款 CPU/GPU 大型语言模型(LLM)推理引擎,通过利用激活局部性技术,能够优化模型在设备上的性能。
链接:https://github.com/SJTU-IPADS/PowerInfer
20 LlamaSharp
LlamaSharp 是对 llama.cpp 的 C#/.NET 语言绑定,为用户提供了一套高级 API,用于推理 LLaMA 模型。通过这些 API,用户可以在本地设备上轻松实现模型的部署和使用。
链接:https://github.com/SciSharp/LLamaSharp
21 LMQL
LMQL 是一个可以本地安装的编程语言,也提供了一个基于 Web 的 Playground IDE 供用户使用。若要自主托管并运用 Transformers 或 llama.cpp 模型,本地安装 LMQL 是必须的步骤。
pip install lmql #运行 LMQL 程序 lmql playground
链接:https://lmql.ai/playground/
22 AvaPLS
Ava PLS是一个开源桌面应用程序,可以在电脑上本地运行语言模型。它支持执行各种语言任务,如文本生成、语法校正、改写、摘要、数据提取等。
链接:https://avapls.com/
23 LiteLLM
LiteLLM 是一个轻量级的库,允许用户以 OpenAI 的格式统一调用各种大型语言模型(LLM)的 API。它支持多个平台,包括 Bedrock、Huggingface、VertexAI 等,简化了跨服务的模型调用过程。
链接:https://github.com/BerriAI/litellm
24 HammerAI
HammerAI 不是一个典型的使用大型语言模型(LLM)的 AI 应用程序,而是个提供聊天体验的平台。通过 HammerAI,用户可以在自己的浏览器中与本地运行的角色扮演 AI 角色进行对话,这种交流是完全免费且私密的。
链接:https://www.hammerai.com/
25 Bedrock/VertexAI
Bedrock/VertexAI 是由 Google 和 Amazon 提供的解决方案,它们支持在云平台上高效托管和运行大型语言模型(LLMs)。这些服务利用云计算的强大能力,为用户提供了灵活、可扩展的 AI 模型部署选项。
链接:https://aws.amazon.com/bedrock/, https://cloud.google.com/vertex-ai
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。