使用 Amazon SageMaker 上经过微调的嵌入模型提高 RAG 准确性

这篇文章演示了如何使用 Amazon SageMaker 微调 Sentence Transformer 嵌入模型并将其部署到 Amazon SageMaker Endpoint。本文中的代码和更多示例可在 GitHub 存储库中找到。

来源:亚马逊云科技 _机器学习

检索增强生成 (RAG) 是一种流行的范例,它从训练语料库中不存在的外部数据源向大型语言模型 (LLM) 提供额外知识。

RAG 通过其输入提示空间为 LLM 提供额外知识,其架构通常由以下组件组成:

    索引:准备一个非结构化文本语料库,对其进行解析和分块,然后嵌入每个块并将其存储在向量数据库中。 检索:使用向量相似性从向量数据库中检索与回答问题相关的上下文。使用提示工程将此额外上下文与原始问题一起提供给 LLM。然后,LLM 将使用原始问题和来自向量数据库的上下文根据不属于其训练语料库的数据生成答案。
  • 索引:准备一个非结构化文本语料库,对其进行解析和分块,然后嵌入每个块并将其存储在向量数据库中。
  • 索引 向量数据库
  • 检索:使用向量相似性从向量数据库中检索与回答问题相关的上下文。使用提示工程将此额外上下文与原始问题一起提供给 LLM。然后,LLM 将使用原始问题和向量数据库中的上下文根据不属于其训练语料库的数据生成答案。
  • 检索

    RAG 准确性方面的挑战

    为了解决预训练嵌入的局限性并提高 RAG 系统针对特定领域或任务的准确性,必须根据特定领域的数据微调嵌入模型。通过在代表目标域或任务的数据上对模型进行微调,模型可以学习捕获对该域至关重要的相关语义、术语和上下文关系。

    Amazon SageMaker Amazon SageMaker 终端节点 GitHub 存储库 Sentence Transformer 训练概述

    使用 SageMaker 微调嵌入模型

    SageMaker

    先决条件

    Amazon Bedrock 常见问题解答