ChatGPT 的面世改变了 AI 的发展格局。企业争相利用这项新技术打造新产品,提高竞争优势和生产力,实现更加经济高效的运营。生成式 AI (GenAI) 模型,如 Grok-1(逾 3,000 亿参数)和 GPT-4(数万亿参数),利用来自互联网等文本来源的海量数据进行训练。这些第三方大语言模型适用于通用用例。
虽然企业可以用自有的数据对模型进行调优,但重新训练模型需要额外的时间和资源。好在现在有了一种颇受欢迎的技术,即检索增强生成 (RAG),它可以利用企业专有的数据来增强开源预训练模型,从而创建特定领域的 LLM,得出针对具体业务的结果。此外,RAG 无需与第三方大型基础模型共享数据,因此能够让企业更好地保护数据安全。
检索增强生成 (RAG) 是什么?
RAG 技术将动态、依赖查询的数据添加到模型的提示流中,再从存储在矢量数据库中的专有知识库中检索相关数据。提示和检索到的上下文可以丰富模型的输出,从而带来更加相关和准确的结果。因为数据不会被发送给管理模型的第三方,因此,RAG 可让企业在保护数据隐私性和完整性的同时更好地通过 LLM 充分利用数据。RAG 工作流程的关键构成可简单分为四个步骤:用户查询处理、检索、上下文整合和输出生成。下图展示了这一基本流程。
RAG 的实用性不仅限于文本,它还可以极大地改变视频搜索和交互式文档探索的方式,甚至使聊天机器人能够利用 PDF 内容来回答问题。
RAG 的应用过程通常被称为“RAG 管线”,因其从用户提示开始,整个数据处理流程都是一致的。用户提示首先进入关键步骤“检索机制”中。在这一步,相关提示会被转换为矢量嵌入,接着使用矢量搜索在预先构建的矢量数据库(如 PDF、日志、转录文本等)中找到相似的内容。检索到最相关的数据后,RAG 会将其与用户提示整合,然后传送给模型用于推理服务和最终输出生成。这种上下文整合为模型提供了在预训练阶段无法获得的额外信息,使模型能够更好地契合用户的任务或兴趣领域。由于 RAG 无需重新训练或调优模型,因此能够高效地添加数据来为 LLM 提供上下文。
标准RAG解决方案的架构
下图所示的 RAG 解决方案架构展示了标准 RAG 实施方案的构建模块。RAG 实施流程主要包括构建知识库、查询和上下文检索、响应生成和跨应用产出监控几个核心部分。
1、构建知识库:
• 矢量数据库存储:将矢量化数据存储在可扩展的矢量数据库中,以便进行高效检索。
2、查询和上下文检索:
• 矢量搜索和重排序:进行初始矢量搜索以检索相关矢量,然后使用更复杂的模型重排序以优化结果。
3、响应生成:
• 响应交付:通过界面将最终响应返回给用户或子系统,确保答案的连贯性和上下文准确性。
4、产出监控:
• 安全防护有效性:监控输入和输出处理的安全防护 (guardrail),确保合规性和内容安全性。
RAG相关技术
开发 RAG 应用通常会从集成 RAG 框架开始,例如 Haystack、LlamaIndex、LangChain 和英特尔研究院的fastRAG。这些框架可通过提供优化和集成关键的 AI 工具链来简化开发过程。目的是减少开发人员对大量低级别编程的需求。这种抽象使得开发人员能够利用增强的性能和针对其特定用例量身定制的解决方案,专注于高效构建 RAG 应用。
我们从知识库构建、查询和上下文检索以及响应生成这三个关键步骤来考量 RAG 工具链。通常,RAG 框架提供涵盖整个工具链的 API。不管是选择使用这些抽象,还是选择利用独立组件,都需要深思熟虑并从工程角度慎重考虑。
1、构建知识库+上下文检索:
• 嵌入和模型可访问性:通过 Hugging Face API 进行集成的嵌入模型往往可无缝整合到 RAG 框架中。这大大提升了纳入先进自然语言处理 (NLP)的简便性。
2、响应生成:
• 高级推理优化:英特尔 Extension for PyTorch 等扩展添加了高级量化推理技术,可助力提升了大语言模型的性能。
RAG应用与落地
RAG 管线的许多步骤需要耗费大量计算资源,而同时,终端用户又对低时延响应有着较高要求。此外,由于 RAG经常用于处理机密数据,因此整个管线的安全性都至关重要。
计算需求
一般来说,LLM 推理是 RAG 管线计算最密集的阶段,特别是在实时应用环境中。然而,创建初始知识库(处理数据和生成嵌入)对计算的需求同样可能很高(取决于数据的复杂性和体量)。英特尔在通用计算技术、AI 加速器和机密计算方面的进步为应对整个 RAG 管线的计算挑战提供了重要基石,同时还能提高数据隐私和安全性。
和大多数软件应用一样,RAG 也能从专为满足终端用户事务需求而量身定制的可扩展基础设施中受益。随着事务需求的增加,开发人员可能会因计算基础设施负载过重而面临时延增加,且基础设施还会因矢量数据库查询和推理计算而趋于饱和。因此,获得随时可用的计算资源来扩展系统和快速处理新增需求对企业至关重要。另外,实施关键优化以提升诸如嵌入生成、矢量搜索与推理等关键步骤的性能也非常重要。
数据隐私和安全性
• 安全 AI 处理:英特尔软件防护扩展(英特尔SGX)和英特尔(英特尔® TDX)在处理过程中在 CPU 内存中进行机密计算和数据加密,提高了数据安全性。这些技术对于处理敏感信息至关重要,有助于利用管线各部分的加密数据创建更安全的 RAG 应用。
对于需要在矢量嵌入生成、检索或推理过程中更安全地处理敏感数据的 RAG 应用来说,这是一个重要特性。
• 采取适当防护:在 RAG 应用中,防护涉及采取措施来管理 LLM在 RAG 系统内的行为。这包括监控模型的响应、帮助遵守指导原则和最佳实践,以及控制其输出来降低毒性、不公平偏见和隐私泄露的风险。在 RAG 应用中采取防护措施有助于 LLM 得到用户的信任和负责任的运用,同时符合系统的整体目标和要求。
开源优化
嵌入优化
• 量化嵌入模型:英特尔® 至强® 处理器可以利用量化嵌入模型来优化从文档中生成矢量嵌入的过程。例如,bge-small-en-v1.5-rag-int8-static 是一个使用英特尔 Neural Compressor 进行量化的 BAAI/BGE-smallen-v1.5 版本,与 Optimum-Intel 兼容。按照 Massive Text Embedding Benchmark (MTEB) 性能指标计算,使用量化模型进行检索和重排序任务时,浮点 (FP32) 和量化 INT8 版本之间的差异小于 2%,同时提高了吞吐量。
矢量搜索优化
• 针对 CPU 优化的工作负载:在英特尔® 至强® 处理器上,矢量搜索操作得到了高度优化,特别是在第三代及以后的处理器中引入了英特尔高级矢量扩展 512(英特尔AVX-512)之后。英特尔® AVX-512 利用融合乘加 (FMA) 指令,将乘法和加法合并为一个运算,从而增强了内积计算,这是矢量搜索中的一个基本运算。这一功能减少了计算所需的指令数量,显著提高了吞吐量和性能。
• 可扩展矢量搜索 (SVS):可扩展矢量搜索 (SVS) 技术提供快速的矢量搜索能力,可助力优化检索时间并提升整体系统性能。它通过使用局部自适应矢量量化 (LVQ) 来优化基于图形的相似度搜索,在保持准确性的同时尽可能降低内存带宽要求。其结果是显著减少了距离计算时延,并在吞吐量和内存要求方面获得了更好的表现。
推理优化
RAG 主要涉及推理运算,这一过程可由英特尔® 至强® 处理器通过先进的模型压缩技术提供支持。这些技术支持在较低精度(BF16 和 INT8)下进行运算,并且不会造成明显的性能损失。在本节中,我们将简要介绍各种针对推理的优化和机会。
• 英特尔® 高级矩阵扩展(AMX):第四代和第五代英特尔® 至强® 可扩展处理器内置英特尔AMX,能够提高矩阵运算的效率并优化内存管理。
• 先进的开源推理优化工具:英特尔贡献并扩展了主流深度学习框架,如PyTorch、TensorFlow、Hugging Face、DeepSpeed 等。对于 RAG工作流程,英特尔关注的是通过实施量化等模型压缩技术来优化 LLM 的机会。
全店打包(目前43本资料)本次更新暂未涨价(需要的读者赶紧上车),由于打包资料持续增加且考虑已买读者权益,价格也即将会随之上涨,因此,买的早就是优势。
本文仅展现少部分原版PPT,可购买“架构师技术全店资料打包汇总(全)”43本技术打包(含后续更新),或单独购买,获取《SSD闪存技术基础知识全解(PPT终极版)》、《SSD闪存技术基础知识全解(PDF终极版)》。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。