为您的应用找到合适的 AI/ML 解决方案

本指南旨在帮助您将 Google 的生成式人工智能和机器学习 (AI/ML) 解决方案集成到您的应用中。它提供指导,帮助您了解可用的各种人工智能和机器学习解决方案,并选择最适合您需求的一种。本文档的目标是帮助您根据自身需求和用例,确定要使用哪种工具以及原因。

为帮助您选择最适合您特定需求的 AI/ML 解决方案,本文档包含一份解决方案指南。通过回答一系列关于您的项目目标和限制的问题,该指南将引导您找到最合适的工具和技术。

本指南可帮助您为应用选择最佳 AI 解决方案。请考虑以下因素:数据类型(文本、图像、音频、视频)、任务复杂性(简单摘要到需要专业知识的复杂任务)和数据大小(短输入与大型文档)。这将帮助您决定是使用设备上的 Gemini Nano 还是基于 Firebase 云的 AI(Gemini Flash、Gemini Pro 或 Imagen)。

Decision flowchart for GenAI use cases. Criteria include Modality
           (text, image versus audio, video, image generation), Complexity
           (summarize, rewrite versus domain knowledge), and Context Window
           (short input/output versus extensive documents/media), leading to
           either On-device GenAI (Gemini Nano) or Firebase AI Logic (Gemini
           Flash, Pro, Imagen).
图 1:此图表示一个高级解决方案指南,旨在帮助您为 Android 应用找到合适的 AI/ML 解决方案。有关 AI 和 ML 选项的更详细分类,请参阅本文档后面的解决方案指南

利用设备端推理的强大功能

在为 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 KitMediaPipeLiteRTGoogle 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 APIGoogle Cloud Translation API,可能通过自定义后端或Vertex AI 访问)。(如果离线或隐私是关键,则优先级低于设备端选项)。
    • 原因:云解决方案提供强大的模型和广泛的语言支持,但需要连接并可能产生费用。

生成式 AI

您需要创建新内容、总结、重写,或执行复杂的理解或交互任务。

您是否需要 AI 离线运行,需要最大程度的数据隐私(将用户数据保留在设备上),或者希望避免云推理成本?

  • A) 是的,离线、最大隐私或无云成本至关重要。
  • B) 否,连接可用且可接受,云功能和可扩展性更重要,或特定功能需要云端。

设备端生成式 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?
  • B) 需要最大的灵活性、访问最广泛的模型(包括第三方/自定义)、高级微调,并愿意管理您自己的后端集成(更复杂)?
    • → 使用:带有自定义云后端(使用 Google Cloud Platform)的 Gemini API
    • 原因:提供最多的控制、最广泛的模型访问和自定义训练选项,但需要大量的后端开发工作。适用于复杂、大规模或高度定制的需求。

您选择了 Firebase AI Logic SDK)您需要哪种生成任务和性能配置文件?

  • A) 需要性能和成本之间的平衡,适用于一般的文本生成、摘要或对速度很重要的聊天应用?
  • B) 需要更高质量和能力,用于复杂的文本生成、推理、高级 NLU 或指令遵循?
  • C) 需要基于文本提示的复杂图像生成或高级图像理解或操作?