在这个数据驱动的时代,人工智能(AI)正以其独特的方式重塑我们的世界。在「DATA+AI」见解论坛上,蚂蚁集团数据基础设施与高可用负责人师文汇发表了题为《数据驱动的AI原生应用与开放框架》的主题演讲。
Tips:你可以关注"EosphorosAI"公众号,回复“0912”获取师文汇演讲PPT
随着大模型的出现,AI应用迎来了一次重大的变革。数据,不再仅仅是信息的载体,而是变成了智能应用成功的关键。师文汇指出,AI应用的发展经历了从数据积累到大模型的智能飞跃,我们正站在一个新的技术前沿。
AI应用的演化:从数据积累到大模型的智能飞跃
回顾应用研发方式的变革,早期以数据为核心的非智能化的应用,通常聚焦在某个特定的领域的特定问题,解决的是有明确答案的问题,比如支付、交易等业务。通过有限的状态流转实现业务逻辑推进,所有的流程都是标准化的。
在大模型出现以前,为了解决一个特定领域千人千面的问题,解空间已经很难用状态机描述,例如推荐、搜索,通过应用大量的数据积累以及小模型的的迭代,获取越来越准确的小模型,实现了第一代的智能应用。这其实是以大量的数据和小的判别式模型所构成的。
现在,大模型使得我们能够处理更加复杂和发散性的问题。数据的角色从辅助变为核心,成为智能应用成功的关键。在大模型时代,我们不再仅仅依赖应用来积累数据。我们可以做到数据先行,可以通过数据引入或者数据标注的方式沉淀这些数据。
我们认为构建以数据为核心的智能应用的关键因素是打造一个能力较好的大模型加上优质的行业数据。
对智能应用来说数据包含了两种类别:
- 应用数据:传统应用积累的结构化、半结构化以及非结构化数据;
- 引入数据:通过数据引入和标注手段获取的数据。
数据来源不仅仅通过应用逐步的沉淀,通过引入数据可以真正做到数据先行。
AI原生应用研发的变革与挑战
1.编程模型的转变:
从以流程为核心到以数据为核心,我们的编程模型正在发生重大变革。以前,我们用C++等语言开发程序,流程是固定的,我们沉淀了很多的研发工具,做集成测试。在大模型时代,整个AI原生应用的设计会简化原来状态流转和SOP,我们更多地关注如何处理和加工数据。
SQL定义了处理结构化数据的范式,在大模型时代下,我们现在需要新的方法来处理非结构化数据,如音频、视频和图片,甚至文本。我们是不是可以创新出一种全新的类似SQL的范式去处理这些非结构化的数据,这是一个长期的过程,需要我们不断探索和创新积累。
2.研发范式的不确定性:
大模型的本质是概率模型,我们很难解决幻觉问题,或者准确性的问题。但很多应用需要严格的执行结果。我们如何降低大模型的不确定性失效成本,提升研发迭代效率,是后续非常重要的一环。
3.与现有系统的交互:
在建设新的数据为核心的AI应用时,无论是建立新的应用、还是升级老的系统,如何高效的利用已有系统的能力,也能够让已有系统更好的利用新的A原生应用的能力也是一个非常关键的问题。传统的RPC都是面向二进制来设计的,如何高效的在网络上传输,如何建立新的规范帮助AI Agent、AI原生应用的交流是一个很关键的问题。
AI原生应用框架的思考
我们希望构建沉淀一个新的框架,去应对解决AI原生的数据应用面临的数据编程、不确定的问题。
面向数据编程:
泛ETLs:我们要把数据处理(ETL)做得更加广泛,不仅仅像以前是为了做报表或帮助ML清洗数据,基本上是for人类、for决策的;我们现在的ETL为了大模型更智能,从数据到知识的能力。
实验反馈:模型的架构决定了模型能力的下限,数据决定了整个AI应用的质量和上限,我们如何加工高质量的数据,其实是非常大的挑战,在这里最重要的是我们要建立起一套完整的端到端的实验反馈体系,通过框架提升反馈闭环的效率。
应对不确定性:
- 我们希望加快AI原生应用的开发迭代,减少因模型不确定性导致的失败成本。
- 通过标准的SOP来约束应用的流程,确保业务流程的关键流程和路径是可控的,同时SOP也能够帮助LLM获取足够的信息。e.g.想象一下,我们要开发一个旅游AI助手,它在给你推荐旅行计划前,得先知道你的预算、目的地和想参观的景点。我们希望通过SOP编排的方式,用一种有序的步骤安排,来确保这个助手能根据这些关键信息点,为你做出最合适的建议。
AI原生应用的探索
第一阶段:从Talk to DB(0.1版本)到 Talk to Data(0.4版本),我们尝试让所有人能用自然语言与数据交互。在V0.1中我们希望通过自然语言对DB数据的处理来完成业务逻辑,如取数、分析、AI/BI等等。在V0.4中,我们开始全面支持talk to data,以结构化数据为核心,通过大语言模型实现自然语言与不同种类、不同来源的数据交互。尽管这个产品在能解决的问题上还有局限。
第二阶段:Data-Driven Agent(0.5版本),在这期间业界有了非常多对于Agent的探讨,我们开始支持以Agent为核心的构建,Agent的灵活表达支持更多的场景。同时,2023年8月正式成立星辰智能社区,组织名Eosphoros-AI,由蚂蚁集团、京东、阿里、美团、唯品会、腾讯以及学界多名优秀的社区同学组成,希望能够共同探索Data-Driven Agent为核心的应用构建。
第三阶段:AI Native Data Apps(0.6版本),在社区的实践中,我们发现了一些Agent无法解决的问题,如金融、工厂等严谨场景下,智能体的编排、决策往往不如人意。于是社区开始探索AI原生的数据为核心的应用,以应用为核心,支持通过AWEL的严格SOP设计,支持快速、构建部署AI应用,既可以是chatbot、也可以是一个和Java应用互通的Service。通过DB-GPT和低代码技术,使AI应用的开发和控制更加高效。
DB-GPT通过以下方法解决AI应用开发中的三大核心难题:
1.系统交互:Pugin&Tools打通传统应用和AI APP的桥梁,实现SOA应用和AI应用元数据的互通,协议的互通和转化。
2.低代码开发:通过低代码AWEL进行逻辑以及Agent严格模式编排,使AI应用的开发迭代更加简单高效。通过整合现有的工具和API,AWEL语言能够高效管控并编排Agent的工作流程,同时提供了一系列强大的功能,如数据处理、RAG(检索增强生成)和数据库访问等。此外,我们提供了一系列系统级Agents,以加速应用构建过程。其中,DATA Agents能够理解自然语言指令,直接从数据湖或数据库中检索所需信息。GPT-Vis能够根据Agent、LLM或者应用的输出自动构建可视化组件,降低UI/可视化的研发成本。
3.数据处理:整个框架提供了RAG/LLM ETL工具、端到端的评估工具,帮助开发者更好的对数据进行编程和迭代。
Agents是AI原生应用构建的核心。DB-GPT的Agents可以提供服务并能与多种系统兼容,具备全面功能性,覆盖了从感知到决策到plugin,再到执行的全流程。
插件支持三种模式:
- 严格模式:所有流程和关键点都是可控的,适合需要精确控制的应用。
- 预编译研究:适合有明确目标和特定状态空间的应用,如蚂蚁正在应用的基础设施助理Kevin,可以通过COT或TOT面向决策树编排。
- 大模型协作ReAct:在目标不明确或解释发散的场景中,利用大模型的协作能力,如财报或年报的调研。
对于AWEL语言来说,我们其实关注两点,一点是要支持严格模式,不光整个流程是可以通过严格模式来编排的,所有中间的通信协议也可以通过AWEL语言来编排。另外一点灵活应用,我们希望AWEL兼容大数据领域主流的框架(如airflow),能够让现在已有的ETL的流程比较简单的接入到AWEL的流程,方便实现从数据处理到RAG服务的端到端的流程。
此外,在构建原生应用的时候,我们提供了很多系统的Agent,这些Agent帮大家可以快速地构建系统应用。如GPT-Vis Agent,它是可以通过自然语言去动态适配应该输出什么样的格式。比如你输出的文本里有一个表格样式的数据,它可以帮你输出一个表格。如果有些数据更适合用饼图或者折线图,它都自动帮你做适配。同时它支持了非常多的可视化组件。
另外一个Agent是我们一直持续打磨的,叫Data Agent,Data Agent支持大部分的数据库、湖仓引擎等。Agent对于数据本身的理解是至关重要的,例如一个表格的意义、一个列的意义,甚至是一个常量的意义,大语言模型需要“数据元信息的ETL”来实现这一过程,后续我们也会考虑如何在DB-GPT的数据处理框架里和社区一起共建这部分的能力。
RAG & 数据引擎:
- RAG作为AI原生框架里最核心的模块,可以作为算子,也可以作为Agent,方便构建AI应用或者Agent。为了实现更好的RAG效果,高质量数据处理的仍然是最先考虑的因素,DB-GPT支持基于文本Trunk、图谱的数据加工和处理,用户可以根据实际情况进行定制,在构建我们的RAG应用之前一个比较关键的事情是准备评测和验证的数据集。
- 很多场景下单独用文本向量做召回准确度是不够的,现在比较流行的一种方式,是通过知识图谱的方式去做检索或者召回。我理解大模型对世界的理解不应该仅仅是一个strings,应该是一个具体的thing(事物)。embedding是不可控、不可知的,但图谱这种形式其实是比较可控,且可编辑的。因此,我们在DB-GPT上增加了整个基于图的RAG的能力,今天我们做了一个测试,在GraphRAG同样场景、同样准确性的情况下,会比微软的GraphRAG少50%的token。
我们认为向量检索是后续提升RAG性能和效果的重要支柱。同时也为了能支持大规模图、文本、图片、音视频等存储上的向量索引,我们研发了VSAG向量索引库提供高性能的向量存储、检索、实时更新等能力,帮助计算和存储引擎实现vector as an index,同时也可以作为独立的组件支持RAG应用中的向量检索,无论是图片还是文本。
VSAG向量库正式开源
我们高兴地宣布,VSAG向量库现在已经正式开源了。这是一个强大的工具,能够处理达到百亿级别的数据索引,特别是图片和音视频这类多媒体内容。VSAG不仅能够轻松处理大规模数据,通过融合多种分类算法以及基于线性分类器的剪枝技术,显著提高了检索效率和减少了计算量,性能提升最高达90%。后续会更加广泛的支持业界的RAG方案,如LLama Index、LangChain等等。
蚂蚁及社区应用实践
在蚂蚁集团,我们采用了两种智能辅助模式:Copilots和Agents。
Copilots作为一个编程辅助工具,能够给开发者提供智能的建议和风险评估,帮助编写更安全的代码,提升BI、分析、ETL等工作的效率。Agents有很多有意思的应用,例如它们能够主动分析并预测潜在的系统问题,提前防范系统故障。
我们还提供了一个用户友好的自助分析工具,用户可以用自然语言提出需求,比如询问如何快速到达某个地点,工具会自动生成详细的分析。
DB-GPT应用框架目前已在政企、出行、新零售、金融、互娱领域有广泛引用,典型的解决方案范式如数据助手、智能管家和AI/BI、Copilots等多种应用场景的创新。
应用案例广泛分布千行百业:通过DB-GPT构建的水务智能管家、水务行业通用知识库、水务企业专有知识库,方便普通用户通过QA问答获取水务行业的专业知识,并提供客户服务、管网运行、水厂生产等各种应用场景的数据查询和数据分析能力。同时,在出行领域,某大型机场集团通过DB-GPT搭建的人资管理助手、人资招聘助手、知识库问答等,通过自动化技术,覆盖从人力资源管理到报告生成的各个业务环节。另外,DB-GPT在京东、唯品会等头部互联网公司均有应用。
未来展望:构建全面的数据智能应用生态
今天,我们正式宣布发布 DB-GBT 0.6的版本,该版本支持AI原生应用的全生命周期管理,能够实现完整的GraphRAG能力支持,同时在Data Agent方面支持Graph,Text2GQL等能力。同时,我们基于GPT-Vis构建了应用生态仓库,任何开发者都可以在这个仓库里共享各自的应用。未来,社区还计划发布面向数据基础设施的新应用,以及面向ChatBI的全新应用。
星辰智能社区目标是构建全面的数据智能应用生态,覆盖从数据收集、ETL处理、RAG技术到原生应用框架的完整生命周期。我们始终与生态伙伴、社区伙伴紧密合作,从去年开始开源DB-GPT,到最近开源了RAG的核心向量索引库VSAG,以及孵化出更多像GPT-Vis的优秀工具。未来,我们还计划与更多产品、社区开放合作,让基于AI构建原生应用更简单更便捷。