随着生成式人工智能的出现,当今的基础模型 (FM),例如大语言模型 (LLM) Claude 2 和 Llama 2,可以执行一系列生成任务,例如对文本数据进行问答、摘要和内容创建。然而,现实世界的数据以多种形式存在,例如文本、图像、视频和音频。以 PowerPoint 幻灯片为例。它可以包含文本形式的信息,也可以嵌入图形、表格和图片中。
在这篇文章中,我们提出了一个使用多模态 FM 的解决方案,例如 Amazon Titan 多模式嵌入 模型和 拉瓦1.5 和 AWS 服务,包括 亚马逊基岩 和 亚马逊SageMaker 对多模式数据执行类似的生成任务。
解决方案概述
该解决方案提供了一种使用幻灯片的文本和视觉元素中包含的信息来回答问题的实现。该设计依赖于检索增强生成(RAG)的概念。传统上,RAG 与法学硕士可以处理的文本数据相关联。在这篇文章中,我们将 RAG 扩展为也包含图像。这提供了强大的搜索功能,可以从表格和图形以及文本等视觉元素中提取上下文相关的内容。
设计包含图像的 RAG 解决方案有多种方法。我们在这里介绍了一种方法,并将在这个由三部分组成的系列的第二篇文章中介绍另一种方法。
该解决方案包括以下组件:
- Amazon Titan 多模式嵌入模型 – 该 FM 用于为本文中使用的幻灯片中的内容生成嵌入。作为多模态模型,此 Titan 模型可以处理文本、图像或组合作为输入并生成嵌入。 Titan Multimodal Embeddings 模型生成 1,024 维的向量(嵌入),并通过 Amazon Bedrock 访问。
- 大型语言和视觉助手(LLaVA) – LLaVA 是一种用于视觉和语言理解的开源多模式模型,用于解释幻灯片中的数据,包括图形和表格等视觉元素。我们使用7亿参数版本 拉瓦1.5-7b 在这个解决方案中。
- 亚马逊SageMaker – LLaVA 模型使用 SageMaker 托管服务部署在 SageMaker 端点上,我们使用生成的端点对 LLaVA 模型运行推理。我们还使用 SageMaker 笔记本来端到端地编排和演示该解决方案。
- 亚马逊 OpenSearch 无服务器 – OpenSearch Serverless 是一种按需无服务器配置 亚马逊开放搜索服务。我们使用 OpenSearch Serverless 作为矢量数据库来存储 Titan Multimodal Embeddings 模型生成的嵌入。在 OpenSearch Serverless 集合中创建的索引充当我们的 RAG 解决方案的向量存储。
- Amazon OpenSearch 摄取 (OSI) – OSI 是一个完全托管的无服务器数据收集器,可将数据传送到 OpenSearch 服务域和 OpenSearch Serverless 集合。在本文中,我们使用 OSI 管道将数据传送到 OpenSearch Serverless 矢量存储。
解决方案架构
解决方案设计由两部分组成:摄取和用户交互。在摄取过程中,我们通过将每张幻灯片转换为图像来处理输入幻灯片,为这些图像生成嵌入,然后填充矢量数据存储。这些步骤在用户交互步骤之前完成。
在用户交互阶段,用户提出的问题被转换为嵌入,并在向量数据库上运行相似性搜索,以找到可能包含用户问题答案的幻灯片。然后,我们将此幻灯片(以图像文件的形式)提供给 LLaVA 模型和用户问题,作为生成查询答案的提示。这篇文章的所有代码都可以在 GitHub上 回购。
下图说明了摄取架构。
工作流程步骤如下:
- 幻灯片被转换为 JPG 格式的图像文件(每张幻灯片一个),并传递到 Titan Multimodal Embeddings 模型以生成嵌入。在这篇文章中,我们使用标题为 使用 AWS Trainium 和 AWS Inferentia 训练和部署 Stable Diffusion 2023 年 31 月在多伦多举行的 AWS 峰会上展示了该解决方案。示例甲板有 31 张幻灯片,因此我们生成 1,024 组向量嵌入,每组向量嵌入有 XNUMX 个维度。我们向这些生成的向量嵌入添加额外的元数据字段并创建一个 JSON 文件。这些附加元数据字段可用于利用 OpenSearch 强大的搜索功能执行丰富的搜索查询。
- 生成的嵌入被放在一个 JSON 文件中,该文件上传到 亚马逊简单存储服务 (亚马逊S3)。
- 通过 Amazon S3事件通知,一个事件被放入 Amazon Simple Queue服务 (Amazon SQS)队列。
- SQS 队列中的此事件充当运行 OSI 管道的触发器,该管道反过来将数据(JSON 文件)作为文档摄取到 OpenSearch Serverless 索引中。请注意,OpenSearch Serverless 索引被配置为此管道的接收器,并作为 OpenSearch Serverless 集合的一部分创建。
下图说明了用户交互架构。
工作流程步骤如下:
- 用户提交与已摄取的幻灯片相关的问题。
- 使用通过 Amazon Bedrock 访问的 Titan Multimodal Embeddings 模型将用户输入转换为嵌入。使用这些嵌入执行 OpenSearch 矢量搜索。我们执行 k 最近邻 (k=1) 搜索来检索与用户查询匹配的最相关的嵌入。设置 k=1 会检索与用户问题最相关的幻灯片。
- OpenSearch Serverless 响应的元数据包含与最相关的幻灯片对应的图像的路径。
- 通过组合用户问题和图像路径来创建提示,并将其提供给 SageMaker 上托管的 LLaVA。 LLaVA 模型能够理解用户问题并通过检查图像中的数据来回答它。
- 该推理的结果返回给用户。
以下各节将详细讨论这些步骤。请参阅 成果 部分的屏幕截图和输出的详细信息。
先决条件
要实施本文中提供的解决方案,您应该有一个 AWS账户 熟悉 FM、Amazon Bedrock、SageMaker 和 OpenSearch Service。
该解决方案使用 Titan Multimodal Embeddings 模型。确保启用此模型以在 Amazon Bedrock 中使用。在 Amazon Bedrock 控制台上,选择 模型访问 在导航窗格中。如果启用 Titan Multimodal Embeddings,访问状态将说明 授予访问权限.
如果模型不可用,请通过选择启用对模型的访问 管理模型访问选择 Titan 多模态嵌入 G1,并选择 请求模型访问。该模型立即可供使用。
使用 AWS CloudFormation 模板创建解决方案堆栈
使用以下其中一项 AWS CloudFormation 模板(取决于您所在的区域)来启动解决方案资源。
AWS地区 | 链接 |
---|---|
us-east-1 |
|
us-west-2 |
堆栈创建成功后,导航到堆栈的 输出 AWS CloudFormation 控制台上的选项卡并记下以下值 MultimodalCollectionEndpoint
,我们在后续步骤中使用它。
CloudFormation 模板创建以下资源:
- IAM角色 - 下列 AWS身份和访问管理 (IAM) 角色已创建。更新这些角色以应用 最小特权权限.
SMExecutionRole
具有 Amazon S3、SageMaker、OpenSearch Service 和 Bedrock 的完全访问权限。OSPipelineExecutionRole
可以访问特定的 Amazon SQS 和 OSI 操作。
- SageMaker 笔记本 – 这篇文章的所有代码都是通过这个笔记本运行的。
- OpenSearch 无服务器集合 – 这是用于存储和检索嵌入的矢量数据库。
- OSI管道 – 这是将数据引入 OpenSearch Serverless 的管道。
- S3斗 – 这篇文章的所有数据都存储在这个存储桶中。
- SQS队列 – 触发OSI管道运行的事件被放入该队列中。
CloudFormation 模板配置 OSI 管道,其中 Amazon S3 和 Amazon SQS 处理作为源,OpenSearch Serverless 索引作为接收器。在指定的 S3 存储桶和前缀 (multimodal/osi-embeddings-json
)将触发 SQS 通知,OSI 管道使用这些通知将数据提取到 OpenSearch Serverless 中。
CloudFormation 模板还创建 网络, 加密及 数据访问 OpenSearch Serverless 集合所需的策略。更新这些策略以应用最低权限。
请注意,SageMaker 笔记本中引用了 CloudFormation 模板名称。如果默认模板名称已更改,请确保在 全局变量.py
测试解决方案
完成先决条件步骤并成功创建 CloudFormation 堆栈后,您现在可以测试该解决方案:
- 在SageMaker控制台上,选择 笔记本电脑 在导航窗格中。
- 点击
MultimodalNotebookInstance
笔记本实例并选择 打开JupyterLab. - In 文件浏览器,遍历到笔记本文件夹以查看笔记本和支持文件。
笔记本按照其运行顺序进行编号。每个笔记本中的说明和注释描述了该笔记本执行的操作。我们一一运行这些笔记本。
- 0_deploy_llava.ipynb 在 JupyterLab 中打开它。
- 点击 运行 菜单中选择 运行所有单元格 运行此笔记本中的代码。
此笔记本将 LLaVA-v1.5-7B 模型部署到 SageMaker 端点。在此笔记本中,我们从 HuggingFace Hub 下载 LLaVA-v1.5-7B 模型,将 inference.py 脚本替换为 llava_inference.py,并为此模型创建一个 model.tar.gz 文件。 model.tar.gz 文件上传到 Amazon S3 并用于在 SageMaker 终端节点上部署模型。这 llava_inference.py 脚本具有额外的代码,允许从 Amazon S3 读取图像文件并对其运行推理。
- 1_data_prep.ipynb 在 JupyterLab 中打开它。
- 点击 运行 菜单中选择 运行所有单元格 运行此笔记本中的代码。
此笔记本下载 滑动甲板,将每张幻灯片转换为 JPG 文件格式,并将其上传到本文使用的 S3 存储桶。
- 2_data_ingestion.ipynb 在 JupyterLab 中打开它。
- 点击 运行 菜单中选择 运行所有单元格 运行此笔记本中的代码。
我们在此笔记本中执行以下操作:
- 我们在 OpenSearch Serverless 集合中创建索引。该索引存储幻灯片的嵌入数据。请看下面的代码:
- 我们使用 Titan Multimodal Embeddings 模型将之前笔记本中创建的 JPG 图像转换为矢量嵌入。这些嵌入和附加元数据(例如图像文件的 S3 路径)存储在 JSON 文件中并上传到 Amazon S3。请注意,系统会创建一个 JSON 文件,其中包含转换为嵌入的所有幻灯片(图像)的文档。以下代码片段显示了如何将图像(以 Base64 编码字符串的形式)转换为嵌入:
- 此操作会触发 OpenSearch 摄取管道,该管道会处理文件并将其摄取到 OpenSearch Serverless 索引中。以下是创建的 JSON 文件的示例。 (示例代码中显示了具有四个维度的向量。Titan Multimodal Embeddings 模型生成 1,024 个维度。)
- 3_rag_inference.ipynb 在 JupyterLab 中打开它。
- 点击 运行 菜单中选择 运行所有单元格 运行此笔记本中的代码。
该笔记本实现了 RAG 解决方案:我们将用户问题转换为嵌入,从矢量数据库中找到相似的图像(幻灯片),并将检索到的图像提供给 LLaVA 以生成用户问题的答案。我们使用以下提示模板:
以下代码片段提供了 RAG 工作流程:
成果
以下是我们实施过程中产生的一些用户问题和答复的汇编。这 问题 列捕获用户问题,并且 回答 列是 LLaVA 生成的文本响应。 图片 是 OpenSearch Serverless 矢量搜索返回的 k 最近 (k=1) 幻灯片匹配。 LLaVA 解读这张幻灯片以提供答案。
多模态 RAG 结果
问题 | 回答 | 图片 |
---|---|---|
Inf2 的性能与同类 EC2 实例相比如何?我需要数字。 | 根据幻灯片,与同类 EC2 实例相比,AWS Inferentia2 的 Inf4 实例吞吐量提高了 10 倍,延迟降低了 2 倍。 | |
根据 AI/ML 飞轮,AWS AI/ML 服务提供什么? | AWS AI/ML 服务提供更好的 $/perfer 功能、新功能和创新投资。 | |
与GPT-2相比,GPT-3多了多少参数? GPT-2和GPT-3的参数大小的数值差异是多少? | 根据幻灯片,GPT-3 有 175 亿个参数,而 GPT-2 有 1.5 亿个参数。 GPT-2和GPT-3的参数大小之间的数值差异为173.5亿。 | |
粒子物理学中的夸克是什么? | 我在幻灯片中没有找到这个问题的答案。 |
请随意将此解决方案扩展到您的幻灯片。只需使用幻灯片的 URL 更新 globals.py 中的 SLIDE_DECK 变量,然后运行上一节中详细介绍的提取步骤即可。
Tips:
您可以使用 OpenSearch 仪表板与 OpenSearch API 交互,以对索引和提取的数据运行快速测试。以下屏幕截图显示了 OpenSearch 仪表板 GET 示例。
清理
为避免将来产生费用,请删除您创建的资源。您可以通过 CloudFormation 控制台删除堆栈来执行此操作。
此外,删除为 LLaVA 推理创建的 SageMaker 推理端点。您可以通过取消注释清理步骤来完成此操作 3_rag_inference.ipynb 并运行单元,或者通过 SageMaker 控制台删除端点:选择 推理 和 端点 在导航窗格中,然后选择端点并将其删除。
结论
企业一直在生成新内容,幻灯片是一种常用机制,用于在组织内部以及外部与客户或会议上共享和传播信息。随着时间的推移,丰富的信息可能会被隐藏在非文本模式中,例如这些幻灯片中的图表和表格。您可以使用此解决方案以及 Titan Multimodal Embeddings 模型和 LLaVA 等多模态 FM 的强大功能来发现新信息或发现幻灯片内容的新观点。
我们鼓励您通过探索来了解更多 亚马逊SageMaker JumpStart, 亚马逊泰坦型号、Amazon Bedrock 和 OpenSearch Service,并使用本文中提供的示例实现构建解决方案。
请留意本系列中的另外两篇文章。第 2 部分介绍了您可以用来与幻灯片对话的另一种方法。此方法生成并存储 LLaVA 推断,并使用这些存储的推断来响应用户查询。第 3 部分比较这两种方法。
关于作者
阿米特·阿罗拉(Amit Arora) 是 Amazon Web Services 的 AI 和 ML 专家架构师,帮助企业客户使用基于云的机器学习服务来快速扩展他们的创新。 他还是华盛顿特区乔治敦大学 MS 数据科学和分析项目的兼职讲师
曼朱·普拉萨德 是 Amazon Web Services 战略客户部门的高级解决方案架构师。她专注于为多个领域提供技术指导,包括为大型机电客户提供人工智能/机器学习。在加入 AWS 之前,她为金融服务行业的公司以及一家初创公司设计和构建了解决方案。
阿查纳·伊纳普迪 是 AWS 的高级解决方案架构师,为战略客户提供支持。她拥有十多年帮助客户设计和构建数据分析和数据库解决方案的经验。她热衷于利用技术为客户提供价值并实现业务成果。
安塔拉赖莎 是 Amazon Web Services 的人工智能和机器学习解决方案架构师,为德克萨斯州达拉斯市的战略客户提供支持。她之前还拥有与 AWS 大型企业合作伙伴合作的经验,曾担任数字原生客户的合作伙伴成功解决方案架构师。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- PlatoData.Network 垂直生成人工智能。 赋予自己力量。 访问这里。
- 柏拉图爱流。 Web3 智能。 知识放大。 访问这里。
- 柏拉图ESG。 碳, 清洁科技, 能源, 环境, 太阳能, 废物管理。 访问这里。
- 柏拉图健康。 生物技术和临床试验情报。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/talk-to-your-slide-deck-using-multimodal-foundation-models-hosted-on-amazon-bedrock-and-amazon-sagemaker-part-1/
- :具有
- :是
- :不是
- :在哪里
- $UP
- 1
- 10
- 100
- 13
- 15%
- 16
- 173
- 20
- 2023
- 26
- 29
- 31
- 8
- 9
- a
- Able
- 关于
- ACCESS
- 访问
- 账户
- 操作
- 行动
- 行为
- 加
- 额外
- 附件
- 来临
- 驳
- AI
- AI / ML
- 所有类型
- 让
- 沿
- 还
- Amazon
- 亚马逊SageMaker
- 亚马逊网络服务
- an
- 分析
- 和
- 另一个
- 回答
- 回答
- 答案
- 任何
- API
- 使用
- 的途径
- 方法
- 架构
- 保健
- AS
- 问
- 助理
- 相关
- At
- 音频
- 增强
- AUTH
- 可使用
- 避免
- AWS
- AWS CloudFormation
- 基于
- BE
- 很
- 更好
- 之间
- 亿
- 身体
- 建立
- 建筑物
- 建
- 商业
- by
- CAN
- 能力
- 能力
- 捕获
- 细胞
- 变
- 收费
- 选择
- 客户
- 码
- 采集
- 收藏
- 集电极
- 柱
- 组合
- 结合
- 注释
- 相当常见
- 公司
- 可比
- 比较
- 相比
- 完成
- 完成
- 组件
- 概念
- 会议
- 配置
- 配置
- 由
- 安慰
- 包含
- 包含
- 包含
- 内容
- 内容创造
- 兑换
- 转换
- 转换
- 相应
- 可以
- 占地面积
- 创建信息图
- 创建
- 创建
- 创造
- 创建
- 资历
- 顾客
- 合作伙伴
- 达拉斯
- XNUMX月XNUMX日
- 仪表板
- data
- 数据分析
- 数据科学
- 数据库
- 十
- 甲板
- 默认
- 交付
- 提供
- 演示
- 根据
- 部署
- 部署
- 部署
- 部署
- 描述
- 设计
- 设计
- 细节
- 详细
- 详情
- 图表
- 信息通信技术部
- DID
- 差异
- 不同
- 扩散
- 数字
- 尺寸
- 尺寸
- 通过各种方式找到
- 讨论
- 屏 显:
- do
- 文件
- 不
- 域名
- 下载
- 下载
- ,我们将参加
- e
- 每
- 分子
- 嵌入式
- 嵌入
- enable
- 启用
- 编码
- 鼓励
- 结束
- 端点
- 发动机
- 确保
- 企业
- 企业客户
- 错误
- 醚(ETH)
- 活动
- 事件
- 检查
- 例子
- 除
- 例外
- 存在
- 体验
- 探索
- 延长
- 外部
- 提取
- 熟悉
- 字段
- 文件
- 档
- 金融
- 金融服务
- 找到最适合您的地方
- 重点
- 遵循
- 以下
- 如下
- 针对
- 申请
- 格式
- 基金会
- 四
- 自由的
- 止
- ,
- 充分
- 未来
- 生成
- 产生
- 产生
- 代
- 生成的
- 生成式人工智能
- 乔治敦
- 得到
- GitHub上
- 去
- 图表
- 指导
- 有
- he
- 有帮助
- 帮助
- 相关信息
- 老旧房屋
- 更高
- 点击
- 主持人
- 托管
- 托管
- 为了
- 创新中心
- 但是
- HTML
- HTTP
- HTTPS
- 中心
- 拥抱脸
- i
- IAM
- 身分
- if
- 说明
- 图片
- 图片
- 立即
- 实施
- 履行
- 器物
- in
- 包括
- 包括
- 包含
- 指数
- 指数
- 信息
- 創新
- 创新
- 输入
- 例
- 实例
- 说明
- 相互作用
- 相互作用
- 内部
- 成
- 投资
- IT
- 加盟
- JPG
- JSON
- 六月
- 语言
- 大
- 潜伏
- 发射
- 学习用品
- 学习
- 讲师
- 喜欢
- 友情链接
- 骆驼
- 本地
- 降低
- 机
- 机器学习
- 使
- 管理
- 管理
- 许多
- 匹配
- 匹配
- 机制
- 菜单
- 元数据
- 方法
- ML
- 形式
- 模型
- 模型
- 更多
- 最先进的
- MS
- 多
- 姓名
- 本地人
- 导航
- 旅游导航
- 需求
- 全新
- 不包含
- 注意
- 笔记本
- 笔记本电脑
- 通知
- 现在
- 编号
- 数字
- 对象
- of
- 提供
- on
- 点播
- 一
- 仅由
- 打开
- 开放源码
- or
- 组织
- OS
- 我们的
- 输出
- 结果
- 产量
- 超过
- 面包
- 参数
- 参数
- 部分
- 粒子
- 合伙人
- 伙伴
- 部分
- 通过
- 多情
- 径
- 为
- 演出
- 性能
- 执行
- 权限
- 观点
- 相
- 物理
- 图片
- 管道
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 政策
- 帖子
- 帖子
- 可能
- 功率
- 强大
- 预报器
- 当下
- 呈现
- 以前
- 先
- 过程
- 处理
- 过程
- 处理
- 曲目
- 提供
- 提供
- 提供
- 优
- 放
- 夸克
- 查询
- 询问
- 题
- 有疑问吗?
- 快速
- 抹布
- 范围
- 急速
- 阅读
- 准备
- 真实的世界
- 收到
- 引用
- 地区
- 有关
- 相应
- 留
- 更换
- 请求
- 必须
- 资源
- 回应
- 响应
- 回复
- 导致
- 导致
- 成果
- 恢复
- 回报
- 丰富
- 角色
- 运行
- 运行
- sagemaker
- SageMaker 推理
- 同
- 对工资盗窃
- 鳞片
- 科学
- 截图
- 脚本
- 搜索
- 其次
- 部分
- 部分
- 扇形
- 看到
- 选择
- 选择
- 前辈
- 序列
- 系列
- 无服务器
- 服务
- 服务
- 特色服务
- 会议
- 套数
- 设置
- 设置
- Share
- 她
- 应该
- 如图
- 作品
- 类似
- 简易
- 只是
- 单
- 尺寸
- 滑
- 幻灯片
- 片段
- So
- 方案,
- 解决方案
- 一些
- 来源
- 专家
- 具体的
- 指定
- 稳定
- 堆
- 启动
- 州/领地
- Status
- 步
- 步骤
- 存储
- 商店
- 存储
- 商店
- 善用
- 串
- 随后
- 成功
- 顺利
- 这样
- 首脑会议
- 支持
- 肯定
- 表
- 采取
- 谈论
- 任务
- 文案
- 专业技术
- 模板
- 模板
- test
- 测试
- 德州
- 文本
- 文字的
- 这
- 信息
- 其
- 然后
- 博曼
- Free Introduction
- 那些
- 吞吐量
- 次
- 泰坦
- 标题
- 至
- 今天的
- 一起
- 多伦多
- 传统
- 横过
- 触发
- 触发
- true
- 尝试
- 转
- 二
- 类型
- 揭露
- 理解
- 理解
- 大学
- 更新
- 上传
- 网址
- 使用
- 用过的
- 用户
- 使用
- 运用
- 折扣值
- 变量
- 各种
- 版本
- 通过
- 视频
- 查看
- 愿景
- 视觉
- 华盛顿
- 方法
- we
- 卷筒纸
- Web服务
- 井
- 什么是
- 什么是
- 这
- 而
- 将
- 中
- 工作
- 工作流程
- 加工
- 您
- 您一站式解决方案
- 和风网