Install ollama on Android
按照惯例先贴一张图当文章封面,我用Stable Diffusion画的,庆祝掌握ControlNet,画手部不再崩。接着以下是在Android运行ollama的实际演示视频: 最近Google迭代了他们的LLM开源模型,推出了Gemma2,阿里云的通义千问也是几乎差不多的时机开源了千问2代,我实际在电脑安装测试了一下,Gemma2:2b体积才1.6GB左右,千问更小,直接做了一个1.5b模型,体积在1GB左右而已,但也因为压缩到极致,牺牲了一部份内容,而换来了超快的响应速度,所以CPU运行也是没压力,秒回。 其实本来是没抱多少期待,毕竟这种阉割的AI模型的用途非常有限,之前测试过Tinyllama,那几乎就是不可用的状态,答非所问,属于脑残智能。但这次测试的Gemma2和Qwen2,那简直是一个天一个地的分别,已经没出现答非所问的现象,大部份时候都逻辑清晰,虽说也只是2b级别的模型,但那也是16000本书的知识量,用处还是不少的。 于是我想了想,能不能把它装进手机?理论上是可能的,毕竟现在Android手机RAM大到多余,12GB RAM勉强能跑7b模型,而2b模型应该轻轻松松。于是就折腾了一下,ollama是支持linux的,Android用Termux应该能安装,但最头痛的就是Android的省电机制,太耗电,杀后台,CPU高压运行,也杀后台,连运行一些脚本也会有Phantom process limit的问题,所以ollama是跑起来了,但就是一直闪退。 除非把手机Root了吧,不然很难取得手机的完全使用权限,但这样一来一些银行App又会运行不了,很纠结。为了寻找安装方法,爬了Github几百楼,终于才学到大神的方法用use adb debug tools关掉Phantom process limit,再取巧的用分屏方式运行termux和ollama ui,避免termux放在后台发热被杀,就这样手机SOC几乎满载发热,但还真的offline都能运行AI,测试12GB RAM的Mediatek 8200 ultra跑7b模型也没问题,而另一台旧手机SD855则因为只有6GB RAM,只能跑2b模型,虽然一旦挂载AI模型,CPU直接满载发热,但能跑就是感觉够奇妙了。 至于为什么需要这么折腾?原因还是Tokens,人家ChatGPT的API每个Tokens都要算钱