起因:大模型很火,我想试试

某天,我刷到了“本地部署 LLaMA 3”、“单机运行 ChatGPT 级别模型”的视频。博主行云流水地敲了几行命令,然后一个智能助手就在他的终端里诞生了  
我心想:我好歹也学过几天 Linux,敲过 `ls`、`cd`、`sudo rm -rf /*`(误),部署个模型能有多难?

于是,我打开我那台只有 8GB 内存、没有独立显卡的轻薄本,开始了噩梦苦旅

第一章:安装 Ollama,一帆风顺?

网上都说 Ollama 最简单,一行命令搞定。我照做了:
curl -fsSL https://ollama.com/install.sh | sh

顺利得让我有点不安。安装完成后,我迫不及待地运行:
ollama run llama2:7b

然后看到一行字:`pulling manifest`,接着就开始下载。我欣慰地想:这不挺简单吗?

五分钟后,下载进度 5%
二十分钟后,30%
一个小时后,90%然后卡住了。进度条再也不动了。我重试,从头开始。我换网络,依然慢如蜗牛。我心想,难道要挂代理?可我连代理都不会配。最后,我用了三天时间,断断续续地把它下完了

第二章:第一次跑起来,但……

下载完 `llama2:7b`,我运行 `ollama run llama2:7b`,终端显示 `>>> Send a message`我激动地打了“Hello”

然后风扇狂转,CPU 占用 100%,过了整整两分钟,它回了一句:“Hello! How can I help you today?”  
我感动得差点哭出来——不是因为回答多好,而是它居然没崩

我问了一个稍微长一点的问题:“请写一篇关于人工智能发展的短文” 
终端闪了一下,然后弹出一个词:`exit`。模型崩了
我查了一下,7B 模型需要大约 8GB 内存,而我的电脑只有 8GB,系统还占了一半
于是我只能跑更小的模型,比如 `tinyllama`。它的回答质量嘛……大概和 2005 年的机器人客服差不多

第三章:尝试 GPU 加速,结果发现没显卡

我听说用显卡跑会快很多,而且能跑大模型。于是我打开终端,输入 `nvidia-smi` 
返回:`command not found`。 
我装驱动,发现我的笔记本显卡是 Intel 集成显卡。NVIDIA?不存在的

我搜索“AMD 集成显卡 大模型 加速”,得到的答案基本都是:放弃吧  
我不甘心,又搜索“CPU 加速推理”,找到了 `llama.cpp`,据说可以用 CPU 的 AVX2 指令集优化  
于是我又开始了漫长的编译之旅

第四章:编译 llama.cpp,依赖地狱再现

我 `git clone` 了 `llama.cpp`,按照 README 执行 `make`。报错:`missing g++`  
我装 `g++`。然后又报错:`missing make`。我装 `make`。然后又报错:`c++17 not supported`  
我升级 GCC,结果破坏了系统的依赖关系,VSCode 打不开了

我花了整整一个晚上修复系统。最终我学会了 `docker`,拉了一个现成的 `llama.cpp` 镜像,才勉强跑起来

第五章:量化模型,我成了硬盘杀手

`llama.cpp` 需要把模型转换成 `gguf` 格式,还要量化以减少内存占用。量化等级有 Q2、Q4、Q8……我选了 Q4

转换一个 7B 模型需要下载原始模型文件(13GB),转换过程又需要额外的临时空间。我的 256GB 硬盘瞬间被塞满。我删掉了 Steam 游戏,删掉了下载的电影,甚至删掉了 `/var/cache/apt/archives`。最后,我终于得到了一个 4GB 的量化模型

运行 `./main -m tinyllama.gguf -p "你好"`,等待 30 秒,输出:“你好,世界!”  
虽然慢,但至少没崩

第六章:Web 界面,我又掉进了 Node.js 的坑

我不想只在终端里和模型对话,想搞一个漂亮的 Web 界面。教程推荐 Open WebUI,需要 Docker

我装 Docker,启动容器,访问 `localhost:3000`。页面出来了,但模型列表是空的。查了半天,原来是 Ollama 和 Open WebUI 的网络没打通。我又加了 `--network host` 参数,终于连上了

但每次对话,浏览器都会转圈圈半分钟,然后才显示一个字一个字往外蹦。室友凑过来看:“你这 AI 怎么像脑血栓患者?”我无言以对

第七章:最后的妥协

折腾了两周后,我放弃了在本地跑任何超过 3B 参数的模型
现在我用的是一个叫做 `phi-2` 的小模型,它只有 2.7B,能在我的笔记本上流畅运行。虽然它不会写诗,不会写代码,连基本的逻辑推理都经常出错,但它至少不会崩溃

每当我问它一个复杂问题,它给出一个驴唇不对马嘴的回答时,我都会想起那段编译 `llama.cpp` 的深夜,想起那些 `CUDA out of memory` 的幻想,想起那台风扇嘶吼到差点起飞的笔记本

结尾:我收获了什么?

我依然没能像视频博主那样,在自己的电脑上跑起一个聪明的 AI 助手。  
但我学会了:
如何编译开源项目
如何配置 Docker 网络
如何量化模型
如何用 `strace` 调试进程崩溃
最重要的是:*在开始一个项目前,先看清自己的硬件*

现在,我用云 GPU 租用服务跑大模型,每小时几块钱,快得飞起。我的笔记本恢复了它安静的看视频、写文档的功能

至于本地部署?也许等我买了带 24GB 显存的台式机再说吧
不过到那时候,大概又会有更大、更吃配置的模型出来了

永远追不上,但永远在追——这可能就是 AI 时代的宿命吧

如果你也想在 Ubuntu 上部署本地大模型,我唯一的建议是:先看钱包,再看配置,最后再看教程
以及,做好删游戏的准备

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐