LLM 学习之「向量数据库」
什么是向量数据库?
向量数据库是一种以向量或数据点的数学表示形式存储数据的数据库。 人工智能和机器学习使非结构化数据能够转换为捕获意义和上下文的数字表示(向量),这得益于自然语言处理和计算机视觉的进步。
矢量相似性搜索 (VSS) 是矢量数据库的关键功能。它是查找与向量数据库中给定查询向量相似的数据点的过程。
常用的 VSS 用途包括推荐系统、图像和视频搜索、自然语言处理和异常检测。例如,如果构建推荐系统,则可以使用 VSS 查找(并建议)与用户以前表现出兴趣的产品类似的产品。
信息有多种形式。有些信息是非结构化的,例如文本文档、富媒体和音频,有些则是结构化的,例如应用程序日志、表格和图表。人工智能和机器学习(AI/ML)的创新使我们能够创建一种机器学习模型,即嵌入模型。嵌入模型将所有类型的数据编码为向量,以捕获资产的含义和上下文。这样我们就能够通过搜索相邻的数据点找到相似的资产。向量搜索方法可提供独特的体验,例如用智能手机拍照,然后搜索相似的图像。
😝有需要的小伙伴,可以V扫描下方二维码免费领取🆓
这些功能通常由 k 最近邻(k-NN)索引提供支持,并使用分层可导航小世界(HNSW)和倒排文件索引(IVF)算法等算法构建。
向量数据库提供了其他功能,例如数据管理、容错、身份验证和访问控制以及查询引擎。
为什么向量数据库很重要?
作为开发人员的我们,可以将嵌入生成的向量索引到向量数据库中。这样的话,他们便可通过查询相邻向量来找到相似的内容。前面我们介绍的文章中,有一部分向量的实用,就是将文本内容向量到数据库中,然后用户每次输入问题的时候先经过向量数据库,然后才是 LLM,后面有一篇文章我们构建一个智能客服系统的时候如何提高响应速度重点介绍在LLM 的实用和缓存。
向量数据库提供了一种使嵌入模型有效运行的方法。通过复杂的查询语言,利用资源管理、安全控制、可扩展性、容错能力和高效信息检索等数据库功能,可以提高应用程序开发效率。
向量数据库最终帮助我们开发人员开发出独有的应用程序体验。例如,在手机淘宝中,用户可以在智能手机上拍摄照片以搜索相似的图像。
我们可以使用其他类型的机器学习模型自动从图像和扫描文档等内容中提取元数据。他们可以将元数据与向量一起编入索引,以实现对关键字和向量的混合搜索。我们还可以将语义理解融入相关性排名中,以提升相关内容的搜索结果。
例如 ChatGPT
这样的新模型是对生成式人工智能(AI)的创新,这些模型可以生成文本并管理与人类的复杂对话。有些模型可以在多种模式下运行;例如,有些模型可以根据用户描述的景观生成符合描述内容的图像。
但是,生成式模型容易产生幻觉,这可能会导致聊天机器人对用户造成误导。 向量数据库可以弥补生成式人工智能模型的这一缺陷。向量数据库为生成式人工智能聊天机器人提供外部知识库,确保给它们提供的是我们信赖的数据信息。
向量数据库的使用方式有哪些?
向量数据库通常为视觉、语义和多模态搜索等向量搜索使用案例提供支持。它们与生成式人工智能(AI)文本模型配对,创建了提供对话式搜索体验的智能代理。比如前面我们的文章“使用langchain搭建本地知识库系统(新) - 掘金 (juejin.cn)”中就实用了向量数据库。
开发过程从构建嵌入模型(embedding-model)开始,该模型将类似产品图像的语料库编码为向量。数据导入过程也称为数据融合。我们就可以使用该数据库搜索相似产品,方法是对产品图像进行编码并利用向量查询相似的图片以及内容(实际的实用场景比这个复杂)。
在此模型中,k 最近邻(k-NN)索引实现了高效的向量检索,并应用距离函数(如余弦)按相似度对结果进行排序。
哪些开发者需要实用向量数据库?
对于希望创建基于向量搜索操作的开发人员,可以使用向量数据库。
应用程序开发人员可以使用开源模型、自动机器学习(ML)工具和基础模型服务来生成嵌入内容并补充向量数据库。这需要具备基本的机器学习专业知识。
由数据科学家和工程师构成的团队可以创建经过专业调整的嵌入内容,并通过向量数据库运行这些嵌入。这有助于他们加速提供人工智能(AI)解决方案。
向量数据库有哪些优点?
借助向量数据库,开发人员可通过向量搜索进行创新并研发出独有的体验。向量数据库可加速人工智能(AI)应用程序的开发,并简化由人工智能驱动的应用程序工作负载的运作。
向量数据库提供了在裸式 k 最近邻(k-NN)索引之上进行构建的替代方案。这类索引需要大量额外的专业知识和工程才能使用、调整和运行。
良好的向量数据库通过数据管理、容错、关键安全功能和查询引擎等功能为应用程序提供坚实的基础。这些功能使用户能够操作他们的工作负载以简化扩展,保持高可扩展性,并满足安全要求。
查询引擎和 SDK 等工具让应用程序开发工作变得更加轻松。借助这些工具,开发人员可以对元数据执行更高级的查询(例如搜索和筛选),这类查询也属于 k-NN 搜索。他们还可以选择使用混合相关性评分模型,将传统的术语频率模型(例如 BM25)与向量评分相结合,以增强信息检索(RAG)。
学习向量数据库有哪些挑战?
向量数据库面临着许多与其他数据库技术相同的挑战。将继续努力提高可扩展性、近似精度、延迟性能和经济性。
作为一项相对较新的技术,许多向量数据库在核心数据库能力方面需要提升,例如安全性、弹性、运营支持和工作负载支持的多样化。
随着人工智能(AI)应用程序的成熟,这一点将非常重要,未来需要的不仅仅只限于向量搜索功能。
常见向量数据库有哪些?
1、Chroma
Chroma
是开源嵌入数据库。通过为LLM提供可插入的知识,事实和技能,使构建LLM应用程序变得容易,可以轻松地管理文本文档,将文本转换为嵌入,并进行相似度搜索。
主要特点:
- 功能丰富:查询、过滤、密度估计和许多其他功能
LangChain
(Python和javascript),LlamaIndex
都支持- 在
Python notebook
中运行的相同API可扩展到生产集群
2、Pinecone
Pinecone
是一个可以托管向量数据库平台。也就是说有背后的而商业公司,有免费使用方案。Pinecone的主要特点包括:
- 支持全托管服务
- 高度可伸缩
- 实时数据摄取
- 低延迟的搜索
- 与
LangChain
集成
3、Weaviate
Weaviate
是一个开源向量数据库。它可以无缝扩展到数十亿个数据对象。Weaviate
的一些关键特性是:
- 速度:
Weaviate
可以在几毫秒内从数百万个对象中快速搜索出最近的10个邻居。 - 灵活性:使用Weaviate,可以在导入或上传自己的数据时对数据进行矢量化,可以利用与
OpenAI
,Cohere
,HuggingFace
等平台集成的模块。 - 快速部署:从原型到大规模生产,
Weaviate
都强调可伸缩性、复制和安全性。 - 搜索扩展:除了快速矢量搜索,
Weaviate
还提供推荐、摘要和神经搜索框架集成。
4、Faiss
Faiss
是一个用于快速搜索相似性和密集向量的聚类的开源库。它包含能够在不同大小的向量集中搜索的算法,甚至可以处理那些超过内存容量的向量集。此Faiss
还提供了用于评估和调整参数的辅助代码。
虽然它主要是用c++编写的,但它完全支持Python/NumPy
集成。它的一些关键算法也可用于GPU
执行。Faiss
的主要开发工作由Meta的基础人工智能研究小组承担。
5、Qdrant
Qdrant
可以作为API服务运行,支持搜索最接近的高维向量。使用Qdrant,可以将嵌入或神经网络编码器转换为应用程序,用于匹配,搜索,推荐等任务。以下是Qdrant
的一些关键功能:
- 通用的API:提供
OpenAPI v3
规范和各种语言的现成客户端。 - 速度和精度:使用自定义
HNSW
算法进行快速准确的搜索。 - 先进的过滤方法:允许基于相关矢量有效载荷的结果过滤。
- 不同的数据类型:支持字符串匹配、数字范围、地理位置等。
- 可伸缩性:具有水平扩展功能的云原生设计。
- 效率:内置
Rust
,通过动态查询规划优化资源使用。
总结
人工智能和机器学习领域的不断发展凸显了向量数据库在当今以数据为中心的世界中的不可或缺性。这些数据库具有存储、搜索和分析多维数据向量的独特能力,在推动人工智能驱动的应用程序方面发挥了重要作用。
随着人工智能的不断发展,向量数据库在塑造数据检索、处理和分析的未来方面的作用无疑会越来越大,有望在各个领域提供更复杂、更高效、更个性化的解决方案。
那么,我们该如何学习大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、大模型全套的学习路线
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。