上海人工智能实验室牛雅哲:通用决策AI平台的开拓创新之路

牛雅哲,上海人工智能实验室OpenDILab开源决策智能平台核心研发人员,主要负责平台引擎DI-engine的设计和开发,统筹研发一系列决策AI平台底层效率优化组件,并为相关大规模分布式强化学习应用提供技术保障和支持,构建决策智能技术和系统工程结合的完整工具链。

报告内容:近些年来,决策AI技术接连突破人类对于通用人工智能的想象,但其在各种复杂环境和计算场景上的通用性问题仍是真正实现技术变革的巨大阻碍。多模态,低信息密度的数据流,算法设计和实现逻辑高度耦合的计算模型,不断动态变化的问题场景,AI+System的协同优化,都体现出了相关系统和平台设计的复杂性。从零到一,设计构建通用决策智能平台OpenDILab,优雅且高效地处理决策AI技术遇到的各种复杂性问题,为整个决策AI生态圈提供基础技术支持。

 

牛雅哲作《从零到一,坚持做正确的事--通用决策AI平台的开拓创新之路》报告分享

下方有文字版总结哦

决策AI三大难题

开场牛雅哲首先点明了报告主题,从具体如何克服决策AI问题通用性出发,讲述OpenDILab做平台框架是如何思考和解决这些问题的。

目前决策AI三大难题:

一为环境多样性,因为实际应用的时候,任务之间的环境和算法,包括参数都是非常割裂的,不同环境下的算法和优化难度是差别非常大;

二为计算的复杂性,决策AI领域目前无法让学术界和工业界有比较好的分工,因为像PPO、SAC、DQN等等,把它们抽象到同一个平台上,做成像感知一样变成有Head、Backbone的抽象非常难的,而且可能会用到上千GPU和上万CPU;

三为计算尺度,强化学习计算流程比纯Deep Learning感知要复杂非常多,它涉及到沟通包括环境的部分等等非常复杂的问题。这三个方面如果做到泛化处理对算法推广和应用会带来非常大的帮助。

环境和数据多样性问题

针对环境和数据的多样性问题,牛雅哲从以下三个方面阐述OpenDILab的解决方案:

决策AI问题的输入输出空间,即观察空间和动作空间,拥有各种各样的数据模态,输入上有图像,语音,数据,序列数据,结构化数据等多种类型,输出中有离散,连续,混合动作空间等等。OpenDILab对这一问题实现了相应标准化定义,对各种模态的输入输出提供标准的特征工程处理和神经网络模块定义,例如ResNet处理2D图像数据,LSTM/GRU处理时序建模相关问题,Transformer Encoder部分处理无序多智能体单位数据,Autoregressive方法处理混合动作空间。使用者可以直接使用这些标准化组件,或是自定义新的处理模块,更多地将精力集中在RL优化问题中。

对于大部分的决策AI问题,我们可以使用经典的gym/dm格式环境定义,而一些特殊的算法,比如MCTS,HER,Go-Explore等,在实现时需要环境为算法提供更多的支持。OpenDILab在这个方面也进行了专门的抽象和实现,使得相应类别的算法可以在多种环境中通用。

由于数据的复杂性,研究员们通常使用嵌套的python list/dict结构来表示训练数据,这样的数据结构给编程实现带来了诸多不便,需要大量的循环遍历和分支处理,同时整个执行过程大部分又是串行的,一定程度上影响了整体运行效率。基于OpenDILab中的treevalue模块,我们设计实现了针对PyTorch Tensor和numpy.array的TreeTensor和TreeNPArray,能够复用绝大多数原生API,把结构化数据像整齐的张量一样使用,并提供相应的并行加速接口。

 

并且OpenDILab在底层设计上设置了DI-engine模块,致力于解决决策AI环境和算力标准化训练的问题,目前兼容绝大多数已有的学术环境和工业界数据模态。支持从学术级单CPU训练到跨区万级别CPU/GPU的资源管理和调度。

算法通用性难题

针对算法通用性问题,牛雅哲从以下两个方面阐述OpenDILab的解决方案:

由于强化学习的算法类别众多,各种算法设计之间又多有互相依赖和借鉴,很难像CV,NLP一样设计出通用的算法集合,因此OpenDILab将通用化的重心放在了相关基础OP的设计实现上,比如实现通用的N-step TD/GAE/VTrace算子,重参数化辅助函数等。使用者可以像搭积木一样快速利用这些算子定制自己的强化学习算法。

由于强化学习算法子领域非常繁杂,同类平台主要都是提供最经典的主流算法实现,对于MARL/Imitation Learning/Exploration等分支涉及较少,而OpenDILab基于通用决策AI算子,整合了20+决策AI算法的相关实现,涉及多个细分领域,并提供通用化的接口设计,可以实现各类算法间的灵活组合。同时,在经典的学术环境上,对上述算法补充了详尽的性能和效率结果benchmark,致力于为强化学习研究员和应用工程师们提供最广最全的算法平台。

计算规模通用性问题

针对计算规模通用性问题,牛雅哲从以下两个方面阐述OpenDILab的解决方案:

对于同一个强化学习算法,在个人电脑和服务器集群上运行,常常会有较大的实现差异,需要定制分布式处理相关代码。对于OpenDILab的使用者,大部分情况下只需将重心放在Env和Policy两个最核心的文件中,自定义完成环境准备和算法设计,具体的分布式逻辑都由平台层提供相应的服务完成,用户只需在配置文件中定义使用的计算资源和分布式逻辑选项即可。

不同的决策AI实际问题,由于环境和算法不同,对应最佳的分布式效率解决方案也不同。很难存在一套通用的技术栈解决所有类型的问题,因此,在实际实现中,OpenDILab会根据具体的运行状态进行自动化profiling,并自动选择相应的通信,存储,并行化方案。在DI-orchestrator, DI-hpc, DI-store等诸多底层效率优化模块的加持下,为使用者提供无痛的自动化效率优化体验。

扫码即可了解更多开源信息~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值