打造更智能的应用 - 机器学习和Andorid
- 一、关于机器学习和Andorid
- 二、使用 Gemini 让您的 Android 应用如虎添翼
- 2.1 Gemini API
- 2.2 Android AICore
- 三、现成可用的还是自定义的机器学习
- 3.1 机器学习套件 SDK 的常见用户流
- 3.2 高性能自定义机器学习
- 四、机器学习套件 SDK:可立即使用,适用于常见用户流
- 五、Android 的自定义机器学习堆栈:高性能机器学习
- 5.1 适用于机器学习运行时的 TensorFlow Lite
- 5.2 借助 TensorFlow Lite Delegate 实现硬件加速
- 六、Android AICore
- 6.1 通过 AICore 访问 AI 基础模型的优势
- 6.2 支持的功能
- 6.3 架构
- 6.4 用例
机器学习是一种人工智能的分支,通过使用数据和统计模型来训练计算机系统,使其能够从经验中学习和改进。通过将机器学习与 Android 相结合,我们可以为移动应用带来许多有趣和强大的功能。
一、关于机器学习和Andorid
机器学习 (ML) 可让您的应用大幅提升,并添加用于处理图片、声音和文本的功能。
无论您是经验丰富的开发者,还是刚刚入门的新手,都可以向自己的应用中添加机器学习功能。
-
低延迟时间:通过实时处理文本、音频和视频,解锁新的用户体验。
-
将数据保留在设备上:在本地执行推断,而无需将用户数据发送到云端。
-
可离线使用:无需网络连接,也不需要在云端运行服务。
-
节省费用:通过在设备上运行机器学习功能来减少云费用。
二、使用 Gemini 让您的 Android 应用如虎添翼
2.1 Gemini API
在服务器上运行 Gemini
借助新的 Gemini API,您可以在 Google 服务器上运行模型推断。您可以从后端调用 API,也可以直接集成新的 Google AI SDK(一种适用于 Android 的客户端 SDK)。
2.2 Android AICore
在设备上运行 Gemini
从 Android 14 开始,Android AICore 是一项新的系统功能,可让您直接在设备上运行基础模型(例如 Gemini Nano)。
三、现成可用的还是自定义的机器学习
3.1 机器学习套件 SDK 的常见用户流
机器学习套件可针对常见问题提供可直接用于生产环境的解决方案,并且无需具备机器学习专业知识。模型是内置的,且针对移动设备进行了优化。机器学习套件易于使用,可让您专注于功能开发,而不是模型训练和优化。
3.2 高性能自定义机器学习
如果您想要获得更多控制权或部署自己的机器学习模型,Android 提供了基于 TensorFlow Lite 和 Google Play 服务构建的自定义机器学习堆栈,其中涵盖了部署高性能机器学习功能所需的基本信息。
四、机器学习套件 SDK:可立即使用,适用于常见用户流
机器学习套件让您可以在设备上访问可直接用于生产环境的机器学习模型。ML Kit API 针对移动设备进行了优化,不需要机器学习专业知识。机器学习套件 API 的示例包括:
人脸检测:在设备上实时检测某张照片是否包含人脸以及出现多少个人脸。
文字识别:识别中文、梵文、日语、韩语或任何拉丁字符语言的文本。
条形码扫描:读取采用最常见线性和 2D(二维码)格式的条形码编码数据。
更多机器学习 API:机器学习套件提供 10 多种视觉和语言 API,例如为图片加标签、姿势检测、翻译、智能回复等。
五、Android 的自定义机器学习堆栈:高性能机器学习
将高性能自定义机器学习功能部署到 Android 应用的基础知识。
5.1 适用于机器学习运行时的 TensorFlow Lite
通过 Android 的官方机器学习推断运行时 Google Play 服务使用 TensorFlow Lite 在您的应用中运行高性能机器学习推断。
5.2 借助 TensorFlow Lite Delegate 实现硬件加速
使用通过 Google Play 服务分发的 TensorFlow Lite Delegate 在 GPU、NPU 或 DSP 等专用硬件上运行加速的机器学习。这样可以帮助您使用高级设备端计算功能,为您的用户提供更流畅、更低延迟的用户体验。
我们目前为 GPU 和 NNAPI 受托人提供支持,并且我们正在与合作伙伴合作,通过 Google Play 服务提供其自定义受托人的访问权限,以支持高级用例。
由 Google Play 服务启用:使用 Play 服务访问 TensorFlow Lite 运行时和委托。这样可确保使用最新的稳定版,同时最大限度减少对应用的二进制文件大小的影响。
六、Android AICore
Android AICore 是一项新的系统服务,可让您访问在设备上运行的 AI 基础模型。
借助 AICore,您的 Android 应用可以访问 Gemini Nano,这是最小的 Gemini Nano,是 Google 在支持的设备上推出的先进基础模型。目前,多个 Google 产品都在使用 AICore。
6.1 通过 AICore 访问 AI 基础模型的优势
AICore 让 Android OS 能够提供和管理 AI 基础模型。这可显著降低在应用中使用这些大型模型的费用,主要原因如下:
- 易于部署:AICore 负责管理 Gemini Nano 的分发并处理未来的更新。您无需担心通过网络下载或更新大型模型,也无需费心于对应用的磁盘和运行时内存预算的影响。
- 使用硬件加速功能:AICore 运行时经过优化,可以从硬件加速中受益。您的应用可在每台设备上获得最佳性能,您无需担心底层硬件接口。
6.2 支持的功能
以下是 AICore 目前支持的核心功能:
- 支持的设备:AICore 目前仅适用于 Pixel 8 Pro 设备。
- 支持的模态:AICore 目前支持 Gemini Nano 的文本模态。
设备和模态支持是积极投资的领域。
6.3 架构
作为系统级模块,您可以通过一系列 API 访问 AICore,以便在设备上运行推断。您还可以提供 LoRA 微调块,以进一步优化 Gemini Nano 的应用性能。下图概述了应用如何访问 AICore 以在设备上运行 Gemini Nano。
6.4 用例
您可以通过 AICore 使用 Gemini Nano 完成以下任务:
- AI 增强的内容消费:例如摘要、解答问题和实体提取。
- AI 增强的内容生成功能:例如校对、语法更正、撰写辅助和上下文智能回复。
一些 Google 产品已在 Pixel 上使用 AICore,包括 Pixel 语音录制器和 Gboard。