mac mini 玩转本地大模型

02 · 第一个模型住进盒子:LM Studio 入门

约 12 分钟驭光者首发于微信公众号「羲和Lab」

系列:mac mini 玩转本地大模型 · 第 2 篇 副标题:从第一次对话到一盏长明灯

导读:01 篇的账本记得再好,也得真机来对账。本篇装上 LM Studio,请第一个模型住进盒子:甜点区选型、15GB 体积账闭环、18.8 tok/s 首次实测、两个新手坑,最后把火种留成断电不灭的长明灯。附完整测试口径与断电自启验证实录。

开始之前

  • 适合谁:想用图形界面在 Mac 上跑本地大模型的读者(Apple Silicon 通用;Windows/独显读者可作思路对照)
  • 需要什么:00/01 篇的配置与账本(或等效环境)+ 约 20GB 可用磁盘 + 一张可信的局域网
  • 预计耗时:纯阅读 14 分钟;跟着做约 1 小时(大头是 15GB 模型下载,视网速浮动)
  • 本篇实测环境:Mac mini M5 Pro 高配版(18 核 CPU / 20 核 GPU / 64GB / macOS 27.0)+ LM Studio 0.4.25+1(官网 dmg,2026-09-23 安装);全部性能数字真机实测(2026-09-24),口径见第四章

一、开篇:点火时刻,先对账

00 篇擦亮了火柴盒,01 篇盘清了燃料。这一篇,点火。

火柴划下去之前,先对两笔账。

第一笔,路线账。 01 篇预告的顺序是:02 篇讲 Ollama(命令行)、04 篇讲 LM Studio(图形界面)。真机实践把顺序对调了——我们先把 LM Studio 装上了:图形界面是"第一个模型住进盒子"的最短路径,还顺手攒下一整套性能实测。这不是打补丁,是本系列的写作方法:实验日志先行,实践走到哪,文章跟到哪。命令行的炉子不缺席,04 篇 Ollama 兑现。

第二笔,种子账。 前两篇埋的钩子,这篇逐一处置:

00/01 埋的钩子02 篇处置
种子一 · 散热摆放01 篇已结清(摆放原则 + CPU 短时满载实测)
种子二 · 存储规划01 篇磁盘账已算;本篇下载 15GB 级模型,账继续记
种子三 · 断电自启本篇第五章兑现(实测通过)
01 篇钩子"02 篇再上仪器"(GPU 长时散热)如实交代:实验日志暂无长时数据,与 03 篇 70B 重载实测合并进行

表注:散热线是两笔账——"摆放原则 + CPU 短时压力"01 篇已结清;这次合并的只是"GPU 长时仪器实测"一笔。合并不是销账,03 篇见。

本篇路线:装 LM Studio → 请模型入住 → 跑通对话 → 开成本地服务 → 验证断电自启。最重要的一件事藏在中间:01 篇那套速算公式,将第一次接受真机检验——理论账和真机账能不能对上,四章见分晓。

二、安装 LM Studio:点火装置到手

01 篇的工具链三路线(可回看)里,LM Studio 的标签是"图形界面党福音:点鼠标搜模型、下载、开聊"。这一篇就走这条路——全程不碰终端,直到第五章你需要复制一条命令。

安装(可照做):去官网下载 macOS 安装包(dmg),双击打开,把 LM Studio 拖进"应用程序",首次打开即装完。没有依赖、没有配置文件——GUI 路线的第一份红利。

安全提醒(本节唯一红线):只从官网 lmstudio.ai 下载——第三方下载站是 Mac 软件的老牌雷区,捆绑安装器、过期版本都有。

我们的实测安装:官网最新版 dmg,版本 0.4.25+1,2026-09-23 安装。你操作时以官网当期为准——00 篇立的口径纪律:锁版本号,记日期。

装好打开,界面先认三个区,后面三章各用一处:

  • 模型目录:应用内搜模型名,挑格式与量化版本,点下载。第三章的主场。
  • 聊天:加载模型直接开聊,参数面板可视化调节(温度、上下文、max_tokens)。第四章的主场。
  • 本地服务(Developer 标签页):把加载的模型变成一个 OpenAI 兼容的 API 服务。第五章的主场。

一句话概括这份点火装置:模型目录管进货,聊天管试用,服务管上岗。三区认熟,往下走。

三、第一个模型住进盒子:选型与下载

3.1 搜什么:第一次动用 01 篇的账本

01 篇速查表的总结句你还记得:64GB 的甜点是 32B-Q4("甜点"借硬件圈说法,指性价比与余量都最优的档位)。真机选型第一次动用这本账——我们选了 27B 参数、4bit 量化:落在甜点区里,还留了余量。

操作:模型目录搜索框输入 qwen3.8-27b,结果里挑 MLX 后端、4bit 量化的版本(LM Studio 显示名 Qwen3.8-27B-MLX-4bit,官方名 qwen/qwen3.8-27b,lmstudio-community 发行;命名与规格以模型目录页显示为准),点下载。下载完成后点加载,15GB 权重搬进统一内存——实测载入约 6 秒(数字来自第五章断电回载场景)。

规格卡(来自被测系统 API 实测元数据,一手数据):

  • 参数 27B · 4bit 量化 · MLX 后端
  • 多模态(VLM)——能看图
  • 支持 tool_use(函数调用)——07 篇联动 agent 的地基
  • 上下文上限 262,144(约 26 万 token)

3.2 体积账闭环:速算公式第一次走完全链路

01 篇体积账公式:模型文件大小 ≈ 参数量 × 量化位宽 ÷ 8。Q4 有效位宽按 4.5 记(01 篇口径),代入:

27 × 4.5 ÷ 8 ≈ 15.2GB(估算值)

下载完成后 du 实测:15G(du 取整读数)。估算 15.2GB 对实测 15G——基本吻合。这是 01 篇速算公式第一次走完全链路:从纸面估算,到真机磁盘上的实际文件。账本第一次和真机对上了账。

换档读者(硬性指路,对照 01 篇速查表"舒服跑"列,Q4 口径):

  • 16GB 机器:选 7B-8B
  • 32GB 机器:选 14B
  • 64GB 机器:14B-32B 随意,27B 正是舒服档

格式落地(呼应 01 篇格式小知识):LM Studio 两种格式都吃——GGUF 与 MLX。Apple Silicon 上优先选 MLX:原生格式、原生加速,LM Studio 的 MLX 引擎直接驱动 GPU。模型目录里同一模型两行并列时,选 MLX 那行。

3.3 磁盘账续记(种子二呼应)

一个 15GB 的主力模型落了地,顺手看一眼模型目录总账:合计 119GB——其中还有个 104GB 的 Qwen3.8-Flash-Next-4bit(新下载、尚未跑过,03 篇"更大规模摸底"的现成实验对象)。256GB 的盘,01 篇那句"很快见底"不是吓唬人,是正在发生。

3.4 加载上限 ≠ 使用建议:208K 的正确读法

模型加载后,界面会显示本次加载的上下文。本机实测加载了 208,384(约 208K)——这是 LM Studio 的默认值,我们全程没动参数(GPU offload 同样保持默认)。

208K 看着唬人,但加载容量大,不等于该用满。两个理由:

  1. 内存代价:上下文越长,KV cache 吃的内存越多,线性上涨(01 篇运行账)。208K 说的是"池子有多大",不是"该舀多少水"。
  2. 等待时间:模型动笔前要先把你的输入整个读一遍(prefill,下章细说)——按实测速度折算,1 万 token 的开场白就要等 70-80 秒。纸面够,实际用不满。

所以使用建议不变,仍是 01 篇口径:日常对话 8k-16k 起步,长文档场景再逐步试高。默认值为什么给这么大、KV 到底怎么算——03 篇量化课细算。

四、第一次对话:火苗窜起的体感与两个坑

4.1 先立口径:全文数字对这张表负责

性能数字要说得硬气,先把测试条件钉死。本篇所有性能数字的口径:

项口径
硬件Mac mini M5 Pro(18 核 CPU / 20 核 GPU / 64GB / macOS 27.0)
软件LM Studio 0.4.25+1(官网 dmg,2026-09-23 安装)
模型Qwen3.8-27B-MLX-4bit · 加载上下文 208,384 · 全程默认参数
测试方式温度 0;同网段有线;流式响应毫秒级逐行打点
基准性质各场景单次探索性基准,数值作量级参考;生成速度经三场景交叉验证(18.8 / 18.7 / 17.3 tok/s);4 路并发起单流降至 14-15(并发批内行为,口径见 5.3 表注)

4.2 单流体感:18.8 tok/s,以及公式的第一次真机验收

实测单流生成速度:18.8 tok/s——数数与散文两个场景 18.8 / 18.7,2 路并发下单流 17.3,17~19 区间三场景交叉,这个数置信较高。

体感先说结论:输出比常人朗读快,你读得过来——字一个个刷出来,长回答盯着看也不憋气。短 prompt 下首字等待(TTFT,从发出到第一个字落地)1.1-1.5 秒,有"秒回感"——对话体验里最影响观感的一项,及格线以上。

然后是本篇埋了一路的高潮——01 篇速算公式的真机验收:

生成速度上限 ≈ 带宽 ÷ 模型体积 307 ÷ 15 ≈ 20.5 tok/s(理论) 实测 18.8 tok/s

量级吻合。 01 篇纸上推演的那行速算公式,第一次怼上真机就站住了。两句丑话说在前面:一,不能由此反推精确的带宽利用率——体积本身是量级估算(速算 15.2GB、实测 15G),误差会传导;二,单次探索性基准,看量级,别抠小数点。但作为入门第一课,这个对账足以说明:三笔账不是纸上谈兵,是能指导真机预期的罗盘。

4.3 长上下文的等待:prefill 初体验

短 prompt 秒回,长 prompt 是另一本账。模型动笔前要先把你的输入整个读一遍,这段叫 prefill,实测速度约 123-129 tok/s:

  • 1,153 token 的 prompt:等 9.4 秒出首字
  • 3,181 token 的 prompt:等 24.6 秒

读得慢、写得快,是两本账——生成 18.8 对 prefill 约 125,差近一个数量级。这是模型的"翻书时间":书越厚,翻越久。

由此立本篇体验红线:单请求 prompt 控制在 4k 以内,聊天 max_tokens 给到 1000 以上。prefill 背后的算力账(为什么读比写贵)——03 篇量化课正式展开。

4.4 两个坑:思考关不掉,和沉默的宽容

坑一:思考模式关不掉。 这个模型是思考型——先打草稿再作答。在本文实测口径(LM Studio 0.4.25+1 + Qwen3.8-27B-MLX-4bit + MLX 后端)之下,思考关不掉:聊天里 /no_think 软开关无效,API 侧硬开关(chat_template_kwargs.enable_thinking=false)也无效。规避方式就一条:max_tokens 别设小,且按任务分级。 小预算(50 以下)遇上关不掉的思考,正文直接交白卷;实测一次 4000 token 预算的编程任务,思考烧完了全部预算,正文零交付——所以:日常聊天 ≥1000 起步;编程等复杂任务给更高,实测 4000 也不保险,按任务规模调大。

坑二:服务的静默回落。 第五章的服务有个"过于宽容"的脾气——你请求一个不存在的模型名,它不报错,返回 200 并拿当前加载的模型照样回答。客户端必须自己校验响应里的 model 字段与请求是否一致。详见 5.3。

彩蛋一句:这是个 VLM,能看图。实测丢给它一张自绘的红蓝双色 PNG,描述准确,往返 5.9 秒。

五、本地服务:把火种留成长明灯

5.1 一键开服务:盒子变成 API 服务器

聊天窗口是"自己用",本地服务是"给全家用"。Developer 标签页里把服务打开,LM Studio 会在 1234 端口起一个 OpenAI 兼容的 API 服务——本机实测形态 http://192.168.31.163:1234(你机器上以界面显示为准)。

验证一条 curl(可照做——示例用 127.0.0.1,即在本机上自己问自己;从局域网其他设备访问时再换成你 mini 的内网 IP,且先确认过了下面的安全清单。注意 model 字段用的是官方 id,不是界面显示名):

curl http://127.0.0.1:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen3.8-27b",
    "messages": [{"role": "user", "content": "从1数到5"}]
  }'

拿到响应后多看一眼:校验返回里的 model 字段与请求一致——这个服务对写错的模型名不报错(4.4 坑二的静默回落),状态码 200 不代表打对了模型。

实测这句冒烟对话(本机实测形态走局域网 IP http://192.168.31.163:1234):8.7 秒往返(含思考),正文 "1,2,3,4,5",正常收尾。

这件事的意义比看起来大:任何支持 OpenAI API 的工具和脚本,把 base_url 改成这台盒子的地址,就完成了"接入你自己的模型"。07 篇 OpenClaw 联动,地基就是这一步。

安全边界清单(实测无鉴权 → 以下不是建议,是硬约束):

  1. 只自己用时,服务绑定选"仅本机"(127.0.0.1)——最干净。操作:服务设置里把"局域网可访问"(Serve on Local Network)一类开关关掉,服务就只监听本机(我们实测局域网可达,说明这个开关开着;名称以当期界面为准)
  2. 局域网共享:只开给可信局域网(家里、自己工作室的网)
  3. 需要跨网段访问:防火墙限制来源 IP
  4. 禁止直接做公网端口映射——实测这服务没有鉴权,裸暴露等于把一台 64GB 模型服务器免费挂上公网
  5. 远程访问走加密隧道(SSH 隧道一类;具体工具未实测,此处只给原则,不展开)

5.2 断电自启:种子三兑现(实测实录)

00 篇种子三说:常开机器最怕停电后来电没人管。现在验证它。

方法(可照做,两层配置缺一不可):

  • 系统层:系统设置里打开"断电后自动启动"(00 篇种子三原文)——管"来电开机"
  • 应用层:LM Studio 的 Enable Local LLM Service 开关(官方释义"不开 App 也能跑服务"),登录项里包含 LM Studio——管"开机后服务自己起、模型自己回"

验证(2026-09-24 上午实测,全程无人值守):直接拔电,隔十秒重新接电。然后只在另一台机器上盯着探针,看盒子自己爬起来:

时刻事件
来电后约 40 秒服务回到 1234 端口(首个有效响应)
来电后约 1 分半端到端就绪:服务启动 + 模型自动回载 + 可对话(其中权重载入本身约 6 秒,其余是开机与服务起)
随后冒烟对话"从1数到5",8.7 秒往返 ✓

链路结论:断电 → 来电 → 开机 → 服务自起 → 模型自动回载 → 可对话,全自动无人值守。火种没有熄,它自己爬回了灯芯。

三条口径注,如实交代。一,恢复时间都写"约"——断电精确时刻被一段客户端网络怪象遮蔽,该窗口已从计时中剔除。二,实测中服务由 LM Studio 的后台服务承载,不开 App 窗口服务也在——这正是那个开关的意义。三,系统层自启与服务归属的机制细节(哪个配置键起效、算登录级还是系统级)——链路实证已通,机制不猜,留给较真的读者当作业。

5.3 服务能力边界:一张并发表

单人流之外,这台服务能伺候几路?实测数据:

并发单流速度聚合吞吐首字等待
1 路18.8 tok/s—1.1-1.5s
4 路14.7 tok/s47.6 tok/s4.2-4.3s
8 路14.2-14.9 tok/s47.5 tok/s(封顶)双峰:4 路约 4.2s + 4 路排队 26.7s

表注(口径钉死,先读再用表):

  • 单流速度 = decode 段口径:从首个生成块到末块的时长,不含 prefill 与排队
  • 聚合吞吐 = 端到端口径:全部流的 token 总数 ÷ 最慢一路的总时长,含排队与 prefill
  • 两列口径不同:47.6 < 14.7 × 4 不是矛盾,是分母差异;各流起止错峰,进一步拉低聚合值——不可拿两列直接相乘比较

怎么读这张表:8 路并发的首字等待呈双峰——4 路几乎即时拿到生成槽,另外 4 路排队 26.7 秒。这说明并发生成槽位约 4 个(第 5 个槽位本文数据不足以确证,不猜)。

一个反直觉现象值得点名:4 路聚合 47.6 tok/s,明显超过"带宽 ÷ 体积"的单流上限 20.5——多路并发可能分摊了同一次权重读取(连续批处理机制)。注意:这句是推测性解释(测试报告未归因此点),03 篇量化课正式展开,此处只记现象。

整体定位(报告结论):这是一台约 4 路并发的轻量共享网关(第 5 路未确证,同上文槽位口径)——聊天、RAG、轻量 agent 都称职。embedding 吞吐与 tool_use 实测数据留给 06/07 篇,本篇不贪多。

服务端还有两个小脾气,各一句:静默回落(4.4 坑二——请求不存在的模型名仍返回 200 正常回答,客户端须校验 model 字段);假 200(不支持的端点返回 HTTP 200、错误藏在 body 里——客户端要解析 body,不能只看状态码)。

六、验收与预告

本篇已验证(我们真机全部跑通):

  • LM Studio 装好(0.4.25+1,官网 dmg)
  • 第一个模型加载(64GB 档选 27B-Q4,落在甜点区)
  • 对话跑通(体感与 18.8 tok/s 量级对得上)
  • curl 探活本地服务(1234 端口,OpenAI 兼容)
  • 断电自启链路实测通过(来电约 1 分半恢复可对话,无人值守)

读者作业:

  • 在自己的机器上把第五章断电链路走一遍(我们的实录供对照)
  • 16/32GB 读者:按 3.2 降档路线换模型,跑出你自己的"18.8"

太阳已经点燃。下一篇,学会算清它的燃料账——《03 · 显存账与量化课:M5 Pro 64GB 到底能跑多大》:GGUF 量化等级拆解、70B 级重载实测 + GPU 长时散热观察(本篇的补偿承诺在此兑现)、prefill 背后的算力账,以及 01↔02 公式对照的正式核算。


参考资料

  • LM Studio 官网:https://lmstudio.ai/
  • Qwen 模型卡(Hugging Face qwen 组织页;本篇模型命名以 LM Studio 模型目录页显示为准):https://huggingface.co/qwen
  • 本系列 01 篇《开箱点火:64GB 统一内存到底意味着什么》(体积账 / 甜点位 / 工具链三路线,对账基准)
  • 本篇性能数字来源:系列实验日志 02《LM Studio 真机实测》(2026-09-24,探索性基准口径,详见第四章口径表)

免责声明

本文内容仅供学习交流,所述方法需结合实际场景灵活运用。文中性能数字为特定硬件、软件与模型版本下的探索性基准,实际表现因环境而异;LM Studio 界面与设置项以当期官方版本为准。

本地服务默认无鉴权,请遵守文中安全边界清单,勿将服务暴露至公网。

本文由 AI 辅助创作,经人工审核编辑后发布。

本文首发于微信公众号「羲和Lab」,公众号内可留言交流

阅读公众号原文