【青训营笔记2】向量数据库—由LLM与RAG引起的复兴

174 阅读6分钟

随着LLM的迅速发展,AI 应用正在逐步向更高效、更可信的方向迈进。与此同时,嵌入技术、向量数据库和 RAG(Retriever-Augmented Generation)方法的引入,使得 AI 模型能够更好地处理和存储多模态数据,如文本、图片、视频等。这些技术不仅能提高处理效率,还能增强模型在复杂场景中的表现。 在本次AI练中学的掘金小册课程中,也有一章【15_RAG应用】专门谈论了RAG和向量数据库。 本文将从向量嵌入和向量数据库的角度讨论,为何现代LLM都会注重Embedding模型和向量数据库的基础设施建设。

一、向量嵌入的优势

向量嵌入的核心优势在于其能够将复杂的非结构化数据(如文本、语音、图像等)转换为高维空间中的向量表示。这种表示不仅能保留数据中的语义信息,还能通过计算向量之间的距离来衡量数据之间的相似性,此外,它也是对多模态数据的统一表征。

  1. 去除冗余信息,保留核心语义:在多轮对话的场景中,嵌入技术能够帮助去除与当前对话无关的上下文信息,而保留数据核心的语义信息,从而降低计算和存储的成本。例如,在用户和LLM的长对话中,我们不需要让LLM回忆该轮长对话的每一次Query—Answer,而是可以通过Embedding计算,找到最相似的那几次Query—Answer,大大节省计算资源,此外还能提高模型处理的效率和准确性。

  2. 聚合存储与高效查询:将非结构化数据如语音、图片、视频帧等转化为向量后,可以存储在向量数据库中,极大地提高检索效率。这种方式不仅便于聚合和存储,还能通过向量相似度计算快速进行相关数据的检索。例如,通过将视频帧嵌入成向量,可以在视频搜索中快速找到相似的片段。此外,文图检索也可以依赖特定的Embedding模型实现。

二、常见的相似计算方法

向量相似度计算是处理向量嵌入的关键步骤。常见的相似计算方法有欧氏距离、余弦相似度和点积等。每种方法适用于不同的应用场景。

  1. 欧氏距离(Euclidean Distance):欧氏距离是衡量两点之间直线距离的经典方法。它适用于需要考虑向量的绝对距离的场景,例如推荐系统中的用户行为分析。在这种情况下,不仅仅考虑用户历史行为的相似性,还要考虑行为的数量,因此欧氏距离能够较好地反映这一点。

  2. 余弦相似度(Cosine Similarity):余弦相似度计算的是两个向量的方向相似性,而忽略它们的长度差异。这使得它特别适用于语义搜索和信息检索中,因为我们更关注向量方向的相似度,而不在意它们的绝对值(即文本的长度)。例如,在文本相似度计算中,两个句子的语义相似性比它们的长度差异更为重要。OpenAI的Embedding模型在很多任务上适合用余弦相似度,这有一个原因是OpenAI的几个Embedding模型返回的向量默认都是归一化为单位向量了。比较长度没有意义。

  3. 点积(Dot Product):点积是一个简单高效的相似性计算方法,广泛应用于各种机器学习任务中,尤其是在深度学习中,它通过计算向量的内积来评估相似度。然而,在高维空间中,点积可能会受到“长度放大效应”的影响,即较长的向量往往会产生较大的点积值,可能影响相似度的判断。

  4. 池化方法(Pooling):在处理长文本或多样本时,池化技术(如平均池化和最大池化)常用于缩小向量维度。最大池化能够保留更多关键信息,而平均池化可能会丢失一些重要特征。在选择池化方法时,需根据具体场景来权衡信息保留与计算效率。

三、提高向量计算效率

随着向量数据库和相似度计算技术的发展,提高计算效率和查询性能已经成为关键挑战。以下是一些常用的优化策略:

  1. 减小向量大小:向量的维度和长度会直接影响计算和存储的成本。为了提高效率,可以通过降维技术(如 PCA、t-SNE 等)或其他方法来减少向量的维度。这有助于减少计算复杂度并提高搜索速度。此外,基于PCA等降维方法也可以有效地对数据可视化。

  2. 缩小搜索范围:在进行大规模向量检索时,减少检索范围是提升效率的有效手段。常用的技术是聚类,例如 K-means 聚类,可以将向量数据库分为多个簇,缩小搜索范围,只检索最接近的簇。

  3. 过滤策略(Filtering):在进行向量检索时,通常需要对结果进行过滤。过滤操作可以在检索之前(Pre-filtering)或检索之后(Post-filtering)进行。前者通过元数据筛选减少搜索空间,后者则确保所有相关结果都能被考虑。选择合适的过滤时机可以有效平衡性能和准确性,优化查询过程。

  4. 并行化处理:为了提高查询效率,很多向量数据库采用并行化处理技术。通过并行查询和计算,可以大大加速检索过程,尤其在面对大规模数据集时,这种方法可以显著提升系统的响应速度。

四、向量数据库与ANN的应用

向量数据库和近似最近邻(ANN,Approximate Nearest Neighbors)搜索技术已经在多个领域得到广泛应用。尽管这一领域并不新颖,但随着大语言模型(LLM)和深度学习技术的兴起,向量数据库被更多的人了解和使用。特别是在推荐系统中,向量嵌入技术被广泛应用于用户行为分析、商品推荐等场景。通过 ANN 搜索,可以在庞大的数据集中快速定位到与查询向量相似的项,从而提升推荐的准确性和实时性。

结语

向量嵌入技术为处理和存储高维数据提供了高效的解决方案,尤其在自然语言处理、计算机视觉和语音识别等领域取得了显著成果。通过合理选择相似计算方法、优化计算效率和利用向量数据库,能够有效提高模型的性能,并为各类应用提供更加智能的支持。随着技术的不断发展,向量嵌入和相似计算将继续在 AI 和大数据领域发挥重要作用。

推荐