OpenSearch RAG 应用实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 阿里云OpenSearch RAG应用实践 阿里云OpenSearch研发负责人/邢少敏
2.
3. 目录 • RAG产生背景 • RAG技术方案 • RAG应用实践 • RAG总结展望
4. 人机对话系统发展简史 2、NLP、AIML标签语言 自动机、Slot-Filling等 “Bots are the new apps” --by Microsoft CEO Nadella, 2016 心理医师 ELIZA MIT Artificial Intelligence Laboratory Loebner Prize设立 每年数千美元的奖金 对首次首次通过图灵测试 额外奖励 1966 1950 图灵测试 Alan Turing 1991 1972 模拟精神病患者 PARRY Stanford 1、专家系统 Jabberwacky 获得Loebner Prize 2005、2006连续2届 冠军 1997 1995 A.L.I.C.E 在互联网上可以使用,获 得Loebner Prize 2000、 2001、2004共3届冠军 IBM Watson 在《危险边缘》 Jeopardy!战胜人类 2006 2005 Mitsuku 获得Loebner Prize 2014、2016、2017共3 届冠军 Google Transformer Google Now 2017 2012 2010 2015 苹果Siri 微软小冰 亚马逊Alexa 阿里小蜜 3、神经网络、强化学习、 端到端对话系统 OpenAI ChatGPT 2022 2018 OpenAI GPT 4、生成式AI
5. 垂直领域的挑战催生RAG 直接使用大模型? 查找信息 结果整合 提问 回答 世界知识 企业自身知识库 海量通用知识、语料参差不齐、存在安全风险 企业内部文档、业务数据、经营数据 大模型在知识问答场景存在的问题 幻觉问题 知识受限 成本很高 不可解释 合规问题 ……
6. 目录 • RAG产生背景 • RAG技术方案 • RAG应用实践 • RAG总结展望
7. RAG •RAG • Retrieval-Augmented Generation (检索增强生成) • 搜索结果引导LLM的生成 • RAG优势 • 实时更新知识库,无需重新训练 • 答案能追溯来源,可解释可追踪 • 答案基于知识库,不易产生幻觉 论文地址:https://arxiv.org/pdf/2312.10997.pdf Github:https://github.com/Tongji-KGLLM/RAG-Survey
8. 阿里云OpenSearch RAG 文档 在线链路 离线链路 解析、切片、索引 html, markdown, pdf, doc 向量索引 文本索引 文本、图片、表格、代码 问题 混合检索 介绍Opensearch Query扩展 Opensearch功能 介绍Opensearch Opensearch优缺点 重排 回答 大模型总结 Opensearch是基于阿里巴巴… RAG定制模型 大模型评测 预训练&SFT&DPO Prompt生成 评测指标 检索增强数据 Qwen 准确率、幻觉率、全面性、不相关比例 训练链路 客户数据 第三方开源模型 数据 模型
9. RAG关键点 场景效果要求高 “预期100%准确” 实时生成答案 “1~3秒内” 训练推理成本高 “RAG主要成本是GPU” 隐私和安全性 “过滤敏感话题” ü 准确解析不同格式文档 ü 高性能召回问题相关结果 ü 低成本训练方法 ü 遵守相关法律法规 ü 准确召回问题相关结果 ü 高性能大模型推理生成 ü 大模型推理加速 ü 可控的大模型生成 ü 低幻觉率的大模型总结 ü 过滤屏蔽敏感话题
10. RAG关键点 场景效果要求高 “预期100%准确” 实时生成答案 “1~3秒内” 训练推理成本高 “RAG主要成本是GPU” 隐私和安全性 “过滤敏感话题” ü 准确解析不同格式文档 ü 高性能召回问题相关结果 ü 低成本训练方法 ü 遵守相关法律法规 ü 准确召回问题相关结果 ü 高性能大模型推理生成 ü 大模型推理加速 ü 可控的大模型生成 ü 低幻觉率的大模型总结 ü 过滤屏蔽敏感话题
11. 数据多样复杂 表格信息提取 图表理解 文档结构分析
12. 数据解析和提取 pymupdf pdfminer papermage pdfplumber camelot borb pypdf 文章 ✅ ✅ ✅ ✅ ❌ ✅ ✅ 段落 ⚠️ ❌ ✅ ❌ ❌ ❌ ❌ 左右分栏 ✅ ❌ ✅ ❌ ❌ ❌ ✅ 引用 ✅ ❌ ❌ ✅ ❌ ❌ ❌ 目录 ✅ ❌ ❌ ❌ ❌ ❌ ❌ 作者 ⚠️ ❌ ✅ ❌ ❌ ❌ ❌ 标题 ⚠️ ❌ ✅ ❌ ❌ ❌ ❌ 脚注 ✅ ❌ ⚠️ ✅ ❌ ❌ ❌ 标注(图片、表格) ✅ ❌ ❌ ❌ ❌ ❌ ❌ 图片 ✅ ✅ ❌ ✅ ❌ ❌ ✅ 注释 ✅ ❌ ❌ ❌ ❌ ❌ ❌ 上标 ✅ ❌ ❌ ✅ ❌ ❌ ❌ ⚠️ ❌ ❌ ⚠️ ⚠️ ❌ ❌ 页眉、页脚 公式 表格 ✅ :支持 ❌ :不支持 ⚠️ :部分支持 没有一个现有工具可以解决所有问题,需要长期精细的打磨
13. 文本切片 层次切分 一级标题 段落1 段落2 二级标题1 段落3 二级标题2 段落4 三级标题1 段落5 切片1 一级标题 切片2 一级标题 二级标题1 段落2 切片3 一级标题 二级标题1 段落3 切片4 一级标题 二级标题2 段落4 切片5 一级标题 二级标题2 三级标题1 段落1 段落5 多粒度切分 粗切片1 一级标题 二级标题1 段落1 细切片1 一级标题 二级标题1 句子1 细切片2 一级标题 二级标题1 句子2 细切片2 一级标题 二级标题1 句子3
14. 多语言向量模型 Method 电商数据 优酷数据 医疗数据 short_avg openai_ada 0.3864 0.3464 0.3555 0.3627 sgpt_bloom(7b) 0.5159 0.4382 0.4183 0.4575 sgpt_bloom_1b1_300_lora (opensearch) 0.4870 0.4621 0.4304 0.4598 数据集: https://github.com/Alibaba-NLP/Multi-CPR •训练数据 • 300:MS MARCO Passage Ranking Dataset + hard negative样本构造 • 2k:MS MARCO Document Ranking Dataset + 清洗2k token长度内均匀分布样本 + hard negative样本构造 •底座模型 • bloom_1b1:参数量适中,输出embedding维度1536,效率友好 •训练方法 • loss:In Batch Negative Loss • 分布式训练 + 数据并行,batch size = 32 = 4 * 8卡 •效果评测 • 自研基于bloom底座大模型的向量模型sgpt_bloom_1b1系列在短文本效果已接近7B模型
15. Query理解 • 分析Query结构(分词、NER) • 意图决策处理链路 • 纠正Query错误(纠错) • 信息不足意图澄清 • 联想Query语义(改写) • HyDE • RAG-Fusion • 扩充Query上下文(省略补全、指代消解) 对话数据 独立及简略问题对 独立问题 多轮对话query改写 Q: 介绍Opensearch A: Opensearch是… 包含智能问答版、 向量检索版… Opensearch智能问答版有哪些功能? 简略问题 智能问答版有哪些功能 训练样本 Q: 介绍Opensearch A: Opensearch是… 包含智能问答版、 向量检索版… Q: 智能问答版有哪些功能 Opensearch智能问答版有哪些功能?
16. NL2SQL Q:查询所有有电商业务并且员工数量少于50人的 企业名称? A:SELECT ‘company_name’ FROM ‘company_table’ WHERE ‘is_ebusiness’ = 'Y' AND ‘employee_num’ < 50; Q:北京物多美便利店的员工人数是多少? SQL: SELECT ‘employee_num’ FROM ‘company_table’ WHERE ‘company_name’ = '北京物多美便利店’; A:北京物多美便利店的员工人数是500人
17. NL2OpenSearch 模型/方法 ChatGPT Llama2-13B OpenSearch-Llama2-13B 准确率 80% 32% 93% latency N/A N/A 1.11s
18. 混合检索 • Dense Vector主要处理语义匹配问题,而Sparse Vector可以处理精确匹配问题 • 提供统一向量化模型针对同一文本同时产出Dense向量和Sparse向量 • 召回阶段提供Dense索引+Sparse索引结合的混合检索 Dense Vector 稠密向量模型 [0.3,0.5,6.2,2.3, 0.3,0.5,6.2,2.3…5.6] 数据处理 模型的高维特征表达:语义搜索 混合索引 原始语料 Sparse Vector 稀疏向量模型 indices:[12,16,18…] value:[0.21,0.1,0.15…] 关键词分析、词频统计的信息表达 稠密&稀疏向量嵌 入组合为单个向量 混合召回 排序 语义匹配 相似度权重 关键词匹配 排序公式 词频匹配 检索结果
19. 混合检索模型 • Sparse与Dense结合后在小模型上实验,对大部分任务都有提升 • 2024年3月份阿里云OpenSearch RAG混合检索Embedding模型荣获C-MTEB榜单第一 英文实验 SPLADE (4096) bge-small-en-v1.5-angle OpenSearch Avg Retrieval 53.90 60.95 62.36 48.05 48.09 52.91 Classificatio n 64.54 72.87 74.08 Clustering Reranking STS 25.5 43.23 42.41 51.51 58.04 57.92 76.14 82.38 82.53 PairClassificat ion 81.98 85.14 85.58 Summarization 29.34 30.59 29.42 中文实验 Avg stella_v3 68.46 bge-m3 sparse 4096_0.6+stella_v3 68.20 73.60 74.40 Classificati Clustering Reranking on 71.50 53.75 68.27 71.74 53.48 67.96 OpenSearch 74.40 71.74 68.70 Retrieval 53.75 68.27 STS PairClassification 62.45 61.24 88.10 85.28 62.45 88.10
20. 检索结果重排序 • 混合检索后重排,进一步提升排序效果 MIRACL数据集 hit_rate@5 dureader retrieval hit_rate@5 未rerank 0.403 0.413 rerank 0.492 0.494 • 模型重排:bge-reranker、cohere rerank • 规则重排:文档序重排 • 切片扩展:扩展相邻切片 • 效果:召回率+20%,回答准确率+12.5%
21. RAG大模型微调 提问+检索结果 开源数据 后处理 回答 GPT3.5 ICL+COT 回答样式筛选 训练数据生产流程 客户真实提问+ 引 擎检索结果 多轮对话 大模型抽取提问+ 引擎检索结果 客户场景效果 来源引用 低质量筛选 回答风格定制 答案综合评分 幻觉率 GPT-4-turbo OpenSearch-Qwen1.5-14B Qwen-200B OpenSearch-Qwen-72B 0.9379 0.8661 0.9018 0.8908 7.1% 11.3% 9.2% 6.4% OpenSearch-Qwen1.5-72B 0.8790 4.3%
22. 大模型评测 评测指标:回答准确率,幻觉率,全面性,不相关内容比例 评测方法:多agent评测(prompt生成、评测、校验、分析总结) Prompt生成 基于badcase样例总结问题类型, 生成评测prompt 问题发现及评分 问题校验 基于上下文、提问, 检测回答中的问题,并给出理由 校验发现问题对错, 纠正评估错误 结论分析 问题类型分类 评测效果: 问题发现及评分(开源方案:Ragas) 问题发现及评分+prompt生成 问题发现及评分+prompt生成+问题校验 问题发现及评分+prompt生成+问题校验+结论分析 评测准确率 83% 88% 95% 95% 问题分类 无 不准确 不准确 准确,包括幻觉(编造&混淆)、遗漏、包含不相关内容、重复
23. RAG关键点 场景效果要求高 “预期100%准确” 实时生成答案 “1~3秒内” 训练推理成本高 “RAG主要成本是GPU” 隐私和安全性 “过滤敏感话题” ü 准确解析不同格式文档 ü 高性能召回问题相关结果 ü 低成本训练方法 ü 遵守相关法律法规 ü 准确召回问题相关结果 ü 高性能大模型推理生成 ü 大模型推理加速 ü 可控的大模型生成 ü 低幻觉率的大模型总结 ü 过滤屏蔽敏感话题
24. 高性能向量引擎VectorStore • VectorStore引擎基于navi框架实现,调度简单且性能高效。 Ø 千亿数据毫秒级响应,实时数据更新秒级可见 Ø 检索性能优于同类开源产品数倍 Request Query Parse QRS Merge Format Response Searcher Scan Scan Table Scan
25. VectorStore图检索 ØHNSW (Hierarchical Navigable Small World),HNSW 是一种分层小世界图的检索方法,上层小世界图可以看成是下层 图的缩放。多层图的方式目的是为了减少搜索时距离计算和比较的次数,类似于跳表查找。 ØVectorStore的图算法基于HNSW实现,并在HNSW基础上从图结构和检索两个方面进行了优化。 HNSW 性能进行优化,可以从图的构建和检索两个方面入手。 Ø 构建阶段的优化:优化图结构,使图的出度入度更加合 理,更利于 ANN 搜索 Ø 检索阶段的优化:减少距离计算操作的开销,以及预测检 索游走时所需的总步数,当到达预期步数时可以提前终止 检索,以减少计算开销
26. VectorStore图结构优化 Ø 图结构优化 优化前 优化后
27. VectorStore图检索优化 Ø 检索阶段优化 Gist数据集,top 10 Sift数据集,top 100
28. VectorStore异构计算 Host CPU CPU GPU CPU GPU Ø GPU+CPU并行加速 CPU Ø Nvidia T4性能提升3~6倍 Ø Nvidia A100/A800/H100性 能提升30~60倍 FPGA FPGA Memory
29. Havenask引擎 Havneask 读写分离 Havenask 读写统一 查询链路 数据链路 实时数据 服务发现 Hape Cluster 0 Qrs 0 Hape Qrs m Ha tools Ha tools Searcher 0 Searcher 0 p0 Swift tools Swift (ProcessedDoc) Swift (实时数据) Max Compute OSS文件 Searcher n Searcher 1 Searcher n p1 pn Broker n Broker 0 Builder Index Data 分布式文件 系统 Cluster n Online Processo r 0 Builder 0 Merger 0 … … … Processo r n Builder n Merger n Index Data Table n Offline Searcher 0 Follower 0 读写分离 Searcher 0 Follower n Searcher 0 Leader 数据读取 W AL Swift Admin Broker 0 Broker 1 Broker n Searcher n Follower n Searcher n Leader Log订阅 索引整理 分布式文 件系统 Index Log Data 读写统一 • 存算分离,远端、本地、内存多级缓存 • 多集群互备,更加可靠 Searcher n Follower 0 数据写入 Log落盘 BS Admin • 独立索引构建流程,高效数据导入 • 多版本索引管理,互不干扰 Swift tools Merger HDFS文件 Processor Searcher 1 Qrs n Qrs 0 Bs tools 服务发现 Cluster 0 • 更高时效性保证,read-your-writes • 轻量的表管理,支持DDL GitHub地址:https://github.com/alibaba/havenask • 多集群互备 Index Cluster n
30. 大模型推理加速 模型量化和加速(8bit/4bit) Ø KV Cache:额外显存空间缓存结果,避免重复计算 Ø Continuous Batching:模型量化将内存占用减半,吞吐翻倍 Ø Tensor Parallel:将模型同层、不同层计算分到多卡 推理加速收益 • 13b Qwen和Llama2模型, 3秒内生成200token答案 • 采用70b模型, 6秒内生成200token答案
31. RAG关键点 场景效果要求高 “预期100%准确” 实时生成答案 “1~3秒内” 训练推理成本高 “RAG主要成本是GPU” 隐私和安全性 “过滤敏感话题” ü 准确解析不同格式文档 ü 高性能召回问题相关结果 ü 低成本训练方法 ü 遵守相关法律法规 ü 准确召回问题相关结果 ü 高性能大模型推理生成 ü 大模型推理加速 ü 可控的大模型生成 ü 低幻觉率的大模型总结 ü 过滤屏蔽敏感话题
32. 大模型优化方法选择 • Prompt • Zero-shot、Few-shot、Chain-of-Thought(CoT) • Pretraining • ~1000 GPU、月级(数据规模相关) • Continue Pretraining • <100 GPU、天级(数据规模相关) • 领域数据+数倍通用数据 • Supervised FineTuning(SFT) • 全参数、LoRA • <100 GPU、天级(数据规模相关) • 方法简单、效果直接、最常用 • RLHF(PPO)-> DPO • <100 GPU、天级(数据规模相关)
33. 客户专属模型 单卡Lora:每张卡相同基座大模型+多个不同LoRA小模型 多卡lora:基座大模型和LoRA小模型相同比例切分到多卡 LoRA的成本收益 效果 新增参数比例 新增显存消耗 新增成本费用 基础模型 89% 0 - - lora rank64 94% 2.5% 1 100/月 lora rank512 97% 20% 8 800/月 全参数微调 100% 100% 40 4000/月
34. RAG关键点 场景效果要求高 “预期100%准确” 实时生成答案 “1~3秒内” 训练推理成本高 “RAG主要成本是GPU” 隐私和安全性 “过滤敏感话题” ü 准确解析不同格式文档 ü 高性能召回问题相关结果 ü 低成本训练方法 ü 遵守相关法律法规 ü 准确召回问题相关结果 ü 高性能大模型推理生成 ü 大模型推理加速 ü 可控的大模型生成 ü 低幻觉率的大模型总结 ü 过滤屏蔽敏感话题
35. 目录 • RAG产生背景 • RAG技术方案 • RAG应用实践 • RAG总结展望
36. RAG应用场景 电商场景 内容场景 企业知识库 教育搜题 • 用户选品、直播答疑 • IT、文娱等个性化信息检索 • 企业内部资料 • 搜题生成答案,知识总结 • 商品售前咨询,售后服务 • 提升检索效率、用户粘性、 • 产品文档、技术资料等 • 提升学习效率,用户粘 • 提升企业信息检索效率 性、活跃度、业务转化 • 提升购物互动体验、销量转化 活跃度、业务转化
37. RAG客户场景 “ 为您找到 Dior Boy 男士乐福鞋,价格 9200 元 ” 处理&返回 “ 男士乐福鞋多少钱 ” 文本Query [0.3,0.5,6.2,2.3, 0.3,0.5,6.2,2.3, 0.3,0.5,6.2,2.3, 0.3,0.5,6.2,2.3…5.6] Query向量化 问答结果 商品库
38. 客户场景全链路效果 问题解决率 87% 72% 61% 48% Qwen Prompt工程 向量检索 多路召回 向量模型蒸馏LLM 层次切片 多粒度切片 Qwen SFT 重排
39. 目录 • RAG产生背景 • RAG技术方案 • RAG应用实践 • RAG总结展望
40. 阿里云AI搜索开发平台 LangChain 组件编排 LlamaIndex Query改写 实体识别 分词 拼写纠错 指代消解 意图识别 Query理解 搜索组件 SFT数据生成 微调服务(PAI) 推理服务(PAI-EAS) 大模型评测服务 大模型服务 Qwen系列模型 在线引擎 数据层 Havenask 数据格式 数据源 离线服务 Elasticsearch PDF、Word、PPT MaxComput e Hologres 第三方开源大模型 向量化 sgpt- bloom stell a bge-m3 文本切片 多粒度切分 层次切分 语义切分 数据提取 文本提取 OCR 视觉模型 Excel、CSV HDFS JSON、HTML、Markdown OSS RDS
41. RAG下一步探索 • 多模态 • • • 文本、图片交互->文本、图片、语音、视觉交互 Agent • Static Dialog Flow • Dynamic Agent Planning Long-Context • RAG vs Finetune 开源Havenask技术交流 • RAG vs Long-Context
42.
43.

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.138.0. UTC+08:00, 2024-12-22 09:37
浙ICP备14020137号-1 $Map of visitor$