使用多模态基础模型与幻灯片互动的解决方案
重点概括
随着生成性人工智能的发展,基础模型FMs能够处理文本、图像和其他多模态数据。本文介绍了一种利用亚马逊的LLaVA和Titan多模态嵌入模型,以及AWS的其他服务,实现通过幻灯片获取信息的解决方案。
在生成性人工智能的推动下,当前的基础模型FMs如大语音模型LLMsClaude 2和Llama 2,能够在文本数据上执行多种生成任务,如问答、摘要和内容创作。然而,现实中的数据存在于多种模态中,例如文本、图像、视频和音频。以PowerPoint幻灯片为例,它可能包含以文本、图形、表格和图片的形式呈现的信息。
在本文中,我们提出了一种解决方案,利用多模态基础模型,如AWS Titan多模态嵌入模型和LLaVA 15,以及AWS服务包括Amazon Bedrock和Amazon SageMaker,在多模态数据上执行类似的生成任务。
解决方案概述
该解决方案提供了一种实现方式,能够使用幻灯片中包含的文本和视觉元素来回答问题。设计基于增强检索生成RAG的概念。传统上,RAG与文本数据关联,但在本文中,我们将RAG扩展到包括图像,从而为提取与上下文相关的内容提供强大的搜索能力。
组件包括:
组件描述Titan多模态嵌入模型该FM用于为幻灯片中的内容生成嵌入。作为多模态模型,Titan模型可以处理文本、图像或两者的组合并生成嵌入。LLaVA是一个开源多模态模型,用于视觉和语言理解,解释幻灯片中的数据,包括图形和表格。本文中使用的是具有70亿参数版本的LLaVA 157b。Amazon SageMakerLLaVA模型在SageMaker端点上部署,使用该端点对LLaVA模型进行推理。Amazon OpenSearch Serverless用作向量数据库,存储Titan多模态嵌入模型生成的嵌入。Amazon OpenSearch Ingestion (OSI)这是一个完全托管的无服务器数据收集器,将数据传递给OpenSearch服务的域。解决方案架构
该解决方案设计分为两个部分:数据摄取和用户交互。
数据摄取在数据摄取阶段,我们将输入的幻灯片转换为图像,生成这些图像的嵌入,然后填充向量数据存储。
飞驰加速器免费一小时用户交互在用户交互阶段,用户的问题会转化为嵌入,并在向量数据库上执行相似性搜索,以找到可能包含答案的幻灯片。然后,我们将该幻灯片以图像文件的形式提供给LLaVA模型,并将用户的问题作为提示生成答案。
工作流程步骤
将幻灯片转换为JPG格式的图像文件,并传递给Titan多模态嵌入模型生成嵌入。将生成的嵌入整合到一个JSON文件并上传到Amazon Simple Storage Service (Amazon S3)。通过Amazon S3事件通知,在Amazon Simple Queue Service (Amazon SQS)队列中发布事件。SQS中的事件触发OSI管道,将数据作为文档传入OpenSearch Serverless索引。接下来,详细探讨用户交互部分的工作步骤,具体见后文的结果部分。
前提条件
要实现本文中的解决方案,您需要有一个AWS账户并熟悉FMs、Amazon Bedrock、SageMaker和OpenSearch服务。
确保Titan多模态嵌入模型在Amazon Bedrock中已启用,您可以在Amazon Bedrock控制台中选择相应选项进行确认。
使用AWS CloudFormation模板创建解决方案堆栈
选择以下适合您区域的AWS CloudFormation模板启动解决方案资源。
AWS区域链接useast1uswest2成功创建堆栈后,请在AWS CloudFormation控制台的输出标签页中记录MultimodalCollectionEndpoint的值,用于后续步骤。
测试解决方案
完成先决步骤并成功创建CloudFormation堆栈后,您可以测试解决方案:
在SageMaker控制台选择Notebooks。选择MultimodalNotebookInstance并打开JupyterLab。在文件浏览器中查找notebooks文件夹,查看notebooks和支持文件。按照顺序逐个运行以下notebooks:
选择0deployllavaipynb,该notebook会将LLaVAv157B模型部署到SageMaker端点。选择1dataprepipynb,下载幻灯片,转换为JPG格式并上传到S3。选择2dataingestionipynb,在OpenSearch Serverless集合中创建索引,并使用Titan多模态嵌入模型将生成的嵌入存储在S3。
结果
以下是一些用户问题及其生成的回答与匹配的幻灯片的汇总:
问题答案幻灯片Inf2的性能与相似EC2实例相比如何?需要具体数字。根据幻灯片,AWS Inferentia2的Inf2实例提供比可比较的EC2实例高达4倍的吞吐量和10倍的低延迟。根据AI/ML飞轮,AWS的AI/ML服务提供哪些?AWS AI/ML服务提供更好的/性能能力、新功能和创新投资。与GPT2相比,GPT3的参数数量多多少?根据幻灯片,GPT3有1750亿个参数,而GPT2有15亿参数。参数数量的数值差异为1735亿。粒子物理学中的夸克是什么?我在幻灯片中没有找到这个问题的答案。随时可以将此解决方案扩展到您的幻灯片,只需在globalspy中更新SLIDEDECK变量为您的幻灯片链接并运行摄取步骤。
小提示
您可以使用OpenSearch仪表板与OpenSearch API交互,对索引和摄取数据进行快速测试。
清理
为避免后续产生费用,请删除您创建的资源。您可以通过CloudFormation控制台删除堆栈。
此外,删除为LLaVA推理创建的SageMaker推理端点。您可以通过在3raginferenceipynb中取消注释清理步骤并运行单元,或通过SageMaker控制台选择推理和端点来删除端点。
结论
企业不断生成新内容,幻灯片是用于内部和外部分享信息的一种常见机制。而丰富的信息常常隐藏在这些幻灯片中的非文本模态,如图形和表格中。您可以使用此解决方案和多模态基础模型的强大功能,发现幻灯片内容中的新信息或观察新的视角。
我们鼓励您通过探索Amazon SageMaker JumpStart、Amazon Titan模型、Amazon Bedrock和OpenSearch服务,使用本文提供的示例实现构建解决方案。
期待您关注该系列文章的后续部分,第二部分将介绍另一种与幻灯片互动的方法,第三部分将比较这两种方法。
发表评论