本指南旨在帮助您将 Google 的生成式人工智能和机器学习 (AI/ML) 解决方案集成到您的应用中。它提供指导,帮助您了解可用的各种人工智能和机器学习解决方案,并选择最适合您需求的一种。本文档的目标是帮助您根据自身需求和用例,确定要使用哪种工具以及原因。
为帮助您选择最适合您特定需求的 AI/ML 解决方案,本文档包含一份解决方案指南。通过回答一系列关于您的项目目标和限制的问题,该指南将引导您找到最合适的工具和技术。
本指南可帮助您为应用选择最佳 AI 解决方案。请考虑以下因素:数据类型(文本、图像、音频、视频)、任务复杂性(简单摘要到需要专业知识的复杂任务)和数据大小(短输入与大型文档)。这将帮助您决定是使用设备上的 Gemini Nano 还是基于 Firebase 云的 AI(Gemini Flash、Gemini Pro 或 Imagen)。
利用设备端推理的强大功能
在为 Android 应用添加 AI 和 ML 功能时,您可以选择不同的交付方式——设备端或云端。
Gemini Nano 等设备端解决方案无需额外费用即可提供结果,增强用户隐私,并提供可靠的离线功能,因为输入数据在本地处理。这些优势对于某些用例(如消息摘要)至关重要,因此在选择合适的解决方案时,设备端优先。
Gemini Nano 允许您直接在 Android 设备上运行推理。如果您正在处理文本或图像,请从 ML Kit 的 GenAI API 开始,获取开箱即用的解决方案。ML Kit GenAI API 由 Gemini Nano 提供支持,并针对特定的设备端任务进行了微调。由于其更高级别的接口和可扩展性,ML Kit GenAI API 是您应用投入生产的理想途径。这些 API 允许您实现总结、校对和重写文本以及生成图像描述的用例。
要超越 ML Kit GenAI API 提供的基本用例,请考虑Gemini Nano 实验性访问。Gemini Nano 实验性访问为您提供了更直接地使用 Gemini Nano 进行自定义提示的能力。
对于传统的机器学习任务,您可以灵活地实现自己的自定义模型。我们提供强大的工具,如 ML Kit、MediaPipe、LiteRT 和 Google Play 交付功能,以简化您的开发过程。
对于需要高度专业化解决方案的应用,您可以使用自己的自定义模型,例如 Gemma 或根据您的特定用例量身定制的其他模型。使用 LiteRT 直接在用户的设备上运行您的模型,LiteRT 提供预先设计的模型架构以优化性能。
您还可以考虑通过利用设备端和云端模型来构建混合解决方案。
移动应用通常利用本地模型处理小文本数据,例如聊天对话或博客文章。但是,对于更大的数据源(如 PDF)或需要额外知识时,可能需要使用具有更强大 Gemini 模型的云端解决方案。
集成高级 Gemini 模型
Android 开发者可以使用 Firebase AI Logic SDK 将 Google 的高级生成式 AI 功能(包括强大的 Gemini Pro、Gemini Flash 和 Imagen 模型)集成到其应用中。此 SDK 专为更大的数据需求而设计,通过启用对这些高性能、多模态 AI 模型的访问,提供了扩展的功能和适应性。
借助 Firebase AI Logic SDK,开发者可以轻松地对 Google 的 AI 模型进行客户端调用。这些模型(如 Gemini Pro 和 Gemini Flash)在云端运行推理,并使 Android 应用能够处理各种输入,包括图像、音频、视频和文本。Gemini Pro 擅长解决复杂问题和分析大量数据,而 Gemini Flash 系列提供卓越的速度和足够大的上下文窗口,足以处理大多数任务。
何时使用传统机器学习
虽然生成式 AI 对于创建和编辑文本、图像和代码等内容很有用,但许多现实世界的问题通过传统的机器学习 (ML) 技术能更好地解决。这些成熟的方法擅长处理涉及预测、分类、检测和理解现有数据中模式的任务,通常比生成模型效率更高、计算成本更低、实现更简单。
传统的 ML 框架为专注于分析输入、识别特征或根据学习到的模式进行预测(而不是生成全新的输出)的应用提供了健壮、优化且通常更实用的解决方案。Google 的 ML Kit、LiteRT 和 MediaPipe 等工具提供了强大的功能,专门针对这些非生成性用例,尤其是在移动和边缘计算环境中。
使用 ML Kit 启动您的机器学习集成
ML Kit 为常见的机器学习任务提供了可用于生产、针对移动设备优化的解决方案,无需事先具备 ML 专业知识。这个易于使用的移动 SDK 将 Google 的 ML 专业知识直接带到您的 Android 和 iOS 应用中,让您专注于功能开发,而不是模型训练和优化。ML Kit 为条形码扫描、文本识别 (OCR)、人脸检测、图像标注、对象检测和跟踪、语言识别以及智能回复等功能提供了预构建的 API 和即用型模型。
这些模型通常针对设备端执行进行优化,确保低延迟、离线功能和增强的用户隐私,因为数据通常保留在设备上。选择 ML Kit 可以快速将成熟的 ML 功能添加到您的移动应用中,而无需训练模型或需要生成性输出。它非常适合使用 Google 优化的模型或部署自定义 TensorFlow Lite 模型来有效增强应用的“智能”功能。
通过 ML Kit 开发者网站上的综合指南和文档开始使用。
使用 LiteRT 进行自定义 ML 部署
为了获得更大的控制权或部署您自己的 ML 模型,请使用基于 LiteRT 和 Google Play 服务的自定义 ML 堆栈。此堆栈提供了部署高性能 ML 功能的基本要素。LiteRT 是一个工具包,经过优化,可在资源受限的移动、嵌入式和边缘设备上高效运行 TensorFlow 模型,让您能够运行显着更小、更快的模型,这些模型消耗更少的内存、电量和存储空间。LiteRT 运行时针对边缘设备上的各种硬件加速器(GPU、DSP、NPU)进行了高度优化,从而实现低延迟推理。
当您需要有效地在计算能力或电池续航有限的设备(如智能手机、物联网设备或微控制器)上部署训练有素的 ML 模型(通常用于分类、回归或检测),并且优先考虑性能和低资源使用时,请选择 LiteRT。它是将自定义或标准预测模型部署到边缘(速度和资源节省至关重要)的首选解决方案。
了解更多关于使用 LiteRT 进行 ML 部署的信息。
使用 MediaPipe 将实时感知构建到您的应用中
MediaPipe 提供开源、跨平台和可定制的机器学习解决方案,专为实时和流媒体设计。受益于针对手部跟踪、姿态估计、人脸网格检测和对象检测等复杂任务而优化的预构建工具,所有这些都实现了高性能的实时交互,即使在移动设备上也是如此。
MediaPipe 基于图的管道具有高度可定制性,允许您为 Android、iOS、Web、桌面和后端应用量身定制解决方案。当您的应用程序需要即时理解和响应实时传感器数据,尤其是视频流时,请选择 MediaPipe,适用于手势识别、AR 效果、健身跟踪或头像控制等用例——所有这些都专注于分析和解释输入。
探索解决方案并开始使用 MediaPipe 进行构建。
选择一种方法:设备端或云端
将 AI/ML 功能集成到 Android 应用中时,一个关键的早期决定是直接在用户设备上还是在云端执行处理。ML Kit、Gemini Nano 和 TensorFlow Lite 等工具支持设备端功能,而带有 Firebase AI Logic 的 Gemini 云 API 可以提供强大的云端处理。做出正确的选择取决于您的用例和用户需求的各种特定因素。
考虑以下方面来指导您的决策
- 连接性和离线功能:如果您的应用需要在没有互联网连接的情况下可靠运行,那么 Gemini Nano 等设备端解决方案是理想的选择。基于云的处理,就其性质而言,需要网络访问。
- 数据隐私:对于出于隐私原因用户数据必须保留在设备上的用例,设备端处理通过将敏感信息保留在本地而具有明显的优势。
- 模型能力和任务复杂性:云端模型通常显着更大、更强大且更新更频繁,这使得它们适用于高度复杂的 AI 任务或处理更大的输入时,其中更高的输出质量和广泛的功能至关重要。更简单的任务可能由设备端模型很好地处理。
- 成本考虑:云 API 通常涉及基于使用量的定价,这意味着成本可能随推理次数或处理的数据量而变化。设备端推理虽然通常没有直接的按使用量收费,但会产生开发成本,并可能影响设备的资源,如电池寿命和整体性能。
- 设备资源:设备端模型会占用用户设备上的存储空间。同样重要的是要注意特定设备端模型(如 Gemini Nano)的设备兼容性,以确保您的目标受众可以使用这些功能。
- 微调和定制:如果您需要为您的特定用例微调模型,云端解决方案通常提供更大的灵活性和更广泛的定制选项。
- 跨平台一致性:如果跨多个平台(包括 iOS)的 AI 功能一致性至关重要,请注意某些设备端解决方案(如 Gemini Nano)可能尚未在所有操作系统上可用。
通过仔细考虑您的用例要求和可用选项,您可以找到完美的 AI/ML 解决方案来增强您的 Android 应用,并为您的用户提供智能和个性化的体验。
AI/ML 解决方案指南
本解决方案指南可以帮助您识别将 AI/ML 技术集成到您的 Android 项目中的适当开发者工具。
AI 功能的主要目标是什么?
- A) 生成新内容(文本、图像描述),或执行简单的文本处理(总结、校对或重写文本)? → 转到 生成式 AI
- B) 分析现有数据/输入进行预测、分类、检测、理解模式,或处理实时流(如视频/音频)? → 转到 传统机器学习与感知
传统机器学习与感知
您需要分析输入、识别特征或根据学习到的模式进行预测,而不是生成全新的输出。
您正在执行什么特定任务?
- A) 需要快速集成预构建的常见移动 ML 功能?(例如,条形码扫描、文本识别 (OCR)、人脸检测、图像标注、对象检测和跟踪、语言识别、基本智能回复)
- → 使用:ML Kit(传统 API)
- 原因:最容易集成已建立的移动 ML 任务,通常针对设备端使用进行了优化(低延迟、离线、隐私)。
- B) 需要处理实时流数据(如视频或音频)以进行感知任务?(例如,手部跟踪、姿态估计、人脸网格、视频中的实时对象检测和分割)
- → 使用:MediaPipe
- 原因:专门用于各种平台上的高性能实时感知管道的框架。
- C) 需要在设备上高效运行您自己的自定义训练 ML 模型(例如,用于分类、回归、检测),并优先考虑性能和低资源使用?
- → 使用:LiteRT (TensorFlow Lite Runtime)
- 原因:用于在移动和边缘设备上高效部署自定义模型的优化运行时(体积小、推理快、硬件加速)。
- D) 需要为特定任务训练您自己的自定义 ML 模型?
- → 使用:LiteRT (TensorFlow Lite Runtime) + 自定义模型训练
- 原因:提供了训练和部署自定义模型的工具,针对移动和边缘设备进行了优化。
- E) 需要高级内容分类、情感分析或高细微差别地翻译多种语言?
- 考虑传统 ML 模型(可能使用 LiteRT 或云部署)是否合适,或者高级 NLU 是否需要生成模型(返回到开始,选择 A)。对于基于云的分类、情感或翻译
- → 使用:基于云的解决方案(例如,Google Cloud Natural Language API、Google Cloud Translation API,可能通过自定义后端或Vertex AI 访问)。(如果离线或隐私是关键,则优先级低于设备端选项)。
- 原因:云解决方案提供强大的模型和广泛的语言支持,但需要连接并可能产生费用。
生成式 AI
您需要创建新内容、总结、重写,或执行复杂的理解或交互任务。
您是否需要 AI 离线运行,需要最大程度的数据隐私(将用户数据保留在设备上),或者希望避免云推理成本?
设备端生成式 AI(使用 Gemini Nano)
注意事项:需要兼容的 Android 设备,有限的 iOS 支持,特定的令牌限制(1024 提示,4096 上下文),模型不如云端对应模型强大。
您的用例是否特别符合 ML Kit GenAI API 提供的简化任务?(总结文本、校对文本、重写文本、生成图像描述)并且令牌限制是否足够?
- A) 是:
- → 使用:ML Kit GenAI API(由 Gemini Nano 提供支持)
- 原因:在设备上集成特定常见生成任务的最简单方法,设备端解决方案的最高优先级。
- B) 否(您需要更灵活的提示或超出特定 ML Kit GenAI API 的任务,但仍希望在 Nano 的能力范围内进行设备端执行)
- → 使用:Gemini Nano 实验性访问
- 原因:在设备上提供开放的提示功能,适用于超出结构化 ML Kit GenAI API 的用例,同时遵守 Nano 的限制。
云端生成式 AI
使用更强大的模型,需要连接,通常涉及推理成本,提供更广泛的设备覆盖和更简单的跨平台(Android 和 iOS)一致性。
您的首要任务是什么:Firebase 内的易于集成还是最大的灵活性/控制权?
- A) 倾向于更简单的集成、托管 API 体验,并且可能已经在使用 Firebase?
- → 使用:Firebase AI Logic SDK → 转到 Firebase AI Logic
- B) 需要最大的灵活性、访问最广泛的模型(包括第三方/自定义)、高级微调,并愿意管理您自己的后端集成(更复杂)?
- → 使用:带有自定义云后端(使用 Google Cloud Platform)的 Gemini API
- 原因:提供最多的控制、最广泛的模型访问和自定义训练选项,但需要大量的后端开发工作。适用于复杂、大规模或高度定制的需求。
(您选择了 Firebase AI Logic SDK)您需要哪种生成任务和性能配置文件?
- A) 需要性能和成本之间的平衡,适用于一般的文本生成、摘要或对速度很重要的聊天应用?
- → 使用:带有 Gemini Flash 的 Firebase AI Logic SDK
- 原因:在 Vertex AI 托管环境中针对速度和效率进行了优化。
- B) 需要更高质量和能力,用于复杂的文本生成、推理、高级 NLU 或指令遵循?
- → 使用:带有 Gemini Pro 的 Firebase AI Logic SDK
- 原因:通过 Firebase 访问的更强大的文本模型,适用于要求苛刻的任务。
- C) 需要基于文本提示的复杂图像生成或高级图像理解或操作?
- → 使用:带有 Imagen 3 的 Firebase AI Logic SDK
- 原因:使用托管的 Firebase 环境访问最先进的图像生成模型。