折腾了两周,我终于在本地跑起来了Llama 3.1 70B的量化版。说出来有点丢人,前前后后重装了五次驱动,烧坏了一个电源转接头,还把ubuntu的桌面环境搞崩了三次。但当我看到终端里那个prompt弹出来的时候,感觉比第一次用ChatGPT还激动。
先说说我的配置吧。一张RTX 4090,24G显存,128G内存,i9-13900K。听起来挺唬人的对吧?但跑70B模型,哪怕是4bit量化,24G显存也就刚刚够。我用的ollama,版本0.3.3,拉模型的时候还特意选了q4_K_M版本,据说这个版本在速度和精度之间平衡得最好。
第一次跑的时候,我满怀期待地敲了`ollama run llama3.1:70b`,然后看着显存占用直接飙到22.7G,风扇声音大得像飞机起飞。等了大概40秒,第一个token才吐出来。然后就是每秒钟大概3到4个token的速度。什么概念呢?就是你问它一句“今天天气怎么样”,它要思考半分钟,然后一个字一个字往外蹦,像极了小学生写作文。
我试着让它写一段200字的文案,等了整整三分钟。中间我甚至去倒了杯水,上了个厕所,回来发现它才写到一半。这还是在量化过的模型上。要是跑原版70B,估计我电脑能直接变成暖气片。
相比之下,云端调用GPT-4或者Claude,那个体验简直丝滑到不真实。问一句话,基本上2秒内就开始回复,而且速度稳定在每秒30到40个token。本地跑这个速度?做梦去吧。
但我还是坚持用本地模型跑了一周,主要就是想看看这玩意儿到底能不能用。
先说好处吧。第一个是隐私。我写博客经常要处理一些比较敏感的话题,比如某些公司的内部消息啊,或者我自己的一些吐槽。这些东西丢到云端,总感觉心里不踏实。虽然OpenAI说数据不会被用来训练,但谁说得准呢?本地跑的话,模型文件就那么躺在硬盘里,网络断了照样能用,这种感觉确实很爽。
第二个是省钱。我算了一笔账,用GPT-4 Turbo的话,一个月大概要花掉我80到100美元。这还是在我控制使用量的情况下。本地跑的话,电费一天也就多花两三块钱,显卡折旧算进去,一年下来也就相当于两三个月的云端订阅费。而且4090还能用来打游戏,对吧?
第三个是自由。云端模型经常被各种限制整得烦死了。你让它写个稍微暴力一点的场景,它给你来一句“我不能生成包含暴力的内容”。你让它分析一下某个政治事件,它直接拒答。本地模型就不一样了,你想让它说什么它就说什么,没有任何审查。当然,这也意味着你要自己承担后果。
但坏处也很明显,而且比好处多得多。
首先是速度问题。我刚才说了,70B模型每秒3个token,这个速度基本上只适合做离线批处理。你想用它来实时对话?别想了。我试过用它来帮我写代码,问一句“帮我写个Python函数,读取CSV文件并做数据清洗”,它思考了快一分钟,然后给我生成了一个代码片段。我复制过去一跑,报错。再问它怎么改,又是一分钟的等待。来回几次,我直接暴躁了。
我后来换成了7B的模型,比如Mistral 7B或者Qwen2.5 7B。速度快了很多,每秒能到20个token左右,跟云端差不多。但质量就拉胯了。同样是写代码,7B模型经常写出逻辑错误,有时候连基本的语法都搞不对。写文案就更别提了,写出来的东西干巴巴的,像初中生的作文。
而且还有个很坑的问题——上下文长度。云端模型动不动就是128K甚至200K的上下文,你丢一本书进去它都能记住。本地模型呢?我试过把一篇3000字的文章作为上下文丢给Llama 3.1 70B,结果它直接OOM了。后来我用的是8K上下文的版本,稍微长一点的对话就忘得一干二净。你要跟它讨论一个复杂的话题,必须每隔几分钟就提醒它“我刚才说了什么”,这种感觉就像在跟一个健忘的老大爷聊天。
还有一个很多人忽略的问题——模型更新。云端模型今天更新了,你马上就能用上最新版本。本地模型呢?你得重新下载。Llama 3.1刚出来的时候,我花了整整一天时间下载那个70B的模型文件,45GB。中间断了一次,还得从头再来。然后过了两周,Meta又出了个新版本,我又得重下。这谁受得了?
我觉得本地跑大模型这件事,目前最适合的场景有两个。
第一个是离线批处理。比如你要处理一批敏感数据,不想传到云端,可以用本地模型慢慢跑。反正不赶时间,让它跑一晚上也没问题。
第二个是微调。如果你想针对自己的数据微调模型,本地跑是唯一的选择。云端虽然也有微调服务,但价格贵得离谱,而且数据还得上传。我最近在微调一个7B的模型,用来帮我写技术博客。训练了一个晚上,效果还不错,至少写出来的东西不会出现那种“AI味”很重的句子了。
但如果你只是想日常用AI写写东西、聊聊天、查查资料,我还是建议用云端。别跟自己过不去。本地跑大模型这件事,目前真的只适合折腾党、技术宅,或者像我这样有特殊需求的创作者。
哦对了,我最后把那台ubuntu系统的显示器拆了,换成远程ssh连接。因为桌面环境被我搞崩了之后,我懒得修了,直接命令行操作。现在我的4090安安静静地躺在机箱里,偶尔跑一下批处理任务。大部分时候,我还是在用Claude和GPT-4写东西。
所以,本地跑大模型这件事,我的结论是——你可以试试,但别指望它能替代云端。至少在2024年这个时间点,还差得远。等什么时候消费级显卡能有100G显存,本地模型的速度和质量才能跟云端掰手腕。那大概得等到RTX 6090或者7090了吧。
希望那时候我还能买得起。
📎 延伸阅读
看完这篇,如果你想:
- 直接拿工具 → 回复”13“,我把跨境获客工具包发给你
- 系统学习 → 点击菜单”AI训练营”,从0开始跑通AI变现