写点什么

九章云极 DataCanvas 多模态大模型平台实践与思考

  • 2023-10-18
    北京
  • 本文字数:4521 字

    阅读完需:约 15 分钟

导读:本文将分享九章云极 DataCanvas 在多模态大模型平台方面的一些思考和实践。


今天的介绍会围绕下面四点展开:

· 多模态大模型的历史发展

· 九章云极 DataCanvas 的多模态大模型平台

· 九章云极 DataCanvas 多模态大模型的实践

· 对未来的思考与展望


▌多模态大模型的历史发展



上图这张照片是 1956 年在美国达特茅斯学院召开的第一届人工智能 workshop,这次会议也被认为拉开了人工智能的序幕,与会者主要是符号逻辑学届的前驱(除了前排中间的神经生物学家 Peter Milner)。

然而这套符号逻辑学理论在随后的很长一段时间内都无法实现,甚至到 80 年代 90 年代还迎来了第一次 AI 寒冬期。直到最近大语言模型的落地,我们才发现真正承载这个逻辑思维的是神经网络,神经生物学家 Peter Milner 的工作激发了后来人工神经网络的发展,也正因为此他被邀请参加了这个学术研讨会。



2012 年,Tesla 自动驾驶主管 Andrew 在博客上发布了上面这张图,显示当时美国总统奥巴马和自己的下属开玩笑。要让人工智能去理解这张图,不仅是一个视觉感知任务,因为除了要识别物体,还需要理解他们之间的关系;只有知道体重秤的物理原理,才能知道图里描述的故事:奥巴马踩了秤,导致秤上的人体重升高,他因此做出了这个奇怪的表情,同时其他人在一旁笑。这样的逻辑思维显然已经超出了纯粹的视觉感知范畴,因此必须将视觉认知和逻辑思维结合到一起,才能摆脱“人工智障”的尴尬,而多模态大模型的重要性和困难性也体现在这里。



上图是人类大脑的解剖结构图,图中的语言逻辑区对应的就是大语言模型,而其他的区域则分别对应着不同的感官,包括视觉、听觉、触觉、运动、记忆等等。虽然人工神经网络并不是真正意义上的脑神经网络,但还是可以从中受到一些启发,即构造大模型的时候,可以将不同的功能联合在一起,这也是多模态模型构建的基本思想。

 

1.   多模态大模型可以做什么?



多模态大模型可以为我们做很多事情,例如视频理解,大模型可以帮我们总结视频的摘要以及关键信息,从而节约我们看视频的时间;大模型还可以帮助我们进行视频的后期分析,例如节目分类、节目收视率统计等;此外,文生图也是多模态大模型的一个重要的应用领域。


而大模型如果和人的运动,或者机器人的运动联合在一起,就会产生一个具身智能体,就像人一样,基于过往经验规划最佳路径的方法,并应用到全新的场景中,解决一些先前没有遇见过的问题,同时规避风险;甚至可以在执行过程中修改原有计划,直到最后获得成功。这也是一个具有广泛前景的应用场景。

 

2.   多模态大模型



上图是多模态大模型在发展过程中的一些重要节点:

· 2020 年的 ViT 模型(Vision Transformer)是大模型的开端,首次将 Transformer 架构用到除语言和逻辑处理外的其它类型数据(视觉数据),并且显示了良好的泛化能力;

· 随后通过 OpenAI 开源的 CLIP 模型,再次证明了通过 ViT 和大语言模型的使用,视觉任务实现了很强的长尾泛化能力,即通过常识推测先前没有见过的类别

· 到了 2023 年,各式各样的多模态大模型逐渐显现,从 PaLM-E(机器人),到 whisper(语音识别),再到 ImageBind(图像对齐),再到 Sam(语义分割),最后到地理图像;还包括微软的统一多模态架构 Kosmos2,多模态大模型发展迅速。

· 特斯拉在 6 月的 CVPR 还提出了通用世界模型这样的愿景。

从上图可以看出,短短半年时间,大模型就发生了非常多的变化,其迭代速度是非常快的。


3.  模态对齐架构



上图是多模态大模型的通用架构图,包含一个语言模型、一个视觉模型,通过固定语言模型和固定视觉模型进而学习对齐模型;而对齐就是将视觉模型的矢量空间和语言模型的矢量空间进行联合,进而在统一的矢量空间里完成两者内在逻辑关系的理解。


图中所示的 Flamingo 模型和 BLIP2 模型都采用类似的结构(Flamingo 模型采用 Perceiver 架构,而 BLIP2 模型采用改良版的 Transformer 架构);然后通过多种对比学习的方法进行预训练,对海量的 token 进行大量学习,获得较好的对齐效果;最后根据特定的任务对模型进行微调。

 

▌九章云极 DataCanvas 的多模态大模型平台


1.  AI Foundation Software (AIFS)

九章云极 DataCanvas 是人工智能基础软件提供商,同时提供算力资源(包括 GPU 集群),进行高性能的存储和网络优化,在此基础上提供大模型的训练工具,包括数据标注建模实验沙盒等。九章云极 DataCanvas 不仅支持市面上常见的开源大模型,同时也在自主研发元识多模态大模型。在应用层,提供了工具对提示词进行管理,对模型进行微调,并提供模型运维机制。同时,还开源了一款多模向量数据库,让基础软件架构更加丰富。



2.  模型工具 LMOPS



九章云极 DataCanvas 专注于全生命周期的开发的优化,包括数据准备(数据标注支持人工标注和智能标注)、模型开发、模型评估(包括横向评估和纵向评估)、模型推理(支持模型量化、知识蒸馏等加速推理机制)、模型应用等。

 

3.  LMB – Large Model Builder



在构建模型时,进行了很多分布式高效优化工作,包括数据并行、Tensor 并行、管道并行等。这些分布式优化工作是一键式完成的,并支持可视化调控,可以大大减少人力成本,提升开发效率。

 

4.  LMB – Large Model Builder



对于大模型 tuning 也进行了优化,包括常见的 continue training、supervise tuning,以及 reinforcement learning 中的 human feedback 等。此外,对于中文也进行了很多优化,例如中文词表的自动扩展。因为很多中文词汇并未包含在开源大模型中,这些词汇可能会被拆分成多个 token;将这些词汇进行自动扩充,可以让模型更好地使用这些词汇。


5.  LMS – Large Model Serving



大模型的 serving 也是非常重要的一个组成部分,平台对模型量化、知识蒸馏等环节也进行了大量的优化,大大降低了计算成本,并通过逐层知识蒸馏来加速 transformer,减少其计算量。与此同时,也做了很多剪枝工作(包括结构化剪枝、稀疏剪枝等),大大提升了大模型的推理速度。

此外,对交互式对话过程也进行了优化。例如多轮对话 Transformer 中,每个 tensor 的 key 和 value 是可以记住的,无需重复计算。因此,可将其存入 Vector DB 中,实现对话历史记忆功能,提升交互过程中的用户体验。

 

6.  Prompt Manager


大模型提示词设计和构建工具 Prompt Manager,通过帮助用户设计更好的提示词,引导大模型生成更加准确、可靠、符合预期的输出内容。该工具既可面向技术人员提供 development toolkit 的开发模式,也可以面向非技术人员提供人机交互的操作模式,满足不同人群使用大模型的需求。

其主要功能包括:AI 模型管理、场景管理、提示词模板管理、提示词开发和提示词应用等。

 


平台提供了常用的提示词管理工具,可实现版本控制,并提供常用模板来加速提示词的实现。

 

▌九章云极 DataCanvas 多模态大模型的实践

1.  多模态大模型——有记忆体

介绍完平台功能,接下来会分享多模态大模型开发实践。



上图是九章云极 DataCanvas 多模态大模型的基本框架,与其它多模态大模型不同的一点是,它包含记忆体,可以提升开源大模型的推理能力。


一般开源大模型的参数量相对较低,如果再耗用一部分参数量进行记忆,其推理能力将会大幅下降。如果给开源大模型增加记忆体,则会同时提升推理能力和记忆能力。


此外,类似大多数模型,多模态大模型也会固定大语言模型和固定数据编码,针对对齐功能进行单独的模块化的训练;因此,所有不同的数据模态都会对齐到文本中的逻辑部分;在推理的过程,首先对语言进行翻译,然后进行融合,最后进行推理工作。

 

2.  非结构化数据 ETL Pipeline



由于我们的 Dingo DB 多模向量数据库结合了多模态与 ETL 的功能,因此能够提供良好的非结构化数据管理能力。平台提供 pipeline ETL 功能,并做了很多优化,包括算子编译、并行处理,以及缓存优化等。


此外,平台提供 Hub,可以将 pipeline 重复使用,实现最高效的开发体验。同时,支持 Huggingface 上的众多编码器,可以实现对不同模态数据的最优编码。

 

3.  多模态大模型构建方法


九章云极 DataCanvas 将元识多模态大模型作为底座,支持用户选择其它开源大模型,也支持用户使用自己的模态数据进行训练。


多模态大模型的构建大概分为三个阶段:

· 第一阶段:固定大语言模型和模态编码器训练对齐和查询;

·   第二阶段(可选,支持多模态搜索):固定大语言模型,模态编码器,对齐和查询模块,训练检索模块;

·   第三阶段(可选,对特定任务):指令微调大语言模型。


4.  案例-知识库建设



大模型中的记忆体架构,可以帮助我们实现多模态知识库建设,该知识库实际上是模型的应用。知乎就是一个典型的多模态知识库应用模块,其专业知识是可以溯源的。


为了保证知识的确定性和安全性,往往需要对专业知识进行溯源,知识库就可以帮助我们实现这此功能,同时新的知识添加也会比较方便,无需修改模型参数,直接把知识添加进数据库即可。


具体来说,将专业知识通过编码器进行不同的编码选择,同时根据不同的评价方法进行统一评价,通过一键评价来实现编码器的选择。最后应用编码器向量化之后存入 DingoDB 多模向量数据库,再通过大模型的多模态模块进行相关信息提取,通过语言模型来进行推理。


模型的最后一部分往往需要进行指令精调,由于不同用户的需求不太一样,因此需要对整个多模态大模型进行精调。由于多模态知识库在组织信息这部分特殊的优势,使得模型具备学习检索的能力,这也是我们在文本的段落化过程中做的创新。


一般的知识库是将文档进行段落化,然后对每一段进行独立的文本解锁。这种方法容易受到噪声的干扰,对于很多大的文档,很难判定段落划分的标准。


而我们的模型中,检索模块进行学习,模型自动寻找合适的结构化信息组织。对于某个具体产品,从产品说明书开始,首先定位大的目录段落,再定位到具体的段落。同时由于是多模态的信息集成,除了文字以外往往还会包含图像表格等,也可以进行向量化表达,再结合 Meta 信息,实现联合检索,从而提升检索效率。

值得说明的是,检索模块使用内存注意力机制,相较于同类算法可提升 10%的召回率;同时可将内存注意力机制用于多模态文档处理,这也是非常有优势的一个方面。




▌对未来的思考与展望


1.  企业数据管理 -- 知识库



企业中 85%的数据都是非结构化数据,只有 15%是结构化的数据。过去的 20 年,人工智能主要是围绕结构化数据展开的,而非结构化数据是非常难以利用的,需要非常大的精力和代价将其转化处理为结构化数据。而借助多模态大模型和多模态知识库,通过人工智能新范式,可以大大提升企业内部管理中非结构化数据的利用率,未来可能会带来 10 倍的价值增长。

 

2.  知识库 --> 智能体(Agent)



多模态知识库作为智能体的基础,之上的研发 agent、客服 agent、销售 agent、法律 agent,人力资源 agent,企业运维 agent 等功能都可以通过知识库进行运作。


以销售 agent 为例,常见架构包括两个 agent 同时存在,其中一个负责决策,另一个负责销售阶段的分析。这两个模块都可以通过多模态知识库寻找相关信息,包括产品信息、历史销售统计资料、客户画像、过往销售经验等,这些信息整合到一起,帮助这两个 agent 做最好、最正确的决定,这些决定反过来帮助用户获得最好的销售信息,再记录到多模态数据库集中,如此循环往复,不断提升销售业绩。

 

我们相信未来最有价值的企业,是将智能体落到实处的企业。希望九章云极 DataCanvas 可以跟大家一路同行,相互助力。

 

用户头像

还未添加个人签名 2022-06-02 加入

还未添加个人简介

评论

发布
暂无评论
九章云极DataCanvas多模态大模型平台实践与思考_九章云极DataCanvas_InfoQ写作社区