<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>LM Studio on KnightLi的博客</title>
        <link>https://knightli.com/tags/lm-studio/</link>
        <description>Recent content in LM Studio on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Wed, 22 Apr 2026 21:47:34 +0800</lastBuildDate><atom:link href="https://knightli.com/tags/lm-studio/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>16G 显卡也能跑 35B 模型：LM Studio 下 MoE 模型的显存压缩思路</title>
        <link>https://knightli.com/2026/04/22/16gb-gpu-run-35b-moe-models-in-lm-studio/</link>
        <pubDate>Wed, 22 Apr 2026 21:47:34 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/22/16gb-gpu-run-35b-moe-models-in-lm-studio/</guid>
        <description>&lt;p&gt;很多人对 16G 显存的印象是：本地部署大模型时，差不多也就跑到 12B 到 14B，量化之后再往上就很吃力了。这个判断不算离谱，但也不是 16G 显卡的真正上限。&lt;/p&gt;
&lt;p&gt;如果模型选型和参数设置都合适，16G 显卡并不只能停留在“小参数量模型”这一档。围绕这件事，一套比较有代表性的思路是：在 &lt;code&gt;LM Studio&lt;/code&gt; 里利用 &lt;code&gt;MoE&lt;/code&gt; 模型和合理的卸载策略，把 35B 级模型跑到比较可用的速度。&lt;/p&gt;
&lt;h2 id=&#34;01-为什么-16g-显卡不一定只能跑-12b-到-14b&#34;&gt;01 为什么 16G 显卡不一定只能跑 12B 到 14B
&lt;/h2&gt;&lt;p&gt;这里的核心观点很直接：显存大小固然重要，但模型架构同样重要。&lt;/p&gt;
&lt;p&gt;如果你拿一个标准稠密模型去硬塞进 16G 显卡，确实很快就会遇到瓶颈。因为这类模型在推理时通常要参与全部参数计算，显存压力和带宽压力都会直接上来。&lt;/p&gt;
&lt;p&gt;但 &lt;code&gt;MoE&lt;/code&gt; 模型不一样。它的总参数量可以很大，可是在单次推理时，只会激活其中一部分专家参数。以 35B 级模型为例，虽然总参数规模不小，但单次推理实际参与计算的参数量要小得多，所以它对显存的实际要求没有想象中那么夸张。&lt;/p&gt;
&lt;p&gt;也正因为这样，16G 显卡在面对这类模型时，并不是完全没有操作空间。&lt;/p&gt;
&lt;h2 id=&#34;02-实测重点35b-moe-模型可以跑得很快&#34;&gt;02 实测重点：35B MoE 模型可以跑得很快
&lt;/h2&gt;&lt;p&gt;一个重点案例，是 &lt;code&gt;Qwen 3.5 35B A3B&lt;/code&gt; 一类的 &lt;code&gt;MoE&lt;/code&gt; 模型量化版本。在 16G 显卡配合 &lt;code&gt;LM Studio&lt;/code&gt; 做参数调整后，&lt;code&gt;Q6&lt;/code&gt; 量化大约能跑到 30 多 &lt;code&gt;tokens/s&lt;/code&gt;，此前 &lt;code&gt;Q4&lt;/code&gt; 量化甚至能测到更高的速度。&lt;/p&gt;
&lt;p&gt;这个结果之所以有参考价值，不只是因为“能跑”，而是因为速度已经进入了“明显可用”的区间。&lt;/p&gt;
&lt;p&gt;作为对比，同类大参数量但不是 &lt;code&gt;MoE&lt;/code&gt; 的模型，在 16G 显卡上如果直接硬跑，往往会出现爆显存、速度明显掉下来的情况。换句话说，决定结果的不是单纯看参数总量，还要看模型在推理时到底怎么用这些参数。&lt;/p&gt;
&lt;h2 id=&#34;03-在-lm-studio-里重点不只一个参数&#34;&gt;03 在 LM Studio 里，重点不只一个参数
&lt;/h2&gt;&lt;p&gt;想在 16G 显卡上把这类模型跑顺，关键不是“碰运气”，而是调对两个参数：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GPU Offload&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;强制把部分专家层加载到 CPU 内存的参数&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;第一项比较好理解，&lt;code&gt;GPU Offload&lt;/code&gt; 基本就是能拉多高就拉多高，让模型尽量优先使用显卡计算。&lt;/p&gt;
&lt;p&gt;第二项才是这里的关键。它的作用不是传统意义上那种“显存爆了以后再借系统内存”，而是主动把一部分专家层放到 CPU 内存里，提前降低显存占用。因为 &lt;code&gt;MoE&lt;/code&gt; 模型本来就不是每次都要把所有专家都激活，所以把一部分专家放到内存里，对整体推理速度的影响没有很多人想象中那么夸张。&lt;/p&gt;
&lt;p&gt;更稳妥的做法，是先在一个区间里尝试，再根据自己的机器慢慢调：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;可以先把相关参数设到 &lt;code&gt;20&lt;/code&gt; 到 &lt;code&gt;35&lt;/code&gt; 之间&lt;/li&gt;
&lt;li&gt;然后结合显存占用和内存压力，逐步微调&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;本质上，这套方法就是用系统内存去换显存空间。&lt;/p&gt;
&lt;h2 id=&#34;04-128k-上下文下也能跑缩小上下文还能继续压显存&#34;&gt;04 128K 上下文下也能跑，缩小上下文还能继续压显存
&lt;/h2&gt;&lt;p&gt;还有一个比较有意思的点：测试时把上下文长度拉到了 &lt;code&gt;128K&lt;/code&gt;，在这种偏激进的设置下，35B 级 &lt;code&gt;MoE&lt;/code&gt; 模型依然能跑出比较高的速度。&lt;/p&gt;
&lt;p&gt;这说明一个问题，16G 显卡的瓶颈没有想象中那么死板。尤其在 &lt;code&gt;LM Studio&lt;/code&gt; 这种本地推理工具里，很多时候不是“能不能运行”的二选一，而是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你愿不愿意拿更多内存换显存&lt;/li&gt;
&lt;li&gt;你愿不愿意缩短上下文长度&lt;/li&gt;
&lt;li&gt;你愿不愿意接受不同量化版本之间的能力差异&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果把上下文从 &lt;code&gt;128K&lt;/code&gt; 进一步收缩到 &lt;code&gt;64K&lt;/code&gt; 或 &lt;code&gt;32K&lt;/code&gt;，显存压力还可以继续下降。也就是说，某些 35B 级 &lt;code&gt;MoE&lt;/code&gt; 模型甚至可能在更小显存的显卡上勉强跑起来，只是速度和内存压力要重新权衡。&lt;/p&gt;
&lt;h2 id=&#34;05-这种方法的代价对系统内存和虚拟内存要求更高&#34;&gt;05 这种方法的代价：对系统内存和虚拟内存要求更高
&lt;/h2&gt;&lt;p&gt;这类方案并不是白送性能。&lt;/p&gt;
&lt;p&gt;需要注意的是，当显存压力被进一步压缩时，系统内存占用会明显上升，虚拟内存的压力也会变大。换句话说，你省下来的不是成本，只是把压力从显卡挪到了内存和磁盘交换空间上。&lt;/p&gt;
&lt;p&gt;所以如果你也想照着试，最好先确认几件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;你的系统内存是否足够&lt;/li&gt;
&lt;li&gt;虚拟内存是否留得够大&lt;/li&gt;
&lt;li&gt;机器后台是否还有很多占资源的软件在运行&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果这些条件跟不上，最终看到的可能不是“35B 也能飞快跑”，而是整体系统都被拖慢。&lt;/p&gt;
&lt;h2 id=&#34;06-量化版本也不是越激进越好&#34;&gt;06 量化版本也不是越激进越好
&lt;/h2&gt;&lt;p&gt;这里还有一个实际选择：虽然更低位数的量化通常能进一步节省显存，但不一定是最合适的方案。&lt;/p&gt;
&lt;p&gt;作者给出的经验是，某些模型在 &lt;code&gt;Q4&lt;/code&gt; 下速度确实更高，但对原始能力的影响也更明显；相对来说，&lt;code&gt;Q6&lt;/code&gt; 在速度和能力保留之间更平衡。所以最终不一定要无脑追求最小体积，而是要看你更在意什么：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果你主要追求速度和塞进显存&lt;/li&gt;
&lt;li&gt;或者你更在意模型原有能力的保留&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这两种取向，对应的量化选择可能并不一样。&lt;/p&gt;
&lt;h2 id=&#34;07-哪些模型思路值得试&#34;&gt;07 哪些模型思路值得试
&lt;/h2&gt;&lt;p&gt;从这个思路来看，最值得尝试的并不是“盲目追大参数量”，而是优先找适合这种玩法的模型：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MoE&lt;/code&gt; 架构模型&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;LM Studio&lt;/code&gt; 里支持较好、量化版本较全的模型&lt;/li&gt;
&lt;li&gt;对长上下文或指令跟随有明确优势的模型&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;除了主讲的 35B &lt;code&gt;MoE&lt;/code&gt; 模型，这类方案也适合延伸到一些其他方向，比如偏长上下文记忆、指令遵循表现更好的实验性模型，以及一些速度表现不错的轻量量化版本。&lt;/p&gt;
&lt;p&gt;这类推荐背后的逻辑其实很统一：先找架构上适合“内存换显存”的模型，再谈参数调优，而不是先看参数量再决定能不能跑。&lt;/p&gt;
&lt;h2 id=&#34;08-简单总结&#34;&gt;08 简单总结
&lt;/h2&gt;&lt;p&gt;如果你手里正好是一张 16G 显卡，觉得本地大模型最多只能玩 12B 到 14B，这种想法可以稍微更新一下。&lt;/p&gt;
&lt;p&gt;更准确的说法应该是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;16G 显卡跑大模型并不是完全没戏&lt;/li&gt;
&lt;li&gt;稠密模型和 &lt;code&gt;MoE&lt;/code&gt; 模型要分开看&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LM Studio&lt;/code&gt; 里的 &lt;code&gt;GPU Offload&lt;/code&gt; 和专家层转移到 CPU 内存的参数，能明显改变显存占用情况&lt;/li&gt;
&lt;li&gt;你实际上是在用更高的内存压力，换更大的模型规模和更高的可用速度&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这套思路不一定适合所有机器，但它至少说明了一点：本地部署大模型时，显存上限不是唯一限制，模型架构和推理配置同样重要。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>树莓派 5 跑 Gemma 4 实测：可行，但响应较慢</title>
        <link>https://knightli.com/2026/04/08/gemma4-on-raspberry-pi5-benchmark/</link>
        <pubDate>Wed, 08 Apr 2026 18:42:00 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/08/gemma4-on-raspberry-pi5-benchmark/</guid>
        <description>&lt;p&gt;一次偏极限的尝试：在 &lt;code&gt;Raspberry Pi 5（8GB RAM）&lt;/code&gt; 上运行 Gemma 4。目标不是大模型版本，而是最小体量的 &lt;code&gt;E2B&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;结论先说：能跑、能用，但更适合低交互频率场景，不适合高实时要求的对话体验。&lt;/p&gt;
&lt;h2 id=&#34;测试环境&#34;&gt;测试环境
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;设备：Raspberry Pi 5（4 核 CPU，8GB RAM）&lt;/li&gt;
&lt;li&gt;系统：Ubuntu Server（无图形界面）&lt;/li&gt;
&lt;li&gt;访问方式：SSH&lt;/li&gt;
&lt;li&gt;模型运行方式：LM Studio CLI（仅命令行模式）&lt;/li&gt;
&lt;li&gt;模型：Gemma 4 E2B（约 4.5GB）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;第-1-步安装并启动-lm-studio-cli&#34;&gt;第 1 步：安装并启动 LM Studio CLI
&lt;/h2&gt;&lt;p&gt;安装 LM Studio 的 CLI 版本，然后启动服务并查看可用命令。&lt;/p&gt;
&lt;p&gt;由于是纯命令行环境，这种仅命令行部署方式非常适合树莓派。&lt;/p&gt;
&lt;h2 id=&#34;第-2-步把模型存储切到-ssd&#34;&gt;第 2 步：把模型存储切到 SSD
&lt;/h2&gt;&lt;p&gt;为了避免频繁读写 SD 卡，我将模型下载目录改到了外接 SSD。&lt;/p&gt;
&lt;p&gt;树莓派 5 接 SSD 的体验明显比早期机型更实用，长期运行本地模型建议优先使用 SSD。&lt;/p&gt;
&lt;h2 id=&#34;第-3-步下载并加载-gemma-4-e2b&#34;&gt;第 3 步：下载并加载 Gemma 4 E2B
&lt;/h2&gt;&lt;p&gt;下载完成后，模型可以正常加载进内存。&lt;/p&gt;
&lt;p&gt;按官方信息，Gemma 4 系列具备：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;面向 Agent 场景的工具调用能力（function calling）&lt;/li&gt;
&lt;li&gt;多模态能力（含图像/视频；小模型也具备语音相关能力）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;128K&lt;/code&gt; 上下文窗口&lt;/li&gt;
&lt;li&gt;Apache 2.0 许可（可商用）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;从树莓派的硬件条件看，E2B 这一档更适合先试起来。&lt;/p&gt;
&lt;h2 id=&#34;第-4-步启动-api-并开放局域网访问&#34;&gt;第 4 步：启动 API 并开放局域网访问
&lt;/h2&gt;&lt;p&gt;模型加载后，我先在本机端口启动 API（&lt;code&gt;4000&lt;/code&gt;），并通过 HTTP 请求确认模型列表可返回。&lt;/p&gt;
&lt;p&gt;问题在于：默认只监听本机，局域网其他设备无法直接访问。&lt;/p&gt;
&lt;p&gt;因为启动参数里不能直接设置 host，我用了 &lt;code&gt;socat&lt;/code&gt; 做端口转发，把树莓派外部端口请求桥接到 LM Studio 内部端口，实现局域网访问。&lt;/p&gt;
&lt;p&gt;结果是可行的：我在同一局域网的 MacBook 上能成功请求并拿到模型列表。&lt;/p&gt;
&lt;h2 id=&#34;第-5-步接入编辑器zed&#34;&gt;第 5 步：接入编辑器（Zed）
&lt;/h2&gt;&lt;p&gt;LM Studio 的本地服务兼容 OpenAI API 形态，因此多数支持自定义 &lt;code&gt;base_url&lt;/code&gt; 的工具都可以直接接入。&lt;/p&gt;
&lt;p&gt;我在 Zed 里新增了一个 LLM provider，指向树莓派上的 Gemma 4 实例，随后在编辑器内聊天测试通过。&lt;/p&gt;
&lt;h2 id=&#34;实际可用性判断&#34;&gt;实际可用性判断
&lt;/h2&gt;&lt;p&gt;这套方案适合：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本地自动化脚本&lt;/li&gt;
&lt;li&gt;低并发、低实时性要求的辅助任务&lt;/li&gt;
&lt;li&gt;个人学习和边缘设备实验&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不太适合：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;高频交互聊天&lt;/li&gt;
&lt;li&gt;对响应延迟敏感的开发协作场景&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;结论&#34;&gt;结论
&lt;/h2&gt;&lt;p&gt;在 &lt;code&gt;Raspberry Pi 5&lt;/code&gt; 上运行 Gemma 4（E2B）是可行的，而且实际效果比预期更好。&lt;/p&gt;
&lt;p&gt;如果你的目标是“能离线跑、能接工具、能完成轻中量任务”，这条路线值得尝试；如果目标是流畅实时交互，仍建议上更强硬件。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
