我在我的 ASUS ROG Ally 上本地运行了 LLM
我在我的 ASUS ROG Ally 上运行了一个本地 AI 模型几周。我原以为这会是一个有趣的尝试,结果却变成了一堂关于硬件极限的课。
我并没有把它当作云端服务的替代品,而是将其作为一个处理小任务的专用工具。以下是我在掌上设备上运行 AI 的心得体会。
内存屏障
掌上设备使用统一内存架构(Unified Memory Architecture)。这意味着 CPU 和 GPU 共享同一块 RAM。默认情况下,GPU 分配到的内存非常小。
如果你的模型无法装进那块内存区域,系统就会调用 CPU。这会导致生成速度慢得令人痛苦。
解决方法:
- 进入 BIOS。
- 手动增加 UMA frame buffer。
- 我将其增加到了 4 GB。这一改动比任何其他优化都有效。
无效的方法
我尝试使用 zRAM 来压榨更多内存,但失败了。大多数 AI 模型使用 GGUF 文件,这些文件本身已经是压缩过的,你无法通过进一步压缩来腾出空间。
我还尝试使用磁盘交换空间(disk swap)来辅助。但 Swap 并不会让速度变快,反而会让设备变得无法使用。如果你的模型依赖磁盘 Swap,你可能每隔几秒才能看到一个单词。
开启 Swap 的唯一理由是防止在内存耗尽时系统直接杀掉你的进程。
运行流畅的小贴士
如果你的 AI 输出感觉断断续续或卡顿,请检查你的 Linux 内核设置。
- 降低你的
vm.swappiness值。 - 这可以防止系统过早地将内存数据移动到 Swap 中。
- 这会让生成过程感觉更平稳,而不是一顿一顿的。
模型选择取决于使用场景
大多数人都在寻找最快的模型,而我选择了一个速度较慢但更精准的模型。
- 如果你需要实时聊天,你需要的是速度。
- 如果你运行的是后台代理(background agent),你需要的是质量。
我将这套设备用于后台任务。我发送请求,稍后再查看结果。因为我不需要盯着屏幕看,所以我并不在乎响应是需要 40 秒还是 8 秒。我想要的是最好的答案,而不是最快的答案。
在掌上设备上请避开推理模型(reasoning models)。在性能较弱的硬件上,那种“一步步思考”的过程会耗费太多时间。质量上的提升往往并不值得漫长的等待。
适用场景
16 GB 的设备非常适合:
- 起草简短的邮件。
- 审查简短的代码片段。
- 粗略的日常规划。
- 不应离开本地网络的私密任务。
不适合:
- 长文档。
- 深度研究。
- 复杂的编程项目。
本地 AI 是一种工具,而非奇迹。它非常适合处理常规、轻量级的工作。
Optional learning community: https://t.me/GyaanSetuAi
