”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 在 Android 上运行 Llama:使用 Ollama 的分步指南

在 Android 上运行 Llama:使用 Ollama 的分步指南

发布于2024-11-09
浏览:895

Running Llama  on Android: A Step-by-Step Guide Using Ollama

Llama 3.2 最近在 Meta 开发者大会上推出,展示了令人印象深刻的多模式功能以及针对使用高通和联发科技硬件的移动设备进行优化的版本。这一突破使开发人员能够在移动设备上运行 Llama 3.2 等强大的 AI 模型,为更高效、私密和响应迅速的 AI 应用程序铺平道路。

Meta 发布了 Llama 3.2 的四个变体:

  • 多模式模型具有 110 亿 (11B) 和 900 亿 (90B) 参数。
  • 纯文本模型 具有 10 亿 (1B) 和 30 亿 (3B) 参数。

较大的模型,尤其是 11B 和 90B 变体,在图像理解和图表推理等任务中表现出色,通常优于 Claude 3 Haiku 等其他模型,甚至在某些情况下与 GPT-4o-mini 竞争。另一方面,轻量级 1B 和 3B 模型专为文本生成和多语言功能而设计,使其成为注重隐私和效率的设备上应用程序的理想选择。

在本指南中,我们将向您展示如何使用 Termux 和 Ollama 在 Android 设备上运行 Llama 3.2。 Termux 在 Android 上提供 Linux 环境,Ollama 帮助在本地管理和运行大型模型。

为什么在本地运行 Llama 3.2?

在本地运行人工智能模型有两大好处:

  1. 瞬时处理因为一切都在设备上处理。
  2. 增强隐私性,因为无需将数据发送到云端进行处理。

尽管目前支持移动设备流畅运行Llama 3.2这样的模型的产品还不多,但我们仍然可以在Android上使用Linux环境来探索它。


在 Android 上运行 Llama 3.2 的步骤

1.在Android上安装Termux

Termux 是一个终端模拟器,允许 Android 设备无需 root 访问即可运行 Linux 环境。它是免费的,可以从 Termux GitHub 页面下载。

对于本指南,请下载 termux-app_v0.119.0-beta.1 apt-android-7-github-debug_arm64-v8a.apk 并将其安装在您的 Android 设备上。

2. 设置 Termux

启动 Termux 后,按照以下步骤设置环境:

  1. 授予存储访问权限:
   termux-setup-storage

此命令可让 Termux 访问 Android 设备的存储空间,从而更轻松地管理文件。

  1. 更新包:
   pkg upgrade

当提示更新 Termux 和所有已安装的软件包时,输入 Y

  1. 安装基本工具:
   pkg install git cmake golang

这些软件包包括用于版本控制的 Git、用于构建软件的 CMake 以及编写 Ollama 的编程语言 Go。

3.安装并编译Ollama

Ollama 是一个在本地运行大型模型的平台。安装和设置方法如下:

  1. 克隆 Ollama 的 GitHub 存储库:
   git clone --depth 1 https://github.com/ollama/ollama.git
  1. 导航至 Ollama 目录:
   cd ollama
  1. 生成Go代码:
   go generate ./...
  1. 构建奥拉玛:
   go build .
  1. 启动 Ollama 服务器:
   ./ollama serve &

现在 Ollama 服务器将在后台运行,允许您与模型交互。

4. 运行 Llama 3.2 模型

要在 Android 设备上运行 Llama 3.2 模型,请按照以下步骤操作:

  1. 选择型号:

    • llama3.2:3b(30亿个参数)这样的模型可供测试。为了提高效率,这些模型被量化。您可以在 Ollama 的网站上找到可用型号的列表。
  2. 下载并运行 Llama 3.2 模型:

   ./ollama run llama3.2:3b --verbose

--verbose 标志是可选的,并提供详细的日志。下载完成后,您可以开始与模型交互。

5. 绩效管理

在 Samsung S21 Ultra 等设备上测试 Llama 3.2 时,1B 型号的性能很流畅,3B 型号的性能易于管理,尽管您可能会注意到旧硬件上的延迟。如果性能太慢,切换到较小的 1B 模型可以显着提高响应能力。


可选清理

使用Ollama后,您可能需要清理系统:

  1. 删除不需要的文件:
   chmod -R 700 ~/go
   rm -r ~/go
  1. 将 Ollama 二进制文件移至全局路径:
   cp ollama/ollama /data/data/com.termux/files/usr/bin/

现在,您可以直接从终端运行ollama


结论

Llama 3.2 代表了人工智能技术的重大飞跃,为移动设备带来了强大的多模式模型。通过使用 Termux 和 Ollama 在本地运行这些模型,开发人员可以探索不依赖云基础设施的隐私优先、设备上 AI 应用程序的潜力。有了 Llama 3.2 这样的模型,移动 AI 的未来看起来很光明,可以为各个行业提供更快、更安全的 AI 解决方案。

版本声明 本文转载于:https://dev.to/koolkamalkishor/running-llama-32-on-android-a-step-by-step-guide-using-ollama-54ig?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    如何修复\“常规错误:2006 MySQL Server在插入数据时已经消失\”?
    How to Resolve "General error: 2006 MySQL server has gone away" While Inserting RecordsIntroduction:Inserting data into a MySQL database can...
    编程 发布于2025-04-19
  • Python高效去除文本中HTML标签方法
    Python高效去除文本中HTML标签方法
    在Python中剥离HTML标签,以获取原始的文本表示 仅通过Python的MlStripper 来简化剥离过程,Python Standard库提供了一个专门的功能,MLSTREPERE,MLSTREPERIPLE,MLSTREPERE,MLSTREPERIPE,MLSTREPERCE,MLST...
    编程 发布于2025-04-19
  • 在C#中如何高效重复字符串字符用于缩进?
    在C#中如何高效重复字符串字符用于缩进?
    在基于项目的深度下固定字符串时,重复一个字符串以进行凹痕,很方便有效地有一种有效的方法来返回字符串重复指定的次数的字符串。使用指定的次数。 constructor 这将返回字符串“ -----”。 字符串凹痕= new String(' - ',depth); console.Wr...
    编程 发布于2025-04-19
  • 为什么Microsoft Visual C ++无法正确实现两台模板的实例?
    为什么Microsoft Visual C ++无法正确实现两台模板的实例?
    The Mystery of "Broken" Two-Phase Template Instantiation in Microsoft Visual C Problem Statement:Users commonly express concerns that Micro...
    编程 发布于2025-04-19
  • 为什么HTML无法打印页码及解决方案
    为什么HTML无法打印页码及解决方案
    无法在html页面上打印页码? @page规则在@Media内部和外部都无济于事。 HTML:Customization:@page { margin: 10%; @top-center { font-family: sans-serif; font-weight: bo...
    编程 发布于2025-04-19
  • Go语言深拷贝Map及清空原Map方法
    Go语言深拷贝Map及清空原Map方法
    在GO中创建一个关联映射:如何深入复制和清除原始在GO中,您正在尝试将名为Amap的映射的内容复制到另一个名为AsuperMap的地图中。随后,您要清除AMAP在下一个循环迭代中接受新值。但是,您正在面临清除地图的问题,而不还将在AsuperMap中清除其参考。引用具有对AMAP的引用,并且当您修...
    编程 发布于2025-04-19
  • 如何在Chrome中居中选择框文本?
    如何在Chrome中居中选择框文本?
    选择框的文本对齐:局部chrome-inly-ly-ly-lyly solument 您可能希望将文本中心集中在选择框中,以获取优化的原因或提高可访问性。但是,在CSS中的选择元素中手动添加一个文本 - 对属性可能无法正常工作。初始尝试 state)</option> < op...
    编程 发布于2025-04-19
  • 在Ubuntu/linux上安装mysql-python时,如何修复\“ mysql_config \”错误?
    在Ubuntu/linux上安装mysql-python时,如何修复\“ mysql_config \”错误?
    mysql-python安装错误:“ mysql_config找不到”“ 由于缺少MySQL开发库而出现此错误。解决此问题,建议在Ubuntu上使用该分发的存储库。使用以下命令安装Python-MysqldB: sudo apt-get安装python-mysqldb sudo pip in...
    编程 发布于2025-04-19
  • 为什么我的CSS背景图像出现?
    为什么我的CSS背景图像出现?
    故障排除:CSS背景图像未出现 ,您的背景图像尽管遵循教程说明,但您的背景图像仍未加载。图像和样式表位于相同的目录中,但背景仍然是空白的白色帆布。而不是不弃用的,您已经使用了CSS样式: bockent {背景:封闭图像文件名:背景图:url(nickcage.jpg); 如果您的html,css...
    编程 发布于2025-04-19
  • 如何干净地删除匿名JavaScript事件处理程序?
    如何干净地删除匿名JavaScript事件处理程序?
    删除匿名事件侦听器将匿名事件侦听器添加到元素中会提供灵活性和简单性,但是当要删除它们时,可以构成挑战,而无需替换元素本身就可以替换一个问题。 element? element.addeventlistener(event,function(){/在这里工作/},false); 要解决此问题,请考虑...
    编程 发布于2025-04-19
  • 在GO中构造SQL查询时,如何安全地加入文本和值?
    在GO中构造SQL查询时,如何安全地加入文本和值?
    在go中构造文本sql查询时,在go sql queries 中,在使用conting and contement和contement consem per时,尤其是在使用integer per当per当per时,per per per当per. [&​​&&&&&&&&&&&&&&&默元组方法在...
    编程 发布于2025-04-19
  • `console.log`显示修改后对象值异常的原因
    `console.log`显示修改后对象值异常的原因
    foo = [{id:1},{id:2},{id:3},{id:4},{id:id:5},],]; console.log('foo1',foo,foo.length); foo.splice(2,1); console.log('foo2', foo, foo....
    编程 发布于2025-04-19
  • 如何在鼠标单击时编程选择DIV中的所有文本?
    如何在鼠标单击时编程选择DIV中的所有文本?
    在鼠标上选择div文本单击带有文本内容,用户如何使用单个鼠标单击单击div中的整个文本?这允许用户轻松拖放所选的文本或直接复制它。 在单个鼠标上单击的div元素中选择文本,您可以使用以下Javascript函数: function selecttext(canduterid){ if(do...
    编程 发布于2025-04-19
  • 如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    如何将PANDAS DataFrame列转换为DateTime格式并按日期过滤?
    将pandas dataframe列转换为dateTime格式示例:使用column(mycol)包含以下格式的以下dataframe,以自定义格式:})指定的格式参数匹配给定的字符串格式。转换后,MyCol列现在将包含DateTime对象。 date oped filtering > = p...
    编程 发布于2025-04-19
  • Java的Map.Entry和SimpleEntry如何简化键值对管理?
    Java的Map.Entry和SimpleEntry如何简化键值对管理?
    A Comprehensive Collection for Value Pairs: Introducing Java's Map.Entry and SimpleEntryIn Java, when defining a collection where each element com...
    编程 发布于2025-04-19

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3