本地部署开源大模型
type
status
date
slug
summary
tags
category
icon
password
一、缘起
大模型可以用于辅助做一些数据处理工作,例如从一段话中识别地址,或是将一段统计描述整理成结构化数据。将大模型用于翻译,尤其是翻译术语时,效果也通常比一些普通的翻译模型较好。然而,调用 ChatGPT、Gemini、Claude 等大模型时往往需要高昂费用。处理上述这些简单任务,也不需要如此强大的模型性能。因此,在本地机器部署开源模型,成为一个具有性价比的选择。此外,如果你对隐私泄露具有担忧,那么使用自部署的开源大模型几乎是唯一的选择。 Ollama 的出现,极大程度的简化了在本地部署大模型的学习成本。
二、安装过程
1. 安装 Ollama
对于 Windows 用户,前往官网点击下载链接下载后,运行安装包按提示安装即可。若系统是 Windows 11 及以上的版本,也可在终端运行
winget install ollama.ollama
即可自动安装。Windows 系统在开始按钮右键,即可进入终端(PowerShell、命令提示行均可)。对于 macOS 用户,同样也是前往官网点击下载链接下载后,运行安装包按提示安装即可。若部署了 Homebrew,也可以在终端运行
brew install ollama
即可自动安装。推荐在 macOS 中通过 Homebrew 安装,若还未安装 Homebrew,可以参考我的这篇教程。 2. 安装开源大模型
安装 Ollama 后,还需要安装相应的开源大模型。可以将 Ollama 理解为一个系统平台,而各个大模型则是平台上的应用。可以在 Ollama 的官方仓库,找到其支持的所有模型。
截止到2024年9月,推荐的大模型有以下几款:
qwen2.5
:阿里开源的千问大模型,对于中文支持较好。
llama3.1
:Meta 开源的 llama 大模型,性能较强,是许多垂类大模型的基底模型。
gemma2
:Google 开源的大模型。
每个大模型都有不同的参数级别,例如
llama3.1
就有 8b、70b、405b 三个级别。值得注意的是,每个模型的可选参数层级并不一致,其他模型的参数请参考 Ollama 中相关模型的介绍页面。通常来说,模型参数量越大,模型的效果就越好。但绝大部分消费级显卡(NVIDIA GeForce 系列,如20、30、40 系显卡;或 AMD 的 Raden 系列)的显卡内存大部分在 8 - 16 G (注意,显存 ≠ 内存 ≠ 硬盘容量),只能运行参数量在 10b 以下的模型。如果你的设备是内存容量 32g 以上的 macOS 系统(macOS 系统的显存与内存是共用的,可以理解为,显存 = 内存)或是更加专业的计算卡则可以运行参数量更高的模型。
若你仍然不太明白如何选择模型参数,那么请下载 7b、8b 或 9b 的模型,若仍无法运行,则下载参数量更低,如 0.5b、2b 的模型。
参数量越高的模型,其体积也自然越大,Ollama 默认将文件存储在系统硬盘(Windows 中为 C 盘,macOS 中通常名为 Mackintosh)中,若你想将模型的存储到其他位置,请在下载模型前在终端运行以下命令:
下载模型时,在终端运行
ollama pull 模型名称:参数级别
即可。例如,若要下载参数量为 7b 的 qwen2.5
模型,则运行 ollama pull qwen2.5:7b
即可。若要删除该模型,则运行 ollama rm qwen2.5:7b
即可。三、使用方法
通过 Ollama 调用大模型的方式有两种,一种是直接在终端中运行,另一种则是通过本地网页调用。
在终端运行 Ollama 十分简单,以
qwen2.5
模型为例,运行 ollama run qwen2.5:7b
后,在终端输入文字即可与其对话。需要注意的是,如果你没有安装这个模型,则会先下载该模型再开始对话。不过在终端对话的情景较少,更多还是通过端口调用,以通过 Python 或其他代码调用,或是将大模型嵌入其他应用中,例如沉浸式翻译、Zotero 等。而 Ollama 的调用方法与 OpenAI 的调用格式完全兼容,这也是当前最通用的调用标准。
通常来说,调用大模型至少需要三个参数:调用接口 Base URL、密钥 API Key、模型名称。而以下则是 OpenAI 和 Ollama 的相应参数。
参数名称 | OpenAI | Ollama |
调用接口 Base URL | https://api.openai.com/v1/chat/completions | http://localhost:11434/v1/chat/completions |
密钥 API Key | sk-xxxxxxxxxxxxx | ollama |
模型名称 | e.g., gpt-4o | e.g., qwen2.5:7b |
在任何一个可以调用 OpenAI 的应用中,将相应设置修改为 Ollama 的,即可调用你在本地部署的模型。
而若要在 Python 中调用,则可以使用 Ollama 的同名包来使用模型。pip 安装后,参考下面代码来调用,只需要修改
model
即可调用其他模型。上一篇
Python & R:基于 VSCode 的代码环境配置
下一篇
Homebrew 与 Oh My Zsh 安装指南
Loading...