Gemma 3n:RAG和函数调用革新设备端推理

Google 发布了 Gemma 3n,这是一款具有突破性的多模态小型语言模型,现已在创新的 LiteRT Hugging Face 社区中提供预览版本,同时还提供了一系列先前发布过的模型。Gemma 3n 旨在处理各种输入,包括文本、图像、视频和音频。此外,它还支持微调、通过检索增强生成 (RAG) 进行定制以及函数调用,所有这些都由新型 AI Edge SDK 提供支持。

Gemma 3n:揭示内在力量

Gemma 3n 提供两种不同的参数变体:Gemma 3n 2B 和 Gemma 3n 4B。根据 Google 的预测,这两个版本都配备了处理文本和图像输入的功能,并且计划在不久的将来集成音频支持。与今年早些时候首次亮相的非多模态 Gemma 3 1B 相比,这标志着规模上的巨大飞跃,后者仅需要 529MB 即可在移动 GPU 上管理令人印象深刻的每秒 2,585 个 tokens。

根据 Google 的技术规范,Gemma 3n 利用选择性参数激活,这是一种为高效参数管理而设计的新颖技术。这意味着这两个模型包含的参数数量多于推理过程中主动使用的 2B 或 4B。这种战略方法优化了资源利用率并提高了性能。选择性参数激活允许模型只激活那些与给定任务最相关的参数,从而减少计算量和内存需求。这对于在资源受限的设备上运行模型尤其重要。

选择性参数激活的实现方式多种多样,包括:

  • 稀疏激活: 对模型进行训练,使其在每次推理时只激活一部分参数。这可以通过使用诸如 L1 正则化之类的技术来实现。
  • 条件计算: 根据输入激活不同的计算路径。这种方法允许模型根据输入数据自适应地改变其结构。
  • 门控机制: 使用门控网络来控制信息的流动,从而只允许相关信息通过。

微调和量化:释放定制能力

Google 强调,开发人员可以使用 Google AI Edge 提供的尖端量化工具来微调基础模型,然后对其进行转换和量化。这使开发人员能够根据特定应用定制模型并优化其性能特征。量化是将模型的权重和激活从浮点数转换为整数的过程。这可以显著减少模型的内存占用和计算量,使其更适合在边缘设备上部署。微调则是使用特定于任务的数据集来进一步训练预训练模型的过程。微调可以提高模型在特定任务上的准确性。

RAG 集成:利用上下文数据丰富语言模型

作为微调的替代方案,Gemma 3n 模型可以部署用于设备上的检索增强生成 (RAG),这是一种利用特定于应用程序的数据来丰富语言模型的方法。这种增强由 AI Edge RAG 库促进,该库目前仅适用于 Android,但计划扩展到 pipeline 中的其他平台。

RAG 的优势在于它允许语言模型访问外部知识来源,从而生成更准确、信息更丰富的响应。RAG 特别适用于那些需要访问不断变化的信息的任务,例如问答和文本摘要。

RAG 库通过一个简化的 pipeline 运行,该 pipeline 包含几个关键阶段:

  • **数据导入:**将相关数据摄取到系统中。这可能涉及到从文件、数据库或 API 中加载数据。
  • **分块和索引:**分割和组织数据以实现高效检索。分块是将大型文档分割成更小的、更易于管理的块的过程。索引则是创建数据结构的過程,以便可以根据关键字或语义信息快速检索到这些块。
  • **嵌入生成:**创建数据的向量表示以实现语义理解。嵌入是向量表示,可以捕捉到单词或短语的语义含义。
  • **信息检索:**根据用户查询识别和提取相关信息。检索的过程涉及到使用一个相似度度量标准来找到与用户查询最相关的块。
  • **响应生成:**使用 LLM 制作连贯且与上下文相关的响应。最终的响应由语言模型基于检索到的信息生成。

这个强大的框架能够全面自定义 RAG pipeline,包括支持自定义数据库、分块策略和检索功能。例如,开发人员可以为特定领域的数据使用专门的分块算法。他们还可以使用不同的相似度度量标准来优化信息检索的准确性。

AI Edge On-device 函数调用 SDK:弥合模型和真实世界行动之间的差距

与 Gemma 3n 的发布同时,Google 推出了 AI Edge On-device 函数调用 SDK,该 SDK 最初仅在 Android 上可用。该 SDK 使模型能够调用特定函数,从而执行真实的行动。函数调用允许语言模型与外部系统交互,从而执行诸如搜索信息、控制设备和发送电子邮件之类的任务。

为了将 LLM 与外部函数无缝集成,必须通过指定函数的名称、描述何时 LLM 应使用它的描述性叙述以及必需的参数来仔细描述该函数。此元数据封装在 Tool 对象中,该对象随后通过 GenerativeModel 构造函数传递给大型语言模型。函数调用 SDK 包含支持从 LLM 接收基于提供的描述的函数调用并将执行结果传输回 LLM 的功能。

对于那些渴望更深入地研究这些突破性工具的人来说,Google AI Edge Gallery 是一个宝贵的资源。这个实验性应用程序展示了各种模型并促进文本、图像和音频处理。AI Edge Gallery 允许开发人员轻松地测试不同的模型和配置,并评估它们在各种设备上的性能。

深入探讨:Gemma 3n 及其生态系统的细微差别

Gemma 3n 的出现标志着设备端机器学习发展过程中的一个重大进步,它提供了效率、适应性和功能性的强大组合。它具有多模式功能,并支持 RAG 和函数调用,为寻求创建智能且具有上下文感知应用程序的开发人员释放了无数的可能性。

选择性参数激活:深入研究

Gemma 3n 采用的选择性参数激活技术值得更仔细地研究。这种创新方法允许模型仅动态激活给定任务所需的参数,从而最大限度地减少计算开销并最大限度地提高效率。这对于设备端部署尤其重要,在设备端部署中,资源通常受到限制。

选择性参数激活背后的基本原理在于,并非神经网络中的所有参数对于所有任务都同样重要。通过选择性地仅激活最相关的参数,模型可以以显着降低的计算成本实现可比的性能。

选择性参数激活的实现通常涉及一种确定要为给定输入激活哪些参数的机制。这可以通过多种技术来实现,例如:

  • **注意机制:**关注输入的最相关部分并激活相应的参数。 注意力机制允许模型专注于输入的最重要部分,从而提高准确性和效率。
  • **门控机制:**使用门控函数来控制信息通过网络不同部分的流动。 门控机制可以控制哪些信息被传递到网络的其他部分,从而减少噪声并提高性能。
  • **稀疏训练:**训练网络以学习稀疏连接,因此在推理期间仅激活参数的一个子集。 训练稀疏网络可以减少模型的复杂性并提高其泛化能力。

技术的选择取决于模型的具体架构和任务的特征。然而,总体目标是识别并仅激活与给定输入最相关的参数,从而降低计算成本并提高效率。

RAG:增强知识和背景

检索增强生成 (RAG) 代表了语言模型使用方式的范式转变。通过集成外部知识来源,RAG 使语言模型能够生成信息更充分、更准确且与上下文相关的响应。 RAG 使得语言模型能够访问外部信息,从而弥补了其自身的知識的不足。

RAG pipeline 包含几个关键阶段:

  1. **数据索引:**在此阶段,索引外部知识来源以实现相关信息的高效检索。这通常涉及创建知识来源中每个文档的向量表示,然后可以使用该向量表示快速识别与给定查询相似的文档。
  2. **信息检索:**当收到查询时,RAG 系统会从索引的知识来源中检索最相关的文档。这通常使用相似度搜索算法完成,该算法将查询的向量表示与知识来源中文档的向量表示进行比较。
  3. **背景化:**然后,检索到的文档用于增强查询的背景。这可以通过简单地将检索到的文档连接到查询来实现,或者通过使用更复杂的技术将检索到的文档中的信息集成到查询表示中来实现。
  4. **响应生成:**最后,将增强的查询输入到语言模型中,该模型根据查询和检索到的文档中的组合信息生成响应。

RAG 优于传统的语言模型:

  • **更高的准确性:**通过结合外部知识,RAG 模型可以生成更准确和真实的响应。
  • **改进的上下文理解:**RAG 模型可以通过利用检索到的文档中的信息来更好地理解查询的上下文。
  • **减少幻觉:**RAG 模型不太可能产生幻觉或生成无意义的响应,因为它们基于外部知识。
  • **适应新信息:**RAG 模型可以通过简单地更新索引的知识来源来轻松适应新信息。这使得 RAG 模型能够保持最新状态,并提供最准确的信息。

函数调用:与现实世界互动

AI Edge On-device 函数调用 SDK 代表着朝着使语言模型能够与现实世界互动迈出的重要一步。通过允许模型调用外部函数,SDK 解锁了创建智能且具有上下文感知应用程序的广泛可能性。

函数调用过程通常涉及以下步骤:

  1. **函数定义:**开发人员定义语言模型可以调用的函数。这包括指定函数的名称、函数功能的描述以及函数接受的参数。
  2. **工具对象创建:**开发人员创建一个 Tool 对象,该对象封装了函数定义。然后将此对象传递给语言模型。
  3. **函数调用生成:**当语言模型需要执行真实世界的操作时,它会生成一个函数调用。此调用包括要调用的函数的名称和要传递给函数的参数值。
  4. **函数执行:**然后由系统执行函数调用。这通常涉及调用相应的 API 或服务。
  5. **结果传输:**然后将函数执行的结果传输回语言模型。
  6. **响应生成:**最后,语言模型使用函数执行的结果生成响应。

函数调用 SDK 使语言模型能够执行各种任务,例如:

  • **从外部来源访问信息:**模型可以调用函数来从数据库、API 和其他外部来源检索信息。
  • **控制设备和电器:**模型可以调用函数来控制智能家居设备,例如灯、恒温器和电器。
  • **执行交易:**模型可以调用函数来执行金融交易,例如付款和转账。
  • **自动化任务:**模型可以调用函数来自动化复杂的任务,例如安排约会和发送电子邮件。

Google AI Edge Gallery:创新展示

Google AI Edge Gallery 作为一个重要的平台,展示了 Gemma 3n 及其相关工具的功能。通过提供一个交互式环境,开发人员可以在其中使用这些技术进行实验,该 Gallery 促进了创新并加速了新应用程序的开发。

该 Gallery 具有各种模型和演示,展示了 Gemma 3n 在各种任务中的潜力,例如:

  • **图像识别:**识别图像中的对象和场景。
  • **自然语言处理:**理解和生成人类语言。
  • **语音识别:**将口语转录为文本。
  • **音频处理:**分析和操纵音频信号。

该 Gallery 还提供对 AI Edge SDK 的访问,使开发人员能够将这些技术集成到他们自己的应用程序中。

设备端机器学习的未来

Gemma 3n 及其配套生态系统的出现预示着设备端机器学习的新纪元。通过结合效率、适应性和功能性,Gemma 3n 使开发人员能够创建智能且具有上下文感知能力的应用程序,这些应用程序可以直接在设备上运行,而无需持续的互联网连接。

这对各个行业都产生了深远的影响,包括:

  • **移动:**实现更智能、响应更快的移动应用程序。
  • **物联网:**为可以独立自主运行的智能设备提供支持。
  • **汽车:**提高自动驾驶汽车的安全性和便利性。
  • **医疗保健:**提高医疗诊断和治疗的准确性和效率。

随着设备端机器学习技术的不断发展,我们可以预期未来几年会出现更多创新和具有影响力的应用程序。Gemma 3n 代表着这一旅程中的一个重要步骤,为智能无缝集成到我们日常生活中的未来铺平了道路。