亚马逊 Titan 文本嵌入 V2 现已在亚马逊 Bedrock 中推出,旨在优化 RAG 新闻博客
Amazon Titan Text Embeddings V2 在 Amazon Bedrock 上线,优化以提升 RAG
关键要点
Amazon Titan Text Embeddings V2 的上线是为提升检索增强生成RAG设计的,提供更高效、精准的文本嵌入功能。新模型支持 256、512 和 1024 三种输出向量大小,较小的向量有助于降低存储成本和延迟,同时保持较高的准确性。新模型也支持单位向量归一化,优化向量相似度计算。由 Sbastien Stormacq 撰写于2024 年 4 月 30 日,内容涵盖了 Amazon Bedrock、Amazon Titan、公告、人工智能、精选、生成式 AI、发布动态、新闻 永久链接 评论

Amazon Titan 模型系列是基于亚马逊在人工智能AI和机器学习ML领域 25 年的专业经验而构建的,专门在 Amazon Bedrock 上独家提供。Amazon Titan 的基础模型FMs提供了一整套预训练的图像、多模态和文本模型,通过全面管理的 API 进行访问。这些模型经过大量数据集的训练,功能强大且多功能,适用于各种应用,同时遵循 负责任的 AI 实践。
最新推出的 Amazon Titan Text Embeddings V2 是亚马逊第二代文本嵌入模型,现已在 Amazon Bedrock 中可用。该新文本嵌入模型专为 检索增强生成RAG 优化,支持 100 多种语言及代码的预训练。
模型特点
Amazon Titan Text Embeddings V2 允许您选择输出向量的大小256、512 或 1024。较大的向量大小可以生成更详细的响应,但计算时间也会相应增加。较短的向量虽然详细程度较低,但能够提高响应时间。使用较小的向量有助于降低存储成本,并减少从向量数据库中搜索和检索文档的延迟。我们测量了 Amazon Titan Text Embeddings V2 生成的向量的准确性,发现 512 维的向量保持了约 99 的准确性,而 256 维的向量保持了 97 的准确性。这意味着 您可以将向量存储节省 75从 1024 降至 256 维,同时 保持约 97 的准确性。
Amazon Titan Text Embeddings V2 还提供了改进的单位向量归一化,以帮助提升向量相似度计算时的准确性。您可以根据使用场景选择归一化或非归一化版本的嵌入对于 RAG 使用场景,归一化更为准确。向量的归一化过程是将其缩放到单位长度或大小为 1,这确保所有向量具有相同的尺度并在向量操作中均等贡献,防止某些向量因其较大的大小而主导其他向量。
用例
该新文本嵌入模型非常适合多种用例。例如,可以帮助您在文档中进行语义搜索,以检测抄袭。它还可以根据数据驱动的学习表现对标签进行分类,例如将电影归类到不同的类型。同时,它还可以提升检索或生成搜索结果的质量和相关性,例如使用 RAG 基于兴趣推荐内容。
如何提高 RAG 的准确性
想象一下,您是一位超级强大的研究助理,协助大型语言模型LLM完成任务。LLM 就像那些天才,可以编写各种创意文本格式,但其知识来自于其训练使用的大量数据集。这些训练数据可能会有些过时或缺乏针对您需求的具体细节。
这时,RAG 就派上用场了。RAG 像您的助理一样,从自定义来源如公司知识库中获取相关信息。当 LLM 需要回答问题时,RAG 提供最新的信息,以帮助其生成最佳响应。
为了找到最新的信息,RAG 使用嵌入。您可以将这些嵌入或向量看作是超级精简的摘要,捕捉文本的关键思想。高质量的嵌入模型,如 Amazon Titan Text Embeddings V2,可以准确地创建这些摘要,就像一位能够快速理解每个文档重要要点的出色助理。这确保了 RAG 为 LLM 检索最相关的信息,从而得出更准确和切题的答案。
可以想象在图书馆中搜索。书本的每一页都被索引并由向量表示。若搜索系统不佳,您可能会得到一堆不大符合需求的书籍。但是如果有一个能够理解内容的优秀搜索系统如高质量的嵌入模型,您将准确找到所需的内容,这将大大简化 LLM 生成答案的工作。
Amazon Titan Text Embeddings V2 概述
Amazon Titan Text Embeddings V2 针对高准确性和小维度的检索性能进行了优化,以减少存储和延迟。我们测量表明,512 维的向量保持了约 99 的准确性,而 256 维的向量的准确性为 97。
参数值最大标记数8192语言100预训练支持支持微调否支持归一化是向量大小256,512,1024默认如何使用 Amazon Titan Text Embeddings V2
您很可能将通过 Amazon Bedrock 的知识库 间接使用 Amazon Titan Text Embeddings V2。知识库负责创建基于 RAG 的应用的重任。然而,您也可以使用 Amazon Bedrock Runtime API 从代码中直接调用模型。以下是使用 Swift 编程语言的简单示例以展示您可以使用任何编程语言,而不仅限于 Python:
swiftimport Foundationimport AWSBedrockRuntime
let text = This is the text to transform in a vector
// 创建 API 客户端let client = try BedrockRuntimeClient(region useast1)
// 创建请求 let request = InvokeModelInput( accept application/json body { inputText (text) dimensions 256 normalize true } data(using utf8) contentType application/json modelId amazontitanembedtextv20)
// 发送请求 let response = try await clientinvokeModel(input request)
// 解码响应let response = String(data (responsebody!) encoding utf8)
print(response )
该模型的有效载荷中包含三个参数:
inputText 要转换为嵌入的文本。normalize 表示是否归一化输出嵌入的标志,默认为 true,最适合 RAG 使用案例。dimensions 输出嵌入应具有的维度数量。可以接受三个值:256、512 和 1024默认值。我在 Packageswift 中添加了对 AWS SDK for Swift 的依赖。我输入 swift run 来构建和运行此代码。输出如下为保持简洁已被截断:
json{embedding[026757812015332031001599121108203125094921875]inputTextTokenCount9}
和往常一样,在使用 API 之前,不要忘记在 Amazon Bedrock 控制台 中 启用对新模型的访问。
Amazon Titan Text Embeddings V2 很快将成为 Amazon Bedrock 知识库中提供的默认 LLM。您现有的知识库仍将继续正常工作,无需任何更改。
要了解有关 Amazon Titan 模型系列的更多信息,请查看以下视频:
新推出的 Amazon Titan Text Embeddings V2 模型现已在美国东部北弗吉尼亚和美国西部俄勒冈AWS 区域的 Amazon Bedrock 中上线。请查看 完整的区域列表 获取未来更新的动态。
有关更多信息,请查看 Amazon Titan 在 Amazon Bedrock 的 产品页面和 定价 页面。此外,别错过这篇博客文章, 了解如何使用 Amazon Titan Text Embeddings 模型。您还可以访问我们的 communityaws 网站,寻找深入的技术内容,了解我们的 Builder 社区如何在解决方案中使用 Amazon Bedrock。
小熊加速器app今天就在 Amazon Bedrock 控制台 中试用 Amazon Titan Text Embeddings V2,并通过 AWS rePost for Amazon Bedrock 或通过您常用的 AWS 支持联系方式反馈。
seb
Sbastien Stormacq
Seb 自八十年代中期首次接触 Commodore 64 以来便开始编写代码。他用自己对 AWS 云的热情、热忱、客户倡导、好奇心和创造力,激励构建者释放其价值。他的兴趣包括软件架构、开发工具和移动计算。如果您想向他推销某样东西,一定要确保它有 API。您可以在 Twitter 上关注他 @sebsto。