阿里云AI搜索RAG应用实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 阿里云AI搜索研发负责人/邢少敏
2. 内容提纲
PART ONE 产生背景 PART TWO 技术方案
PART THREE 应用实践 PART FOUR 总结展望
3. 人机对话系统发展简史
2、NLP、AIML标签语言
自动机、Slot-Filling等
“Bots are the new apps”
--by Microsoft CEO Nadella, 2016
心理医师 ELIZA
MIT Artificial
Intelligence
Laboratory
1966
1950
图灵测试
Alan Turing
Loebner Prize设立
每年数千美元的奖金
对首次首次通过图灵测试
额外奖励
1991
1972
模拟精神病患者
PARRY
Stanford
1、专家系统
1995
Jabberwacky
获得Loebner Prize
2005、2006连续2届冠
军
1997
A.L.I.C.E
在互联网上可以使用,获
得Loebner Prize 2000、
2001、2004共3届冠军
IBM Watson
在《危险边缘》
Jeopardy!战胜人类
2005
Mitsuku
获得Loebner Prize
2014、2016、2017
共3届冠军
Google
Transformer
Google Now
2011
2012
OpenAI
ChatGPT
2017
2011 2015
苹果Siri 微软小冰
亚马逊Alexa
阿里小蜜
3、神经网络、强化学习、
端到端对话系统
2022
2018
OpenAI GPT
4、生成式AI
4. 垂直领域的挑战催生RAG
直接使用大模型?
查找信息
结果整合
提问
回答
世界知识
企业自身知识库
海量通用知识、语料参差不齐、存在安全风险
企业内部文档、业务数据、经营数据
大模型在知识问答场景存在的问题
幻觉问题
知识受限
成本很高
不可解释
合规问题
……
5. 内容提纲
PART ONE 产生背景 PART TWO 技术方案
PART THREE 应用实践 PART FOUR 总结展望
6. RAG
离线链路
•RAG概念
在线链路
解析、切片、索引
• Retrieval-Augmented Generation(检索增强生成)
• 搜索结果引导LLM的生成
• 论文地址:https://arxiv.org/pdf/2312.10997.pdf
html, markdown, pdf,
doc
文本索引
向量索引
文本、图片、表格、代码
混合检索
问题
介绍Opensearch
Query扩展
Opensearch功能
介绍Opensearch
Opensearch优缺点
• Github:https://github.com/Tongji-KGLLM/RAG-Survey
重排
回答
• RAG优势
大模型总结
RAG定制模型
Opensearch是基于阿里巴
巴…
• 实时更新知识库,无需重新训练
Prompt生成
大模型评测
• 答案能追溯来源,可解释可追踪
• 答案基于知识库,不易产生幻觉
评测指标
预训练
&SFT&DPO
检索增强数
据 Qwen
客户授权数
据 第三方开源模
型
训练链路
准确率、幻觉率、全面性、不相关比例
数据
模型
7. RAG关键点
场景效果要求高
“预期100%准确”
实时生成答案
“1~3秒内”
训练推理成本高
“RAG主要成本是GPU”
隐私和安全性
“过滤敏感话题”
ü 准确解析不同格式文档 ü 高性能召回问题相关结果 ü 低成本训练方法 ü 遵守相关法律法规
ü 准确召回问题相关结果 ü 高性能大模型推理生成 ü 大模型推理加速 ü 可控的大模型生成
ü 低幻觉率的大模型总结
ü 过滤屏蔽敏感话题
8. RAG效果优化-数据解析和提取
表格信息提取
图表理解
文档结构分析
9. RAG效果优化-文本切片
一级标题
段落1
段落2
二级标题1
段落3
二级标题2
段落4
三级标题1
段落5
切片1 一级标题 段落1 切片2 一级标题 二级标题1 段落2
切片3 一级标题 二级标题1 段落3
切片4 一级标题 二级标题2 段落4
切片5 一级标题 二级标题2 三级标题1
段落5
层次切
分
一级标题
二级标题1
段落1
多粒度切
分
细切片1 一级标题 二级标题1 句子1
细切片2 一级标题 二级标题1 句子2
细切片2 一级标题 二级标题1 句子3
10. RAG效果优化-多语言向量化模型
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模型
11. RAG效果优化- Query理解
• 分析Query结构(分词、NER) • 意图决策处理链路
• 纠正Query错误(纠错) • 信息不足意图澄清
• 联想Query语义(改写)
• HyDE
• RAG-Fusion
• 扩充Query上下文(省略补全、指代消解)
对话数据
独立及简略问题对
独立问题
多轮对话query改写
Q: 介绍Opensearch
A: Opensearch是…
包含智能问答版、
向量检索版…
Opensearch智能问答版有哪些功能?
简略问题
智能问答版有哪些功能
训练样本
Q: 介绍Opensearch
A: Opensearch是…
包含智能问答版、
向量检索版…
Q: 智能问答版有哪些功能
Opensearch智能问答版有哪些功能?
12. RAG效果优化- 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人
模型/方法 准确率 latency
ChatGPT 80% N/A
Llama2-13B 32% N/A
OpenSearch-Llama2-13B 93% 1.11s
13. RAG效果优化-混合检索
•
统一向量化模型针对同一文本同时产出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…]
排序
语义匹配 相似度权重
关键词匹配 排序公式
关键词分析、词频统计的信息表达
英文实验
中文实验
Avg Retrieval Classification Clustering Reranking STS PairClassification Summarization
SPLADE (4096) 53.90 48.05 64.54 25.5 51.51 76.14 81.98
29.34
bge-small-en-v1.5-angle 60.95 48.09 72.87 43.23 58.04 82.38 85.14
30.59
OpenSearch 62.36 52.91 74.08 42.41 57.92 82.53 85.58
29.42
Avg Retrieval Classification Clustering Reranking STS PairClassification
stella_v3 68.46 73.60 71.50 53.75 68.27 62.45 88.10
bge-m3 sparse 4096_0.6+stella_v3 68.20 74.40 71.74 53.48 67.96 61.24 85.28
OpenSearch 68.70 74.40 71.74 53.75 68.27 62.45 88.10
* 2024年3月份阿里云AI搜索混合检索Embedding模型荣获C-MTEB榜单第一
检索结果
14. RAG效果优化- Rerank
混合检索后增加重排,可进一步提升排序效果
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%
15. RAG效果优化- 大模型微调和评测
数据来源
大模型微调
问题发现和评分
基于badcase总结问题类
型,生成评测prompt
评测答案中的问题,
并给出理由和评分
模型训练
样本筛选
Ø 幻觉控制
Ø 引用溯源
Ø 风格定制
Ø 拒答数据
Ø 多样性
Ø 多轮对话
Ø 开源QA数据
Ø 线上真实QA
Ø 大模型生成QA
Prompt生成
大模型评测
生成能力
数据构造
Ø SFT+Megatron
Ø DPO+Megatron
Ø Lora+Deepspeed
Ø 样本混合
Ø 模型晒选
Ø 规则筛选
结论分析
问题校验
校验问题发现的对错,
纠正评估错误
问题类型分类
答案综合评分 幻觉率 评测指标:回答准确率,幻觉率,全面性,不相关内容比例
GPT-4-turbo 0.9379 7.1% 评测方法:多agent评测(prompt生成、评测、校验、分析总结)
OpenSearch-Qwen1.5-14B-sft 0.8661 11.3% OpenSearch-Qwen1.5-14B-dpo 0.8816 9.0% Qwen-200B 0.9018 9.2% OpenSearch-Qwen-72B 0.8908 6.4% OpenSearch-Qwen1.5-72B 0.8790 4.3%
微调大模型在客户场景效果
评测准确率 问题分类(幻觉、遗漏、不相关、重复)
问题发现及评分(开源方案:Ragas) 83% 无
问题发现及评分+prompt生成 88% 不准确
问题发现及评分+prompt生成+问题校验 95% 不准确
问题发现及评分+prompt生成+问题校验+结论分析 95% 准确
评测模型准确率
16. RAG效果优化-收益
95%
87%
72%
61%
48%
Qwen Prompt工程
向量检索 多路召回
Qwen SFT
重排
向量模型蒸馏LLM
多粒度切片
层次切片
文档解析优化
切片优化
Query理解
Qwen DPO
问题解决率
17. RAG性能优化- VectorStore CPU图算法
VectorStore的图算法基于HNSW实现,并在HNSW基础上从图结
构和检索两个方面进行了优化。
ü 构建阶段的优化:优化图结构,使图的出度入度更加合理,更利于
ANN 搜索
ü 检索阶段的优化:减少距离计算操作的开销,以及预测检索游走时所
需的总步数,当到达预期步数时可以提前终止检索,以减少计算开销
Gist数据集,top 10
Sift数据集,top 100
18. RAG性能优化- VectorStore GPU图算法
ØCAGRA (Cuda Anns GRAph-based), a fast ANNS graph construction and search implementation,
optimized for NVIDIA GPU.
Ø论文地址: https://arxiv.org/pdf/2308.15136
GPU+CPU并行加速
Ø Nvidia T4性能提升3~6倍
Ø Nvidia A100/A800/H100性能提升30~60倍
19. RAG性能优化- 大模型推理加速
模型量化和加速(8bit/4bit)
Ø KV Cache:额外显存空间缓存结果,避免重复计算
Ø Continuous Batching:模型量化将内存占用减半,吞吐翻倍
Ø Tensor Parallel:将模型同层、不同层计算分到多卡
推理加速收益
• 13b Qwen和Llama2模型, 3秒内生成200token答案
• 采用70b模型, 6秒内生成200token答案
20. RAG成本优化-方法选择
• Prompt
• Zero-shot、Few-shot、Chain-of-Thought(CoT)
• Pretraining
• ~1000 GPU、月级(数据规模相关)
• Continue Pretraining
• <100 GPU、天级(数据规模相关)
• 领域数据+数倍通用数据
• S u p e r v i s e d F i n e T u n i n g (S F T )
• 全参数、LoRA
• <100 GPU、天级(数据规模相关)
• 方法简单、效果直接、最常用
• R L H F (P P O )- > D P O
• <100 GPU、天级(数据规模相关)
21. RAG成本优化-客户专属模型
单卡Lora:每张卡相同基座大模型+多个不同LoRA小模型
多卡lora:基座大模型和LoRA小模型相同比例切分到多卡
LoRA的成本收益
基础模型 lora rank64 lora rank512 全参数微调
效果 89% 94% 97% 100%
新增参数比例 0 2.5% 20% 100%
新增显存消耗 - 1 8 40
新增成本费用 - 100/月 800/月 4000/月
22. 内容提纲
PART ONE 产生背景 PART TWO 技术方案
PART THREE 应用实践 PART FOUR 总结展望
23. RAG典型场景
电商场景
内容场景
企业知识库
教育搜题
• 用户选品、直播答疑 • IT、文娱等个性化信息检索 • 企业内部资料 • 搜题生成答案,知识总结
• 商品售前咨询,售后服务 • 提升检索效率、用户粘性、活 • 产品文档、技术资料等 • 提升学习效率,用户粘性、
• 提升购物互动体验、销量转化
跃度、业务转化
• 提升企业信息检索效率
活跃度、业务转化
24. RAG客户场景
处理&返回
“男士乐福鞋多少钱”
文本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向量化
“为您找到Dior Boy男士乐福鞋,价格9200元”
问答结果
商品库
25. 多模态RAG
检索
数据推送 图片 OSS 路径 OSS 数据源 图片向量化 (CLIP、 ① 以文搜图 问题理解
MaxCompute 数据源 ONE-PEACE) ② 以图搜图 相关图片
API 数据源 向量索引构建 ③ 语音搜图 相关文本
图片转文本 (Qwen-VL) ④ 文音搜图 生成Prompt
⑤ 图音搜图 答案生成
图片 Base64 编码
数据处理
问答生成
图片数据
处理&返回
“男士乐福鞋”
“男士乐福鞋多少钱”
文本、语音、图片
[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向量化
搜索结果
问答结果 为您找到Dior Boy男士乐福鞋,价格9200元
商品库向量检索
26. 多模态RAG Demo
问答结果
“black man suit”
“glasses”
+
+
为您找到三件合适的衣服,分
别是“网红男西装(641671)”
、“男士西装套服(397452)”、
“男士西装套服(493752)”:
27. 阿里云Opensearch智能问答版
一站式RAG服务
28. 阿里云Opensearch智能问答版
基于表格内容的NL2SQL链路,支持分析统计场景的问答
基础表格问答能力
表格输出
基于表格内容的总结与推荐
29. 阿里云AI搜索开发平台
组件编排
阿里云SDK
OpenAI SDK
LlamaIndex
LangChain
Query改写 Query分词 实体识别 意图识别
拼写纠错 指代消解 多轮对话 NL2SQL
训练服务(PAI) 推理服务(PAI-EAS) 大模型评测服务
Query理解
搜索组件
SFT数据生成
大模型服务
Qwen系列大模型
在线引擎
Havenask
数据格式
Elasticsearch
第三方开源大模型
向量化 sgpt-bloom
文本切片 数据提取
PDF、Word、PPT
Paimon、Hudi
bge-m3
多粒度切分 stel
la
层次切分 语义切分
文本提取 OCR 视觉模型
JSON、HTML、Markdown
Excel、CSV
数据层
数据源
数据湖
MaxCompute
Hologres
HDFS
OSS
RDS
30. 阿里云AI搜索开发平台
平台上的子服务和模型可以被单独调用和集成、也可以基于阿里云SDK、OpenAI SDK、LangChain、LlamaIndex灵活组装子
服务和模型,构建AI搜索应用
31. 阿里云Elasticsearch AI
基于Elasticsearch Inference API、Ingest API框架实现,AI服务和模型依托阿里云AI搜索开发
平台
32. 阿里云Elasticsearch AI
33. 内容提纲
PART ONE 产生背景 PART TWO 技术方案
PART THREE 应用实践 PART FOUR 总结展望
34. 阿里云AI搜索展望
Ø
Ø
开源生态结合
Ø 引擎:Elasticsearch、Milvus
Ø 框架:Langchain、Llamaindex
Ø 模型:开源大模型
大数据底座
Ø
Ø
多模态优化
Ø
Ø
数据库、数据仓库、数据湖
文本、图片、语音、视觉交互
Agent探索
Ø
Dynamic Agent Planning
35.