Amazon Kendra 是一个由机器学习(ML)驱动的智能搜寻服务。Amazon Kendra 从新构想了您的网站和应用程序的搜寻性能,以便您的员工和客户能够轻松地找到分布在您组织内多个地位和内容存储库中的内容。

亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注/珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库!

Amazon Kendra 反对各种文档格局,例如 Microsoft Word、PDF 和来自各种数据源的文本。在本文中,咱们重点介绍通过显示的内容使图像可搜寻的 Amazon Kendra 文档反对的扩大。图像通常能够应用补充的元数据(例如关键词)来搜寻。然而,为成千上万的图像增加具体元数据须要大量的手动工作。生成式 AI (GenAI) 能够帮忙主动生成元数据。通过生成文字字幕,GenAI 字幕预测为图像提供了描述性的元数据。而后,在文档摄入过程中,能够应用生成的元数据来丰盛 Amazon Kendra 索引,从而无需任何手动工作即可搜寻图像。

例如,在对图像进行文档摄入过程中,能够应用 GenAI 模型为以下图像生成“一只狗躺在伞下的高空上”的文本形容。

对象辨认模型依然能够检测到“狗”和“伞”等关键词,然而 GenAI 模型通过辨认狗躺在伞下,提供了对图像中所示意内容的更深刻的了解。这有助于咱们在图像搜寻过程中构建更细化的搜寻。文本形容作为自定义文档丰盛(CDE)通过主动形式增加到 Amazon Kendra 搜寻索引中。而后,搜寻“狗”或“伞”的用户将可能找到该图像,如上面的截图所示。

在本文中,咱们展现了如何在 Amazon Kendra 中应用 CDE 和在 Amazon SageMaker 上部署的 GenAI 模型。咱们应用简略的示例演示 CDE,并提供分步指南,以便您能够在本人的亚马逊云科技账户中的 Amazon Kendra 索引中体验 CDE。它容许用户通过自然语言查问疾速轻松地找到所需的图像,而无需手动标记或分类。该解决方案也能够依据不同应用程序和行业的需要进行定制和扩大。

应用 GenAI 进行图像字幕

应用 GenAI 对图像进行形容波及应用 ML 算法生成图像的文本形容。该过程也称为图像字幕,它处于计算机视觉和自然语言解决(NLP)的交叉点。它在多模态数据的畛域有利用,例如电子商务,其中数据蕴含文本模式的元数据以及图像,或者在医疗保健畛域,数据能够蕴含 MRI 或 CT 扫描以及医生的笔记和诊断,只举几个用例。

GenAI 模型学习辨认图像中的对象和特色,而后用自然语言生成对这些对象和特色的形容。最先进的模型应用编码器-解码器架构,其中图像信息被编码在神经网络的中间层,并解码为文本形容。这些能够被视为两个不同的阶段:从图像中提取特色和生成文本字幕。在特征提取阶段(编码器),GenAI 模型解决图像以提取相干的视觉特色,例如对象形态、色彩和纹理。在字幕生成阶段(解码器),模型基于提取的视觉特色生成图像的自然语言形容。

GenAI 模型通常在大量数据上进行训练,这使它们适宜各种工作,而无需额定训练。通过大量学习也能够轻松地适应自定义数据集和新畛域。预训练方法容许轻松地应用最先进的语言和图像模型来训练多模态应用程序。这些预训练方法还容许您依据数据抉择最佳的视觉模型和语言模型作为图像字幕模型。

生成的图像形容的品质取决于训练数据的品质和数量、GenAI 模型的架构以及特征提取和字幕生成算法的品质。只管应用 GenAI 进行图像形容是一个沉闷的钻研畛域,但它在宽泛的利用中显示出了十分好的后果,例如图像搜寻、视觉叙事和视力阻碍人士的辅助性能。

用例

GenAI 图像字幕在以下用例中十分有用:

  • 电子商务 - 图像和文本同时呈现的常见行业用例是零售业。特地是电子商务存储了大量的数据作为产品图像以及文本形容。文本形容或元数据对于依据搜寻查问显示最佳产品十分重要。此外,随着电商网站从第三方供应商取得数据的趋势,产品描述通常不残缺,须要大量的人工小时数和因为在元数据列中标记正确信息而产生的微小开销。基于 GenAI 的图像字幕特地适宜自动化这一繁琐的过程。在自定义时尚数据(如时尚图像以及形容时尚产品属性的文本)上微调模型能够生成元数据,从而改善用户的搜寻体验。
  • 营销 - 图像搜寻的另一个用例是数字资产治理。营销公司存储大量须要集中化、易于搜寻且可扩大的数字数据,这须要数据目录。一个中心化的数据湖具备信息丰盛的数据目录,能够缩小反复工作并使创意内容更宽泛地共享,在团队之间放弃一致性。对于宽泛用于反对社交媒体内容生成的图形设计平台或企业环境中的演示文稿而言,更快的搜寻能够通过出现用户心愿查找的图像来改善用户体验,并使用户可能应用自然语言查问进行搜寻。
  • 制造业 - 制造业存储大量图像数据,如组件、建筑物、硬件和设施的架构蓝图。可能搜寻这些数据使产品团队可能轻松地从曾经存在的终点从新创立设计,从而打消了大量设计开销,减速了设计生成过程。
  • 医疗保健 - 医生和医学钻研人员能够整顿和搜寻MRI和CT扫描、标本样本、疾病的图像(如皮疹和畸形)以及医生的笔记、诊断和临床试验细节。
  • 元宇宙或加强事实 - 广告商品是对于发明一个用户能够设想和认同的故事。随着人工智能驱动的工具和剖析,比以往任何时候都更容易构建不仅一个故事,而是定制的故事,以吸引每个用户独特的品尝和敏感性。这是图像到文本模型能够成为游戏规则的中央。视觉叙事能够帮忙创立角色、将其调整到不同的款式,并为其增加字幕。它也能够用来驱动元宇宙或加强事实以及沉迷式内容(包含视频游戏)中的刺激体验。图像搜寻使开发人员、设计师和团队可能应用自然语言查问搜寻他们的内容,从而在各种团队之间放弃内容的一致性。
  • 视力障碍者数字内容辅助性能 - 这次要是通过诸如屏幕阅读器、盲文零碎(容许触觉浏览和书写)和非凡键盘(用于浏览网站和互联网上的应用程序)等辅助技术实现的。然而,图像须要以文本内容进行交付,而后以语音的模式进行交换。应用GenAI算法进行图像字幕是从新设计互联网、使其更具包容性的要害局部,为每个人提供拜访、了解和交互在线内容的机会。

模型细节和用于自定义数据集的模型微调

在此解决方案中,咱们利用了 vit-gpt2-image-captioning 模型,该模型可从 Hugging Face 取得,许可证为 Apache 2.0,无需进行进一步微调。Vit 是用于图像数据的根底模型,GPT-2 是用于语言的根底模型。两者的多模态组合提供了图像字幕的性能。Hugging Face 托管最先进的图像字幕模型,能够在几次点击中在亚马逊云科技中进行部署,并提供简略的部署推理端点。只管咱们能够间接应用预训练模型,但咱们也能够自定义模型以适应特定畛域的数据集、更多数据类型(如视频或空间数据)以及独特的用例。有几个 GenAI 模型,其中一些模型在某些数据集上体现较好,或者您的团队可能曾经在应用视觉和语言模型。该解决方案提供了通过间接替换咱们应用的模型来抉择最佳执行视觉和语言模型作为图像字幕模型的灵活性。

对于定制到独特行业利用的模型,亚马逊云科技上的 Hugging Face 开源模型提供了几种可能性。能够对预训练模型进行测试以取得特定数据集,或对标记数据的样本进行训练以对其进行微调。新的钻研办法还容许高效地组合任何视觉和语言模型,并在您的数据集上对其进行训练。而后,能够在 SageMaker 中部署这个新训练的模型进行本文介绍的图像字幕。

定制图像搜寻的一个示例是企业资源打算(ERP)。在 ERP 中,从物流或供应链治理的不同阶段收集的图像数据可能包含税收收据、供应商订单、工资单等,须要主动分类以供组织内不同团队查阅。另一个示例是应用医疗扫描和医生诊断来预测新医学图像以进行主动分类。视觉模型从 MRI、CT 或 X射线图像中提取特色,文本模型应用医疗诊断对其进行字幕。

解决方案概述

下图显示了具备 GenAI 和 Amazon Kendra 的图像搜寻体系结构。

咱们从 Amazon Simple Storage Service (Amazon S3) 中摄入图像到 Amazon Kendra。在摄入 Amazon Kendra 期间,调用托管在 SageMaker 上的 GenAI 模型以生成图像形容。此外,通过 Amazon Textract 提取图像中可见的文本。图像形容和提取的文本存储为元数据,可用于 Amazon Kendra 搜寻索引。摄入后,能够通过 Amazon Kendra 搜寻控制台、API 或 SDK 搜寻图像。

咱们应用 Amazon Kendra 中的 CDE 高级操作在图像摄入步骤期间调用 GenAI 模型和 Amazon Textract。然而,咱们能够在更宽泛的用例中应用 CDE。应用 CDE,您能够在将文档摄入 Amazon Kendra 时创立、批改或删除文档属性和内容。这意味着您能够依据须要操作和摄入数据。这能够通过在摄入期间调用摄入前后 Amazon Lambda 函数来实现,这容许进行数据丰盛或批改。例如,在摄入医疗文本数据时,咱们能够应用 Amazon Medical Comprehend 将 ML 生成的洞察力增加到搜寻元数据中。

您能够通过以下步骤应用咱们的解决方案通过 Amazon Kendra 搜寻图像:

  1. 将图像上传到图像存储库,如 S3 存储桶。
  2. 而后,Amazon Kendra 会索引图像存储库,这是一个可用于搜寻结构化和非结构化数据的搜索引擎。在索引过程中,将调用 GenAI 模型和 Amazon Textract 来生成图像元数据。您能够手动触发索引或按预约义的打算触发索引。
  3. 而后,您能够应用自然语言查问(例如“查找红玫瑰的图像”或“展现狗在公园里玩的图片”)通过 Amazon Kendra 控制台、SDK 或 API 搜寻图像。这些查问由 Amazon Kendra 解决,Amazon Kendra 应用 ML 算法了解查问背地的含意,并从索引的存储库中检索相干图像。
  4. 搜寻后果以及相应的文本形容将出现给您,使您能够疾速轻松地找到所需的图像。

前提条件
您必须具备以下先决条件:

  • 一个亚马逊云科技账户
  • 通过 Amazon CloudFormation 提供和调用以下服务的权限:Amazon S3、Amazon Kendra、Lambda 和 Amazon Textract。

老本估算

部署此解决方案作为概念验证的老本预计如下表所示。这就是咱们应用 Amazon Kendra 开发者版的起因,不倡议用于生产工作负载,但为开发人员提供了低成本选项。咱们假如 Amazon Kendra 的搜寻性能在20个工作日内每天用于3个小时,因而计算与60个月沉闷小时相干的老本。

应用 Amazon CloudFormation 部署资源

CloudFormation 堆栈部署以下资源:

  • 从 Hugging Face 核心下载图像字幕模型的 Lambda 函数,随后构建模型资产
  • 将推理代码和压缩的模型工件填充到指标 S3 存储桶的 Lambda 函数
  • 用于存储压缩模型工件和推理代码的 S3 存储桶
  • 用于存储上传的图像和 Amazon Kendra 文档的 S3 存储桶
  • 用于搜寻生成的图像字幕的 Amazon Kendra 索引
  • SageMaker 实时推理端点,用于部署来自 Hugging Face 的图像字幕模型
  • 在按需丰盛 Amazon Kendra 索引时触发的 Lambda 函数。它调用 Amazon Textract 和 SageMaker 实时推理端点。

此外,Amazon CloudFormation 还部署了在自定义资源 Lambda 函数中运行所需的所有 Amazon Identity and Access Management(IAM) 角色和策略、VPC 以及子网、平安组和互联网网关。

请实现以下步骤以预配资源:

  1. 单击启动堆栈在us-east-1区域启动CloudFormation模板:
    https://signin.aws.amazon.com/signin?redirect_uri=https%3A%2F...
  2. 单击下一步
  3. 指定堆栈详细信息页面上,将模板URL和参数文件S3 URI保留为默认值,而后单击下一步
  4. 在后续页面上持续单击下一步
  5. 单击创立堆栈以部署堆栈。

监控堆栈的状态。当状态显示为CREATE_COMPLETE时,部署实现。

摄入和搜寻示例图像

请实现以下步骤以摄入和搜寻图像:

  1. 在Amazon S3管制台上,在us-east-1 Region的kendra-image-search-stack-imagecaptions S3 bucket中创立一个名为images的文件夹。
  2. 上传以下图像到images文件夹。



  3. 导航到us-east-1区域的 Amazon Kendra 控制台。
  4. 在导航窗格中,抉择索引,而后抉择您的索引(kendra-index)。
  5. 抉择数据源,而后抉择 generated_image_captions。
  6. 抉择立刻同步

在持续下一步之前,请期待同步实现。

  1. 在导航窗格中,抉择索引,而后抉择kendra-index。
  2. 导航到搜寻控制台。
  3. 尝试以下查问,能够独自应用也能够组合应用:“dog”、“umbrella”和“newsletter”,理解 Amazon Kendra 对哪些图像进行了高排名。

随便测试适宜上传图像的本人的查问。

清理

要勾销预配所有资源,请实现以下步骤:

  1. 在 Amazon CloudFormation 管制台上,抉择导航窗格中的堆栈
  2. 抉择堆栈 kendra-genai-image-search 并抉择删除

期待堆栈状态更改为 DELETE_COMPLETE。

论断

在本文中,咱们看到了 Amazon Kendra 和 GenAI 如何联合来主动为图像创立有意义的元数据。最先进的 GenAI 模型非常适合依据图像内容生成文本字幕。这在医疗保健和生命科学、批发和电子商务、数字资产平台和媒体等行业都有宽泛的用例。图像字幕对于建设更具包容性的数字世界和从新设计互联网、元宇宙和沉迷式技术以适应视力阻碍人群的需要也至关重要。

通过字幕启用的图像搜寻使这些应用程序的数字内容无需人工工作即可轻松搜寻,并打消了反复工作。咱们提供的CloudFormation 模板使得部署此解决方案以通过 Amazon Kendra 启用图像搜寻变得简略直观。将图像存储在 Amazon S3 中并应用 GenAI 创立图像的文本形容的简略体系结构能够与 Amazon Kendra 中的 CDE 一起应用以提供此解决方案。

这只是 GenAI 与 Amazon Kendra 的一个利用。要深刻理解如何应用 GenAI 与 Amazon Kendra 构建应用程序,请参阅应用 Amazon Kendra、LangChain 和大型语言模型疾速构建高精度的生成式 AI 企业数据应用程序。对于构建和扩大 GenAI 应用程序,咱们倡议查看 Amazon Bedrock。

文章起源:https://dev.amazoncloud.cn/column/article/64e5e3785cf85603849...