小数据决策
然后我再讲一下贝叶斯优化。
我带领华为团队解决电子设计自动化 EDA 问题 时,我们用贝叶斯优化解决各种各样的 EDA 的问题。EDA 问题其实是一个离散优化 combination optimization 的问题,比如我们研究的一系列序列决策问题。我们在逻辑综合里面,想把整个的逻辑 数据转换成另一个 更实际的简化的逻辑实际,使它的逻辑功能完全不变,对于是否完全不变,我可以用 QoR 来横量它,QoR 值是多少,我是不知道的,我没有任何的数学表达,但是经过不断的试错,可以达到最优,但怎么提高试错效率?显然我就可以用刚才讲的贝叶斯黑盒优化,对 QoR 进行建模,然后去解决这个问题。
今年我们也发表了论文来阐述怎样用贝叶斯优化来做逻辑综合。顺便提一下,我们为华为团队做的研究达到 SOTA 水平,该研究在公开测试数据里名列前茅,所以贝叶斯优化为解决逻辑综合问题提供了一个比较好的思路。
我再举另外一个例子,我想设计一个抗体能够抗击抗原,这两种蛋白质会发生一些反应。这里我们就要找出氨基酸的排列次序及其形成的蛋白质,使得 Binding-Energy 结合能最小化。使用穷举的方法几乎是不可能的,因为可能性空间太大了。小数据决策就需要贝叶斯优化了。
另外,我们如何形成应用大模型和大数据的思路?我们组做了很多多智能体强化学习方向的研究。那么,智能交互相关的研究只能用在游戏上吗,是不是可以用到其他应用上?回答是肯定的。我们最近做了一个游戏场景的「AI 奥林匹克」系列竞赛,因为游戏场景可以放大决策中的关键问题,使我们能够找到其中的规律。我们的目的是通过游戏的方式弄清楚决策中的技术方法,以用到其他各种场景中。
这个「AI 奥林匹克」竞赛和其他仿真游戏的区别是什么呢?首先在目的上,我们做这个比赛是为了探究智能体泛化性,以用于实际场景。第二,在「AI 奥林匹克」竞赛中,智能体并不能获取全部信息,而是只提供部分信息,我们想知道系统如何解决问题。
我们只有把一个跨任务的,信息不完备的场景弄清楚,才能够解决一些实际问题,模型的泛化能力也就增强了。
我们在「AI 奥林匹克」系列竞赛中运用了多智能体人工智能的思路。关于「多智能体人工智能是不是只能用在游戏里,还是也能用于其他场景」这个问题,我们认为在多智能体场景下可以「重新制定(reformulate)」实际问题。比如在运筹优化里,包括经典的旅行推销员问题(TSP,travel salesman problem) 多智能体学习能发挥 跨任务的优势,也在 meta level 层面解决这个问题。
TSP 是一系列问题,这一系列问题是有共性的。我们要在 meta level 上找到这个共性,建模一个新的 TSP 问题,只需少量数据就能很快找到答案,进而对提出解决方案提供指导作用。
传统的优化算法只能解决一个 TSP 问题,对于第二个第三个等等 TSP 问题没有泛化性。第二,传统方法中能够提升模型能力的只有数据。解决第一个问题的数据可以和之后新添加的数据结合起来,让模型的能力进一步提高。因此这种方法是数据驱动的(data driven)。
我们用多智能体的方式,把数据驱动和 meta level 结合到 TSP server 里。简单来说,我会做一个 meta level 的 求解方法,然后有一个 Oracle 评价系统与之对抗。我让 求解方法 和评价系统 Oracle 之间就产生一个对于 TSP 问题的竞赛。显然我们可以用互相竞争的多智能体方法来解决这个问题,例如提供一个跨任务的求解方法。多智能体人工智能在 meta level 可以帮助解决一些运筹优化的重要问题。
我们发现这里存在一个趋势:从单一问题迁移到 多个任务(meta level) 后,我们可以很快地 pre-solve 预先解决新问题,这类似于 NLP 自然语言问题中预训练模型的概念。
去年,UC 伯克利考虑在决策智能中使用 transformer 大模型和一些称为离线学习「offline training」的方法,拉近了 NLP 自然语言和 CV 机器视觉的距离。offline 的意思是运用一些策略(policy)得到一些数据,然后完全抛开仿真器,直接拿数据进行有监督训练。
我们在此基础上又测试了多智能体。offline 训练能够达到的水平是有限的,因为数据有局限性。而 online 方法通过微调和添加数据能够不断改进训练效果。
使用 transformer 做决策的好处是什么?首先它的泛化性非常强,这一个模型几乎在所有任务上的效果都很好。以前每个任务都单独用一个模型,而现在一个模型就能解决所有任务。前段时间 DeepMind 发布了一个大模型,可以解决 CV、NLP 等任务。当然,DeepMind 的大模型不包括 Multi-Agent ,但这足以证明一个模型解决多个领域任务是大势所趋。我们应该创建一个在跨任务、联合 CV、NLP 的通用模型。
在预训练方面,我们认为多智能体训练可以用语言模型来做,把所有的智能体和决策都生成出来。因此,语言模型的方法可以直接迁移到多智能体上,以达到一个非常好的效果。