图片来源@视觉中国
CHATGPT的火爆让AIGC(AI Generated Content,人工智能自动生成内容)更广为人知,如果问2023年生成式AIGC的最大确定性受益者有谁?
答案是英伟达。
因为,对于英伟达而言,哪里有人工智能,它就会去哪里创新。
近日,英伟达公布了其新一代GPU推理平台,包括L4 Tensor Core GPU、L40 GPU、H100 NVL GPU、Grace Hopper超级芯片。例如,H100 NVL将两个英伟达H100 GPU拼接在一起,用于专门处理大语言模型ChatGPT;Grace-Hopper超级芯片(Grace CPU和Hopper GPU的结合),用于处理图推荐模型、向量数据库和图神经网络的超大规模AI训练任务。
但这就结束了吗?No。
还有许多额外值得关注的事情,例如老黄一直在提及的GPU加速。他指出,“加速计算并非易事,需要从芯片、系统、网络、加速库到重构应用的全栈发明,每个经过优化的堆栈都会加速对应应用领域。”“加速计算是减少功耗、实现可持续发展和净零排放的最好方式。”
而在加速库部分,黄仁勋首次提到了一个新名词向量数据库(Vector Database)。
“向量数据库的一个新型重要用例是大型语言模型,在文本生成过程中可用于检索领域特定事实或专有事实。我们将推出一个新的库,即RAFT,用于加速索引、数据加载和近邻检索。
我们正在将RAFT的加速引入到Meta的AI向量相似性搜索FAISS,超过1000家组织使用的Milvus开源向量数据库,以及Docker镜像下载次数超过40亿次的Redis。”他表示。
这段话非常简短,除了为自家新品夹藏私货外,黄仁勋实际上也指出了一个重要的技术热点:AIGC热潮影响下的AI基础设施产业加速计算成为新核心市场,而加速计算所需的框架、库、操作系统等软件栈中,库是核心中的核心。
事实上,早在深度学习浪潮来临时,英伟达就已经在依靠GPU+CUDA(软件生态)的方式进行布局,这曾让同时期的AMD望尘莫及。而CUDA也使得开发人员能充分利用GPU性能,实现显著加速计算。此次,除了发布CV加速库CV-CUDA,英伟达还将加速计算引入到量子计算、计算光刻系统中,推出了cuQuantum、cuLitho。
而上述提及的“RAFT+FAISS/Milvus/Redis”组合中,方兴未艾的向量数据库/向量搜索技术也被圈出。
什么是向量数据库?
想要理解何为向量数据库,就得从向量数据的定义上找答案。向量数据(Embedding Data),是一种词向量,可用于表达包括文本、图片、视频、语音等非结构化数据转化而来的语义信息。也就是说,一般的语义信息转化为可被计算机识别、使用的向量数据。
以检索一张图片为例,通常一张图像会有数百万个像素,每个像素包括许多数据点。这些彼此关联的数据点即为“高维”数据,传统的搜索和索引高维数据,最简单的技术是通过蛮力进行对比,需要巨大的算力进行分析处理。
而使用向量检索后,可信息主要以向量的方式存储在数据库中,相当于在非结构化数据和结构化数据层之上又加了一个新的数据层,但在信息处理的速度,以及数据量级处理的难度上都有极大的改善。
在此之前,业内已经有诸多团队或研究人员在关注向量数据在检索场景中的实际应用。
2017年,FAIR研究人员开源了(FAISS,FACEBOOK AI Similarity Search)AI向量相似性检索库,在十亿级数据集上创建了邻近搜索、且运行于GPU的k-selection算法。
2020年7月,谷歌研究院开源了向量相似性搜索库ScaNN,提出新的数据集向量压缩技术,以提高向量检索的准确性。
2021年1月,Pinecone发布了闭源的云向量数据库产品。Pinecone由AWS SageMaker的创建者Edo Liberty成立,他在自家的博客中这样写道:
“机器学习将一切都表示为向量,包括文档、视频、用户行为等等。这些表示使得不同事物可根据相似性或相关性,就能够准确检索、搜索、排名和分类。在很多场景中,如产品推荐、语义搜索、图像搜索、异常检测、欺诈检测、人脸识别等都有应用。”
2022年,国内创企Zilliz正式发布了全托管的Zilliz Cloud,其主要运营的开源向量数据库社区Milvus(于2019年开源),一直在探索基于异构硬件的向量检索的方案。据Zilliz合伙人兼技术总监栾小凡的观察,“目前社区里已经有大量用户和开发者在关注GPU加速。”
“过去几年,AI的发展更注重场景的应用,定制化程度高,大模型的出现也极大加速了AI应用云化和服务化的进程。对于向量数据库而言,弹性、池化、异构硬件加速等能力都变得愈发重要。”栾小凡告诉钛媒体APP。
以上述提及的RAFT与Milvus社区的合作为例,
“英伟达开源了RAPIDS项目,旨在通过GPU加速数据科学和机器学习领域。RAFT作为RAPIDS项目的一部分,通过CUDA进行加速,可以帮助用户快速构建基于GPU的机器学习应用。此外,RAFT对于向量最近邻计算、近邻图构建、k-means聚类等向量数据库中常见的机器学习算法,都有着显著的加速效果。”栾小凡表示。
展开来讲,RAFT社区支持了IVF_FLAT、IVF_PQ等一系列向量检索算法,并提供业内最佳的索引和检索性能;英伟达向Milvus的开源向量引擎Knowhere贡献代码,使得Milvus支持了RAFT库,并协助完成性能优化工作;同时,Milvus内核团队实现GPU资源调度、查询调度、元信息管理适配,以及性能和稳定性测试。
接下来,据栾小凡所述,两个团队还将共同持续优化基于GPU的向量检索性能和稳定性,同时也将持续扩展标量过滤、RangeSearch、多向量检索等更多功能,以及基于异构硬件的向量召回新的可能性,继续拓展向量检索的性能和功能边界。
向量数据库很新,但AIGC在加速市场认知
向量数据库,仍然是一个比较新的数据库领域,市场的认知与供给侧的实践均不够深入与多维。
向量数据的定义仍常见于各家产品或论文的阐述中。据栾小凡此前的观察,从开源的Milvus、Vald、Weaviate、Qdrant、Vaspa、Vearch、AquilaDB、Marqo,到商业化服务产品Pinecone,再到大厂谷歌推出的Vertex AI匹配引擎,数据库厂商Elastic和Redis基于自身提供的向量检索功能等等。
对于厂商而言,跟过去十年出现的各类新兴数据库遇到的挑战一样,要在一个完整的数据库系统组件里,综合向量数据、AI数据处理的特点,做全新的设计研发和探索。例如,在一些公开的benchmark性能测试平台上,不同向量检索算法对比的维度不同,在不同的GPU/CPU上所能发挥的效果也会有所差异。
但有一点值得确定的是,去年年底以来AIGC的火热,正加速从底层GPU到数据库、模型训练框架的AI技术栈整体性能的优化。
为了支撑非结构化数据量激增带来的对于系统成本和扩展性的更高要求,Milvus支持了基于NVMe磁盘混合存储的ANN方案,相比于传统的内存方案降低了10倍的内存使用。
栾小凡认为,以大模型为算力,以Prompt为控制程序,以向量数据库为存储的范式逐渐成为共识。在技术趋势上,向量数据库也会有新的变化:
与LLM技术相结合,诞生更多新的生态和应用场景;使用场景将会进一步分叉;性能成本将会呈指数级改进;诞生第一代Serverless向量数据库;AI4DB技术将会更快在向量数据库中落地;围绕向量数据库,还会有一系列开源和第三方SaaS服务的工具出现。
而这一系列的技术演进需要市场的验证。
(本文首发钛媒体APP 作者 | 杨丽,编辑 | 盖虹达,欢迎添加作者微信leeyangamber交流)