一、理解你要做的三件事
整个流程可以拆成三层:
推理引擎:负责加载模型、执行计算。我们选择Ollama,因为它最容易上手。
模型文件:别人训练好的“大脑”,格式通常是
.gguf(量化后的 GGML 格式)或.safetensors。Ollama 会自动帮你下载兼容格式。交互界面:前端聊天页面。我们选Open WebUI,功能最接近 ChatGPT,支持插件、RAG、多模态。
这三层彼此独立:引擎跑起来,模型是它的“插件”,界面是它的“外壳”。
二、硬件评估:显存才是硬通货
1. 为什么显存比显卡型号重要?
模型运行时,所有参数和中间计算结果都要放在显存(VRAM)里。如果显存不够,就会溢出到共享内存或硬盘(Swap),速度暴跌几十倍。所以首要目标是让模型完全装进显存。
2. 显存需求怎么算?
一个粗略公式:
所需显存 (GB) ≈ 参数量 (B) × 量化位数 (bit) / 8 × 1.2
参数量:比如 7B = 70 亿参数。量化位数:FP16(未量化)是 16 bit,Q4_K_M 量化约 4.5 bit。1.2:额外开销(上下文缓存、KV 缓存等)。
实例:
Qwen2.5-7B,Q4_K_M 量化:7 × 4.5 / 8 × 1.2 ≈4.7 GB。一块 6GB 显存的 RTX 3060 可以轻松胜任。
Qwen2.5-32B,Q4_K_M 量化:32 × 4.5 / 8 × 1.2 ≈21.6 GB。需要 24GB 显存的 RTX 3090/4090。
3. 查显存大小
Windows:任务管理器 → 性能 → GPU → 查看“专用 GPU 内存”。
macOS:左上角苹果菜单 → 关于本机 → 查看“内存”。M 系列芯片的统一内存同时充当显存。
Linux:终端输入
nvidia-smi(N卡)或sudo lshw -C display。
4. 显存紧张怎么办?
选更高压缩比的量化,比如
Q2_K或IQ2。开启部分层卸载到 CPU(Ollama 会自动做,但速度会下降)。
使用llama.cpp手动指定
-ngl参数精确控制卸载层数。
开源大模型规模光谱:从1B到671B的完整地图
| 规模级别 | 典型参数 | 代表开源模型 | 未量化显存需求 (FP16) | 4-bit 量化后显存 | 推荐的硬件载体 | 能力表现与典型场景 |
|---|---|---|---|---|---|---|
| 超轻量级 (边缘/嵌入式) | 0.5B - 3B | Qwen2.5-1.5B Gemma-2-2B Phi-3.5-3.8B Llama-3.2-3B | 1 - 6 GB | 0.5 - 1.5 GB | 纯CPU 老旧笔记本 树莓派5(高配) Android 手机 | 简单对话、文本润色、信息提取。 非常适合在浏览器本地运行或离线翻译。 |
| 轻量级 (消费级入门) | 7B - 9B | Qwen2.5-7B Mistral-7B Llama-3.1-8B GLM-4-9B | 14 - 18 GB | 4 - 6 GB | RTX 3060/4060 (8GB显存) MacBook Air (16G M2/M3) 游戏本 | 通用助手、日常写作、代码生成、RAG 问答。 本地部署的甜点级选择,智能足够应付 80% 办公需求。 |
| 中量级 (消费级进阶) | 13B - 14B | Qwen2.5-14B Phi-4-14B Llama-3.3-14B | 28 GB+ | 8 - 10 GB | RTX 4070/5070 (12GB) MacBook Pro (24-32G M2 Pro) RTX 3090 | 复杂逻辑推理、长文撰写、高级代码重构。 能在消费级设备上跑出的较佳智能。 |
| 重量级 (专业/工作站) | 32B - 35B | Qwen2.5-32B Gemma-3-27B Yi-1.5-34B | 60 GB+ | 20 - 24 GB | RTX 3090/4090 (24GB) Mac Studio (64G M1/M2 Ultra) 服务器级 A100-40G | 拥有接近 GPT-4 的早期推理能力。 非常适合处理严肃的生产力任务和非联网环境下的高难任务。 |
| 超重量级 (个人玩物) | 70B - 72B | Qwen2.5-72B Llama-3.1-70B Command R+ 104B | 140 GB+ | 40 - 48 GB | 双路 RTX 3090/4090 或 Mac Pro (192G M2 Ultra) A100-80G | 达到了很高的智能水平。 如果你有足够的资源,这个级别是能买到的顶配之一。 |
| 怪兽级 (MoE 稀疏专家) | 141B - 236B (实际激活参数少) | DeepSeek-V3 (671B) Mixtral 8x22B Qwen2.5-230B | 庞大 | 极低,甚至无需 GPU | 大容量纯 CPU 服务器 海量内存的 Mac Studio | 极特殊的架构(MoE)。 比如 DeepSeek-V3 总参数虽达 671B,但每次推理只激活其中一小部分。只要有足够的内存(几百 GB),甚至能用纯 CPU 流畅跑。 |
| 史诗级 (科研/探索) | 405B+ | Llama-3.1-405B DeepSeek-R1 (671B) | 800 GB+ | 200 GB+ | 多卡 H100/A100 集群 或 Mac Pro 顶配 | 探索 AI 能力的边界。 属于国家实验室和大规模 AI 公司的专属,消费级硬件目前基本无法承载。 |
需要留意的关键点
硬件核心是显存,不是显卡有多新:运行大模型,显存容量是第一道坎。例如,10GB 显存的 RTX 3080 跑 7B 模型,比 6GB 显存的 RTX 4060 更从容。如果显存爆了,推理速度会骤降。
MoE 架构是未来的趋势:像DeepSeek-V3这种模型,总参数量很大,但每次只用一小部分,让个人用 CPU 也能体验。这正在改变游戏规则。
苹果 Mac 有优势:苹果 M 芯片(M1/M2/M3/M4)的统一内存架构,允许 CPU 和 GPU 共享大容量显存。一台 64GB 内存的 Mac,能直接运行 70B 的 4-bit 量化模型,而一块 24GB 的 RTX 4090 反而做不到。
个人本地部署的范围:目前大多数个人玩家主要部署 7B - 14B 的模型,这在消费级显卡上体验已足够好。有工作站的发烧友会尝试 32B - 72B。而DeepSeek这类 MoE 架构模型的出现,让普通大内存电脑也能摸到更高阶智能的门槛。
结合你的部署流程,现在可以这样选型
看看你的显卡显存或 Mac 统一内存有多大。
对照上面的表格,找到对应显存档位。
优先选该档位下的“甜点级”模型(比如 8GB 显存首选 7B 的 Qwen2.5,24GB 显存首选 32B)。
用 Ollama 拉取时,直接带量化标签,比如:
ollama run qwen2.5:7b(默认通常是 4-bit 量化)ollama run deepseek-r1:32b(这是 MoE 模型,需大内存)ollama run llama3.1:8b-instruct-q4_K_M
三、安装 Ollama:模型运行的发动机
Ollama 是一个轻量级本地推理服务器,基于 llama.cpp 封装,开箱即用。
1. 各系统安装细节
Windows
从 ollama.com 下载
.exe安装包。双击安装,默认路径在
C:\Program Files\Ollama。安装完成后,系统托盘会出现一个羊驼图标,说明后台服务已启动。
关键步骤:设置模型存储路径,避免 C 盘爆炸。
打开系统设置 → 搜索“环境变量” → 点击“编辑账户的环境变量”。
在“用户变量”区域点击“新建”:
变量名:
OLLAMA_MODELS变量值:
D:\OllamaModels(你想存放的盘符和文件夹)
点击确定,完全退出并重新登录系统或重启 Ollama 服务(右键托盘图标 → Quit,再重新打开)。
验证:打开新的 PowerShell 或 CMD,输入
ollama --version。
macOS
从 ollama.com 下载
.dmg,拖入 Applications。首次启动会要求授权,同意即可。
菜单栏出现羊驼图标即后台服务运行中。
修改模型路径:终端执行
launchctl setenv OLLAMA_MODELS "/path/to/your/文件夹"然后重启 Ollama 应用。
验证:终端输入
ollama --version。
Linux
curl -fsSL https://ollama.com/install.sh | sh脚本会自动添加软件源并安装。非 systemd 发行版需手动启动服务ollama serve。
修改模型路径需编辑 systemd 服务文件或设置环境变量OLLAMA_MODELS。
2. Ollama 常用命令
ollama list:已下载的模型。ollama pull <model>:只下载不运行。ollama rm <model>:删除模型。ollama show <model>:模型详情(参数量、量化、模板等)。ollama serve:手动启动服务器(默认后台运行)。
四、模型选型详解
1. Ollama 模型命名规则
模型标签格式:仓库名:版本-参数量-量化类型
例如qwen2.5:7b-instruct-q4_K_M:
qwen2.5:模型名7b:参数 70 亿instruct:指令微调版(专为对话优化)q4_K_M:量化方法。Q4_K_M是 llama.cpp 中最推荐的中等压缩级别,平衡效果与体积。
如果不指定量化标签,Ollama 通常会拉取默认的 Q4_K_M 量化。
2. 主流开源模型推荐(按场景)
| 场景 | 推荐模型 | 指令示例 |
|---|---|---|
| 中文对话王者 | qwen2.5:7bqwen2.5:14bqwen2.5:32b | ollama run qwen2.5:14b |
| 通用英文及代码 | llama3.2:3bllama3.1:8bllama3.3:70b | ollama run llama3.1:8b |
| 超长上下文 | llama3.1:8b(128K context) | ollama run llama3.1:8b |
| 数学/逻辑推理 | deepseek-r1:32bdeepseek-coder-v2:16b | ollama run deepseek-r1:32b |
| 轻量/边缘设备 | qwen2.5:1.5bphi3:3.8bllama3.2:3b | ollama run qwen2.5:1.5b |
| 多模态(图生文) | llava:13bbakllava:7b | ollama run llava:13b |
3. 拉取并运行
ollama run qwen2.5:14b首次自动下载。出现>>>即进入对话模式。输入/bye退出。
五、搭建网页交互界面:Open WebUI 完全指南
1. 为什么要用 Docker?
环境隔离:避免 Node.js/Python 版本冲突。
一键部署:不需要手动处理依赖。
易维护:删除容器即可彻底清除。
2. 安装 Docker Desktop
从 docker.com 下载对应系统版本。
Windows 安装时会提示启用 WSL2,同意并重启。安装后确保 Docker 图标显示为 Running。
Linux 直接通过包管理器安装 Docker Engine。
3. 启动 Open WebUI 容器
docker run -d -p 3000:8080 \ --add-host=host.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main参数解释:
-d:后台运行-p 3000:8080:将主机的 3000 端口映射到容器的 8080 端口,访问localhost:3000即可--add-host=...:让容器能通过host.docker.internal访问宿主机的 localhost,从而连接 Ollama 服务-v open-webui:/...:持久化数据卷,保存聊天记录、上传的文件等--restart always:开机自启
4. 首次配置
浏览器打开http://localhost:3000,首次需注册管理员账号(数据全部存在本地卷中)。登录后,系统会自动检测到本地运行的 Ollama 服务,并在左上角模型列表里显示所有已下载模型。
5. 高级功能
RAG(上传文档问答):左侧栏 Workspace → Documents 上传文件,然后在聊天框中用
#引用文档。Web 搜索:设置 → 管理员设置 → 网络搜索 → 启用,选择
duckduckgo(免费)或google_pse(需 API Key)。多模态:支持图片输入,需搭配多模态模型(如
llava)。API 访问:Open WebUI 兼容 OpenAI API 格式,可被其他应用调用,端点
http://localhost:3000/api。
6. 不使用 Docker 的替代方案
如果不想装 Docker:
Open WebUI 源码启动:需要 Python 3.11+ 和 Node.js,参考 官方文档。
其他图形界面:
Chatbox(全平台客户端,极简,直接连接 Ollama)
LM Studio(自带界面,内置模型下载,不依赖 Docker)
Lobe Chat(功能丰富,支持插件)
六、性能调优与监控
1. 确认 GPU 加速是否生效
运行模型时,Ollama 默认尝试使用 GPU。查看是否启用:
ollama run qwen2.5:7b --verbose退出对话后,回滚日志中会显示llama_print_timings信息,包含 GPU 推理时间。如果prompt eval time和eval time非常慢,可能回退到 CPU。
2. 强制使用 GPU
Ollama 自动选择,一般无需干预。若想限制,可设置环境变量CUDA_VISIBLE_DEVICES=0。
3. 并发与多用户
Ollama 支持并发请求,但受限于显存。可通过环境变量OLLAMA_NUM_PARALLEL设置最大并行请求数(默认 1)。
4. 调整上下文长度
默认上下文窗口通常是 2048 或 4096。可通过自定义 Modelfile 扩大:
ollama show qwen2.5:7b --modelfile > Modelfile编辑 Modelfile,加入PARAMETER num_ctx 8192,然后:
ollama create my-qwen -f Modelfile ollama run my-qwen七、高级部署工具简介
| 工具 | 适用场景 | 核心特色 |
|---|---|---|
| llama.cpp | 极致优化,CPU/GPU 混合 | 纯 C++,量化格式创建者,可自定义每层卸载,适合嵌入式设备及研究。 |
| vLLM | 生产级高并发 API | PagedAttention 显存管理,吞吐量极高,适合对外服务。 |
| LM Studio | 新手图形化,远离命令行 | 全图形操作,内置模型搜索下载,开箱即用。 |
| LocalAI | 一站式本地 AI 平台 | 支持 OpenAI 接口,可同时跑模型、TTS、图像生成。 |
八、疑难杂症速查
| 症状 | 诊断思路 | 解决方法 |
|---|---|---|
| 下载模型时“connection refused” | Ollama 后台服务未启动 | 重新启动 Ollama 应用,或终端运行ollama serve |
ollama run报 “pull model manifest: ... not found” | 网络问题或模型名称错误 | 检查拼写,换国内镜像(设置OLLAMA_HOST或代理) |
| 显存不足错误(out of memory) | 模型太大 | 选择更小参数量或更高压缩比的模型,如qwen2.5:3b |
| 回答速度极慢(一个字一个字蹦) | 模型跑在 CPU 上 | ollama run <model> --verbose查看使用 GPU 情况,检查显卡驱动 |
| Docker 容器启动失败 | 端口占用或 Docker 服务未运行 | 用netstat -ano | findstr 3000查端口占用,改-p 3001:8080 |
| Open WebUI 连不上 Ollama | 网络不通 | 确保容器启动时加了--add-host参数,或者 Ollama 监听 0.0.0.0:ollama serve前设置环境变量OLLAMA_HOST=0.0.0.0 |
| 中文回答夹杂英文 | 模型中文训练不足 | 换用专门的中英文模型如 Qwen,或调整 prompt 要求全中文。 |
| Windows 下 Docker 依赖 WSL | WSL 未安装 | 以管理员身份运行wsl --install重启。 |
九、三步速成总结
装引擎:去 ollama.com 下载安装 Ollama。
拉模型:终端输入
ollama run qwen2.5:7b并等待下载。套界面:用 Docker 跑 Open WebUI,浏览器打开
http://localhost:3000。
至此,你就拥有了一台完全属于自己的、离线的 AI 工作站。之后无论是搭建知识库、处理敏感文件,还是开发自己的 AI 应用,这个本地环境都是最稳固的起点。
顶层分叉:你的项目需要跑 AI 大模型或通用操作系统吗?这决定了进入有 MMU 的 MPU 世界,还是无 MMU 的 MCU 世界。
左侧红色 MPU 世界:选择指令集(x86/ARM/LoongArch)和操作系统后,根据显存或统一内存大小,从 7B 到 671B 的模型规模全谱系都可以本地部署,用 Ollama 等工具一站搞定。
右侧绿色 MCU 世界:联网用 ESP32,控制用 STM32,入门用 Arduino,它们运行裸机或 RTOS,专注实时感知与执行。
中间的虚线:两个世界并非孤立。ESP32/STM32 可以作为大模型的“感官”和“手脚”,通过 Wi-Fi 或 CAN 总线把数据传给 MPU 上的 AI 大脑,大脑决策后再发回指令,形成完整的具身智能闭环。