如何在Android上构建自定义AI功能

描述

作者 / 高级开发者关系工程师 Kateryna Semenova 和高级产品经理 Mark Sherwood

在 "AI on Android Spotlight Week" 期间,我们深入探讨了如何将自己的 AI 模型引入 Android 设备,如手机、平板电脑等。通过利用 Google 和其他来源的工具与技术,您可以直接在这些设备上运行复杂的 AI 模型,以实现更出色的性能、更好的隐私性和更高的可用性,创造激动人心的可能性。

了解设备端 AI

设备端 AI 不依赖基于云服务器,而是直接在硬件设备上部署和运行机器学习或生成式 AI 模型。此方法具有几项优势,例如降低延迟、强化隐私、节约成本,以及减少了对互联网连接的依赖。

对于生成文本用例,请探索 Gemini Nano;用户现在可以通过 Gemini Nano 的 SDK 进行实验性访问。对于许多设备端 AI 用例,您可能想要在应用中打包自己的模型。我们将在本文介绍如何在 Android 上实现此操作。

设备端 AI 的核心资源

Google AI Edge 平台为在边缘设备上构建和部署 AI 模型提供了一个全面的生态系统。此平台支持各种框架和工具,能让开发者将 AI 功能无缝集成到应用中。Google AI Edge 平台包括:

MediaPipe Tasks - 跨平台低代码 API,用于处理常见的生成式 AI、视觉、文本和音频任务

LiteRT (前身为 TensorFlow Lite) - 用于在 Android 上部署自定义机器学习模型的轻量级运行时

MediaPipe Framework - 用于将多个机器学习模型与预处理和后处理逻辑高效链接在一起的流水线框架

Model Explorer - 转换、性能和调试可视化工具

如何在 Android 上构建

自定义 AI 功能

1. 定义您的用例: 在深入研究技术细节之前,明确定义您希望 AI 功能实现的目标非常重要。无论您致力于开发图像分类、自然语言处理还是其他应用,拥有明确的目标将为您的开发进程指明方向。

2. 选择合适的工具和框架: 根据您的用例,您或许可以使用开箱即用的解决方案,也可能需要创建或获取自己的模型。通过 MediaPipe Tasks 查看常见的解决方案,如手势识别、图像分割或面部特征点检测。如果您找到符合需求的解决方案,可以直接进入测试和部署步骤。

如果您需要为用例创建或获取自定义模型,则需要一个设备端机器学习框架,例如 LiteRT (前身为 TensorFlow Lite)。LiteRT 专为移动和边缘设备设计,为部署机器学习模型提供了轻量级运行时。只需按照以下子步骤操作:

开发和训练模型: 使用您选择的框架开发 AI 模型。训练可以在功能强大的机器或云环境中执行,但模型应针对设备上的部署进行优化。量化和剪枝等技术可以帮助缩小模型尺寸并提高推理速度。Model Explorer 可以帮助您在使用模型的同时理解和探索该模型。

转换和优化模型: 当您的模型训练好后,就可以将其转换为适合设备端部署的格式。例如,LiteRT 需要将其转换为特定格式。优化工具可以帮助减少模型的占用空间并提升其性能。AI Edge Torch 允许您使用 Google AI Edge LiteRT 和 MediaPipe Tasks 库来转换 PyTorch 模型,使其能在 Android 和其他平台上本地运行。

加速模型: 您可以使用 GPU 和 NPU,为 Android 上的模型推理加速。借助 LiteRT 的 GPU 代理,您可以立即在 GPU 上运行您的模型。我们正在努力构建下一代 GPU 和 NPU 代理,使您的模型运行得更快,并支持更多模型在 GPU 和 NPU 上运行。我们诚邀您参与我们的抢先体验计划,以试用这一新的 GPU 和 NPU 基础设施。我们将会陆续邀请参与者抢先体验,即刻联系我们参与体验吧!

3. 测试和部署: 为了确保您的模型在各种设备上都能实现预期的性能,严格的测试至关重要。完成测试后,即可向用户部署您的应用,为他们提供无缝且高效的 AI 体验。我们正在努力让 Google Play 和 Android App Bundle 发挥其优势,以便更好地为设备端 AI 功能提供自定义机器学习模型。Play for On-device AI 简化了启动、定位、版本控制、下载和更新设备端模型的复杂程度,从而为用户提供更好的使用体验,同时不会影响应用的大小,也不会增加成本。如有兴趣加入 Play for On-device AI 抢先体验计划,您可以填写表格。

通过隐私性和透明度

建立对 AI 的信任

随着 AI 在日常生活中发挥的作用日益增强,确保模型在设备上按预期运行至关重要。我们强调 "零信任" 方法,为开发者提供工具来验证设备完整性和用户对其数据的控制。在零信任方法中,开发者需要能够对设备的可信度做出明智决策。

我们推荐开发者使用 Play Integrity API,来验证应用、服务器请求和设备环境。您可以在应用后端决定下载并运行模型之前的重要时刻调用 API。还可以考虑启用在安装应用时进行完整性检查,以减少应用被分发到未知和不受信任的环境中。

Play Integrity API 利用 Android 平台密钥认证来验证硬件组件,并在整个设备群中生成完整性判定,从而使大多数开发者不再需要直接集成不同的认证工具,降低了设备生态系统的复杂性。在决定是否信任设备运行 AI 模型之前,开发者可以使用其中一个或两个工具来评估设备安全性和软件完整性。

结论

将您的 AI 模型引入设备涉及多个步骤,包括定义用例、部署和测试模型等。借助 Google AI Edge 等资源,开发者可以使用强大的工具和洞察,使过程更顺畅、更高效。随着设备端 AI 的不断发展,您将能够利用这些资源,创建先进的应用,提供更好的性能、隐私性和用户体验。我们目前正在寻找抢先体验的合作伙伴,在 Google AI Edge 中试用我们的一些最新工具和 API。填写表格联系我们,即刻了解我们该如何共同努力,以实现您的愿景。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分