原贴链接

最近我在研究如何在手机上运行大语言模型,因为小型的llama 3.2模型看起来非常不错,这对我来说是一个有趣的事情。我看到有人在推特上使用mlx-swift在iPhone上运行llama 1B,所以我开始深入研究这个领域,发现了MLC,发现你可以将llama.cpp编译成IOS/android应用。我只是想知道你们发现的首选方法是什么?使用像llama.cpp这样的工具似乎很棒,因为它具有跨平台性,但我不确定将它编译成IOS应用是否值得,特别是我看到某个地方提到,由于打包器问题,你无法正确跟踪应用更新?我对这方面一无所知,只是想知道其他人是怎么做的,这样我才能走上正确的道路。

讨论总结

讨论围绕在手机上运行大型语言模型(LLMs)的方法展开,特别是针对iOS和Android平台。参与者探讨了多种工具和方法,如llama.cpp、PocketPal、ChatterUI等,讨论了执行速度、内存限制、硬件加速等关键问题。总体上,讨论呈现出对性能优化的关注,以及对跨平台解决方案的偏好。

主要观点

  1. 👍 执行速度是关键
    • 支持理由:Linkpharm2指出,缺少excutorch会影响运行速度,强调了优化执行速度的重要性。
    • 反对声音:无具体反对声音,但有讨论其他替代方案。
  2. 🔥 llama.cpp的跨平台优势
    • 正方观点:martinskou提到llama.cpp的跨平台特性,适合在iOS和Android上使用。
    • 反方观点:TrashPandaSavior指出在iOS上编译llama.cpp存在内存限制问题。
  3. 💡 ChatterUI的全面功能
    • 解释:-Ellary-推荐ChatterUI,因其功能全面,支持加载任何gguf文件,并提供完整的指令和采样器控制。

金句与有趣评论

  1. “😂 Layla, the lite version doesn’t have excutorch which speeds it up a lot.”
    • 亮点:强调了excutorch在提升运行速度方面的重要性。
  2. “🤔 The bummer is that, due to sandboxing, all models have to get copied into the application’s filesystem.”
    • 亮点:揭示了在iOS上运行模型时的内存限制问题。
  3. “👀 ChatterUI and MAID. Just download gguf and one of them should support it, probably both.”
    • 亮点:推荐了两个在手机上运行LLMs的工具,并提供了下载链接。

情感分析

讨论总体情感倾向为中性偏积极,主要关注技术实现和性能优化。争议点主要集中在不同工具的优缺点和具体实现挑战,如内存限制和硬件加速问题。

趋势与预测

  • 新兴话题:未来可能会有更多关于如何在移动设备上实现硬件加速的讨论。
  • 潜在影响:随着LLMs在移动设备上的应用越来越广泛,相关工具和优化方法的发展将变得更加重要。

详细内容:

标题:手机上运行 LLMs 的优选方式引发热议

最近,Reddit 上出现了一个关于在手机上运行 LLMs 方法的热门讨论帖。原帖作者表示自己对在手机上运行 LLMs 很感兴趣,看到有人在推特上用 mlx-swift 在 iPhone 上运行 llama 1B 后,便开始研究,发现了 MLC 以及可以将 llama.cpp 编译到 IOS/安卓系统,但不确定将其编译为 IOS 应用是否值得,还提到了可能存在的应用更新跟踪问题。此帖获得了众多关注,评论数众多。

讨论焦点主要集中在各种运行方式的优劣。有人提到了“Layla”的 lite 版本因缺少 excutorch 而无法提速;“PocketPal”也被提及。还有人分享了如“llama.rn”的链接,并表示肯定。

有用户表示,llama.cpp 在 iOS 上编译虽可行但有难度,能通过增加内存限制权限提升内存使用,不过由于沙盒机制,模型需复制到应用文件系统。而在安卓上,似乎无法硬件加速,只能 CPU 运行,但有人称 CPU 运行 3B 模型效果也不错。

还有用户分享个人经历,称在手机上运行 SillyTavern 并连接 llama-server 效果很好。

对于在 iOS 上哪种方式能带来最佳性能,大家也各抒己见。有人提到 CoreML,也有人推荐 ChatterUI 和 MAID,并提供了下载链接。更有用户详细介绍了 ChatterUI 的众多优势。

究竟哪种方式才是在手机上运行 LLMs 的最优解,仍有待进一步探讨和实践。