今天分享的AIGC系列深度研究报告:《向量数据库:AIGC时代的必备基础工具》。
(报告出品方:广发证券)
报告共计:47页
点击添加图片描述(最多60个字)编辑
一、向量数据库为 AI 大模型全生命周期管理提质增效
随着AI大模型的发展,向量数据库已成为赋能MLOps各环节必备的软件基础设施在Al模型全生命周期过程中,MLOps (Machine Learning Operations,机器学习运营体系)代表机器学习的开发、部署和应用,是涵盖从训练到推理全流程,提升从数据到AI模型生产效率的工具。AI大模型的技术已成为业内主流发展方向,在训练的数据量不断增多,算力集群规模持续扩大的趋势下,从数据到模型的全生命周期管理需要更加专业的软件工具用于生产效率的提升、流程的优化和成本的节省。其中向量数据库具备的快速检索、混合存储、向量嵌入等能力很好的解决了AI大模型在MLOps过程中存在的知识时效性低、输入能力有限、回答问题准确度低等问题,未来发展前景广阔。
(一)MLOps 已成为 AI 模型规模化开发的必备软件工具
AI大模型的训练和推理各环节过程复杂、步骤较多,需要统一的软件工具链进行管 理。从原始的训练数据训练成为AI大模型的过程需要经过数据预处理、特征提取、模型测试、训练监控、生产部署等环节,任何一个环节出现问题亦或不同环节之间的 衔接不流畅,则会影响整体的开发效率和成果转化率。根据Gartner调查结果,只有 53%的项目能够从AI原型转化为生产,AI生产转化率低的主要原因在于模型全链路 生命周期管理存在跨团队协作难度大、过程和资产管理欠缺、生产和交付周期长等问题。因此,开发从数据到模型,贯通从开发到部署等多环节统一的流水线软件 MLOps是保障AI模型生产和管理的稳定性、持续性、规模化和效率的关键。
MLOps的目标是提高A项目全生命周期的效率、可扩展性和可靠性。在MLOps的框架下,机器学习项目的生命周期被划分为几个关键阶段,包括需求设计、开发阶段、交付阶段和运营阶段,这种结构化的运行方法提供了一个清晰的路线图,可以帮助团队有效减少数据质量、模型过拟合和部署困难等难题,较大提高了项目推进效率此外,MLOps还通过自动化持续集成/持续部署(CI/CD)等方式加快模型迭代速度保证模型在生产过程中的连续性。
MLOps的系统框架不是简单的线性推进,而是各个环节的相互作用与结合MLOps的生命周期包含了多个反馈循环,模型测试和运维监控阶段的结果可能会反情到数据工程和模型开发环节,集成效果会影响模型上线后的性能,模型上线运行的效果又影响业务需求和开发方向。MLOps的生命周期不是一次性的过程,需要反复进行数据收集和准备、模型开发和训练、模型验证和测试等步骤,以不断对模型进行送代与优化,目前,MLOps对Al全生命周期的管理和应用正逐渐走向成熟,对各个环节都有对应的软件实现效率的提升,这些软件和工具在各环节发挥着重要的作用,共同构建了一个完整、高效的MLOps生态系统。
1.需求管理: 业务人员基于对产业和业务的深刻认知,在复杂的业务场景中提炼出痛点问题并形成需求,交付于数据科学家进行对接,数据科学家通过需求文档初步建立算法模型 (demo),明确业务需求,并对需求的可行性进行评估与检验,在双方的有效沟通下对方案多次修改直到达成一致,以确保业务需求被正确认知,建模方案可行而高效,避免不同角色对于需求的理解不一致及风险不可控等问题,从源头提升项目质量,降低需求变更带来的影响。
2.数据工程: 明确了需求之后,就要从业务场景中提取建模所需的数据。业务场景覆盖范围宽广且涉及情景复杂,获取的数据格式、口径、类型都大不相同,取数场景可能涉及到从各种源(如数据库、日志文件、API等) 收集数据,获取的数据可能是结构化的(如表格数据),也可能是非结构化的(如文本或图像),也可能包含错误、缺失或异常值,需要识别并处理,以提高数据的质量。此外,获取的数据一般不符合机器学习模型的特定格式要求,需要数据工程师进行相应的处理,如编码分类变量、标准化数值变量等。与此同时,数据工程师雪要从原始数据中进行特征选择、特征提取、特征构造以提高模型性能。数据工程是机器学习项目成功的关键,好的数据工程可以提高模型的准确性,降低模型的复杂性,提高模型的可解释性。
3.模型开发:模型开发是MLOps生命周期中的关键阶段,需要根据问题的性质(例如,是分类问题、回归问题还是聚类问题)和数据的特性,选择一个或多个适当的机器学习算法进行建模。特征选择也是模型性能的关键,需要从所有可用的特征中选择最相关的特征子集用于模型训练,减少复杂性,提高模型性能,并减少过拟合的风险。完成基本建模后,需要对模型进行不断训练、优化和迭代,以达到最佳效果。
4.构架集成: 持续集成(Continuous lntegration,简称CI) 是一种软件开发实践,开发人员将他们的代码更改合并到共享存储库中,通常每天至少一次。每次代码合并都由自动化的构建(包括编译、发布、自动化测试)来验证,从而尽早地发现并解决问题。通过持续集成和自动化测试,可以快速发现和定位错误,减少调试时间,提高流程效率。
5.模型测试: 模型测试用于评估机器学习模型的性能和可靠性,目的是确保机器学习模型可以根据最新的数据和反馈进行更新和优化。测试阶通常构造一组测试数据来评估模型的预测结果,并使用适当的评估指标(如准确率、召回率、AUC等) 来量化模型的性能。同时还要测试模型的鲁棒性,检查模型是否对输入数据的噪声或异常值敏感
6.部署发布: 持续部署阶段( Continuous Deployment,简称CD)涉及将训练好的机器学习模型部署到生产环境,以便它可以开始为实际业务问题提供预测。它将模型和相关的预处理和后处理代码打包为一个容器(如Docker容器 ),并将模型服务部署到适当的运行环境。部署发布是一个复杂的过程,需要考虑性能、可用性、安全性和可扩展性等多个因素,以确保模型的成功部署和高效运行。
7.运维监控: 运维监控是在模型部署后对其性能和健康状况进行持续的监控和管理这要求IT运维定期检查模型的预测性能,以确保它仍然满足业务需求;监控模型服务的资源使用情况(如CPU、内存和磁盘使用情况),检查模型服务的错误和异常;监控模型的数据漂移,避免因为输入数据的分布变化导致模型性能随着时间的推移而下降。运维监控是一个持续的过程,它需要在模型的整个生命周期中进行,以确保模型的持续性能和健康状况。
AI大模型对MLOps提出了更高要求。相较于普通的AI模型,AI大模型的训练有更多数据的输入,通常需要更长时间和更多的资源,因此在训练过程中需要进行更精细的调优和监控,此外,由于AI大模型的规模较大,其部著和维护也会相应地变得更加复杂。例如,如何将模型分布式部署到多个节点上、如何保证模型的稳定性和可靠性、如何进行故障排除和容错等。因此,适用于普通模型生产的MLOps较难适应AI大模型的需求。目前,针对AI大模型的技术特点,部分厂商已开发出LLMOps工具,在海量样本构建、模型增量与全量的训练和部署、模型推理、模型回滚、模型回溯等方面有较大提升能力。总体来看,在模型的全生命周期管理过程中,AI大模型具有以下特点:
1.“预训练+微调”已成为AI大模型主流开发方式:目前较多的大模型的开发不再从头开始训练,而是选择一个通用性基础较好的、开源的预训练模型,在其基础上进行参数微调和优化得到满足用户需求的大模型。
2.AI大模型的开发涉及的环节较多,耗时较长:由于训练数据量庞大,数据类型较多,AI大模型的训练时间较长。AI大模型的训练包括数据清洗、特征提取、参数调优、评估测试等,各环节的耗时都取决于数据量、模型复杂度以及评估指标的选择。因此数据处理工具、软件平台架构的选择对于AI大模型的开发有关键作用。
3. 相似性检索功能对于A大模型生成内容的效率和质量有一定提升: 在人机交互的过程中,存在由于用户提问方式不直接,给出的提示词较为模糊,导致生成内容质量不高的问题。因此,通过相似性检索和向量标量字段过滤混合查询等技术手段提高提示词与回答内客之间匹配度已成为AI大模型的重要发展方向之一。
4.人工反馈对于AI大模型通用性效果的提升有关键作用:在模型的评估测试环节通过引入人工反馈机制对于模型输出的内容进行纠正,筛除不合理的、错误的回答,从而提升AI大模型整体的通用性。
向量数据库是开发和应用AI大模型过程中必备的软件基础设施。针对AI大模型的 MLOps在架构方面的设计考虑了海量多源数据的训练、预训练大模型的导入以及大 规模计算集群算力资源调度。这些都是在普通AI模型开发和应用中难以遇到的问题。 在训练数据方面,由于所需处理的数据量较为庞大、类型更加复杂,向量数据库是 提升训练和推理效率必备的工具软件。AI大模型在大规模计算集群的环境下进行训 练,具有算力资源调度和整合共享能力的分布式架构已成为主流。我们认为,以向量数据库为代表的工具类软件有效解决了AI大模型全生命周期管理中的痛点,是开 发和应用AI大模型过程中必备的软件基础设施。
向量数据库赋能MLOps过程中数据导入、特征提取、模型构建等多个环节。在数据导入过程中,向量数据库可以将不同类型的非结构化数据进行清洗、筛选并转化为统一的向量嵌入格式,便于各类数据的交互和计算。在特征提取阶段,向量数据库的相似性检索功能给不同的向量数据构建索引,有效提升搜索效率,缩短训练时间。在模型构建环节,向量数据库也可以在微调和剪枝等环节减少训练数据量,节省训练成本。此外,在模型推理过程中,向量数据库也可解决AI大模型知识的时效低、输入能力有限以及准确度低的问题。接下来,我们就向量数据库在AI大模型各环节赋能的技术原理和实际应用案例进行深入分析。
(二)向量数据库既能提升 AI 大模型各环节效率,又能保障用户数据安全
向量数据库在AI大模型训练和推理过程中有较大的应用空间。向量数据库是专门用 于存储和管理向量数据,其主要特点是能够高效地存储和查询大规模的向量数据。 它通常采用基于向量相似度的查询方式,即根据向量之间的相似度来检索数据。这 一功能特点不仅使得其可以提升训练过程中特征提取和数据检索等任务的效率,还 在推理过程中有效保护用户隐私数据、保障应用过程的数据安全性。
1.在AI大模型训练过程中,向量数据库可以有效提升数据检索、特征提取等任务的效率
针对海量和多源训练数据,向量数据库统一数据格式,为训练任务效率提升打好基础。AI大模型训练的数据量庞大、数据类型多样,且训练过程设计过程复杂、耗时较长的数据检索过程。通过实践摸索,AI算法开发人员发现向量数据库具备提升模型训练的工作效率的工具软件。向量数据库可以将文本、图像等各种类型数据转换为一个固定长度的向量,转化后的向量数据不仅统一了数据格式,便于各类型数据之间的交互和计算,还可以应用相似度检索的算法来减少大规模检索过程的时间消耗。具体来说,向量数据库在AI大模型训练过程中的功能包括:
(1)转换数据结构,统一数据格式,加速特征提取: 向量数据库可以将图像、音频和视频等数据数据,转化成为统一格式的向量数据。在特征提取任务中,统一格式的向量数据的处理和计算效率有明显提升。
(2)利用相似性检索的算法加速大规模数据检索: 在Al大模型训练过程中,大规模数据搜索的过程往往耗时较长。向量数据库通过ANN (Approximate NearestNeighbor) 算法给不同的向量数据构建索引,有效提升搜索效率,缩短训练时间
(3)在模型更新和再训练过程中,减少训练量:当用户想要更新AI大模型时,向量数据库允许用户只更新部分数据,而不是整个数据集。这可以节省大量的计算资源和时间,特别是在数据集很大且更新频繁的情况下,
不同类型的数据转化成为向量嵌入的方式不同,统一的数据处理工具是关键,一般而言,数据都需要进行编码,转化成向量嵌入(Embedding )后才开始训练,而不同类型的数据转化成为向量嵌入的方式不同。对于文字类信息,在字词的属性(主谓宾) 等较为固定的情况下,语句中的语义信息的提取和识别有规律可循,将标点符号、不同属性的字词编码,根据其在文中的作用对编码反复进行排列组合的训练即可以得到一组向量嵌入。而图像类数据的编解码难度更大。图像数据是大量像素排列组合而成的,不仅单个像素的固定属性难以确定,其排列组合的方式也无规律可循。与一般的AI模型相比,AI大模型需要对多种类型数据进行编码、配对、拟合,导入数据开始训练的过程更加复杂。
在数据导入阶段,向量数据库可以支持多种类型数据转化成为向量嵌入。向量数据 库支持不同类型数据导入AI模型训练中,解决了此前针对不同类型的数据导入需要 采用不同数据处理平台的难题。在训练过程中,大规模未标记的数据首先输入浅层 的神经网络中进行训练,其输出结果为具有标识的统一格式的向量,可以被深层的神经网络识别。由于AI大模型的训练涉及的数据量庞大,向量嵌入的方式可有效提高模型训练的效率和准确性,已经成为AI大模型的标准流程。
在AI大模型的训练过程中,向量数据库可以用于加速特征提取和数据检索。在训练 过程中,原始数据转换为向量数据后更好的适应了AI计算中涉及大量的矩阵运算。 向量化后的数据将单一维度的运算扩展到高维度的矩阵运算,从而提升单次运算能 力。向量数据库针对矩阵运算提供了丰富的操作符,如点积、范数、索引查找等,对 于特征提取、抽象化等都有很好的性能满足。此外,向量数据库还可以提供快速随 机访问和批量读取功能,在训练过程中快速加载和检索海量数据。
2.在AI大模型推理过程中,向量数据库可以有效保护用户数据隐私并提升推理任务的准确率
向量数据库在企业用户隐私保护和推理任务准确性方面有突出表现。在AI大模型应用过程中,下游用户一方面需要通用AI大模型访问企业私域数据,另一方面又需要防止企业隐私信息泄露。在这一过程中,向量数据库作为通用AI大模型和企业私域数据间的桥梁,可以有效满足用户这一需求。其次,融合了最新资料和专业知识的向量数据库可有效解决通用的AI大模型知识的时效低、输入能力有限以及准确度低的问题。具体来说,向量数据库在AI大模型推理过程中的功能包括:
(1)为大模型提供外挂知识库,提升模型时效性与准确性: 用户希望大模型能根据最新的数据来回答问题,但大模型的训练语料在时效性上有一定局限,此外,企业都有自己内部独有的知识库,出于数据安全考虑,难以直接应用于大模型的预训练和微调阶段,在此情况下,向量数据库可以充当外挂知识库,为大模型提供最新数据或者企业客户独有的内部知识库。通过从知识库中检索与输入相关的信息,作为上下文和问题一起输入给AI大模型,基于信息生成答案,可以提升大模型的时效性与准确性。
(2)为大模型提供长记忆能力,突破Token数限制,避免上下文信息丢失: 大模型有上下文长度限制,一旦超过了最大Token数,便会忘记上下文。而向量数据库可以记录客户端和大模型之间的对话信息,接收到新的消息时可以从整个历史会话记录中检索与当前消息相关的人机交互信息,为大模型提供长期记忆。因此可以突破大语言模型对Token数的限制,避免上下文信息丢失的问题。
(3)为大语言模型提供缓存能力,减少调用开销,提升响应速度:当用户触发查询时,在调用AI大模型之前,系统可以生成向量并执行缓存查找,若缓存命中,就可以直接返回结果,不需再调用AI大模型,因此可以实现快速响应,并减少对大模型调用的开销。
存入隐私数据的向量数据库外挂在AI大模型上,拓展交互信息范围,保护用户隐私。 通过互联网公开数据训练的通用AI大模型难以覆盖专业性较强以及最新的新闻数据。 而用户可以将最新资料和专业知识存入向量数据库中,外接到通用AI大模型来解决 这一问题。此外,用户还可以设置向量数据库的访问权限,来限制AI大模型将其中数 据作为训练语料。向量数据库的实时更新、灵活编辑以及隐私保护的特点较好的弥 补了通用AI大模型的缺陷。在ChatGPT的插件系统中,用户即可在外接的向量数据 库中预先增加和编辑特定信息,再通过调用该插件后实现对于特定问题的回答。我 们认为,外接的向量数据库可以将用户特定信息融入到交互内容中,不仅大大拓展 了AI大模型交互信息的范围,还保证了用户信息的私密性,应用前景广阔。
在AI大模型的推理过程中,向量数据库可以提升推理的效率和准确性。在推理阶段, 向量数据库可以提供快速的向量索引和查询功能,以便快速地找到所需的特征向量。 与传统的基于关键字的搜索相比,向量数据库可提供基于ANN算法的语义搜索功能。 AI大模型可以更好的理解用户的搜索意图,并将搜索请求扩展到相关领域的信息, 快速、准确定位到与问题最相关的信息,缩短生成内容的反馈时间。此外,在大型分 布式环境中,向量数据库还具有高效的并行计算能力,可以充分利用硬件资源,进一步加快推理速度,以应对海量数据的处理需求。
在应用阶段,AI大模型存在较多的向量相似性搜索需求。AI大模型和用户交互的信 息往往包含大量的非结构化数据。例如,用户将图片输入到GPT-4后,就图片信息进 行问答。在这一过程中,原始的图像(由像素组成)需要转化成为向量数据才能被AI 大模型识别和理解,之后这一组向量数据需要遍历庞大的神经网络,搜索与之对应 的另一组向量数据后才能生成用户想要的文字。向量搜索的过程往往耗时较长,可能会影响到即刻需要得到内容生成的用户体验。而向量数据库通过ANN算法给不同 的向量数据构建索引,有效提升搜索效率,缩短生成内容的反馈时间。
(三)向量数据库在 AI 各场景应用前景广阔
从实际应用案例来看,向量数据库在AI大模型的训练和推理过程中降本增效的效果 已有所显现。Pinecone、Weaviate等向量数据库通过数据清洗、去重,将优化后的 数据集导入模型训练过程,较大提升了训练效率。ChatGPT Plugins插件系统外接向 量数据库,不仅大大拓展了AI大模型交互信息的范围,还保证了用户信息的私密性。 Qdrant向量数据库产品与Pienso合作,已经实现在开源AI大模型的基础上开发私域 大模型。接下来,我们通过实际应用案例的分析,介绍向量数据库的应用前景。
1.向量数据库已应用于数据清洗、向量嵌入转换、私城大模型开发等训练过程
向量数据库可实现低质量数据的快速辩别和清洗,优化训练数据集。Altas是一个数据管理平台,通过接入Pinecone、Weaviate等向量数据库,实现训练数据的清洗和去重。Atlas首先对文本语料库进行语义层面的分析,通过ANN的算法将具有相同属性的数据进行聚类,并以向量形式嵌入到可视化地图上。在可视化的界面中,用户可使用工具对数据进行标注,根据业务需要,对特定类别数据进行清洗和筛选。之后,AI模型可以从Atlas中获取优化后的数据集用于后续的训练任务。我们认为,数据清洗和筛选是AI模型训练必不可少的环节,向量数据库已实现对大规模非结构化数据进行分类、标注和清理,优化数据集,从而有效提高AI模型的训练效率。
向量数据库可以为企业客户提供私域大模型解决方案,同时保护数据安全。Pienso 与向量数据库Qdrant合作,为客户提供私域大模型解决方案。用户可以基于私有数 据,使用简单的可视化界面在各种流行的开源模型上开发定制AI模型。通过向量数 据库提升了AI模型的准确性,同时保留了广泛的上下文窗口,让模型能够更全面地 理解对话或文档,产生贴近语境的输出,以及加速用户模型的训练和推理过程。在 这种方案下,Pienso保证用户的数据只能自用,不会被拿去训练其他模型,保障了用户隐私和数据安全。
2. 向量数据库已应用于问答系统、图像检索、推荐系统等推理应用场景
在模型推理场景中,向量数据库的高性能的向量存储和检索能力已经在问答系统、 图像检索、推荐系统等多种AI场景中广泛应用:
(1)外挂知识库:在外接的向量数据库中可以预先增加和编辑特定信息,再通过 ChatGPT 调用该插件后实现对于特定问题的回答;
(2)提升AI模型生产内容精准性:结合问答系统的自然语言问答能力和向量数据库的相似性检索能力,提供更准确和可靠的答案,实现高效问答服务;
(3)非结构化数据快速检索:通过相似性检索算法对图像、视频等非结构化数据快速搜索,实现反向图像搜索、对象检测、人脸比对等任务;
(4)个性化推荐:存储用户和物品的特征向量并对用户偏好和内容进行分析,通过计算相似度找到与用户历史行为或兴趣相似的物品,生成个性化推荐,提升推荐体验。
向量数据库可外接最新资料和专业知识,增强AI大模型的时效性和专业性。向量数 据库公司Zilliz开发了一个开源工具OSSChat,整合了各开源项目的GitHub函数库及 相关文档作为数据源,并将这些数据转换为向量存储在向量数据库中。当用户与 OSSChat进行交互时,系统会在向量数据库中进行相似性检索,将检索结果发送给 ChatGPT作为输入问题,并最终生成精准的答案。我们认为,通过结合 ChatGPT的 自然语言问答能力和向量数据库的相似性检索能力,OSSChat 将开源社区中积累的 内容构建成知识库,有效解决了ChatGPT在特定领域知识和实时信息方面的局限性, 可以提供更准确和可靠的答案,实现高效问答服务。
报告共计:47页