4月24日,浙江大学召开OpenKS(知目)知识计算引擎开源项目发布会,宣布浙大与合作单位研发的OpenKS知识计算引擎取得重大进展。中国工程院院士、国家新一代人工智能战略咨询委员会组长、浙江大学计算机学院教授潘云鹤说,本次发布的OpenKS,作为知识计算引擎项目中的基础软件架构,定义并丰富了知识计算的内涵,是我国在大数据人工智能方向的又一次有益尝试。
“可泛化的领域知识学习与计算引擎”是以庄越挺教授作为首席科学家的科技创新2030“新一代人工智能”首批重大项目,该项目由浙江大学牵头,联合北京大学、北京航空航天大学、哈尔滨工业大学、西北工业大学、之江实验室等顶尖学术机构、百度等行业领军企业联合建设,旨在建立一整套可服务于知识密集型行业共性需求的知识计算工具、算法与系统,帮助这些行业快速地构建行业知识图谱,提供行业相关的智能规划与决策支持。经过各课题组的深入研究和课题间的紧密协作,共同研发了可用于支撑各行业知识服务系统构建的OpenKS知识计算引擎算法库。
OpenKS基于百度飞桨,可实现模型的大规模分布式训练与图计算,解决了从数据到知识,从知识到决策中的三大问题。OpenKS集成大量算法和解决方案,提供了一系列知识学习与计算的多层级接口标准,可供各机构研发人员以统一的形式进行算法模型研究成果的封装、集成与服务,并通过开源机制支持企业和社区开发者根据不同的场景需求对接口服务进行调用和进一步开发。各行各业可以选择引擎中的算法,快速地搭建行业系统应用,以应对多变的决策需求。当行业与需求发生变化,系统能够及时地提供算力、算法支撑,以缩短行业智能化改造的时间。
以工程科技教育行业为例,目前我国存在很大的工程人才缺口,然而工程科技门类众多、知识体系繁复、知识点之间关联复杂、教材层次各异导致自学门槛较高。不仅如此,学生背景各异、学习目的各异,也导致统一培训效率较低。OpenKS知识计算引擎包含的知识抽取算法API、知识表征学习API、分布式知识计算API、知识图谱应用API等可为工程科教行业构建知识图谱,并基于图谱为不同学生设计个性化教育路线,满足差异化学习的需要。
深度学习框架助力OpenKS智能化加速
知识图谱技术的研发应用需要海量数据、庞大算力以及复杂的模型算法,而构建知识图谱底层平台所需的技术要求高、周期长、投入大、收益慢。基于深度学习框架开展人工智能科学实验或产品研发,则可以避免在知识图谱系统搭建中重复造轮子。
百度飞桨自2016年开源,是我国首个自主研发、功能完备、开源开放的产业级深度学习平台。基于百度飞桨平台,OpenKS可实现模型的大规模分布式训练与图计算,解决了从数据到知识,从知识到决策中的三大问题。
飞桨助力OpenKS实现模型大规模分布式训练
面对超大规模知识图谱训练,随着图谱规模增大,数据量增多,对训练框架要求越来越高。针对分布式知识计算,OpenKS系统采用飞桨超大规模深度学习模型训练技术,支持百亿图谱分布式存储和检索,还支持百节点数据并行训练万亿稀疏参数,进而学习大规模的知识图谱。
针对知识图谱应用,如知识问答,模型比较复杂,OpenKS采用飞桨集合通信多机多卡训练;知识推荐任务,训练数据比较大,稀疏特征比较多,OpenKS除了采用飞桨万亿稀疏参数服务器外,随着模型越来越复杂,还引入纯GPU参数服务器来提升稀疏模型的计算性能,把100台CPU机器才能训练的模型只用1台多卡GPU设备即可完成训练,不仅节约了成本,还保障了集群的稳定性和扩展性。同时,在知识图谱应用场景里,如知识图谱问答和推荐,飞桨不仅提供了相应的算法,还针对推荐场景提供了工业级数据处理和万亿稀疏模型训练能力。
考虑到在纯GPU的参数服务器下,当模型网络层比较复杂时,GPU利用率很难被打满,飞桨框架2.0版又创新性地推出了业内首个通用异构参数服务器功能,可以同时使用不同的硬件进行混合异构训练,兼容了多款CPU、AI专用芯片(如百度昆仑XPU)、GPU(如V100、P40、K40),让用户可以在硬件异构集群中部署分布式训练任务,实现对不同算力芯片高效利用,为用户提供更高吞吐、更低资源消耗的训练能力。
对于大规模稠密参数模型,飞桨分布式训练技术同样与业务紧密结合,通过模型并行策略、分组参数切片组合、流水线并行策略和数据并行策略的多层叠加,发挥合力作用,诞生了业内第一个4D混合并行策略。通过测试验证,如此创新性提出的4D混合并行策略的训练速度的确高于3D混合并行策略,进一步优化训练性能和显存占比,再次走到了技术的前沿。
飞桨PGL助力OpenKS实现图计算
针对图学习算法通用性与性能兼顾的挑战,OpenKS以飞桨图学习PGL作为知识表示学习以及知识存储的重要模块之一。在知识图谱表征学习中,需要在线高性能图引擎查询,因此会面对大规模异构关系存储以及在线高性能查询问题,OpenKS采用PGL的大规模分布式异构图引擎来进行知识表征学习的在线服务,来支撑日益增长的知识关系。
此外,高效的图神经网络算法,也是知识图谱先进性的保证,PGL是业界首个提出通用消息并行传递机制的图神经网络框架,原生支持异构图消息传递聚合等多种功能,并内置多种高效图神经网络模型。因此,OpenKS项目中集成了PGL的GCN、TransE、TransR等多种图表征学习算法,并且同时采用了PGL的高效消息传递接口作为图神经网络的编程接口之一。
百度飞桨深度学习平台于2019年开源的分布式图学习框架PGL,是业界首个提出通用消息并行传递机制,支持百亿规模巨图的工业级图学习框架。原生支持图学习中较为独特的分布式图存储(Distributed Graph Storage)和分布式采样(Distributed Sampling),可以方便地通过上层Python接口,将图的特征(如Side Feature等)存储在不同的Server上,也支持通用的分布式采样接口,将不同子图的采样分布式处理,并基于PaddlePaddle Fleet API来完成分布式训练(Distributed Training),实现在大规模图学习分布式的上加速计算。
PGL基于飞桨动态图全新升级,极大提升了易用性,原生支持异构图,覆盖30+图学习模型,包括图语义理解模型ERNIESage等,历经大量真实工业应用验证,可全流程服务产业应用项目,为开发者提供充分的实践案例投射进行技术选型。另外,基于飞桨深度学习框架的分布式Fleet API,建立分布式图存储及分布式学习算法,可实现灵活、高效地搭建前沿的大规模图学习算法。
展望
未来,在充满了机遇与挑战的大时代背景中,飞桨将持续在技术上不断创新进步,探索分布式训练技术等的边界,扩展AI赋能的领域,与开发者共同成长进步,为产学研智能化进程贡献着自己的力量。
参考链接
OpenKS项目地址:https://github.com/ZJU-OpenKS/OpenKS
如果您想详细了解更多飞桨的相关内容,请参阅以下文档。
飞桨官网地址:https://www.paddlepaddle.org.cn/
飞桨开源框架项目地址:
GitHub: https://github.com/PaddlePaddle/Paddle
Gitee: https://gitee.com/paddlepaddle/Paddle