“AI 技术+人才”如何成为企业增长新引擎?戳此了解>>> 了解详情
写点什么

Milvus 2.0 GA 版本发布:专为 AI 打造,具备支持大规模生产环境能力

  • 2022-02-10
  • 本文字数:2421 字

    阅读完需:约 8 分钟

Milvus 2.0 GA版本发布:专为AI打造,具备支持大规模生产环境能力

近日,专为 AI 打造的云原生向量数据库 Milvus 2.0 GA 版本正式发布。据悉,全新的 Milvus 向量数据库具备支持大规模生产环境的能力,帮助开发者在构建深度学习、机器视觉、语义学习等大规模系统时,能够快速构建起高可靠、高性能、高检索效率、运维管理友好的向量数据(embedding vector)处理平台。

全面重构


Milvus 向量数据库于 2019 年开源,能够管理大量非结构化数据集,并在新药发现、推荐系统、聊天机器人等方面具有广泛的应用。2021 年 6 月,Milvus 从顶级开源基金会 Linux 基金会旗下 Al 子基金 LF AI & DATA 毕业。目前,Milvus GitHub star 数逾 9000。


对于本次 Milvus 2.0 GA 版本的发布,Milvus 工程总监栾小凡表示,“这不是一次简单的版本升级,而是一次全面重构,也是我们过去三年在向量数据库领域探索之后的集大成之作。在经过对架构进行全面重新设计,及 9 个 RC 版本的迭代后,我们正式宣布 Milvus 2.0 的 GA。 Milvus 的用户将由此能够获得生产级可用的开源向量数据库系统,它可以部署在任意云基础设施上,使用更加便利,性能更加强大,整体成本也更为优化。”


据悉,Milvus 在迭代了 19 个版本后正式发布了 1.0 版本,并获得了全球近 1000 家用户的实践验证。但 Milvus 1.0 仍然存在诸多局限性,比如实时性与效率的冲突,成本的高昂,可扩展性和弹性的不足。


这些局限充分说明目前 AI 系统开发者在面对生产落地时,在算法和模型之外,也同样面临更为切实的权衡:


  • 非结构化数据相比传统结构化数据,已经占据压倒性地位;

  • 数据新鲜度非常重要,数据科学家们更希望能够拥有实时处理能力,而非忍受对 T+1 的妥协;

  • 面对生产实践环境,数据处理的成本和性能更加重要,但现有的方案却仍然与需求存在距离;

  • 数据平台能够自如的部署在各种云基础设施之上,全面云原生化势在必行。


随着 AI 应用的大规模快速普及,一套 AI 系统需要应对的业务数据量呈几何级数增长。这其中以图形、视频、音频为代表的非结构化数据为主。目前业务处理这类非结构化数据的主流的做法是将数据通过算法先转化成向量(embedding vector),之后通过向量数据库平台进行向量近似性搜索,以实现对这些数据的搜索查询等需求。


在最近的人工智能顶会 NeurIPS 上,Google、Facebook 及 Microsoft 的 AI 团队向业界公开了数个全新的 10 亿级向量数据包,而这些数据全部基于真实的业务场景产生。


面对这些这些真正意义上的“大规模”并且仍在高速增长的海量数据,是否有更好的向量数据库解决方案,能在更高的效率、更好的成本收益比,更稳定可靠的平台支持,更方便的运维管理之间取得取舍均衡,是业界的焦点所在。


Milvus 2.0 正是为应对这种大规模生产级场景而设计的向量数据库系统,综合考虑了架构稳定性、工程可靠性、性能、成本、功能、用户体验等多种因素,并全面拥抱云原生技术。

理念及架构设计


据介绍,Milvus 2.0 围绕以下三个理念:


1.云原生优先:存储计算分离的架构更能发挥云的弹性,以实现按需扩容的模式。 而 Milvus 2.0 采取了读写分离、实时离线分离、计算瓶颈/内存瓶颈/IO 瓶颈分离的微服务化设计模式,这有助于面对复杂的工作负载选择最佳的资源配比。


2.日志即数据:Milvus 2.0 引入消息存储作为系统的骨架,数据的插入修改只通过消息存储交互,执行节点通过订阅消息流来执行数据库的增删改查操作。这一设计的优势在于降低了系统的复杂度,将数据库关键的持久化和闪回等能力都下钻到存储层;另一方面,日志订阅机制提供了极大的灵活性,为系统未来的拓展奠定了基础。


3.批流一体:Milvus 2.0 实现了 unified Lambda 流式处理架构,增量数据和离线数据一体化处理。相比 Kappa 架构,Milvus 引入对日志流的批量计算将日志快照和构建索引存入对象存储,这大大提高了故障恢复速度和查询效率。为了将无界的流式数据拆分成有界的窗口,Milvus 采用 watermark 机制,通过写入时间(也可以是事件发生时间)将数据切分为多个小的处理单元,并维护了一条时间轴便于用户基于某个时间点进行查询。


Milvus 2.0 架构概览:



基于上述理念及架构设计,Milvus 2.0 可以支持: 


  • 百亿规模的向量数据扩展能力,增量数据毫秒级实时可见的数据可见性,存储计算的秒级扩缩容能力,10 毫秒级查询延时性能,分钟级的故障恢复能力,动态负载均衡能力;

  • 提供完善的面向向量数据的增删改查功能,数据压缩压缩功能,动态加载索引功能,及图形化 GUI 及命令行管理工具,提供 PyMilvus、Node.js、Java and Go 等多语言语言 SDK。


“基于大数据 + AI 的应用架构依然过于复杂,简化非结构化数据处理一直是 Milvus 社区努力的方向。” 谈及 Milvus 项目未来的发展路线图时,栾小凡这样表示。接下来的 Milvus 项目会重点关注以下几个方向:


  • DB for AI:作为一款数据库,除了基本的 CRUD 功能之外,Milvus 必然还需要更强大的数据查询能力、更智能的查询优化器、更全的数据管理功能等。下一阶段将重点补齐 Milvus 2.0 目前还不支持的 DML 功能和数据类型,比如删除、更新操作和支持 string 数据类型。

  • AI for DB:向量索引类型、索引参数、用户工作负载、硬件类型、成本性能等的约束构成了一个非常庞大的 tradeoff,尽可能避免手动调优有助于降低使用复杂度。我们已经着手分析系统负载,收集访问热度的数据,后续将引入自动参数调优工作以降低用户的理解成本。

  • 成本优化:向量召回的最大挑战是需要在限定时间内处理海量数据,这项工作既是计算密集型,也是访存密集型。在物理执行层引入 GPU、FPGA 等异构硬件加速可以大幅降低 CPU 开销。我们正在开发磁盘内存混合的 ANN 索引算法,可以在有限的内存下实现海量向量的高性能查询。于此同时,我们也在评估开源的 ScaNN、NGT 等向量索引算法的性能。

  • 易用性:Milvus 易用性的提升体现在集群管理工具、多语言 SDK、部署工具、运维工具等许多方面,Milvus 将在这些方向持续迭代完善。同时,Milvus 的设计理念是可以在任何平台运行,在接下来的几个版本更新中, Milvus 将支持 MacOS 系统(M1 芯片及 x86 芯片)以及 ARM 架构。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2022-02-10 14:453343

评论

发布
暂无评论
发现更多内容

SAP成都C4C小李探花:浅谈Fiori Design Guidelines

Jerry Wang

大前端 Fiori SAP UI5

存储技术入门,这些硬件应该首先有所了解

SunnyZhang的IT世界

服务器 存储 交换机 san

throw与throws的区别学习笔记

风翱

异常 5月日更

UI5应用部署到Fiori On-Premise和On-Cloud的Launchpad

Jerry Wang

Fiori SAP UI5 Launchpad

SAP CRM, C4C和Hybris的后台作业

Jerry Wang

CRM SAP C4C Hybris

UI5 Source code map机制的细节介绍

Jerry Wang

JavaScript SAP SAP UI5

WLS2搭建Django部署环境

IT蜗壳-Tango

5月日更

SAP CRM WebClient UI里的文件是如何上传到ABAP Netweaver后台的

Jerry Wang

chrome CRM SAP WebClient UI

ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证

Jerry Wang

abap Netweaver Hybris Commerce Cloud

Dubbo 路由规则之条件路由

青年IT男

dubbo

超级详细!全网独家首发的SpringCloud Alibaba 到底有多强?

Java 程序员 架构 面试

redis sentinel架构

王瑞强

使用Excel消费C4C的OData service

Jerry Wang

Excel SAP C4C OData

SAP Netweaver和Hybris的数据库层

Jerry Wang

abap Hybris

为什么5、6月会空缺出大量技术岗?跳槽注意事项+面试官关心什么

Java架构师迁哥

IO

ltc

IO流

华为HMS生态和1+8+N的交叉点,点透棋局的华为帐号

脑极体

论:在996的天下,Java程序员该如何高效学习

Java架构师迁哥

(VMware)ubuntu环境下搭建Swarm+Stack一站式部署容器集群

逸少

Docker Docker Swarm Docker-compose Ubuntu20.04

使用Excel调用ABAP系统的函数

Jerry Wang

Excel Office SAP abap

C4C和CRM里获取当前登录用户分配的Organization Unit

Jerry Wang

CRM SAP C4C Cloud for Customer

科大讯飞语音转文字以及中文分词的Java测试代码

Jerry Wang

Java 人工智能

如何将Twitter的内容导入到SAP CRM和C4C

Jerry Wang

twitter CRM SAP C4C Cloud for Customer

5分钟速读之Rust权威指南(八)

wzx

rust

面向WEB开发人员的Docker(五):部署开发WordPress

devpoint

Docker Wordpress 部署 Docker-compose

数据湖vs数据仓库vs数据集市

数据社

数据仓库 数据湖 5月日更

使用ABAP和JavaScript代码生成PDF文件的几种方式

Jerry Wang

JavaScript PDF abap Acrobat

简单了解 MySQL 中相关的锁

leonsh

MySQL 后端

双非渣硕也能上岸?痛述阿里Java岗7轮技术面经历,险幸上岸

Java 程序员 架构 面试

动态控制SAP C4C UI元素的显示和隐藏

Jerry Wang

CRM SAP C4C Cloud for Customer

SAP CRM WebClient UI和Hybris backoffice UI开发的相同点

Jerry Wang

CRM SAP abap WebClient UI Hybris

Milvus 2.0 GA版本发布:专为AI打造,具备支持大规模生产环境能力_开源_凌敏_InfoQ精选文章