我在我的 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 是一种工具,而非奇迹。它非常适合处理常规、轻量级的工作。

Source: https://dev.to/frankydzoro/i-ran-an-llm-locally-on-my-asus-rog-ally-and-heres-what-i-actually-learned-3o6j

Optional learning community: https://t.me/GyaanSetuAi