您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [PingCAP]:Gen AI 时代趋势中的 TiDB - 发现报告

Gen AI 时代趋势中的 TiDB

2024-04-25 PingCAP 李辰
报告封面

Gen AI时代趋势中的TiDB 演讲人:姚维 目录CONTENTS 01 2024应用开发趋势展望 02 AI应用与探索的旅程 03 向量搜索浅谈 04 SQL + Vector的挑战 2024应用开发趋势展望 ●Rise of the builders(X-as-a-Service) ●Platform Engineering●AI-Augmented Development●Democratized Generative AI●Intelligent Applications Full-stack JavaScript●Edge functions●JavaScript-friendly Serverless platform ● ●聚焦业务逻辑,越来越多模块被接管●全栈单语言->小团队能实现更多 2024应用开发趋势展望 2024应用开发趋势展望 2023 TiDB Hackathon一个真实的例子 ●用上所有上述的Service和AI●一个程序员就可以短时间内完成一个复杂的应用程序○开发○测试○发布●在以前,这不可想象! 2024应用开发趋势展望 AI应用与探索的旅程 AI应用与探索的旅程 ●从最基础的PromptEngineering开始●刚开始Text2Query的效果还不错●问题很快出现:○准确性达到瓶颈,~50%○无论如何调整Prompt,都会带来副作用,影响其他语句 AI应用与探索的旅程 AI应用与探索的旅程 ●gpt-3.5-turbo:支持4,096 tokens●gpt-4-0125-preview:支持到128,000 tokens●Prompt不能囊括所有的知识和例子●无法确定问题和Prompt上下文之间的关联度 What is Embedding and Vector? What is Embedding and Vector? ●Distance ○Cosine Distance○Squared Euclidean(L2 Squared)○Manhattan(L1)○Dot Product ●三维向量距离计算,可以类推到高维向量 What is Embedding and Vector? ●文档和自己的私有数据变成Vector以后●可以通过Similirity计算,能搜索得到语义相近的对象●例如:○Q:最新的气候变化报告○Chunks:■"联合国气候变化大会最新公布的报告显示..."■"最近的研究表明,全球变暖速度超过先前预期..."■"科学家们发表的最新气候变化研究报告强调了..." AI应用与探索的旅程 ●Prompt根据提问,动态生成●Knowledge扩展到无限,通过问题的相关性/相似度取回相关知识 AI应用与探索的旅程 ●Domain Knowledge可以被持续更新●通过用户点赞或者管理员手动添加等方法 AI应用与探索的旅程 ●上线效果:Text2Query准确度从51.48%到75.46% AI应用与探索的旅程 ●RAG(Retrieval-Augmented Generation)●解决LLM数据过时的问题●部分解决“幻觉”●LangChain和LLamaIndex●和我们有什么关系? AI应用与探索的旅程 AI应用与探索的旅程 AI应用与探索的旅程 AI应用与探索的旅程 AI应用与探索的旅程 向量搜索浅谈 ●对于RDBMS来说,最重要的是能够对数据增加索引,精确过滤○是否可以对Vector做同样的事情? ●独立的Vector存储或者SQL + Vector? 向量搜索浅谈 ●让Vector成为SQL原生类型●支持Where条件过滤●Join语句和聚合语句●支持二级索引和向量索引共存 5 rows in set (0.29 sec) 向量搜索浅谈 ●KNN(K Nearest Neighbors)○精确从N维的向量中找到最相近的K个向量○时间复杂度是O(NK) ●ANN(Spproximate Nearest Neighbors) ○近似结果,所以有召回率的问题○K个近似最优的结果,映射到SQL算子就是TopN○期待查询时效需要接近TP(< 100ms) ●Hash-based○LSH:多个Hash增加碰撞,让相似的聚集在一起;无法适合高维数据 ●Tree-based:○KD-Tree,Annoy ●Graph-based:○HNSW,DiskANN ●Cluster-based○IVF Cluster-based Vector Index ●IVF-Flat(inverted file) ○通过聚类的方式,找到一个点来表达一个区域(Cell)的向量○通过跟区域内的centroids点对比来减少比较次数 ●优点:○构建速度快;○内存占用相对少○最简单的索引类型 ●缺点:○查询速度相对慢;○存在边缘问题影响召回率 Cluster-based Vector Index ●PQ(Product Quantization) ○高维有损压缩○减少内存使用量○召回率下降 Graph-based Vector Index ●HNSW○类似SkipList,多层结构,每层是图 ●优点:○多层级的图结构,可以快速定位到目标附近的区域,支持高并发○不错的召回率,提高召回率的性能下降不明显 ●缺点:○构建速度相对慢,构建索引的过程中需要进行大量的计算和邻居关系维护○内存占用相对大 Vector Index Perf RAG Demo with TiDB Vecgtor Description A[WIP]out-of-the-box RAG (Retrieval-Augmented Generation) app based on the[WIP]vector storage feature within theTiDB Serverless. Features: ●Conversational Search with Built-inWeb Crawler●Embeddable Conversational SearchWidget Live Demo Simplified Architecture MySQL+Vector DB(multiple round trip) -> TiDB(single round trip) Private-Preview tidb.cloud/ai 谢 谢 观 看